diff options
-rw-r--r-- | src/game/Player.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 6255426c11a..23e468cbb3c 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -1115,12 +1115,12 @@ void Player::Update( uint32 p_time ) if(!IsInWorld()) return; - if(GetHealth() && (isDead() || HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_GHOST))) + if(GetHealth() && getDeathState() != JUST_ALIVED && (!isAlive() || HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_GHOST))) { - sLog.outError("Player %s(GUID: %u) was dead(isDead() = %u, PLAYER_FLAGS_GHOST = %u) and had health > 0. This _might_ be an exploit attempt. They have been kicked.", GetName(), GetGUIDLow(), uint8(isDead()), uint8(HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_GHOST))); - SetHealth(0); - if(!isGameMaster() && GetSession()->GetSecurity() < SEC_GAMEMASTER) GetSession()->KickPlayer(); - return; + sLog.outError("Player %s(GUID: %u) was dead(getDeathState() = %u, PLAYER_FLAGS_GHOST = %u) and had health = %u. This _might_ be an exploit attempt, if you think this information is useful, please report it.", GetName(), GetGUIDLow(), uint8(getDeathState()), uint8(HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_GHOST)), GetHealth()); + //SetHealth(0); <- Don't use unless you're damn sure they're exploiting.. + //if(!isGameMaster() && GetSession()->GetSecurity() < SEC_GAMEMASTER) GetSession()->KickPlayer(); + //return; } // undelivered mail |