Scripts/Items: Fixed Vanquished Clutches of Yogg-Saron

This commit is contained in:
Nay
2011-04-27 19:13:28 +02:00
committed by Shauren
parent 8568f19e5d
commit b0585f5e0d
5 changed files with 114 additions and 69 deletions
+64 -69
View File
@@ -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;
+46
View File
@@ -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();
}