Scripts/Items: Fixed Vanquished Clutches of Yogg-Saron
This commit is contained in:
@@ -3625,33 +3625,27 @@ void SpellMgr::LoadSpellCustomAttr()
|
||||
spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_AREA_ENEMY_SRC;
|
||||
++count;
|
||||
break;
|
||||
// Bind
|
||||
case 3286:
|
||||
case 3286: // Bind
|
||||
spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_TARGET_ENEMY;
|
||||
spellInfo->EffectImplicitTargetA[1] = TARGET_UNIT_TARGET_ENEMY;
|
||||
++count;
|
||||
break;
|
||||
// Heroism
|
||||
case 32182:
|
||||
case 32182: // Heroism
|
||||
spellInfo->excludeCasterAuraSpell = 57723; // Exhaustion
|
||||
++count;
|
||||
break;
|
||||
// Blazing Harpoon
|
||||
case 61588:
|
||||
case 61588: // Blazing Harpoon
|
||||
spellInfo->MaxAffectedTargets = 1;
|
||||
++count;
|
||||
break;
|
||||
// Bloodlust
|
||||
case 2825:
|
||||
case 2825: // Bloodlust
|
||||
spellInfo->excludeCasterAuraSpell = 57724; // Sated
|
||||
++count;
|
||||
break;
|
||||
// Heart of the Crusader
|
||||
case 20335:
|
||||
case 20335: // Heart of the Crusader
|
||||
case 20336:
|
||||
case 20337:
|
||||
// Glyph of Life Tap
|
||||
case 63320:
|
||||
case 63320: // Glyph of Life Tap
|
||||
// Entries were not updated after spell effect change, we have to do that manually :/
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_CAN_PROC_TRIGGERED;
|
||||
++count;
|
||||
@@ -3662,51 +3656,51 @@ void SpellMgr::LoadSpellCustomAttr()
|
||||
spellInfo->EffectImplicitTargetB[0] = TARGET_DST_NEARBY_ENTRY;
|
||||
++count;
|
||||
break;
|
||||
case 26029: // dark glare
|
||||
case 37433: // spout
|
||||
case 43140: case 43215: // flame breath
|
||||
case 26029: // Dark Glare
|
||||
case 37433: // Spout
|
||||
case 43140: case 43215: // Flame Breath
|
||||
case 70461: // Coldflame Trap
|
||||
mSpellCustomAttr[i] |= SPELL_ATTR0_CU_CONE_LINE;
|
||||
++count;
|
||||
break;
|
||||
case 24340: case 26558: case 28884: // Meteor
|
||||
case 36837: case 38903: case 41276: // Meteor
|
||||
case 57467: // Meteor
|
||||
case 26789: // Shard of the Fallen Star
|
||||
case 31436: // Malevolent Cleave
|
||||
case 35181: // Dive Bomb
|
||||
case 40810: case 43267: case 43268: // Saber Lash
|
||||
case 42384: // Brutal Swipe
|
||||
case 45150: // Meteor Slash
|
||||
case 64422: case 64688: // Sonic Screech
|
||||
case 72373: // Shared Suffering
|
||||
case 71904: // Chaos Bane
|
||||
case 70492: case 72505: // Ooze Eruption
|
||||
case 72624: case 72625: // Ooze Eruption
|
||||
case 24340: case 26558: case 28884: // Meteor
|
||||
case 36837: case 38903: case 41276: // Meteor
|
||||
case 57467: // Meteor
|
||||
case 26789: // Shard of the Fallen Star
|
||||
case 31436: // Malevolent Cleave
|
||||
case 35181: // Dive Bomb
|
||||
case 40810: case 43267: case 43268: // Saber Lash
|
||||
case 42384: // Brutal Swipe
|
||||
case 45150: // Meteor Slash
|
||||
case 64422: case 64688: // Sonic Screech
|
||||
case 72373: // Shared Suffering
|
||||
case 71904: // Chaos Bane
|
||||
case 70492: case 72505: // Ooze Eruption
|
||||
case 72624: case 72625: // Ooze Eruption
|
||||
// ONLY SPELLS WITH SPELLFAMILY_GENERIC and EFFECT_SCHOOL_DAMAGE
|
||||
mSpellCustomAttr[i] |= SPELL_ATTR0_CU_SHARE_DAMAGE;
|
||||
++count;
|
||||
break;
|
||||
case 59725: // Improved Spell Reflection - aoe aura
|
||||
case 59725: // Improved Spell Reflection - aoe aura
|
||||
// Target entry seems to be wrong for this spell :/
|
||||
spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_PARTY_CASTER;
|
||||
spellInfo->EffectRadiusIndex[0] = 45;
|
||||
++count;
|
||||
break;
|
||||
case 27820: // Mana Detonation
|
||||
//case 28062: case 39090: // Positive/Negative Charge
|
||||
case 27820: // Mana Detonation
|
||||
//case 28062: case 39090: // Positive/Negative Charge
|
||||
//case 28085: case 39093:
|
||||
case 69782: case 69796: // Ooze Flood
|
||||
case 69798: case 69801: // Ooze Flood
|
||||
case 69538: case 69553: case 69610: // Ooze Combine
|
||||
case 71447: case 71481: // Bloodbolt Splash
|
||||
case 71482: case 71483: // Bloodbolt Splash
|
||||
case 71390: // Pact of the Darkfallen
|
||||
case 69782: case 69796: // Ooze Flood
|
||||
case 69798: case 69801: // Ooze Flood
|
||||
case 69538: case 69553: case 69610: // Ooze Combine
|
||||
case 71447: case 71481: // Bloodbolt Splash
|
||||
case 71482: case 71483: // Bloodbolt Splash
|
||||
case 71390: // Pact of the Darkfallen
|
||||
mSpellCustomAttr[i] |= SPELL_ATTR0_CU_EXCLUDE_SELF;
|
||||
++count;
|
||||
break;
|
||||
case 44978: case 45001: case 45002: // Wild Magic
|
||||
case 45004: case 45006: case 45010: // Wild Magic
|
||||
case 44978: case 45001: case 45002: // Wild Magic
|
||||
case 45004: case 45006: case 45010: // Wild Magic
|
||||
case 31347: // Doom
|
||||
case 41635: // Prayer of Mending
|
||||
case 44869: // Spectral Blast
|
||||
@@ -3780,17 +3774,17 @@ void SpellMgr::LoadSpellCustomAttr()
|
||||
spellInfo->EffectTriggerSpell[0] = 33760;
|
||||
++count;
|
||||
break;
|
||||
case 17941: // Shadow Trance
|
||||
case 22008: // Netherwind Focus
|
||||
case 31834: // Light's Grace
|
||||
case 34754: // Clearcasting
|
||||
case 34936: // Backlash
|
||||
case 48108: // Hot Streak
|
||||
case 51124: // Killing Machine
|
||||
case 54741: // Firestarter
|
||||
case 57761: // Fireball!
|
||||
case 39805: // Lightning Overload
|
||||
case 64823: // Item - Druid T8 Balance 4P Bonus
|
||||
case 17941: // Shadow Trance
|
||||
case 22008: // Netherwind Focus
|
||||
case 31834: // Light's Grace
|
||||
case 34754: // Clearcasting
|
||||
case 34936: // Backlash
|
||||
case 48108: // Hot Streak
|
||||
case 51124: // Killing Machine
|
||||
case 54741: // Firestarter
|
||||
case 57761: // Fireball!
|
||||
case 39805: // Lightning Overload
|
||||
case 64823: // Item - Druid T8 Balance 4P Bonus
|
||||
case 44401:
|
||||
spellInfo->procCharges = 1;
|
||||
++count;
|
||||
@@ -3799,20 +3793,20 @@ void SpellMgr::LoadSpellCustomAttr()
|
||||
spellInfo->procCharges = 2;
|
||||
++count;
|
||||
break;
|
||||
case 44544: // Fingers of Frost
|
||||
case 44544: // Fingers of Frost
|
||||
spellInfo->EffectSpellClassMask[0] = flag96(685904631, 1151048, 0);
|
||||
++count;
|
||||
break;
|
||||
case 74396: // Fingers of Frost visual buff
|
||||
case 74396: // Fingers of Frost visual buff
|
||||
spellInfo->procCharges = 2;
|
||||
spellInfo->StackAmount = 0;
|
||||
++count;
|
||||
break;
|
||||
case 28200: // Ascendance (Talisman of Ascendance trinket)
|
||||
case 28200: // Ascendance (Talisman of Ascendance trinket)
|
||||
spellInfo->procCharges = 6;
|
||||
++count;
|
||||
break;
|
||||
case 47201: // Everlasting Affliction
|
||||
case 47201: // Everlasting Affliction
|
||||
case 47202:
|
||||
case 47203:
|
||||
case 47204:
|
||||
@@ -3821,23 +3815,24 @@ void SpellMgr::LoadSpellCustomAttr()
|
||||
spellInfo->EffectSpellClassMask[1][0] |= 2;
|
||||
++count;
|
||||
break;
|
||||
case 49305:
|
||||
spellInfo->EffectImplicitTargetB[0] = 1;
|
||||
case 49305: // Teleport to Boss 1 DND
|
||||
case 64981: // Summon Random Vanquished Tentacle
|
||||
spellInfo->EffectImplicitTargetB[0] = TARGET_UNIT_CASTER;
|
||||
++count;
|
||||
break;
|
||||
case 51852: // The Eye of Acherus (no spawn in phase 2 in db)
|
||||
case 51852: // The Eye of Acherus (no spawn in phase 2 in db)
|
||||
spellInfo->EffectMiscValue[0] |= 1;
|
||||
++count;
|
||||
break;
|
||||
case 52025: // Cleansing Totem Effect
|
||||
case 52025: // Cleansing Totem Effect
|
||||
spellInfo->EffectDieSides[1] = 1;
|
||||
++count;
|
||||
break;
|
||||
case 51904: // Summon Ghouls On Scarlet Crusade (core does not know the triggered spell is summon spell)
|
||||
case 51904: // Summon Ghouls On Scarlet Crusade (core does not know the triggered spell is summon spell)
|
||||
spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_CASTER;
|
||||
++count;
|
||||
break;
|
||||
case 29809: // Desecration Arm - 36 instead of 37 - typo? :/
|
||||
case 29809: // Desecration Arm - 36 instead of 37 - typo? :/
|
||||
spellInfo->EffectRadiusIndex[0] = 37;
|
||||
++count;
|
||||
break;
|
||||
@@ -3855,7 +3850,7 @@ void SpellMgr::LoadSpellCustomAttr()
|
||||
spellInfo->Stances = 1 << (FORM_TREE - 1);
|
||||
++count;
|
||||
break;
|
||||
case 30421: // Nether Portal - Perseverence
|
||||
case 30421: // Nether Portal - Perseverence
|
||||
spellInfo->EffectBasePoints[2] += 30000;
|
||||
++count;
|
||||
break;
|
||||
@@ -3876,16 +3871,16 @@ void SpellMgr::LoadSpellCustomAttr()
|
||||
spellInfo->SpellFamilyFlags[2] = 0x10;
|
||||
++count;
|
||||
break;
|
||||
case 41013: // Parasitic Shadowfiend Passive
|
||||
case 41013: // Parasitic Shadowfiend Passive
|
||||
spellInfo->EffectApplyAuraName[0] = 4; // proc debuff, and summon infinite fiends
|
||||
++count;
|
||||
break;
|
||||
case 27892: // To Anchor 1
|
||||
case 27928: // To Anchor 1
|
||||
case 27935: // To Anchor 1
|
||||
case 27915: // Anchor to Skulls
|
||||
case 27931: // Anchor to Skulls
|
||||
case 27937: // Anchor to Skulls
|
||||
case 27892: // To Anchor 1
|
||||
case 27928: // To Anchor 1
|
||||
case 27935: // To Anchor 1
|
||||
case 27915: // Anchor to Skulls
|
||||
case 27931: // Anchor to Skulls
|
||||
case 27937: // Anchor to Skulls
|
||||
spellInfo->rangeIndex = 13;
|
||||
++count;
|
||||
break;
|
||||
|
||||
@@ -963,6 +963,51 @@ class spell_item_map_of_the_geyser_fields : public SpellScriptLoader
|
||||
}
|
||||
};
|
||||
|
||||
enum VanquishedClutchesSpells
|
||||
{
|
||||
SPELL_CRUSHER = 64982,
|
||||
SPELL_CONSTRICTOR = 64983,
|
||||
SPELL_CORRUPTOR = 64984,
|
||||
};
|
||||
|
||||
class spell_item_vanquished_clutches : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_item_vanquished_clutches() : SpellScriptLoader("spell_item_vanquished_clutches") { }
|
||||
|
||||
class spell_item_vanquished_clutches_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_item_vanquished_clutches_SpellScript);
|
||||
|
||||
bool Validate(SpellEntry const* /*spellEntry*/)
|
||||
{
|
||||
if (!sSpellStore.LookupEntry(SPELL_CRUSHER))
|
||||
return false;
|
||||
if (!sSpellStore.LookupEntry(SPELL_CONSTRICTOR))
|
||||
return false;
|
||||
if (!sSpellStore.LookupEntry(SPELL_CORRUPTOR))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
void HandleDummy(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
uint32 spellId = RAND(SPELL_CRUSHER, SPELL_CONSTRICTOR, SPELL_CORRUPTOR);
|
||||
GetCaster()->CastSpell(GetCaster(), spellId, true);
|
||||
}
|
||||
|
||||
void Register()
|
||||
{
|
||||
OnEffect += SpellEffectFn(spell_gen_vanquished_clutches_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
{
|
||||
return new spell_item_vanquished_clutches_SpellScript();
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_item_spell_scripts()
|
||||
{
|
||||
// 23074 Arcanite Dragonling
|
||||
@@ -991,4 +1036,5 @@ void AddSC_item_spell_scripts()
|
||||
new spell_item_book_of_glyph_mastery();
|
||||
new spell_item_gift_of_the_harvester();
|
||||
new spell_item_map_of_the_geyser_fields();
|
||||
new spell_item_vanquished_clutches();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user