diff options
| author | Rushor <Rushor@users.noreply.github.com> | 2016-04-25 11:46:00 +0200 |
|---|---|---|
| committer | Rushor <Rushor@users.noreply.github.com> | 2016-04-25 11:46:00 +0200 |
| commit | e869ccb29793aa0dd39dc2ecef9f11ab56ba010e (patch) | |
| tree | 936c512ecafd4ac89db2088125d7e930932d62ab /src/server/game/Entities/Unit | |
| parent | ebafa2fdeaf4544b5e62c9fab7c281d54f7aa139 (diff) | |
| parent | 5c0b0add27299ee94448b36cabe32e724b682cd6 (diff) | |
Merge pull request #16503 from Rushor/evading
[3.3.5][6.x]Core/Unit: Do not remove auras from Pets and Guardians after evading
Diffstat (limited to 'src/server/game/Entities/Unit')
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 10 | ||||
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.h | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index ee8a0b093e7..d2d85dbfca6 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -4185,6 +4185,16 @@ void Unit::RemoveArenaAuras() } } +void Unit::RemoveAurasOnEvade() +{ + if (IsCharmedOwnedByPlayerOrPlayer()) // if it is a player owned creature it should not remove the aura + return; + + // don't remove vehicle auras, passengers aren't supposed to drop off the vehicle + // don't remove clone caster on evade (to be verified) + RemoveAllAurasExceptType(SPELL_AURA_CONTROL_VEHICLE, SPELL_AURA_CLONE_CASTER); +} + void Unit::RemoveAllAurasOnDeath() { // used just after dieing to remove all visible auras diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index 59d3bd2b25f..1a6fbeb44fb 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -1755,6 +1755,7 @@ class TC_GAME_API Unit : public WorldObject void RemoveAreaAurasDueToLeaveWorld(); void RemoveAllAuras(); void RemoveArenaAuras(); + void RemoveAurasOnEvade(); void RemoveAllAurasOnDeath(); void RemoveAllAurasRequiringDeadTarget(); void RemoveAllAurasExceptType(AuraType type); |
