aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhacknowledge <hacknowledge101@googlemail.com>2011-08-13 23:58:33 +0200
committerhacknowledge <hacknowledge101@googlemail.com>2011-08-13 23:58:33 +0200
commit78ca3ad5d2e827dadf7c46a2b3f068db0325a656 (patch)
tree72d7492efe77719884f79628edc4e6d5957f69fd
parent0cb68815ec207e519a442283fa6e901ad3704833 (diff)
Core/Spells Disables environmental damage to spirit of redemption form of priest
Core: Added check for AOE attackability to environmental damage Fixes #2531 Reduced check for environmental damage to whether unit is attackable by AOE. check for GM and death state is included in this check Fixes #2531
-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)