diff options
| author | jackpoz <giacomopoz@gmail.com> | 2014-09-14 21:03:17 +0200 |
|---|---|---|
| committer | jackpoz <giacomopoz@gmail.com> | 2014-09-14 21:03:17 +0200 |
| commit | 9337e257fc03d2c178e0120fc21b082da56e8a62 (patch) | |
| tree | acfb1deac922a9022953e66ad9c93eb4b9f4b122 /src | |
| parent | 7d26a2ccd46bd8475c1dad90d7bb9480c3089314 (diff) | |
| parent | 6153aa7b7430e71dabb43bab187fb5599b25409e (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.cpp | 16 |
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); } } |
