diff options
| author | QAston <qaston@gmail.com> | 2011-08-24 10:03:10 -0700 |
|---|---|---|
| committer | QAston <qaston@gmail.com> | 2011-08-24 10:03:10 -0700 |
| commit | 7ae8f159857ed443fb3da3ae877e1206e266b4f9 (patch) | |
| tree | 94b8c1ae9a6340e79aadf31bc826911525a3e01e /src | |
| parent | b69330676d148b9cefaf2bbfb2109921a53c2c93 (diff) | |
| parent | 1aa4e7bd5762e7d8e9264879a5abb5a99ff75aec (diff) | |
Merge pull request #2582 from hacknowledge/fix_2531
Core/Spells Disables environmental damage to players which are not attackable by AOE damage
Diffstat (limited to 'src')
| -rwxr-xr-x | src/server/game/Entities/Player/Player.cpp | 8 | ||||
| -rwxr-xr-x | src/server/game/Entities/Player/Player.h | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 9ac1c5aca0f..8227939fe52 100755 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -1244,9 +1244,15 @@ void Player::StopMirrorTimer(MirrorTimerType Type) GetSession()->SendPacket(&data); } +bool Player::IsImmuneToEnvironmentalDamage() +{ + // check for GM and death state included in isAttackableByAOE + return (!isAttackableByAOE()); +} + uint32 Player::EnvironmentalDamage(EnviromentalDamage type, uint32 damage) { - if (!isAlive() || isGameMaster()) + if (IsImmuneToEnvironmentalDamage()) return 0; // Absorb, resist some environmental damage type diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index ead732d93a6..40208983597 100755 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -2753,6 +2753,8 @@ class Player : public Unit, public GridObject<Player> bool IsHasDelayedTeleport() const { return m_bHasDelayedTeleport; } void SetDelayedTeleportFlag(bool setting) { m_bHasDelayedTeleport = setting; } + bool IsImmuneToEnvironmentalDamage(); + void ScheduleDelayedOperation(uint32 operation) { if (operation < DELAYED_END) |
