aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/server/game/Entities/Player/Player.cpp8
-rwxr-xr-xsrc/server/game/Entities/Player/Player.h2
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 cff76936aa8..eb1ebb870be 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)