diff options
Diffstat (limited to 'src')
| -rwxr-xr-x | src/server/game/Server/Protocol/Handlers/ChatHandler.cpp | 9 | 
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);  | 
