diff options
author | Vincent-Michael <Vincent_Michael@gmx.de> | 2014-09-27 23:11:11 +0200 |
---|---|---|
committer | Vincent-Michael <Vincent_Michael@gmx.de> | 2014-09-27 23:11:11 +0200 |
commit | ea005b0e581ab6975d9ee1ee1655ceac1ed48dc1 (patch) | |
tree | 7b27469ee4c786fdc9dcd3b025c895a531435465 /src | |
parent | b50e6af0085d4cf5e64f7d9ce9f95dac88fff79b (diff) | |
parent | 1854eafcb609cf955d415ef8344ac54f0c4af703 (diff) |
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
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 aec90fa2770..39261908ae6 100644 --- a/src/server/game/Movement/MotionMaster.cpp +++ b/src/server/game/Movement/MotionMaster.cpp @@ -478,9 +478,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 83441b73c8e..48ab8448369 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -2824,8 +2824,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); } /***************************/ |