diff options
author | chaodhib <chaodhib@gmail.com> | 2015-09-01 23:21:43 +0200 |
---|---|---|
committer | MitchesD <majklprofik@seznam.cz> | 2016-01-16 12:13:56 +0100 |
commit | 1bee732e66eb6475bc0840857ec582ad11b5b418 (patch) | |
tree | e6358ec4af6d94d89a01bb8b2fa3eba43d283a3b /src | |
parent | d3ea8c57508ea46b4af35943565fa15e79d7faa8 (diff) |
Core/Spells: Make players immune to the taunt aura.
(cherry picked from commit 6d080d0c44b943fe93ad93b07a99d481975f9d58)
# Conflicts:
# src/server/game/Entities/Player/Player.h
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 11 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.h | 2 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 49086c07745..b93bfa8719d 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -1816,6 +1816,17 @@ void Player::RemoveFromWorld() } } +bool Player::IsImmunedToSpellEffect(SpellInfo const* spellInfo, uint32 index) const +{ + // players are immune to taunt (the aura and the spell effect). + if (spellInfo->GetEffect(index)->IsAura(SPELL_AURA_MOD_TAUNT)) + return true; + if (spellInfo->GetEffect(index)->IsEffect(SPELL_EFFECT_ATTACK_ME)) + return true; + + return Unit::IsImmunedToSpellEffect(spellInfo, index); +} + void Player::RegenerateAll() { //if (m_regenTimer <= 500) diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index a90ab0daae2..20d0bd57fca 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -1206,6 +1206,8 @@ class Player : public Unit, public GridObject<Player> void Update(uint32 time) override; + bool IsImmunedToSpellEffect(SpellInfo const* spellInfo, uint32 index) const override; // override Unit::IsImmunedToSpellEffect + void SetInWater(bool apply); bool IsInWater() const override { return m_isInWater; } |