aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
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);