diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/game/Chat.cpp | 67 | ||||
| -rw-r--r-- | src/game/Chat.h | 3 | ||||
| -rw-r--r-- | src/game/Level1.cpp | 144 | ||||
| -rw-r--r-- | src/game/Level2.cpp | 116 | ||||
| -rw-r--r-- | src/game/Level3.cpp | 183 | ||||
| -rw-r--r-- | src/game/SharedDefines.h | 3 | ||||
| -rw-r--r-- | src/shared/revision_nr.h | 2 | 
7 files changed, 290 insertions, 228 deletions
diff --git a/src/game/Chat.cpp b/src/game/Chat.cpp index 03f78c3938c..81bf48491da 100644 --- a/src/game/Chat.cpp +++ b/src/game/Chat.cpp @@ -45,10 +45,11 @@  // |color|Hgameobject_entry:go_id|h[name]|h|r  // |color|Hitem:item_id:perm_ench_id:0:0|h[name]|h|r  // |color|Hitemset:itemset_id|h[name]|h|r +// |color|Hplayer:name|h[name]|h|r                                        - client, in some messages, at click copy only name instead link  // |color|Hquest:quest_id|h[name]|h|r  // |color|Hskill:skill_id|h[name]|h|r -// |color|Hspell:spell_id|h[name]|h|r                              - client, spellbook spell icon shift-click -// |color|Htalent:talent_id,rank|h[name]|h|r                       - client, talent icon shift-click +// |color|Hspell:spell_id|h[name]|h|r                                     - client, spellbook spell icon shift-click +// |color|Htalent:talent_id,rank|h[name]|h|r                              - client, talent icon shift-click  // |color|Htele:id|h[name]|h|r  // |color|Htrade:spell_id,cur_value,max_value,unk3int,unk3str|h[name]|h|r - client, spellbook profession icon shift-click @@ -1245,12 +1246,23 @@ char* ChatHandler::extractKeyFromLink(char* text, char const* const* linkTypes,      // [name] Shift-click form |color|linkType:key|h[name]|h|r      // or      // [name] Shift-click form |color|linkType:key:something1:...:somethingN|h[name]|h|r +    // or +    // [name] Shift-click form |linkType:key|h[name]|h|r -    char* check = strtok(text, "|");                        // skip color -    if(!check) -        return NULL;                                        // end of data +    char* tail; -    char* cLinkType = strtok(NULL, ":");                    // linktype +    if(text[1]=='c') +    { +        char* check = strtok(text, "|");                    // skip color +        if(!check) +            return NULL;                                    // end of data + +        tail = strtok(NULL, "");                            // tail +    } +    else +        tail = text+1;                                      // skip first | + +    char* cLinkType = strtok(tail, ":");                    // linktype      if(!cLinkType)          return NULL;                                        // end of data @@ -1410,12 +1422,14 @@ GameTele const* ChatHandler::extractGameTeleFromLink(char* text)  enum GuidLinkType  { -    SPELL_LINK_CREATURE   = 0, -    SPELL_LINK_GAMEOBJECT = 1 +    SPELL_LINK_PLAYER     = 0,                              // must be first for selection in not link case +    SPELL_LINK_CREATURE   = 1, +    SPELL_LINK_GAMEOBJECT = 2  };  static char const* const guidKeys[] =  { +    "Hplayer",      "Hcreature",      "Hgameobject",      0 @@ -1427,32 +1441,65 @@ uint64 ChatHandler::extractGuidFromLink(char* text)      // |color|Hcreature:creature_guid|h[name]|h|r      // |color|Hgameobject:go_guid|h[name]|h|r +    // |color|Hplayer:name|h[name]|h|r      char* idS = extractKeyFromLink(text,guidKeys,&type);      if(!idS)          return 0; -    uint32 lowguid = (uint32)atol(idS); -      switch(type)      { +        case SPELL_LINK_PLAYER: +        { +            std::string name = idS; +            if(!normalizePlayerName(name)) +                return 0; + +            if(Player* player = objmgr.GetPlayer(name.c_str())) +                return player->GetGUID(); + +            if(uint64 guid = objmgr.GetPlayerGUIDByName(name)) +                return guid; + +            return 0; +        }          case SPELL_LINK_CREATURE:          { +            uint32 lowguid = (uint32)atol(idS); +              if(CreatureData const* data = objmgr.GetCreatureData(lowguid) )                  return MAKE_NEW_GUID(lowguid,data->id,HIGHGUID_UNIT);              else                  return 0;          }          case SPELL_LINK_GAMEOBJECT: +        { +            uint32 lowguid = (uint32)atol(idS); +              if(GameObjectData const* data = objmgr.GetGOData(lowguid) )                  return MAKE_NEW_GUID(lowguid,data->id,HIGHGUID_GAMEOBJECT);              else                  return 0; +        }      }      // unknown type?      return 0;  } +std::string ChatHandler::extractPlayerNameFromLink(char* text) +{ +    // |color|Hplayer:name|h[name]|h|r +    char* name_str = extractKeyFromLink(text,"Hplayer"); +    if(!name_str) +        return ""; + +    std::string name = name_str; +    if(!normalizePlayerName(name)) +        return ""; + +    return name; +} +  const char *ChatHandler::GetName() const  {      return m_session->GetPlayer()->GetName(); diff --git a/src/game/Chat.h b/src/game/Chat.h index 6ee75789db4..5bf103cdd5d 100644 --- a/src/game/Chat.h +++ b/src/game/Chat.h @@ -511,6 +511,9 @@ class ChatHandler          uint64    extractGuidFromLink(char* text);          GameTele const* extractGameTeleFromLink(char* text);          bool GetPlayerGroupAndGUIDByName(const char* cname, Player* &plr, Group* &group, uint64 &guid, bool offline = false); +        std::string extractPlayerNameFromLink(char* text); + +        std::string playerLink(std::string const& name) const { return m_session ? "|cffffffff|Hplayer:"+name+"|h["+name+"]|h|r" : name; }          GameObject* GetObjectGlobalyWithGuidOrNearWithDbGuid(uint32 lowguid,uint32 entry); diff --git a/src/game/Level1.cpp b/src/game/Level1.cpp index 60ef0fc98c9..80bca8c1b2c 100644 --- a/src/game/Level1.cpp +++ b/src/game/Level1.cpp @@ -660,16 +660,9 @@ bool ChatHandler::HandleGPSCommand(const char* args)      WorldObject *obj = NULL;      if (*args)      { -        std::string name = args; -        if(normalizePlayerName(name)) -            obj = objmgr.GetPlayer(name.c_str()); - -        if(!obj) -        { -            uint64 guid = extractGuidFromLink((char*)args); -            if(guid) -                obj = (WorldObject*)ObjectAccessor::GetObjectByTypeMask(*m_session->GetPlayer(),guid,TYPEMASK_UNIT|TYPEMASK_GAMEOBJECT); -        } +        uint64 guid = extractGuidFromLink((char*)args); +        if(guid) +            obj = (WorldObject*)ObjectAccessor::GetObjectByTypeMask(*m_session->GetPlayer(),guid,TYPEMASK_UNIT|TYPEMASK_GAMEOBJECT);          if(!obj)          { @@ -747,9 +740,8 @@ bool ChatHandler::HandleNamegoCommand(const char* args)      if(!*args)          return false; -    std::string name = args; - -    if(!normalizePlayerName(name)) +    std::string name = extractPlayerNameFromLink((char*)args); +    if(name.empty())      {          SendSysMessage(LANG_PLAYER_NOT_FOUND);          SetSentErrorMessage(true); @@ -759,13 +751,14 @@ bool ChatHandler::HandleNamegoCommand(const char* args)      Player *chr = objmgr.GetPlayer(name.c_str());      if (chr)      { +        std::string nameLink = playerLink(chr->GetName());          // check online security          if (HasLowerSecurity(chr, 0))              return false;          if(chr->IsBeingTeleported()==true)          { -            PSendSysMessage(LANG_IS_TELEPORTED, chr->GetName()); +            PSendSysMessage(LANG_IS_TELEPORTED, nameLink.c_str());              SetSentErrorMessage(true);              return false;          } @@ -775,7 +768,7 @@ bool ChatHandler::HandleNamegoCommand(const char* args)          if(pMap->IsBattleGroundOrArena())          {              // cannot summon to bg -            PSendSysMessage(LANG_CANNOT_SUMMON_TO_BG,chr->GetName()); +            PSendSysMessage(LANG_CANNOT_SUMMON_TO_BG,nameLink.c_str());              SetSentErrorMessage(true);              return false;          } @@ -785,7 +778,7 @@ bool ChatHandler::HandleNamegoCommand(const char* args)              if( cMap->Instanceable() && cMap->GetInstanceId() != pMap->GetInstanceId() )              {                  // cannot summon from instance to instance -                PSendSysMessage(LANG_CANNOT_SUMMON_TO_INST,chr->GetName()); +                PSendSysMessage(LANG_CANNOT_SUMMON_TO_INST,nameLink.c_str());                  SetSentErrorMessage(true);                  return false;              } @@ -796,15 +789,15 @@ bool ChatHandler::HandleNamegoCommand(const char* args)                  (m_session->GetPlayer()->GetGroup()->GetLeaderGUID() != m_session->GetPlayer()->GetGUID()) )                  // the last check is a bit excessive, but let it be, just in case              { -                PSendSysMessage(LANG_CANNOT_SUMMON_TO_INST,chr->GetName()); +                PSendSysMessage(LANG_CANNOT_SUMMON_TO_INST,nameLink.c_str());                  SetSentErrorMessage(true);                  return false;              }          } -        PSendSysMessage(LANG_SUMMONING, chr->GetName(),""); +        PSendSysMessage(LANG_SUMMONING, nameLink.c_str(),"");          if (needReportToTarget(chr)) -            ChatHandler(chr).PSendSysMessage(LANG_SUMMONED_BY, GetName()); +            ChatHandler(chr).PSendSysMessage(LANG_SUMMONED_BY, nameLink.c_str());          // stop flight if need          if(chr->isInFlight()) @@ -827,7 +820,9 @@ bool ChatHandler::HandleNamegoCommand(const char* args)          if (HasLowerSecurity(NULL, guid))              return false; -        PSendSysMessage(LANG_SUMMONING, name.c_str(),GetTrinityString(LANG_OFFLINE)); +        std::string nameLink = playerLink(name); + +        PSendSysMessage(LANG_SUMMONING, nameLink.c_str(),GetMangosString(LANG_OFFLINE));          // in point where GM stay          Player::SavePositionInDB(m_session->GetPlayer()->GetMapId(), @@ -855,9 +850,8 @@ bool ChatHandler::HandleGonameCommand(const char* args)      Player* _player = m_session->GetPlayer(); -    std::string name = args; - -    if(!normalizePlayerName(name)) +    std::string name = extractPlayerNameFromLink((char*)args); +    if(name.empty())      {          SendSysMessage(LANG_PLAYER_NOT_FOUND);          SetSentErrorMessage(true); @@ -871,20 +865,22 @@ bool ChatHandler::HandleGonameCommand(const char* args)          if (HasLowerSecurity(chr, 0))              return false; +        std::string nameLink = playerLink(name); +          Map* cMap = chr->GetMap();          if(cMap->IsBattleGroundOrArena())          {              // only allow if gm mode is on              if (!_player->isGameMaster())              { -                PSendSysMessage(LANG_CANNOT_GO_TO_BG_GM,chr->GetName()); +                PSendSysMessage(LANG_CANNOT_GO_TO_BG_GM,nameLink.c_str());                  SetSentErrorMessage(true);                  return false;              }              // if already in a bg, don't let port to other              else if (_player->GetBattleGroundId())              { -                PSendSysMessage(LANG_CANNOT_GO_TO_BG_FROM_BG,chr->GetName()); +                PSendSysMessage(LANG_CANNOT_GO_TO_BG_FROM_BG,nameLink.c_str());                  SetSentErrorMessage(true);                  return false;              } @@ -904,7 +900,7 @@ bool ChatHandler::HandleGonameCommand(const char* args)                  // we are in group, we can go only if we are in the player group                  if (_player->GetGroup() != chr->GetGroup())                  { -                    PSendSysMessage(LANG_CANNOT_GO_TO_INST_PARTY,chr->GetName()); +                    PSendSysMessage(LANG_CANNOT_GO_TO_INST_PARTY,nameLink.c_str());                      SetSentErrorMessage(true);                      return false;                  } @@ -938,10 +934,12 @@ bool ChatHandler::HandleGonameCommand(const char* args)              _player->SetDifficulty(chr->GetDifficulty());          } -        PSendSysMessage(LANG_APPEARING_AT, chr->GetName()); +        PSendSysMessage(LANG_APPEARING_AT, nameLink.c_str()); + +        std::string plNameLink = playerLink(_player->GetName());          if (_player->IsVisibleGloballyFor(chr)) -            ChatHandler(chr).PSendSysMessage(LANG_APPEARING_TO, _player->GetName()); +            ChatHandler(chr).PSendSysMessage(LANG_APPEARING_TO, plNameLink.c_str());          // stop flight if need          if(_player->isInFlight()) @@ -968,7 +966,9 @@ bool ChatHandler::HandleGonameCommand(const char* args)          if (HasLowerSecurity(NULL, guid))              return false; -        PSendSysMessage(LANG_APPEARING_AT, name.c_str()); +        std::string nameLink = playerLink(name); + +        PSendSysMessage(LANG_APPEARING_AT, nameLink.c_str());          // to point where player stay (if loaded)          float x,y,z,o; @@ -1014,9 +1014,8 @@ bool ChatHandler::HandleRecallCommand(const char* args)      }      else      { -        std::string name = args; - -        if(!normalizePlayerName(name)) +        std::string name = extractPlayerNameFromLink((char*)args); +        if(name.empty())          {              SendSysMessage(LANG_PLAYER_NOT_FOUND);              SetSentErrorMessage(true); @@ -1039,7 +1038,8 @@ bool ChatHandler::HandleRecallCommand(const char* args)      if(chr->IsBeingTeleported())      { -        PSendSysMessage(LANG_IS_TELEPORTED, chr->GetName()); +        std::string nameLink = playerLink(chr->GetName()); +        PSendSysMessage(LANG_IS_TELEPORTED, nameLink.c_str());          SetSentErrorMessage(true);          return false;      } @@ -2399,9 +2399,13 @@ bool ChatHandler::HandleSendMailCommand(const char* args)      // format: name "subject text" "mail text" -    char* pName = strtok((char*)args, " "); -    if(!pName) +    std::string name = extractPlayerNameFromLink((char*)args); +    if(name.empty()) +    { +        SendSysMessage(LANG_PLAYER_NOT_FOUND); +        SetSentErrorMessage(true);          return false; +    }      char* tail1 = strtok(NULL, "");      if(!tail1) @@ -2439,18 +2443,10 @@ bool ChatHandler::HandleSendMailCommand(const char* args)      if (!msgText)          return false; -    // pName, msgSubject, msgText isn't NUL after prev. check -    std::string name    = pName; +    // msgSubject, msgText isn't NUL after prev. check      std::string subject = msgSubject;      std::string text    = msgText; -    if(!normalizePlayerName(name)) -    { -        SendSysMessage(LANG_PLAYER_NOT_FOUND); -        SetSentErrorMessage(true); -        return false; -    } -      uint64 receiver_guid = objmgr.GetPlayerGUIDByName(name);      if(!receiver_guid)      { @@ -2470,7 +2466,8 @@ bool ChatHandler::HandleSendMailCommand(const char* args)      WorldSession::SendMailTo(receiver,messagetype, stationery, sender_guidlo, GUID_LOPART(receiver_guid), subject, itemTextId, NULL, 0, 0, MAIL_CHECK_MASK_NONE); -    PSendSysMessage(LANG_MAIL_SENT, name.c_str()); +    std::string nameLink = playerLink(name); +    PSendSysMessage(LANG_MAIL_SENT, nameLink.c_str());      return true;  } @@ -2480,14 +2477,8 @@ bool ChatHandler::HandleNameTeleCommand(const char * args)      if(!*args)          return false; -    char* pName = strtok((char*)args, " "); - -    if(!pName) -        return false; - -    std::string name = pName; - -    if(!normalizePlayerName(name)) +    std::string name = extractPlayerNameFromLink((char*)args); +    if(name.empty())      {          SendSysMessage(LANG_PLAYER_NOT_FOUND);          SetSentErrorMessage(true); @@ -2522,16 +2513,21 @@ bool ChatHandler::HandleNameTeleCommand(const char * args)          if (HasLowerSecurity(chr, 0))              return false; +        std::string nameLink = playerLink(name); +          if(chr->IsBeingTeleported()==true)          { -            PSendSysMessage(LANG_IS_TELEPORTED, chr->GetName()); +            PSendSysMessage(LANG_IS_TELEPORTED, nameLink.c_str());              SetSentErrorMessage(true);              return false;          }          PSendSysMessage(LANG_TELEPORTING_TO, chr->GetName(),"", tele->name.c_str());          if (needReportToTarget(chr)) -            ChatHandler(chr).PSendSysMessage(LANG_TELEPORTED_TO_BY, GetName()); +        { +            std::string plNameLink = playerLink(GetName()); +            ChatHandler(chr).PSendSysMessage(LANG_TELEPORTED_TO_BY, plNameLink.c_str()); +        }          // stop flight if need          if(chr->isInFlight()) @@ -2545,13 +2541,15 @@ bool ChatHandler::HandleNameTeleCommand(const char * args)          chr->TeleportTo(tele->mapId,tele->position_x,tele->position_y,tele->position_z,tele->orientation);      } -    else if (uint64 guid = objmgr.GetPlayerGUIDByName(name.c_str())) +    else if (uint64 guid = objmgr.GetPlayerGUIDByName(name))      {          // check offline security          if (HasLowerSecurity(NULL, guid))              return false; -        PSendSysMessage(LANG_TELEPORTING_TO, name.c_str(), GetTrinityString(LANG_OFFLINE), tele->name.c_str()); +        std::string nameLink = playerLink(name); + +        PSendSysMessage(LANG_TELEPORTING_TO, nameLink.c_str(), GetMangosString(LANG_OFFLINE), tele->name.c_str());          Player::SavePositionInDB(tele->mapId,tele->position_x,tele->position_y,tele->position_z,tele->orientation,              MapManager::Instance().GetZoneId(tele->mapId,tele->position_x,tele->position_y,tele->position_z),guid);      } @@ -2595,10 +2593,13 @@ bool ChatHandler::HandleGroupTeleCommand(const char * args)          SetSentErrorMessage(true);          return false;      } + +    std::string nameLink = playerLink(player->GetName()); +      Group *grp = player->GetGroup();      if(!grp)      { -        PSendSysMessage(LANG_NOT_IN_GROUP,player->GetName()); +        PSendSysMessage(LANG_NOT_IN_GROUP,nameLink.c_str());          SetSentErrorMessage(true);          return false;      } @@ -2614,15 +2615,17 @@ bool ChatHandler::HandleGroupTeleCommand(const char * args)          if (HasLowerSecurity(pl, 0))              return false; +        std::string plNameLink = playerLink(pl->GetName()); +          if(pl->IsBeingTeleported())          { -            PSendSysMessage(LANG_IS_TELEPORTED, pl->GetName()); +            PSendSysMessage(LANG_IS_TELEPORTED, plNameLink.c_str());              continue;          } -        PSendSysMessage(LANG_TELEPORTING_TO, pl->GetName(),"", tele->name.c_str()); +        PSendSysMessage(LANG_TELEPORTING_TO, plNameLink.c_str(),"", tele->name.c_str());          if (needReportToTarget(pl)) -            ChatHandler(pl).PSendSysMessage(LANG_TELEPORTED_TO_BY, GetName()); +            ChatHandler(pl).PSendSysMessage(LANG_TELEPORTED_TO_BY, nameLink.c_str());          // stop flight if need          if(pl->isInFlight()) @@ -2646,9 +2649,8 @@ bool ChatHandler::HandleGroupgoCommand(const char* args)      if(!*args)          return false; -    std::string name = args; - -    if(!normalizePlayerName(name)) +    std::string name = extractPlayerNameFromLink((char*)args); +    if(name.empty())      {          SendSysMessage(LANG_PLAYER_NOT_FOUND);          SetSentErrorMessage(true); @@ -2669,9 +2671,11 @@ bool ChatHandler::HandleGroupgoCommand(const char* args)      Group *grp = player->GetGroup(); +    std::string nameLink = playerLink(name); +      if(!grp)      { -        PSendSysMessage(LANG_NOT_IN_GROUP,player->GetName()); +        PSendSysMessage(LANG_NOT_IN_GROUP,nameLink.c_str());          SetSentErrorMessage(true);          return false;      } @@ -2701,9 +2705,11 @@ bool ChatHandler::HandleGroupgoCommand(const char* args)          if (HasLowerSecurity(pl, 0))              return false; +        std::string plNameLink = playerLink(name); +          if(pl->IsBeingTeleported()==true)          { -            PSendSysMessage(LANG_IS_TELEPORTED, pl->GetName()); +            PSendSysMessage(LANG_IS_TELEPORTED, plNameLink.c_str());              SetSentErrorMessage(true);              return false;          } @@ -2715,15 +2721,15 @@ bool ChatHandler::HandleGroupgoCommand(const char* args)              if ( plMap->Instanceable() && plMap->GetInstanceId() != gmMap->GetInstanceId() )              {                  // cannot summon from instance to instance -                PSendSysMessage(LANG_CANNOT_SUMMON_TO_INST,pl->GetName()); +                PSendSysMessage(LANG_CANNOT_SUMMON_TO_INST,plNameLink.c_str());                  SetSentErrorMessage(true);                  return false;              }          } -        PSendSysMessage(LANG_SUMMONING, pl->GetName(),""); +        PSendSysMessage(LANG_SUMMONING, plNameLink.c_str(),"");          if (needReportToTarget(pl)) -            ChatHandler(pl).PSendSysMessage(LANG_SUMMONED_BY, GetName()); +            ChatHandler(pl).PSendSysMessage(LANG_SUMMONED_BY, nameLink.c_str());          // stop flight if need          if(pl->isInFlight()) diff --git a/src/game/Level2.cpp b/src/game/Level2.cpp index 8e891626b1c..cf93a110177 100644 --- a/src/game/Level2.cpp +++ b/src/game/Level2.cpp @@ -59,11 +59,13 @@ bool ChatHandler::HandleMuteCommand(const char* args)      if (!*args)          return false; -    char *charname = strtok((char*)args, " "); -    if (!charname) +    std::string name = extractPlayerNameFromLink((char*)args); +    if(name.empty()) +    { +        SendSysMessage(LANG_PLAYER_NOT_FOUND); +        SetSentErrorMessage(true);          return false; - -    std::string cname = charname; +    }      char *timetonotspeak = strtok(NULL, " ");      if(!timetonotspeak) @@ -71,14 +73,7 @@ bool ChatHandler::HandleMuteCommand(const char* args)      uint32 notspeaktime = (uint32) atoi(timetonotspeak); -    if(!normalizePlayerName(cname)) -    { -        SendSysMessage(LANG_PLAYER_NOT_FOUND); -        SetSentErrorMessage(true); -        return false; -    } - -    uint64 guid = objmgr.GetPlayerGUIDByName(cname.c_str()); +    uint64 guid = objmgr.GetPlayerGUIDByName(name);      if(!guid)      {          SendSysMessage(LANG_PLAYER_NOT_FOUND); @@ -104,7 +99,9 @@ bool ChatHandler::HandleMuteCommand(const char* args)      if(chr)          ChatHandler(chr).PSendSysMessage(LANG_YOUR_CHAT_DISABLED, notspeaktime); -    PSendSysMessage(LANG_YOU_DISABLE_CHAT, cname.c_str(), notspeaktime); +    std::string nameLink = playerLink(name); + +    PSendSysMessage(LANG_YOU_DISABLE_CHAT, nameLink.c_str(), notspeaktime);      return true;  } @@ -115,20 +112,15 @@ bool ChatHandler::HandleUnmuteCommand(const char* args)      if (!*args)          return false; -    char *charname = strtok((char*)args, " "); -    if (!charname) -        return false; - -    std::string cname = charname; - -    if(!normalizePlayerName(cname)) +    std::string name = extractPlayerNameFromLink((char*)args); +    if(name.empty())      {          SendSysMessage(LANG_PLAYER_NOT_FOUND);          SetSentErrorMessage(true);          return false;      } -    uint64 guid = objmgr.GetPlayerGUIDByName(cname.c_str()); +    uint64 guid = objmgr.GetPlayerGUIDByName(name);      if(!guid)      {          SendSysMessage(LANG_PLAYER_NOT_FOUND); @@ -161,7 +153,9 @@ bool ChatHandler::HandleUnmuteCommand(const char* args)      if(chr)          ChatHandler(chr).PSendSysMessage(LANG_YOUR_CHAT_ENABLED); -    PSendSysMessage(LANG_YOU_ENABLE_CHAT, cname.c_str()); +    std::string nameLink = playerLink(name); + +    PSendSysMessage(LANG_YOU_ENABLE_CHAT, nameLink.c_str());      return true;  } @@ -1670,7 +1664,7 @@ bool ChatHandler::HandleKickPlayerCommand(const char *args)  		kicker = m_session->GetPlayer()->GetName();    	if(!kickName) -     { +    {  		Player* player = getSelectedPlayer();  		if(!player)  		{ @@ -1703,8 +1697,8 @@ bool ChatHandler::HandleKickPlayerCommand(const char *args)      }  	else  	{ -		std::string name = kickName; -		if(!normalizePlayerName(name)) +        std::string name = extractPlayerNameFromLink((char*)kickName); +        if(name.empty())  	    {  			SendSysMessage(LANG_PLAYER_NOT_FOUND);  			SetSentErrorMessage(true); @@ -1726,28 +1720,29 @@ bool ChatHandler::HandleKickPlayerCommand(const char *args)  			return false;  		} -		if(m_session && player->GetSession()->GetSecurity() > m_session->GetSecurity()) +		if(HasLowerSecurity(player, 0))  		{  			SendSysMessage(LANG_YOURS_SECURITY_IS_LOW); //maybe replacement string for this later on  			SetSentErrorMessage(true);  			return false;  		} + +        std::string nameLink = playerLink(name); -		if(sWorld.KickPlayer(name.c_str())) +		if(sWorld.KickPlayer(name))  		{  			if(sWorld.getConfig(CONFIG_SHOW_KICK_IN_WORLD) == 1)  			{ -				 -				sWorld.SendWorldText(LANG_COMMAND_KICKMESSAGE, name.c_str(), kicker.c_str(), reason.c_str()); +				sWorld.SendWorldText(LANG_COMMAND_KICKMESSAGE, nameLink.c_str(), kicker.c_str(), reason.c_str());  			}  			else  			{ -				PSendSysMessage(LANG_COMMAND_KICKMESSAGE, name.c_str(), kicker.c_str(), reason.c_str()); +				PSendSysMessage(LANG_COMMAND_KICKMESSAGE,nameLink.c_str());  			}  		}  		else  		{ -		    PSendSysMessage(LANG_COMMAND_KICKNOTFOUNDPLAYER, name.c_str()); +		    PSendSysMessage(LANG_COMMAND_KICKNOTFOUNDPLAYER,nameLink.c_str());  			return false;   		}   	} @@ -1788,12 +1783,8 @@ bool ChatHandler::HandlePInfoCommand(const char* args)      if (px)      { -        name = px; - +        name = extractPlayerNameFromLink(px);          if(name.empty()) -            return false; - -        if(!normalizePlayerName(name))          {              SendSysMessage(LANG_PLAYER_NOT_FOUND);              SetSentErrorMessage(true); @@ -1904,7 +1895,9 @@ bool ChatHandler::HandlePInfoCommand(const char* args)          delete result;      } -    PSendSysMessage(LANG_PINFO_ACCOUNT, (target?"":GetTrinityString(LANG_OFFLINE)), name.c_str(), GUID_LOPART(targetGUID), username.c_str(), accId, security, last_ip.c_str(), last_login.c_str(), latency); +    std::string nameLink = playerLink(name); + +    PSendSysMessage(LANG_PINFO_ACCOUNT, (target?"":GetMangosString(LANG_OFFLINE)), nameLink.c_str(), GUID_LOPART(targetGUID), username.c_str(), accId, security, last_ip.c_str(), last_login.c_str(), latency);      std::string timeStr = secsToTimeString(total_player_time,true,true);      uint32 gold = money /GOLD; @@ -1961,7 +1954,9 @@ void ChatHandler::ShowTicket(uint64 guid, char const* text, char const* time)      if(!objmgr.GetPlayerNameByGUID(guid,name))          name = GetTrinityString(LANG_UNKNOWN); -    PSendSysMessage(LANG_COMMAND_TICKETVIEW, name.c_str(),time,text); +    std::string nameLink = playerLink(name); + +    PSendSysMessage(LANG_COMMAND_TICKETVIEW, nameLink.c_str(),time,text);  }  //ticket commands @@ -2041,9 +2036,8 @@ bool ChatHandler::HandleTicketCommand(const char* args)          return true;      } -    std::string name = px; - -    if(!normalizePlayerName(name)) +    std::string name = extractPlayerNameFromLink(px); +    if(name.empty())      {          SendSysMessage(LANG_PLAYER_NOT_FOUND);          SetSentErrorMessage(true); @@ -2112,9 +2106,8 @@ bool ChatHandler::HandleDelTicketCommand(const char *args)          return true;      } -    std::string name = px; - -    if(!normalizePlayerName(name)) +    std::string name = extractPlayerNameFromLink(px); +    if(name.empty())      {          SendSysMessage(LANG_PLAYER_NOT_FOUND);          SetSentErrorMessage(true); @@ -2133,7 +2126,9 @@ bool ChatHandler::HandleDelTicketCommand(const char *args)      if(Player* sender = objmgr.GetPlayer(guid))          sender->GetSession()->SendGMTicketGetTicket(0x0A,0); -    PSendSysMessage(LANG_COMMAND_TICKETPLAYERDEL,px); +    std::string nameLink = playerLink(name); + +    PSendSysMessage(LANG_COMMAND_TICKETPLAYERDEL,nameLink.c_str());      return true;  }*/ @@ -3225,9 +3220,8 @@ bool ChatHandler::HandleRenameCommand(const char* args)      if(px)      { -        oldname = px; - -        if(!normalizePlayerName(oldname)) +        oldname = extractPlayerNameFromLink(px); +        if(oldname.empty())          {              SendSysMessage(LANG_PLAYER_NOT_FOUND);              SetSentErrorMessage(true); @@ -3258,7 +3252,9 @@ bool ChatHandler::HandleRenameCommand(const char* args)          if (HasLowerSecurity(target, 0))              return false; -        PSendSysMessage(LANG_RENAME_PLAYER, target->GetName()); +        std::string tNameLink = playerLink(target->GetName()); + +        PSendSysMessage(LANG_RENAME_PLAYER, tNameLink.c_str());          target->SetAtLoginFlag(AT_LOGIN_RENAME);          CharacterDatabase.PExecute("UPDATE characters SET at_login = at_login | '1' WHERE guid = '%u'", target->GetGUIDLow());      } @@ -3268,7 +3264,9 @@ bool ChatHandler::HandleRenameCommand(const char* args)          if (HasLowerSecurity(NULL, targetGUID))              return false; -        PSendSysMessage(LANG_RENAME_PLAYER_GUID, oldname.c_str(), GUID_LOPART(targetGUID)); +        std::string oldNameLink = playerLink(oldname); + +        PSendSysMessage(LANG_RENAME_PLAYER_GUID, oldNameLink.c_str(), GUID_LOPART(targetGUID));          CharacterDatabase.PExecute("UPDATE characters SET at_login = at_login | '1' WHERE guid = '%u'", GUID_LOPART(targetGUID));      } @@ -3286,9 +3284,8 @@ bool ChatHandler::HandleCustomizeCommand(const char* args)      if(px)      { -        oldname = px; - -        if(!normalizePlayerName(oldname)) +        oldname = extractPlayerNameFromLink(px); +        if(oldname.empty())          {              SendSysMessage(LANG_PLAYER_NOT_FOUND);              SetSentErrorMessage(true); @@ -3315,13 +3312,17 @@ bool ChatHandler::HandleCustomizeCommand(const char* args)      if(target)      { -        PSendSysMessage(LANG_CUSTOMIZE_PLAYER, target->GetName()); +        std::string tNameLink = playerLink(target->GetName()); + +        PSendSysMessage(LANG_CUSTOMIZE_PLAYER, tNameLink.c_str());          target->SetAtLoginFlag(AT_LOGIN_CUSTOMIZE);          CharacterDatabase.PExecute("UPDATE characters SET at_login = at_login | '8' WHERE guid = '%u'", target->GetGUIDLow());      }      else      { -        PSendSysMessage(LANG_CUSTOMIZE_PLAYER_GUID, oldname.c_str(), GUID_LOPART(targetGUID)); +        std::string oldNameLink = playerLink(oldname); + +        PSendSysMessage(LANG_CUSTOMIZE_PLAYER_GUID, oldNameLink.c_str(), GUID_LOPART(targetGUID));          CharacterDatabase.PExecute("UPDATE characters SET at_login = at_login | '8' WHERE guid = '%u'", GUID_LOPART(targetGUID));      } @@ -3693,9 +3694,8 @@ bool ChatHandler::HandleCombatStopCommand(const char* args)      if(*args)      { -        std::string playername = args; - -        if(!normalizePlayerName(playername)) +        std::string playername = extractPlayerNameFromLink((char*)args); +        if(playername.empty())          {              SendSysMessage(LANG_PLAYER_NOT_FOUND);              SetSentErrorMessage(true); diff --git a/src/game/Level3.cpp b/src/game/Level3.cpp index 5aaa62c71ed..a0b44c81f3a 100644 --- a/src/game/Level3.cpp +++ b/src/game/Level3.cpp @@ -2204,13 +2204,11 @@ bool ChatHandler::HandleLearnAllLangCommand(const char* /*args*/)  bool ChatHandler::HandleLearnAllDefaultCommand(const char* args)  { -    char* pName = strtok((char*)args, "");      Player *player = NULL; -    if (pName) +    if (*args)      { -        std::string name = pName; - -        if(!normalizePlayerName(name)) +        std::string name = extractPlayerNameFromLink((char*)args); +        if(name.empty())          {              SendSysMessage(LANG_PLAYER_NOT_FOUND);              SetSentErrorMessage(true); @@ -2232,7 +2230,9 @@ bool ChatHandler::HandleLearnAllDefaultCommand(const char* args)      player->learnDefaultSpells();      player->learnQuestRewardedSpells(); -    PSendSysMessage(LANG_COMMAND_LEARN_ALL_DEFAULT_AND_QUEST,player->GetName()); +    std::string nameLink = playerLink(player->GetName()); + +    PSendSysMessage(LANG_COMMAND_LEARN_ALL_DEFAULT_AND_QUEST,nameLink.c_str());      return true;  } @@ -3518,11 +3518,11 @@ bool ChatHandler::HandleGuildInviteCommand(const char *args)      if (!targetGuild)          return false; -    std::string plName = par1; -    if (!normalizePlayerName (plName)) +    std::string plName = extractPlayerNameFromLink(par1); +    if(plName.empty())      { -        SendSysMessage (LANG_PLAYER_NOT_FOUND); -        SetSentErrorMessage (true); +        SendSysMessage(LANG_PLAYER_NOT_FOUND); +        SetSentErrorMessage(true);          return false;      } @@ -3530,7 +3530,7 @@ bool ChatHandler::HandleGuildInviteCommand(const char *args)      if (Player* targetPlayer = ObjectAccessor::Instance ().FindPlayerByName (plName.c_str ()))          plGuid = targetPlayer->GetGUID ();      else -        plGuid = objmgr.GetPlayerGUIDByName (plName.c_str ()); +        plGuid = objmgr.GetPlayerGUIDByName (plName);      if (!plGuid)          false; @@ -3551,11 +3551,11 @@ bool ChatHandler::HandleGuildUninviteCommand(const char *args)      if(!par1)          return false; -    std::string plName = par1; -    if (!normalizePlayerName (plName)) +    std::string plName = extractPlayerNameFromLink(par1); +    if(plName.empty())      { -        SendSysMessage (LANG_PLAYER_NOT_FOUND); -        SetSentErrorMessage (true); +        SendSysMessage(LANG_PLAYER_NOT_FOUND); +        SetSentErrorMessage(true);          return false;      } @@ -3568,7 +3568,7 @@ bool ChatHandler::HandleGuildUninviteCommand(const char *args)      }      else      { -        plGuid = objmgr.GetPlayerGUIDByName (plName.c_str ()); +        plGuid = objmgr.GetPlayerGUIDByName (plName);          glId = Player::GetGuildIdFromDB (plGuid);      } @@ -3593,14 +3593,16 @@ bool ChatHandler::HandleGuildRankCommand(const char *args)      char* par2 = strtok (NULL, " ");      if (!par1 || !par2)          return false; -    std::string plName = par1; -    if (!normalizePlayerName (plName)) + +    std::string plName = extractPlayerNameFromLink(par1); +    if(plName.empty())      { -        SendSysMessage (LANG_PLAYER_NOT_FOUND); -        SetSentErrorMessage (true); +        SendSysMessage(LANG_PLAYER_NOT_FOUND); +        SetSentErrorMessage(true);          return false;      } +      uint64 plGuid = 0;      uint32 glId   = 0;      if (Player* targetPlayer = ObjectAccessor::Instance ().FindPlayerByName (plName.c_str ())) @@ -3610,7 +3612,7 @@ bool ChatHandler::HandleGuildRankCommand(const char *args)      }      else      { -        plGuid = objmgr.GetPlayerGUIDByName (plName.c_str ()); +        plGuid = objmgr.GetPlayerGUIDByName (plName);          glId = Player::GetGuildIdFromDB (plGuid);      } @@ -3860,8 +3862,8 @@ bool ChatHandler::HandleReviveCommand(const char* args)      if (*args)      { -        std::string name = args; -        if(!normalizePlayerName(name)) +        std::string name = extractPlayerNameFromLink((char*)args); +        if(name.empty())          {              SendSysMessage(LANG_PLAYER_NOT_FOUND);              SetSentErrorMessage(true); @@ -4221,8 +4223,8 @@ bool ChatHandler::HandleLevelUpCommand(const char* args)      if(pname)                                               // player by name      { -        name = pname; -        if(!normalizePlayerName(name)) +        name = extractPlayerNameFromLink(pname); +        if(name.empty())          {              SendSysMessage(LANG_PLAYER_NOT_FOUND);              SetSentErrorMessage(true); @@ -4290,7 +4292,10 @@ bool ChatHandler::HandleLevelUpCommand(const char* args)      }      if(m_session->GetPlayer() != chr)                       // including chr==NULL -        PSendSysMessage(LANG_YOU_CHANGE_LVL,name.c_str(),newlevel); +    { +        std::string nameLink = playerLink(name); +        PSendSysMessage(LANG_YOU_CHANGE_LVL,nameLink.c_str(),newlevel); +    }      return true;  } @@ -4748,15 +4753,15 @@ bool ChatHandler::HandleResetHonorCommand (const char * args)      Player *player = NULL;      if (pName)      { -        std::string name = pName; -        if(!normalizePlayerName(name)) +        std::string name = extractPlayerNameFromLink(pName); +        if(name.empty())          {              SendSysMessage(LANG_PLAYER_NOT_FOUND);              SetSentErrorMessage(true);              return false;          } -        uint64 guid = objmgr.GetPlayerGUIDByName(name.c_str()); +        uint64 guid = objmgr.GetPlayerGUIDByName(name);          player = objmgr.GetPlayer(guid);      }      else @@ -4838,15 +4843,15 @@ bool ChatHandler::HandleResetLevelCommand(const char * args)      Player *player = NULL;      if (pName)      { -        std::string name = pName; -        if(!normalizePlayerName(name)) +        std::string name = extractPlayerNameFromLink(pName); +        if(name.empty())          {              SendSysMessage(LANG_PLAYER_NOT_FOUND);              SetSentErrorMessage(true);              return false;          } -        uint64 guid = objmgr.GetPlayerGUIDByName(name.c_str()); +        uint64 guid = objmgr.GetPlayerGUIDByName(name);          player = objmgr.GetPlayer(guid);      }      else @@ -4891,15 +4896,15 @@ bool ChatHandler::HandleResetStatsCommand(const char * args)      Player *player = NULL;      if (pName)      { -        std::string name = pName; -        if(!normalizePlayerName(name)) +        std::string name = extractPlayerNameFromLink(pName); +        if(name.empty())          {              SendSysMessage(LANG_PLAYER_NOT_FOUND);              SetSentErrorMessage(true);              return false;          } -        uint64 guid = objmgr.GetPlayerGUIDByName(name.c_str()); +        uint64 guid = objmgr.GetPlayerGUIDByName(name);          player = objmgr.GetPlayer(guid);      }      else @@ -4931,9 +4936,8 @@ bool ChatHandler::HandleResetSpellsCommand(const char * args)      uint64 playerGUID = 0;      if (pName)      { -        std::string name = pName; - -        if(!normalizePlayerName(name)) +        std::string name = extractPlayerNameFromLink(pName); +        if(name.empty())          {              SendSysMessage(LANG_PLAYER_NOT_FOUND);              SetSentErrorMessage(true); @@ -4942,7 +4946,7 @@ bool ChatHandler::HandleResetSpellsCommand(const char * args)          player = objmgr.GetPlayer(name.c_str());          if(!player) -            playerGUID = objmgr.GetPlayerGUIDByName(name.c_str()); +            playerGUID = objmgr.GetPlayerGUIDByName(name);      }      else          player = getSelectedPlayer(); @@ -4961,7 +4965,10 @@ bool ChatHandler::HandleResetSpellsCommand(const char * args)          ChatHandler(player).SendSysMessage(LANG_RESET_SPELLS);          if(m_session->GetPlayer()!=player) -            PSendSysMessage(LANG_RESET_SPELLS_ONLINE,player->GetName()); +        { +            std::string nameLink = playerLink(player->GetName()); +            PSendSysMessage(LANG_RESET_SPELLS_ONLINE,nameLink.c_str()); +        }      }      else      { @@ -4979,8 +4986,8 @@ bool ChatHandler::HandleResetTalentsCommand(const char * args)      uint64 playerGUID = 0;      if (pName)      { -        std::string name = pName; -        if(!normalizePlayerName(name)) +        std::string name = extractPlayerNameFromLink(pName); +        if(name.empty())          {              SendSysMessage(LANG_PLAYER_NOT_FOUND);              SetSentErrorMessage(true); @@ -4989,7 +4996,7 @@ bool ChatHandler::HandleResetTalentsCommand(const char * args)          player = objmgr.GetPlayer(name.c_str());          if(!player) -            playerGUID = objmgr.GetPlayerGUIDByName(name.c_str()); +            playerGUID = objmgr.GetPlayerGUIDByName(name);      }      else          player = getSelectedPlayer(); @@ -5001,13 +5008,17 @@ bool ChatHandler::HandleResetTalentsCommand(const char * args)          ChatHandler(player).SendSysMessage(LANG_RESET_TALENTS);          if(m_session->GetPlayer()!=player) -            PSendSysMessage(LANG_RESET_TALENTS_ONLINE,player->GetName()); +        { +            std::string nameLink = playerLink(player->GetName()); +            PSendSysMessage(LANG_RESET_TALENTS_ONLINE,nameLink.c_str()); +        }          return true;      }      else if (playerGUID)      {          CharacterDatabase.PExecute("UPDATE characters SET at_login = at_login | '%u' WHERE guid = '%u'",uint32(AT_LOGIN_RESET_TALENTS), GUID_LOPART(playerGUID) ); -        PSendSysMessage(LANG_RESET_TALENTS_OFFLINE,pName); +        std::string nameLink = playerLink(pName); +        PSendSysMessage(LANG_RESET_TALENTS_OFFLINE,nameLink.c_str());          return true;      }      // Try reset talenents as Hunter Pet @@ -5021,7 +5032,10 @@ bool ChatHandler::HandleResetTalentsCommand(const char * args)              player = (Player *)owner;              ChatHandler(player).SendSysMessage(LANG_RESET_TALENTS);              if(m_session->GetPlayer()!=player) -                PSendSysMessage(LANG_RESET_TALENTS_ONLINE,player->GetName()); +            { +                std::string nameLink = playerLink(player->GetName()); +                PSendSysMessage(LANG_RESET_TALENTS_ONLINE,nameLink.c_str()); +            }          }          return true;      } @@ -5585,12 +5599,8 @@ bool ChatHandler::HandleBanInfoCharacterCommand(const char* args)      if(!args)          return false; -    char* cname = strtok ((char*)args, ""); -    if(!cname) -        return false; - -    std::string name = cname; -    if(!normalizePlayerName(name)) +    std::string name = extractPlayerNameFromLink((char*)args); +    if(name.empty())      {          SendSysMessage(LANG_PLAYER_NOT_FOUND);          SetSentErrorMessage(true); @@ -6090,12 +6100,11 @@ bool ChatHandler::HandleWritePDumpCommand(const char *args)          guid = atoi(p2);      else      { -        std::string name = p2; - -        if (!normalizePlayerName (name)) +        std::string name = extractPlayerNameFromLink(p2); +        if(name.empty())          { -            SendSysMessage (LANG_PLAYER_NOT_FOUND); -            SetSentErrorMessage (true); +            SendSysMessage(LANG_PLAYER_NOT_FOUND); +            SetSentErrorMessage(true);              return false;          } @@ -6714,9 +6723,13 @@ bool ChatHandler::HandleSendItemsCommand(const char* args)      // format: name "subject text" "mail text" item1[:count1] item2[:count2] ... item12[:count12] -    char* pName = strtok((char*)args, " "); -    if(!pName) +    std::string name = extractPlayerNameFromLink((char*)args); +    if(name.empty()) +    { +        SendSysMessage(LANG_PLAYER_NOT_FOUND); +        SetSentErrorMessage(true);          return false; +    }      char* tail1 = strtok(NULL, "");      if(!tail1) @@ -6754,8 +6767,7 @@ bool ChatHandler::HandleSendItemsCommand(const char* args)      if (!msgText)          return false; -    // pName, msgSubject, msgText isn't NUL after prev. check -    std::string name    = pName; +    // msgSubject, msgText isn't NUL after prev. check      std::string subject = msgSubject;      std::string text    = msgText; @@ -6813,13 +6825,6 @@ bool ChatHandler::HandleSendItemsCommand(const char* args)          }      } -    if(!normalizePlayerName(name)) -    { -        SendSysMessage(LANG_PLAYER_NOT_FOUND); -        SetSentErrorMessage(true); -        return false; -    } -      uint64 receiver_guid = objmgr.GetPlayerGUIDByName(name);      if(!receiver_guid)      { @@ -6851,7 +6856,8 @@ bool ChatHandler::HandleSendItemsCommand(const char* args)      WorldSession::SendMailTo(receiver,messagetype, stationery, sender_guidlo, GUID_LOPART(receiver_guid), subject, itemTextId, &mi, 0, 0, MAIL_CHECK_MASK_NONE); -    PSendSysMessage(LANG_MAIL_SENT, name.c_str()); +    std::string nameLink = playerLink(name); +    PSendSysMessage(LANG_MAIL_SENT, nameLink.c_str());      return true;  } @@ -6863,9 +6869,13 @@ bool ChatHandler::HandleSendMoneyCommand(const char* args)      /// format: name "subject text" "mail text" money -    char* pName = strtok((char*)args, " "); -    if (!pName) +    std::string name = extractPlayerNameFromLink((char*)args); +    if(name.empty()) +    { +        SendSysMessage(LANG_PLAYER_NOT_FOUND); +        SetSentErrorMessage(true);          return false; +    }      char* tail1 = strtok(NULL, "");      if (!tail1) @@ -6908,18 +6918,10 @@ bool ChatHandler::HandleSendMoneyCommand(const char* args)      if (money <= 0)          return false; -    // pName, msgSubject, msgText isn't NUL after prev. check -    std::string name    = pName; +    // msgSubject, msgText isn't NUL after prev. check      std::string subject = msgSubject;      std::string text    = msgText; -    if (!normalizePlayerName(name)) -    { -        SendSysMessage(LANG_PLAYER_NOT_FOUND); -        SetSentErrorMessage(true); -        return false; -    } -      uint64 receiver_guid = objmgr.GetPlayerGUIDByName(name);      if (!receiver_guid)      { @@ -6941,7 +6943,8 @@ bool ChatHandler::HandleSendMoneyCommand(const char* args)      WorldSession::SendMailTo(receiver,messagetype, stationery, sender_guidlo, GUID_LOPART(receiver_guid), subject, itemTextId, NULL, money, 0, MAIL_CHECK_MASK_NONE); -    PSendSysMessage(LANG_MAIL_SENT, name.c_str()); +    std::string nameLink = playerLink(name); +    PSendSysMessage(LANG_MAIL_SENT, nameLink.c_str());      return true;  } @@ -6949,15 +6952,16 @@ bool ChatHandler::HandleSendMoneyCommand(const char* args)  bool ChatHandler::HandleSendMessageCommand(const char* args)  {      ///- Get the command line arguments -    char* name_str = strtok((char*)args, " "); -    char* msg_str = strtok(NULL, ""); - -    if(!name_str || !msg_str) +    std::string name = extractPlayerNameFromLink((char*)args); +    if(name.empty()) +    { +        SendSysMessage(LANG_PLAYER_NOT_FOUND); +        SetSentErrorMessage(true);          return false; +    } -    std::string name = name_str; - -    if(!normalizePlayerName(name)) +    char* msg_str = strtok(NULL, ""); +    if(!msg_str)          return false;      ///- Find the player and check that he is not logging out. @@ -6982,7 +6986,8 @@ bool ChatHandler::HandleSendMessageCommand(const char* args)      rPlayer->GetSession()->SendAreaTriggerMessage("|cffff0000[Message from administrator]:|r");      //Confirmation message -    PSendSysMessage(LANG_SENDMESSAGE,name.c_str(),msg_str); +    std::string nameLink = playerLink(name); +    PSendSysMessage(LANG_SENDMESSAGE,nameLink.c_str(),msg_str);      return true;  } diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h index 32eed15630c..b08bb45e322 100644 --- a/src/game/SharedDefines.h +++ b/src/game/SharedDefines.h @@ -24,7 +24,8 @@  #include "Platform/Define.h"  #include <cassert> -#define MaNGOS Trinity +#define MaNGOS              Trinity +#define GetMangosString     GetTrinityString  enum Gender  { diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index b10f8da3d78..e998ebc1e34 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@  #ifndef __REVISION_NR_H__  #define __REVISION_NR_H__ - #define REVISION_NR "7218" + #define REVISION_NR "7219"  #endif // __REVISION_NR_H__  | 
