diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Spells/spell_dk.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp index 193ec7cbb02..3cea620559a 100644 --- a/src/server/scripts/Spells/spell_dk.cpp +++ b/src/server/scripts/Spells/spell_dk.cpp @@ -1744,11 +1744,14 @@ public: { // Raise Ally cannot be casted on alive players Unit* target = GetExplTargetUnit(); - if (target && target->IsAlive()) + if (!target) + return SPELL_FAILED_NO_VALID_TARGETS; + if (target->IsAlive()) return SPELL_FAILED_TARGET_NOT_DEAD; - else if (GetCaster()->ToPlayer()->InArena()) - return SPELL_FAILED_NOT_IN_ARENA; - else if (target->IsGhouled()) + if (Player* playerCaster = GetCaster()->ToPlayer()) + if (playerCaster->InArena()) + return SPELL_FAILED_NOT_IN_ARENA; + if (target->IsGhouled()) return SPELL_FAILED_CANT_DO_THAT_RIGHT_NOW; return SPELL_CAST_OK; |