diff options
author | Nay <dnpd.dd@gmail.com> | 2011-04-27 19:13:28 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2011-04-27 19:13:28 +0200 |
commit | b0585f5e0d2c4319ec748a44226e68e01b8f4ae2 (patch) | |
tree | 8fccd34cca8e465d9741fc59707707fbcf9d01d8 /src | |
parent | 8568f19e5d08e5a6452e8d0fa518883b9868292e (diff) |
Scripts/Items: Fixed Vanquished Clutches of Yogg-Saron
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/game/Spells/SpellMgr.cpp | 133 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_item.cpp | 46 |
2 files changed, 110 insertions, 69 deletions
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 486b1496916..4711415d2fd 100755 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -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; diff --git a/src/server/scripts/Spells/spell_item.cpp b/src/server/scripts/Spells/spell_item.cpp index 3ddd5af6ed1..a545d342699 100644 --- a/src/server/scripts/Spells/spell_item.cpp +++ b/src/server/scripts/Spells/spell_item.cpp @@ -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(); } |