aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorclick <none@none>2010-11-28 20:12:33 +0100
committerclick <none@none>2010-11-28 20:12:33 +0100
commit3fccb2b7bfcbc819988c2f8aa435a810f3707c82 (patch)
treebdedd13af471354a6074971a823837641e4db304 /src
parent916c0f98dfa9e051278b95fd13643be4b2dd1f28 (diff)
Core/Chat: Disallow visual emotes when an entity is in dead-state (thanks to Vladimir)
Closes issue 4942. --HG-- branch : trunk
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Server/Protocol/Handlers/ChatHandler.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/server/game/Server/Protocol/Handlers/ChatHandler.cpp b/src/server/game/Server/Protocol/Handlers/ChatHandler.cpp
index 5caa120ec0c..958f26598e4 100755
--- a/src/server/game/Server/Protocol/Handlers/ChatHandler.cpp
+++ b/src/server/game/Server/Protocol/Handlers/ChatHandler.cpp
@@ -580,7 +580,7 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket & recv_data)
void WorldSession::HandleEmoteOpcode(WorldPacket & recv_data)
{
- if (!GetPlayer()->isAlive())
+ if (!GetPlayer()->isAlive() || GetPlayer()->hasUnitState(UNIT_STAT_DIED))
return;
uint32 emote;
@@ -656,8 +656,11 @@ void WorldSession::HandleTextEmoteOpcode(WorldPacket & recv_data)
case EMOTE_ONESHOT_NONE:
break;
default:
- GetPlayer()->HandleEmoteCommand(emote_anim);
- break;
+ // Only allow text-emotes for "dead" entities (feign death included)
+ if (GetPlayer()->hasUnitState(UNIT_STAT_DIED))
+ break;
+ GetPlayer()->HandleEmoteCommand(emote_anim);
+ break;
}
Unit* unit = ObjectAccessor::GetUnit(*_player, guid);