aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2014-09-14 21:03:17 +0200
committerjackpoz <giacomopoz@gmail.com>2014-09-14 21:03:17 +0200
commit9337e257fc03d2c178e0120fc21b082da56e8a62 (patch)
treeacfb1deac922a9022953e66ad9c93eb4b9f4b122 /src
parent7d26a2ccd46bd8475c1dad90d7bb9480c3089314 (diff)
parent6153aa7b7430e71dabb43bab187fb5599b25409e (diff)
Merge branch 'mik1893/fear-vs-stun'
Merge PR #13095 into master
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index d29908bc085..97b0bb75e4d 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -15504,11 +15504,18 @@ void Unit::SetControlled(bool apply, UnitState state)
{
case UNIT_STATE_STUNNED:
SetStunned(true);
+ // i need to stop fear on stun and root or i will get teleport to destination issue as MVMGEN for fear keeps going on
+ if (HasUnitState(UNIT_STATE_FLEEING))
+ SetFeared(false);
CastStop();
break;
case UNIT_STATE_ROOT:
if (!HasUnitState(UNIT_STATE_STUNNED))
+ {
SetRooted(true);
+ if (HasUnitState(UNIT_STATE_FLEEING))
+ SetFeared(false);
+ }
break;
case UNIT_STATE_CONFUSED:
if (!HasUnitState(UNIT_STATE_STUNNED))
@@ -15568,16 +15575,17 @@ void Unit::SetControlled(bool apply, UnitState state)
ClearUnitState(state);
- if (HasUnitState(UNIT_STATE_STUNNED))
+ // Unit States might have been already cleared but auras still present. I need to check with HasAuraType
+ if (HasAuraType(SPELL_AURA_MOD_STUN))
SetStunned(true);
else
{
- if (HasUnitState(UNIT_STATE_ROOT))
+ if (HasAuraType(SPELL_AURA_MOD_ROOT))
SetRooted(true);
- if (HasUnitState(UNIT_STATE_CONFUSED))
+ if (HasAuraType(SPELL_AURA_MOD_CONFUSE))
SetConfused(true);
- else if (HasUnitState(UNIT_STATE_FLEEING))
+ else if (HasAuraType(SPELL_AURA_MOD_FEAR))
SetFeared(true);
}
}