Scripts/Spells: Use correct spell and fix crash in spell_item_impale_leviroth
This commit is contained in:
@@ -1504,7 +1504,8 @@ class spell_item_complete_raptor_capture : public SpellScriptLoader
|
||||
|
||||
enum ImpaleLeviroth
|
||||
{
|
||||
NPC_LEVIROTH = 26452,
|
||||
NPC_LEVIROTH = 26452,
|
||||
SPELL_LEVIROTH_SELF_IMPALE = 49882
|
||||
};
|
||||
|
||||
class spell_item_impale_leviroth : public SpellScriptLoader
|
||||
@@ -1516,11 +1517,6 @@ class spell_item_impale_leviroth : public SpellScriptLoader
|
||||
{
|
||||
PrepareSpellScript(spell_item_impale_leviroth_SpellScript);
|
||||
|
||||
bool Load()
|
||||
{
|
||||
return GetHitCreature()->GetEntry() == NPC_LEVIROTH;
|
||||
}
|
||||
|
||||
bool Validate(SpellInfo const* /*spell*/)
|
||||
{
|
||||
if (!sObjectMgr->GetCreatureTemplate(NPC_LEVIROTH))
|
||||
@@ -1530,10 +1526,11 @@ class spell_item_impale_leviroth : public SpellScriptLoader
|
||||
|
||||
void HandleDummy(SpellEffIndex /* effIndex */)
|
||||
{
|
||||
Unit* caster = GetCaster();
|
||||
if (Unit* target = GetHitCreature())
|
||||
if (target->HealthBelowPct(95))
|
||||
caster->DealDamage(target, target->CountPctFromMaxHealth(93));
|
||||
Unit* target = GetHitCreature();
|
||||
if (!target || target->GetEntry() != NPC_LEVIROTH || !target->HealthBelowPct(95))
|
||||
return;
|
||||
|
||||
target->CastSpell(target, SPELL_LEVIROTH_SELF_IMPALE, true);
|
||||
}
|
||||
|
||||
void Register()
|
||||
|
||||
Reference in New Issue
Block a user