From ffce2c1f9a416eddad2e45ab2e03df964d5e39cd Mon Sep 17 00:00:00 2001 From: Treeston Date: Tue, 13 Feb 2018 15:47:44 +0100 Subject: Core/Spell: Properly remove REACT_PASSIVE on permanent feign death unapply. Fixes and closes #21156. (cherry picked from commit ac8b9be5d67ccaba3f51663eeccca60ae86cea5b) --- src/server/scripts/Spells/spell_generic.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src') 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 -- cgit v1.2.3