diff options
author | Unholychick <lucas__jensen@hotmail.com> | 2014-09-14 21:58:58 +0200 |
---|---|---|
committer | Unholychick <lucas__jensen@hotmail.com> | 2014-09-19 22:16:49 +0200 |
commit | a51c3ac5fe557a3ac8ecbde5f72a3eca9ed37ba7 (patch) | |
tree | 6f00c1281d6013d35a8dbfe162b55fc2f6d3d349 /src | |
parent | e746e8685c65264cd1ba4495ab7f23f535c88404 (diff) |
Core/Mechanics: Fix prevent fleeing + fear
Closes #9754
Players should never have been affected by SPELL_AURA_PREVENTS_FLEEING in the first place.
Curse of Recklessness will no longer prevent Fear effects, only prevent NPCs from fleeing (e.g. at low health).
Judgement of Justice will no longer prevent Fear effects, but will only prevent NPCs from fleeing (e.g. at low health).
Source: http://www.wowwiki.com/Patch_3.0.2
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Movement/MotionMaster.cpp | 3 | ||||
-rw-r--r-- | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 8 |
2 files changed, 6 insertions, 5 deletions
diff --git a/src/server/game/Movement/MotionMaster.cpp b/src/server/game/Movement/MotionMaster.cpp index 4ba742e9397..2c3f7c6cadb 100644 --- a/src/server/game/Movement/MotionMaster.cpp +++ b/src/server/game/Movement/MotionMaster.cpp @@ -481,9 +481,6 @@ void MotionMaster::MoveFleeing(Unit* enemy, uint32 time) if (!enemy) return; - if (_owner->HasAuraType(SPELL_AURA_PREVENTS_FLEEING)) - return; - if (_owner->GetTypeId() == TYPEID_PLAYER) { TC_LOG_DEBUG("misc", "Player (GUID: %u) flee from %s (GUID: %u)", _owner->GetGUIDLow(), diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index c78830af43a..bb4e00b3b9a 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -2751,8 +2751,12 @@ void AuraEffect::HandlePreventFleeing(AuraApplication const* aurApp, uint8 mode, Unit* target = aurApp->GetTarget(); - if (target->HasAuraType(SPELL_AURA_MOD_FEAR)) - target->SetControlled(!(apply), UNIT_STATE_FLEEING); + // Since patch 3.0.2 this mechanic no longer affects fear effects. It will ONLY prevent humanoids from fleeing due to low health. + if (!apply || target->HasAuraType(SPELL_AURA_MOD_FEAR)) + return; + /// TODO: find a way to cancel fleeing for assistance. + /// Currently this will only stop creatures fleeing due to low health that could not find nearby allies to flee towards. + target->SetControlled(false, UNIT_STATE_FLEEING); } /***************************/ |