aboutsummaryrefslogtreecommitdiff
path: root/src/game/Player.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Player.cpp')
-rw-r--r--src/game/Player.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 7b229609c30..37362dab4b1 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -1115,6 +1115,14 @@ void Player::Update( uint32 p_time )
if(!IsInWorld())
return;
+ if(GetHealth() && (isDead() || HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_GHOST)))
+ {
+ sLog.outError("Player %s(GUID: %u) was dead and had health > 0. This _might_ be an exploit attempt. They have been kicked.", GetName(), GetGUIDLow());
+ SetHealth(0);
+ GetSession()->KickPlayer();
+ return;
+ }
+
// undelivered mail
if(m_nextMailDelivereTime && m_nextMailDelivereTime <= time(NULL))
{