aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2018-02-13 15:47:44 +0100
committerTreeston <treeston.mmoc@gmail.com>2018-02-13 15:47:44 +0100
commitac8b9be5d67ccaba3f51663eeccca60ae86cea5b (patch)
treee62fcbc88d77b6c573506a93b32aa59ea58ab9c5 /src
parentfe3b4de1cd2a0924674c34d439f682c95d3a784a (diff)
Core/Spell: Properly remove REACT_PASSIVE on permanent feign death unapply. Fixes and closes #21156.
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_generic.cpp7
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 c8c76295188..746b1f69ae1 100644
--- a/src/server/scripts/Spells/spell_generic.cpp
+++ b/src/server/scripts/Spells/spell_generic.cpp
@@ -1095,8 +1095,8 @@ class spell_gen_creature_permanent_feign_death : public AuraScript
target->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD);
target->SetFlag(UNIT_FIELD_FLAGS_2, 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*/)
@@ -1104,6 +1104,9 @@ class spell_gen_creature_permanent_feign_death : public AuraScript
Unit* target = GetTarget();
target->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD);
target->RemoveFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_FEIGN_DEATH);
+
+ if (Creature* creature = target->ToCreature())
+ creature->InitializeReactState();
}
void Register() override