diff options
-rw-r--r-- | src/server/scripts/Spells/spell_generic.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 076aa4bb39a..736ea803973 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -1043,8 +1043,8 @@ class spell_gen_creature_permanent_feign_death : public AuraScript target->AddDynamicFlag(UNIT_DYNFLAG_DEAD); target->AddUnitFlag2(UNIT_FLAG2_FEIGN_DEATH); - if (target->GetTypeId() == TYPEID_UNIT) - target->ToCreature()->SetReactState(REACT_PASSIVE); + if (Creature* creature = target->ToCreature()) + creature->SetReactState(REACT_PASSIVE); } void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) @@ -1052,6 +1052,9 @@ class spell_gen_creature_permanent_feign_death : public AuraScript Unit* target = GetTarget(); target->RemoveDynamicFlag(UNIT_DYNFLAG_DEAD); target->RemoveUnitFlag2(UNIT_FLAG2_FEIGN_DEATH); + + if (Creature* creature = target->ToCreature()) + creature->InitializeReactState(); } void Register() override |