mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
That's Abominable for the 3 other quests, and knockbacks for all. (#22127)
(cherry picked from commit fb19f7be1f)
This commit is contained in:
@@ -1964,178 +1964,251 @@ class spell_q13086_cannons_target : public SpellScriptLoader
|
||||
}
|
||||
};
|
||||
|
||||
enum ThatsAbominable
|
||||
{
|
||||
QUEST_THATS_ABOMINABLE = 13264,
|
||||
|
||||
NPC_ICY_GHOUL = 31142,
|
||||
NPC_RISEN_ALLIANCE_SOLDIERS = 31205,
|
||||
NPC_VICIOUS_GEIST = 31147,
|
||||
NPC_RENIMATED_ABOMINATION = 31692,
|
||||
|
||||
SPELL_ICY_GHOUL_CREDIT = 59591, // Credit for Icy Ghoul
|
||||
SPELL_VICIOUS_GEISTS_CREDIT = 60042, // Credit for Vicious Geists
|
||||
SPELL_RISEN_ALLIANCE_SOLDIERS_CREDIT = 60040, // Credit for Risen Alliance Soldiers
|
||||
};
|
||||
|
||||
class spell_q13264_thats_abominable : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_q13264_thats_abominable() : SpellScriptLoader("spell_q13264_thats_abominable") { }
|
||||
|
||||
class spell_q13264_thats_abominable_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_q13264_thats_abominable_SpellScript);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo(
|
||||
{
|
||||
SPELL_ICY_GHOUL_CREDIT,
|
||||
SPELL_VICIOUS_GEISTS_CREDIT,
|
||||
SPELL_RISEN_ALLIANCE_SOLDIERS_CREDIT,
|
||||
});
|
||||
}
|
||||
|
||||
void HandleKnockBack(SpellEffIndex effIndex)
|
||||
{
|
||||
PreventHitDefaultEffect(effIndex);
|
||||
|
||||
if (Creature* creature = GetHitCreature())
|
||||
if (Unit* charmer = GetCaster()->GetCharmerOrOwner())
|
||||
if (Player* player = charmer->ToPlayer())
|
||||
if (player->GetQuestStatus(QUEST_THATS_ABOMINABLE) == QUEST_STATUS_INCOMPLETE)
|
||||
if (GiveCreditIfValid(player, creature))
|
||||
creature->KillSelf();
|
||||
}
|
||||
|
||||
bool GiveCreditIfValid(Player* player, Creature* creature)
|
||||
{
|
||||
uint32 entry = creature->GetEntry();
|
||||
|
||||
switch(entry)
|
||||
{
|
||||
case NPC_ICY_GHOUL:
|
||||
player->CastSpell(player, SPELL_ICY_GHOUL_CREDIT, true);
|
||||
return true;
|
||||
case NPC_VICIOUS_GEIST:
|
||||
player->CastSpell(player, SPELL_VICIOUS_GEISTS_CREDIT, true);
|
||||
return true;
|
||||
case NPC_RISEN_ALLIANCE_SOLDIERS:
|
||||
player->CastSpell(player, SPELL_RISEN_ALLIANCE_SOLDIERS_CREDIT, true);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
if (Creature* creature = GetCaster()->ToCreature()) {
|
||||
creature->KillSelf();
|
||||
creature->DespawnOrUnsummon();
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_q13264_thats_abominable_SpellScript::HandleKnockBack, EFFECT_1, SPELL_EFFECT_KNOCK_BACK);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_q13264_thats_abominable_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_q13264_thats_abominable_SpellScript();
|
||||
}
|
||||
};
|
||||
|
||||
enum BurstAtTheSeams
|
||||
{
|
||||
NPC_DRAKKARI_CHIEFTAINK = 29099,
|
||||
AREA_THE_BROKEN_FRONT = 4507,
|
||||
AREA_MORD_RETHAR_THE_DEATH_GATE = 4508,
|
||||
|
||||
QUEST_BURST_AT_THE_SEAMS = 12690,
|
||||
NPC_DRAKKARI_CHIEFTAINK = 29099,
|
||||
NPC_ICY_GHOUL = 31142,
|
||||
NPC_VICIOUS_GEIST = 31147,
|
||||
NPC_RISEN_ALLIANCE_SOLDIERS = 31205,
|
||||
NPC_RENIMATED_ABOMINATION = 31692,
|
||||
|
||||
SPELL_BURST_AT_THE_SEAMS = 52510, // Burst at the Seams
|
||||
SPELL_BURST_AT_THE_SEAMS_DMG = 52508, // Damage spell
|
||||
SPELL_BURST_AT_THE_SEAMS_DMG_2 = 59580, // Abomination self damage spell
|
||||
SPELL_BURST_AT_THE_SEAMS_BONE = 52516, // Burst at the Seams:Bone
|
||||
SPELL_BURST_AT_THE_SEAMS_MEAT = 52520, // Explode Abomination:Meat
|
||||
SPELL_BURST_AT_THE_SEAMS_BMEAT = 52523, // Explode Abomination:Bloody Meat
|
||||
SPELL_DRAKKARI_SKULLCRUSHER_CREDIT = 52590, // Credit for Drakkari Skullcrusher
|
||||
SPELL_SUMMON_DRAKKARI_CHIEFTAIN = 52616, // Summon Drakkari Chieftain
|
||||
SPELL_DRAKKARI_CHIEFTAINK_KILL_CREDIT = 52620 // Drakkari Chieftain Kill Credit
|
||||
QUEST_FUEL_FOR_THE_FIRE = 12690,
|
||||
|
||||
SPELL_BLOATED_ABOMINATION_FEIGN_DEATH = 52593,
|
||||
SPELL_BURST_AT_THE_SEAMS_BONE = 52516,
|
||||
SPELL_EXPLODE_ABOMINATION_MEAT = 52520,
|
||||
SPELL_EXPLODE_ABOMINATION_BLOODY_MEAT = 52523,
|
||||
SPELL_TROLL_EXPLOSION = 52565,
|
||||
SPELL_EXPLODE_TROLL_MEAT = 52578,
|
||||
SPELL_EXPLODE_TROLL_BLOODY_MEAT = 52580,
|
||||
|
||||
SPELL_BURST_AT_THE_SEAMS_59576 = 59576, //script/knockback, That's Abominable
|
||||
SPELL_BURST_AT_THE_SEAMS_59579 = 59579, //dummy
|
||||
SPELL_BURST_AT_THE_SEAMS_52510 = 52510, //script/knockback, Fuel for the Fire
|
||||
SPELL_BURST_AT_THE_SEAMS_52508 = 52508, //damage 20000
|
||||
SPELL_BURST_AT_THE_SEAMS_59580 = 59580, //damage 50000
|
||||
|
||||
SPELL_ASSIGN_GHOUL_KILL_CREDIT_TO_MASTER = 59590,
|
||||
SPELL_ASSIGN_GEIST_KILL_CREDIT_TO_MASTER = 60041,
|
||||
SPELL_ASSIGN_SKELETON_KILL_CREDIT_TO_MASTER = 60039,
|
||||
|
||||
SPELL_DRAKKARI_SKULLCRUSHER_CREDIT = 52590,
|
||||
SPELL_SUMMON_DRAKKARI_CHIEFTAIN = 52616,
|
||||
SPELL_DRAKKARI_CHIEFTAINK_KILL_CREDIT = 52620
|
||||
};
|
||||
|
||||
class spell_q12690_burst_at_the_seams : public SpellScriptLoader
|
||||
class spell_q13264_q13276_q13288_q13289_burst_at_the_seams_59576 : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_q12690_burst_at_the_seams() : SpellScriptLoader("spell_q12690_burst_at_the_seams") { }
|
||||
PrepareSpellScript(spell_q13264_q13276_q13288_q13289_burst_at_the_seams_59576);
|
||||
|
||||
class spell_q12690_burst_at_the_seams_SpellScript : public SpellScript
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo(
|
||||
{
|
||||
PrepareSpellScript(spell_q12690_burst_at_the_seams_SpellScript);
|
||||
SPELL_BURST_AT_THE_SEAMS_59576,
|
||||
SPELL_BLOATED_ABOMINATION_FEIGN_DEATH,
|
||||
SPELL_BURST_AT_THE_SEAMS_59579,
|
||||
SPELL_BURST_AT_THE_SEAMS_BONE,
|
||||
SPELL_EXPLODE_ABOMINATION_MEAT,
|
||||
SPELL_EXPLODE_ABOMINATION_BLOODY_MEAT
|
||||
});
|
||||
}
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
if (Creature* creature = GetCaster()->ToCreature())
|
||||
{
|
||||
creature->CastSpell(creature, SPELL_BLOATED_ABOMINATION_FEIGN_DEATH, true);
|
||||
creature->CastSpell(creature, SPELL_BURST_AT_THE_SEAMS_59579, true);
|
||||
creature->CastSpell(creature, SPELL_BURST_AT_THE_SEAMS_BONE, true);
|
||||
creature->CastSpell(creature, SPELL_BURST_AT_THE_SEAMS_BONE, true);
|
||||
creature->CastSpell(creature, SPELL_BURST_AT_THE_SEAMS_BONE, true);
|
||||
creature->CastSpell(creature, SPELL_EXPLODE_ABOMINATION_MEAT, true);
|
||||
creature->CastSpell(creature, SPELL_EXPLODE_ABOMINATION_BLOODY_MEAT, true);
|
||||
creature->CastSpell(creature, SPELL_EXPLODE_ABOMINATION_BLOODY_MEAT, true);
|
||||
creature->CastSpell(creature, SPELL_EXPLODE_ABOMINATION_BLOODY_MEAT, true);
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_q13264_q13276_q13288_q13289_burst_at_the_seams_59576::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
class spell_q13264_q13276_q13288_q13289_burst_at_the_seams_59579 : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_q13264_q13276_q13288_q13289_burst_at_the_seams_59579);
|
||||
|
||||
void HandleApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
Unit* target = GetTarget();
|
||||
target->CastSpell(target, SPELL_TROLL_EXPLOSION, true);
|
||||
target->CastSpell(target, SPELL_EXPLODE_ABOMINATION_MEAT, true);
|
||||
target->CastSpell(target, SPELL_EXPLODE_TROLL_MEAT, true);
|
||||
target->CastSpell(target, SPELL_EXPLODE_TROLL_MEAT, true);
|
||||
target->CastSpell(target, SPELL_EXPLODE_TROLL_BLOODY_MEAT, true);
|
||||
target->CastSpell(target, SPELL_BURST_AT_THE_SEAMS_BONE, true);
|
||||
}
|
||||
|
||||
void HandleRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
Unit* target = GetTarget();
|
||||
if (Unit* caster = GetCaster())
|
||||
{
|
||||
switch (target->GetEntry())
|
||||
{
|
||||
return ValidateSpellInfo(
|
||||
{
|
||||
SPELL_BURST_AT_THE_SEAMS,
|
||||
SPELL_BURST_AT_THE_SEAMS_DMG,
|
||||
SPELL_BURST_AT_THE_SEAMS_DMG_2,
|
||||
SPELL_BURST_AT_THE_SEAMS_BONE,
|
||||
SPELL_BURST_AT_THE_SEAMS_MEAT,
|
||||
SPELL_BURST_AT_THE_SEAMS_BMEAT
|
||||
});
|
||||
case NPC_ICY_GHOUL:
|
||||
target->CastSpell(caster, SPELL_ASSIGN_GHOUL_KILL_CREDIT_TO_MASTER, true);
|
||||
break;
|
||||
case NPC_VICIOUS_GEIST:
|
||||
target->CastSpell(caster, SPELL_ASSIGN_GEIST_KILL_CREDIT_TO_MASTER, true);
|
||||
break;
|
||||
case NPC_RISEN_ALLIANCE_SOLDIERS:
|
||||
target->CastSpell(caster, SPELL_ASSIGN_SKELETON_KILL_CREDIT_TO_MASTER, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
target->CastSpell(target, SPELL_BURST_AT_THE_SEAMS_59580, true);
|
||||
}
|
||||
|
||||
bool Load() override
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectApply += AuraEffectApplyFn(spell_q13264_q13276_q13288_q13289_burst_at_the_seams_59579::HandleApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
AfterEffectRemove += AuraEffectApplyFn(spell_q13264_q13276_q13288_q13289_burst_at_the_seams_59579::HandleRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
class spell_q13264_q13276_q13288_q13289_bloated_abom_feign_death : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_q13264_q13276_q13288_q13289_bloated_abom_feign_death);
|
||||
|
||||
void HandleApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
Unit* target = GetTarget();
|
||||
target->AddDynamicFlag(UNIT_DYNFLAG_DEAD);
|
||||
target->AddUnitFlag2(UNIT_FLAG2_FEIGN_DEATH);
|
||||
|
||||
if (Creature* creature = target->ToCreature())
|
||||
creature->SetReactState(REACT_PASSIVE);
|
||||
}
|
||||
|
||||
void HandleRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
Unit* target = GetTarget();
|
||||
if (Creature* creature = target->ToCreature())
|
||||
creature->DespawnOrUnsummon();
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectApply += AuraEffectApplyFn(spell_q13264_q13276_q13288_q13289_bloated_abom_feign_death::HandleApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
AfterEffectRemove += AuraEffectApplyFn(spell_q13264_q13276_q13288_q13289_bloated_abom_feign_death::HandleRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
class spell_q13264_q13276_q13288_q13289_area_restrict_abom : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_q13264_q13276_q13288_q13289_area_restrict_abom);
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
if (Creature* creature = GetHitCreature()) {
|
||||
uint32 area = creature->GetAreaId();
|
||||
if (area != AREA_THE_BROKEN_FRONT && area != AREA_MORD_RETHAR_THE_DEATH_GATE)
|
||||
creature->DespawnOrUnsummon();
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_q13264_q13276_q13288_q13289_area_restrict_abom::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
class spell_q13264_q13276_q13288_q13289_assign_credit_to_master : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_q13264_q13276_q13288_q13289_assign_credit_to_master);
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
if (Unit* target = GetHitUnit())
|
||||
{
|
||||
if (Unit* owner = target->GetOwner())
|
||||
{
|
||||
return GetCaster()->GetTypeId() == TYPEID_UNIT;
|
||||
owner->CastSpell(owner, GetEffectValue(), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void HandleKnockBack(SpellEffIndex /*effIndex*/)
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_q13264_q13276_q13288_q13289_assign_credit_to_master::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
class spell_q12690_burst_at_the_seams_52510 : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_q12690_burst_at_the_seams_52510);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo(
|
||||
{
|
||||
SPELL_BURST_AT_THE_SEAMS_52510,
|
||||
SPELL_BURST_AT_THE_SEAMS_52508,
|
||||
SPELL_BURST_AT_THE_SEAMS_59580,
|
||||
SPELL_BURST_AT_THE_SEAMS_BONE,
|
||||
SPELL_EXPLODE_ABOMINATION_MEAT,
|
||||
SPELL_EXPLODE_ABOMINATION_BLOODY_MEAT
|
||||
});
|
||||
}
|
||||
|
||||
bool Load() override
|
||||
{
|
||||
return GetCaster()->GetTypeId() == TYPEID_UNIT;
|
||||
}
|
||||
|
||||
void HandleKnockBack(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
if (Unit* creature = GetHitCreature())
|
||||
{
|
||||
if (Unit* charmer = GetCaster()->GetCharmerOrOwner())
|
||||
{
|
||||
if (Unit* creature = GetHitCreature())
|
||||
if (Player* player = charmer->ToPlayer())
|
||||
{
|
||||
if (Unit* charmer = GetCaster()->GetCharmerOrOwner())
|
||||
if (player->GetQuestStatus(QUEST_FUEL_FOR_THE_FIRE) == QUEST_STATUS_INCOMPLETE)
|
||||
{
|
||||
if (Player* player = charmer->ToPlayer())
|
||||
{
|
||||
if (player->GetQuestStatus(QUEST_BURST_AT_THE_SEAMS) == QUEST_STATUS_INCOMPLETE)
|
||||
{
|
||||
creature->CastSpell(creature, SPELL_BURST_AT_THE_SEAMS_BONE, true);
|
||||
creature->CastSpell(creature, SPELL_BURST_AT_THE_SEAMS_MEAT, true);
|
||||
creature->CastSpell(creature, SPELL_BURST_AT_THE_SEAMS_BMEAT, true);
|
||||
creature->CastSpell(creature, SPELL_BURST_AT_THE_SEAMS_DMG, true);
|
||||
creature->CastSpell(creature, SPELL_BURST_AT_THE_SEAMS_DMG_2, true);
|
||||
creature->CastSpell(creature, SPELL_BURST_AT_THE_SEAMS_BONE, true);
|
||||
creature->CastSpell(creature, SPELL_EXPLODE_ABOMINATION_MEAT, true);
|
||||
creature->CastSpell(creature, SPELL_EXPLODE_ABOMINATION_BLOODY_MEAT, true);
|
||||
creature->CastSpell(creature, SPELL_BURST_AT_THE_SEAMS_52508, true);
|
||||
creature->CastSpell(creature, SPELL_BURST_AT_THE_SEAMS_59580, true);
|
||||
|
||||
player->CastSpell(player, SPELL_DRAKKARI_SKULLCRUSHER_CREDIT, true);
|
||||
uint16 count = player->GetReqKillOrCastCurrentCount(QUEST_BURST_AT_THE_SEAMS, NPC_DRAKKARI_CHIEFTAINK);
|
||||
if ((count % 20) == 0)
|
||||
player->CastSpell(player, SPELL_SUMMON_DRAKKARI_CHIEFTAIN, true);
|
||||
}
|
||||
}
|
||||
player->CastSpell(player, SPELL_DRAKKARI_SKULLCRUSHER_CREDIT, true);
|
||||
uint16 count = player->GetReqKillOrCastCurrentCount(QUEST_FUEL_FOR_THE_FIRE, NPC_DRAKKARI_CHIEFTAINK);
|
||||
if ((count % 20) == 0)
|
||||
player->CastSpell(player, SPELL_SUMMON_DRAKKARI_CHIEFTAIN, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetCaster()->ToCreature()->DespawnOrUnsummon(2 * IN_MILLISECONDS);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_q12690_burst_at_the_seams_SpellScript::HandleKnockBack, EFFECT_1, SPELL_EFFECT_KNOCK_BACK);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_q12690_burst_at_the_seams_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_q12690_burst_at_the_seams_SpellScript();
|
||||
}
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetCaster()->ToCreature()->DespawnOrUnsummon(2 * IN_MILLISECONDS);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_q12690_burst_at_the_seams_52510::HandleKnockBack, EFFECT_1, SPELL_EFFECT_KNOCK_BACK);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_q12690_burst_at_the_seams_52510::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
enum EscapeFromSilverbrook
|
||||
@@ -2947,8 +3020,12 @@ void AddSC_quest_spell_scripts()
|
||||
new spell_q12847_summon_soul_moveto_bunny();
|
||||
new spell_q13011_bear_flank_master();
|
||||
new spell_q13086_cannons_target();
|
||||
new spell_q13264_thats_abominable();
|
||||
new spell_q12690_burst_at_the_seams();
|
||||
RegisterSpellScript(spell_q13264_q13276_q13288_q13289_burst_at_the_seams_59576);
|
||||
RegisterAuraScript(spell_q13264_q13276_q13288_q13289_burst_at_the_seams_59579);
|
||||
RegisterAuraScript(spell_q13264_q13276_q13288_q13289_bloated_abom_feign_death);
|
||||
RegisterSpellScript(spell_q13264_q13276_q13288_q13289_area_restrict_abom);
|
||||
RegisterSpellScript(spell_q13264_q13276_q13288_q13289_assign_credit_to_master);
|
||||
RegisterSpellScript(spell_q12690_burst_at_the_seams_52510);
|
||||
new spell_q12308_escape_from_silverbrook_summon_worgen();
|
||||
new spell_q12308_escape_from_silverbrook();
|
||||
new spell_q12641_death_comes_from_on_high();
|
||||
|
||||
Reference in New Issue
Block a user