aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent-Michael <Vincent_Michael@gmx.de>2014-09-27 23:11:11 +0200
committerVincent-Michael <Vincent_Michael@gmx.de>2014-09-27 23:11:11 +0200
commitea005b0e581ab6975d9ee1ee1655ceac1ed48dc1 (patch)
tree7b27469ee4c786fdc9dcd3b025c895a531435465
parentb50e6af0085d4cf5e64f7d9ce9f95dac88fff79b (diff)
parent1854eafcb609cf955d415ef8344ac54f0c4af703 (diff)
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
-rw-r--r--src/server/game/Movement/MotionMaster.cpp3
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.cpp8
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);
}
/***************************/