diff options
Diffstat (limited to 'src/game/ChatHandler.cpp')
| -rw-r--r-- | src/game/ChatHandler.cpp | 70 | 
1 files changed, 34 insertions, 36 deletions
diff --git a/src/game/ChatHandler.cpp b/src/game/ChatHandler.cpp index 22b58cccdf3..92489f8f510 100644 --- a/src/game/ChatHandler.cpp +++ b/src/game/ChatHandler.cpp @@ -1,7 +1,7 @@  /* - * Copyright (C) 2005-2008 MaNGOS <http://www.mangosproject.org/> + * Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>   * - * Copyright (C) 2008 Trinity <http://www.trinitycore.org/> + * Copyright (C) 2008-2009 Trinity <http://www.trinitycore.org/>   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by @@ -192,7 +192,7 @@ void WorldSession::HandleMessagechatOpcode( WorldPacket & recv_data )              Player *player = objmgr.GetPlayer(to.c_str());              uint32 tSecurity = GetSecurity(); -            uint32 pSecurity = player ? player->GetSession()->GetSecurity() : 0; +            uint32 pSecurity = player ? player->GetSession()->GetSecurity() : SEC_PLAYER;              if(!player || tSecurity == SEC_PLAYER && pSecurity > SEC_PLAYER && !player->isAcceptWhispers())              {                  WorldPacket data(SMSG_CHAT_PLAYER_NOT_FOUND, (to.size()+1)); @@ -524,44 +524,42 @@ void WorldSession::HandleTextEmoteOpcode( WorldPacket & recv_data )      }      EmotesTextEntry const *em = sEmotesTextStore.LookupEntry(text_emote); -    if (em) -    { -        uint32 emote_anim = em->textid; +    if (!em) +        return; -        WorldPacket data; +    GetPlayer()->GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE, text_emote, 0, unit); -        switch(emote_anim) -        { -            case EMOTE_STATE_SLEEP: -            case EMOTE_STATE_SIT: -            case EMOTE_STATE_KNEEL: -            case EMOTE_ONESHOT_NONE: -                break; -            default: -                GetPlayer()->HandleEmoteCommand(emote_anim); -                break; -        } +    uint32 emote_anim = em->textid; -        data.Initialize(SMSG_TEXT_EMOTE, (20+namlen)); -        data << GetPlayer()->GetGUID(); -        data << (uint32)text_emote; -        data << emoteNum; -        data << (uint32)namlen; -        if( namlen > 1 ) -        { -            data.append(nam, namlen); -        } -        else -        { -            data << (uint8)0x00; -        } - -        GetPlayer()->SendMessageToSetInRange(&data,sWorld.getConfig(CONFIG_LISTEN_RANGE_TEXTEMOTE),true); +    WorldPacket data; -        //Send scripted event call -        if (pCreature && Script) -            Script->ReceiveEmote(GetPlayer(),pCreature,text_emote); +    switch(emote_anim) +    { +        case EMOTE_STATE_SLEEP: +        case EMOTE_STATE_SIT: +        case EMOTE_STATE_KNEEL: +        case EMOTE_ONESHOT_NONE: +            break; +        default: +            GetPlayer()->HandleEmoteCommand(emote_anim); +            break;      } + +    data.Initialize(SMSG_TEXT_EMOTE, (20+namlen)); +    data << GetPlayer()->GetGUID(); +    data << (uint32)text_emote; +    data << emoteNum; +    data << (uint32)namlen; +    if( namlen > 1 ) +        data.append(nam, namlen); +    else +        data << (uint8)0x00; + +    GetPlayer()->SendMessageToSetInRange(&data,sWorld.getConfig(CONFIG_LISTEN_RANGE_TEXTEMOTE),true); + +    //Send scripted event call +    if (pCreature && Script) +        Script->ReceiveEmote(GetPlayer(),pCreature,text_emote);  }  void WorldSession::HandleChatIgnoredOpcode(WorldPacket& recv_data )  | 
