diff --git a/src/game/AchievementMgr.cpp b/src/game/AchievementMgr.cpp index 2a076b3d0..570cfaeb8 100644 --- a/src/game/AchievementMgr.cpp +++ b/src/game/AchievementMgr.cpp @@ -398,7 +398,7 @@ void AchievementMgr::Reset() m_completedAchievements.clear(); m_criteriaProgress.clear(); - DeleteFromDB(m_player->GetGUIDLow()); + DeleteFromDB(m_player->GetObjectGuid()); // re-fill data CheckAllAchievementCriteria(); @@ -443,11 +443,12 @@ void AchievementMgr::ResetAchievementCriteria(AchievementCriteriaTypes type, uin } } -void AchievementMgr::DeleteFromDB(uint32 lowguid) +void AchievementMgr::DeleteFromDB(ObjectGuid guid) { + uint32 lowguid = guid.GetCounter(); CharacterDatabase.BeginTransaction (); - CharacterDatabase.PExecute("DELETE FROM character_achievement WHERE guid = %u",lowguid); - CharacterDatabase.PExecute("DELETE FROM character_achievement_progress WHERE guid = %u",lowguid); + CharacterDatabase.PExecute("DELETE FROM character_achievement WHERE guid = %u", lowguid); + CharacterDatabase.PExecute("DELETE FROM character_achievement_progress WHERE guid = %u", lowguid); CharacterDatabase.CommitTransaction (); } diff --git a/src/game/AchievementMgr.h b/src/game/AchievementMgr.h index 7386c6db1..1f4d6c11d 100644 --- a/src/game/AchievementMgr.h +++ b/src/game/AchievementMgr.h @@ -247,7 +247,7 @@ class AchievementMgr ~AchievementMgr(); void Reset(); - static void DeleteFromDB(uint32 lowguid); + static void DeleteFromDB(ObjectGuid guid); void LoadFromDB(QueryResult *achievementResult, QueryResult *criteriaResult); void SaveToDB(); void ResetAchievementCriteria(AchievementCriteriaTypes type, uint32 miscvalue1=0, uint32 miscvalue2=0); diff --git a/src/game/Chat.cpp b/src/game/Chat.cpp index 3539a2af7..d526d2652 100644 --- a/src/game/Chat.cpp +++ b/src/game/Chat.cpp @@ -807,14 +807,14 @@ std::string ChatHandler::GetNameLink() const return GetNameLink(m_session->GetPlayer()); } -bool ChatHandler::HasLowerSecurity(Player* target, uint64 guid, bool strong) +bool ChatHandler::HasLowerSecurity(Player* target, ObjectGuid guid, bool strong) { WorldSession* target_session = NULL; uint32 target_account = 0; if (target) target_session = target->GetSession(); - else if (guid) + else if (!guid.IsEmpty()) target_account = sObjectMgr.GetPlayerAccountIdByGUID(guid); if(!target_session && !target_account) @@ -2936,12 +2936,13 @@ bool ChatHandler::ExtractLocationFromLink(char** text, uint32& mapid, float& x, return true; } - if (uint64 guid = sObjectMgr.GetPlayerGUIDByName(name)) + ObjectGuid guid = sObjectMgr.GetPlayerGUIDByName(name); + if (!guid.IsEmpty()) { // to point where player stay (if loaded) float o; bool in_flight; - return Player::LoadPositionFromDB(mapid, x, y, z, o, in_flight, guid); + return Player::LoadPositionFromDB(guid, mapid, x, y, z, o, in_flight); } return false; @@ -3142,7 +3143,7 @@ std::string ChatHandler::ExtractPlayerNameFromLink(char** text) * * @return true if extraction successful */ -bool ChatHandler::ExtractPlayerTarget(char** args, Player** player /*= NULL*/, uint64* player_guid /*= NULL*/,std::string* player_name /*= NULL*/) +bool ChatHandler::ExtractPlayerTarget(char** args, Player** player /*= NULL*/, ObjectGuid* player_guid /*= NULL*/,std::string* player_name /*= NULL*/) { if (*args && **args) { @@ -3161,14 +3162,14 @@ bool ChatHandler::ExtractPlayerTarget(char** args, Player** player /*= NULL*/, u *player = pl; // if need guid value from DB (in name case for check player existence) - uint64 guid = !pl && (player_guid || player_name) ? sObjectMgr.GetPlayerGUIDByName(name) : 0; + ObjectGuid guid = !pl && (player_guid || player_name) ? sObjectMgr.GetPlayerGUIDByName(name) : uint64(0); // if allowed player guid (if no then only online players allowed) if(player_guid) - *player_guid = pl ? pl->GetGUID() : guid; + *player_guid = pl ? pl->GetObjectGuid() : guid; if(player_name) - *player_name = pl || guid ? name : ""; + *player_name = pl || !guid.IsEmpty() ? name : ""; } else { @@ -3178,14 +3179,14 @@ bool ChatHandler::ExtractPlayerTarget(char** args, Player** player /*= NULL*/, u *player = pl; // if allowed player guid (if no then only online players allowed) if(player_guid) - *player_guid = pl ? pl->GetGUID() : 0; + *player_guid = pl ? pl->GetObjectGuid() : ObjectGuid(); if(player_name) *player_name = pl ? pl->GetName() : ""; } // some from req. data must be provided (note: name is empty if player not exist) - if((!player || !*player) && (!player_guid || !*player_guid) && (!player_name || player_name->empty())) + if((!player || !*player) && (!player_guid || player_guid->IsEmpty()) && (!player_name || player_name->empty())) { SendSysMessage(LANG_PLAYER_NOT_FOUND); SetSentErrorMessage(true); diff --git a/src/game/Chat.h b/src/game/Chat.h index 5b56d0bb9..d85c3e784 100644 --- a/src/game/Chat.h +++ b/src/game/Chat.h @@ -109,7 +109,7 @@ class ChatHandler virtual LocaleConstant GetSessionDbcLocale() const; virtual int GetSessionDbLocaleIndex() const; - bool HasLowerSecurity(Player* target, uint64 guid, bool strong = false); + bool HasLowerSecurity(Player* target, ObjectGuid guid = ObjectGuid(), bool strong = false); bool HasLowerSecurityAccount(WorldSession* target, uint32 account, bool strong = false); void SendGlobalSysMessage(const char *str); @@ -601,7 +601,7 @@ class ChatHandler GameTele const* ExtractGameTeleFromLink(char** text); bool ExtractLocationFromLink(char** text, uint32& mapid, float& x, float& y, float& z); std::string ExtractPlayerNameFromLink(char** text); - bool ExtractPlayerTarget(char** args, Player** player, uint64* player_guid = NULL, std::string* player_name = NULL); + bool ExtractPlayerTarget(char** args, Player** player, ObjectGuid* player_guid = NULL, std::string* player_name = NULL); // select by arg (name/link) or in-game selection online/offline player std::string playerLink(std::string const& name) const { return m_session ? "|cffffffff|Hplayer:"+name+"|h["+name+"]|h|r" : name; } @@ -626,7 +626,7 @@ class ChatHandler bool HandleBanHelper(BanMode mode, char* args); bool HandleBanInfoHelper(uint32 accountid, char const* accountname); bool HandleUnBanHelper(BanMode mode, char* args); - void HandleCharacterLevel(Player* player, uint64 player_guid, uint32 oldlevel, uint32 newlevel); + void HandleCharacterLevel(Player* player, ObjectGuid player_guid, uint32 oldlevel, uint32 newlevel); void HandleLearnSkillRecipesHelper(Player* player,uint32 skill_id); bool HandleGoHelper(Player* _player, uint32 mapid, float x, float y, float const* zPtr = NULL, float const* ortPtr = NULL); bool HandleGetValueHelper(Object* target, uint32 field, char* typeStr); diff --git a/src/game/GMTicketHandler.cpp b/src/game/GMTicketHandler.cpp index 015e1f98c..cb16342f5 100644 --- a/src/game/GMTicketHandler.cpp +++ b/src/game/GMTicketHandler.cpp @@ -62,7 +62,7 @@ void WorldSession::HandleGMTicketGetTicketOpcode( WorldPacket & /*recv_data*/ ) { SendQueryTimeResponse(); - GMTicket* ticket = sTicketMgr.GetGMTicket(GetPlayer()->GetGUIDLow()); + GMTicket* ticket = sTicketMgr.GetGMTicket(GetPlayer()->GetObjectGuid()); if(ticket) { if(ticket->HasResponse()) @@ -79,7 +79,7 @@ void WorldSession::HandleGMTicketUpdateTextOpcode( WorldPacket & recv_data ) std::string ticketText; recv_data >> ticketText; - if(GMTicket* ticket = sTicketMgr.GetGMTicket(GetPlayer()->GetGUIDLow())) + if(GMTicket* ticket = sTicketMgr.GetGMTicket(GetPlayer()->GetObjectGuid())) ticket->SetText(ticketText.c_str()); else sLog.outError("Ticket update: Player %s (GUID: %u) doesn't have active ticket", GetPlayer()->GetName(), GetPlayer()->GetGUIDLow()); @@ -87,7 +87,7 @@ void WorldSession::HandleGMTicketUpdateTextOpcode( WorldPacket & recv_data ) void WorldSession::HandleGMTicketDeleteTicketOpcode( WorldPacket & /*recv_data*/ ) { - sTicketMgr.Delete(GetPlayer()->GetGUIDLow()); + sTicketMgr.Delete(GetPlayer()->GetObjectGuid()); WorldPacket data( SMSG_GMTICKET_DELETETICKET, 4 ); data << uint32(9); @@ -113,7 +113,7 @@ void WorldSession::HandleGMTicketCreateOpcode( WorldPacket & recv_data ) DEBUG_LOG("TicketCreate: map %u, x %f, y %f, z %f, text %s", map, x, y, z, ticketText.c_str()); - if(sTicketMgr.GetGMTicket(GetPlayer()->GetGUIDLow()) && !isFollowup) + if(sTicketMgr.GetGMTicket(GetPlayer()->GetObjectGuid()) && !isFollowup) { WorldPacket data( SMSG_GMTICKET_CREATE, 4 ); data << uint32(1); // 1 - You already have GM ticket @@ -122,9 +122,9 @@ void WorldSession::HandleGMTicketCreateOpcode( WorldPacket & recv_data ) } if(isFollowup) - sTicketMgr.Delete(_player->GetGUIDLow()); + sTicketMgr.Delete(_player->GetObjectGuid()); - sTicketMgr.Create(_player->GetGUIDLow(), ticketText.c_str()); + sTicketMgr.Create(_player->GetObjectGuid(), ticketText.c_str()); SendQueryTimeResponse(); @@ -186,7 +186,7 @@ void WorldSession::HandleGMResponseResolveOpcode(WorldPacket & recv_data) // empty opcode DEBUG_LOG("WORLD: %s", LookupOpcodeName(recv_data.GetOpcode())); - sTicketMgr.Delete(GetPlayer()->GetGUIDLow()); + sTicketMgr.Delete(GetPlayer()->GetObjectGuid()); WorldPacket data(SMSG_GMRESPONSE_STATUS_UPDATE, 1); data << uint8(0); // ask to fill out gm survey = 1 diff --git a/src/game/GMTicketMgr.cpp b/src/game/GMTicketMgr.cpp index a4b0930f1..f5c237ae0 100644 --- a/src/game/GMTicketMgr.cpp +++ b/src/game/GMTicketMgr.cpp @@ -55,13 +55,15 @@ void GMTicketMgr::LoadGMTickets() Field* fields = result->Fetch(); - uint32 guid = fields[0].GetUInt32(); - if (!guid) + uint32 guidlow = fields[0].GetUInt32(); + if (!guidlow) continue; + ObjectGuid guid = ObjectGuid(HIGHGUID_PLAYER, guidlow); + GMTicket& ticket = m_GMTicketMap[guid]; - if (ticket.GetPlayerLowGuid() != 0) // already exist + if (!ticket.GetPlayerGuid().IsEmpty()) // already exist { CharacterDatabase.PExecute("DELETE FROM character_ticket WHERE ticket_id = '%u'", fields[4].GetUInt32()); continue; @@ -81,7 +83,7 @@ void GMTicketMgr::DeleteAll() { for(GMTicketMap::const_iterator itr = m_GMTicketMap.begin(); itr != m_GMTicketMap.end(); ++itr) { - if(Player* owner = sObjectMgr.GetPlayer(ObjectGuid(HIGHGUID_PLAYER, itr->first))) + if(Player* owner = sObjectMgr.GetPlayer(itr->first)) owner->GetSession()->SendGMTicketGetTicket(0x0A); } CharacterDatabase.Execute("DELETE FROM character_ticket"); diff --git a/src/game/GMTicketMgr.h b/src/game/GMTicketMgr.h index c2bf13ef3..a50fe6230 100644 --- a/src/game/GMTicketMgr.h +++ b/src/game/GMTicketMgr.h @@ -22,16 +22,17 @@ #include "Policies/Singleton.h" #include "Database/DatabaseEnv.h" #include "Util.h" +#include "ObjectGuid.h" #include class GMTicket { public: - explicit GMTicket() : m_guid(0), m_lastUpdate(0) + explicit GMTicket() : m_lastUpdate(0) { } - void Init(uint32 guid, const std::string& text, const std::string& responsetext, time_t update) + void Init(ObjectGuid guid, const std::string& text, const std::string& responsetext, time_t update) { m_guid = guid; m_text = text; @@ -39,7 +40,7 @@ class GMTicket m_lastUpdate =update; } - uint32 GetPlayerLowGuid() const + ObjectGuid const& GetPlayerGuid() const { return m_guid; } @@ -66,7 +67,7 @@ class GMTicket std::string escapedString = m_text; CharacterDatabase.escape_string(escapedString); - CharacterDatabase.PExecute("UPDATE character_ticket SET ticket_text = '%s' WHERE guid = '%u'", escapedString.c_str(), m_guid); + CharacterDatabase.PExecute("UPDATE character_ticket SET ticket_text = '%s' WHERE guid = '%u'", escapedString.c_str(), m_guid.GetCounter()); } void SetResponseText(const char* text) @@ -76,14 +77,14 @@ class GMTicket std::string escapedString = m_responseText; CharacterDatabase.escape_string(escapedString); - CharacterDatabase.PExecute("UPDATE character_ticket SET response_text = '%s' WHERE guid = '%u'", escapedString.c_str(), m_guid); + CharacterDatabase.PExecute("UPDATE character_ticket SET response_text = '%s' WHERE guid = '%u'", escapedString.c_str(), m_guid.GetCounter()); } bool HasResponse() { return !m_responseText.empty(); } void DeleteFromDB() const { - CharacterDatabase.PExecute("DELETE FROM character_ticket WHERE guid = '%u' LIMIT 1", m_guid); + CharacterDatabase.PExecute("DELETE FROM character_ticket WHERE guid = '%u' LIMIT 1", m_guid.GetCounter()); } void SaveToDB() const @@ -97,16 +98,16 @@ class GMTicket std::string escapedString2 = m_responseText; CharacterDatabase.escape_string(escapedString2); - CharacterDatabase.PExecute("INSERT INTO character_ticket (guid, ticket_text, response_text) VALUES ('%u', '%s', '%s')", m_guid, escapedString.c_str(), escapedString2.c_str()); + CharacterDatabase.PExecute("INSERT INTO character_ticket (guid, ticket_text, response_text) VALUES ('%u', '%s', '%s')", m_guid.GetCounter(), escapedString.c_str(), escapedString2.c_str()); CharacterDatabase.CommitTransaction(); } private: - uint32 m_guid; + ObjectGuid m_guid; std::string m_text; std::string m_responseText; time_t m_lastUpdate; }; -typedef std::map GMTicketMap; +typedef std::map GMTicketMap; typedef std::list GMTicketList; // for creating order access class GMTicketMgr @@ -117,7 +118,7 @@ class GMTicketMgr void LoadGMTickets(); - GMTicket* GetGMTicket(uint32 guid) + GMTicket* GetGMTicket(ObjectGuid guid) { GMTicketMap::iterator itr = m_GMTicketMap.find(guid); if(itr == m_GMTicketMap.end()) @@ -143,7 +144,7 @@ class GMTicketMgr } - void Delete(uint32 guid) + void Delete(ObjectGuid guid) { GMTicketMap::iterator itr = m_GMTicketMap.find(guid); if(itr == m_GMTicketMap.end()) @@ -155,10 +156,10 @@ class GMTicketMgr void DeleteAll(); - void Create(uint32 guid, const char* text) + void Create(ObjectGuid guid, const char* text) { GMTicket& ticket = m_GMTicketMap[guid]; - if (ticket.GetPlayerLowGuid() != 0) // overwrite ticket + if (!ticket.GetPlayerGuid().IsEmpty()) // overwrite ticket { ticket.DeleteFromDB(); m_GMTicketListByCreatingOrder.remove(&ticket); diff --git a/src/game/Level1.cpp b/src/game/Level1.cpp index 3ab1bf7c8..55ad57c0a 100644 --- a/src/game/Level1.cpp +++ b/src/game/Level1.cpp @@ -111,7 +111,7 @@ bool ChatHandler::HandleNpcWhisperCommand(char* args) return false; // check online security - if (HasLowerSecurity(target, 0)) + if (HasLowerSecurity(target)) return false; pCreature->MonsterWhisper(args, target); @@ -350,13 +350,13 @@ bool ChatHandler::HandleGPSCommand(char* args) bool ChatHandler::HandleNamegoCommand(char* args) { Player* target; - uint64 target_guid; + ObjectGuid target_guid; std::string target_name; if (!ExtractPlayerTarget(&args, &target, &target_guid, &target_name)) return false; Player* _player = m_session->GetPlayer(); - if (target == _player || target_guid == _player->GetGUID()) + if (target == _player || target_guid == _player->GetObjectGuid()) { PSendSysMessage(LANG_CANT_TELEPORT_SELF); SetSentErrorMessage(true); @@ -367,7 +367,7 @@ bool ChatHandler::HandleNamegoCommand(char* args) { std::string nameLink = playerLink(target_name); // check online security - if (HasLowerSecurity(target, 0)) + if (HasLowerSecurity(target)) return false; if (target->IsBeingTeleported()) @@ -455,13 +455,12 @@ bool ChatHandler::HandleNamegoCommand(char* args) PSendSysMessage(LANG_SUMMONING, nameLink.c_str(),GetMangosString(LANG_OFFLINE)); // in point where GM stay - Player::SavePositionInDB(m_session->GetPlayer()->GetMapId(), + Player::SavePositionInDB(target_guid, m_session->GetPlayer()->GetMapId(), m_session->GetPlayer()->GetPositionX(), m_session->GetPlayer()->GetPositionY(), m_session->GetPlayer()->GetPositionZ(), m_session->GetPlayer()->GetOrientation(), - m_session->GetPlayer()->GetZoneId(), - target_guid); + m_session->GetPlayer()->GetZoneId()); } return true; @@ -471,13 +470,13 @@ bool ChatHandler::HandleNamegoCommand(char* args) bool ChatHandler::HandleGonameCommand(char* args) { Player* target; - uint64 target_guid; + ObjectGuid target_guid; std::string target_name; if (!ExtractPlayerTarget(&args, &target, &target_guid, &target_name)) return false; Player* _player = m_session->GetPlayer(); - if (target == _player || target_guid == _player->GetGUID()) + if (target == _player || target_guid == _player->GetObjectGuid()) { SendSysMessage(LANG_CANT_TELEPORT_SELF); SetSentErrorMessage(true); @@ -488,7 +487,7 @@ bool ChatHandler::HandleGonameCommand(char* args) if (target) { // check online security - if (HasLowerSecurity(target, 0)) + if (HasLowerSecurity(target)) return false; std::string chrNameLink = playerLink(target_name); @@ -605,7 +604,7 @@ bool ChatHandler::HandleGonameCommand(char* args) float x,y,z,o; uint32 map; bool in_flight; - if (!Player::LoadPositionFromDB(map,x,y,z,o,in_flight,target_guid)) + if (!Player::LoadPositionFromDB(target_guid, map,x,y,z,o,in_flight)) return false; return HandleGoHelper(_player, map, x, y, &z); @@ -622,7 +621,7 @@ bool ChatHandler::HandleRecallCommand(char* args) return false; // check online security - if (HasLowerSecurity(target, 0)) + if (HasLowerSecurity(target)) return false; if (target->IsBeingTeleported()) @@ -660,7 +659,7 @@ bool ChatHandler::HandleModifyHPCommand(char* args) } // check online security - if (HasLowerSecurity(chr, 0)) + if (HasLowerSecurity(chr)) return false; PSendSysMessage(LANG_YOU_CHANGE_HP, GetNameLink(chr).c_str(), hp, hpm); @@ -698,7 +697,7 @@ bool ChatHandler::HandleModifyManaCommand(char* args) } // check online security - if (HasLowerSecurity(chr, 0)) + if (HasLowerSecurity(chr)) return false; PSendSysMessage(LANG_YOU_CHANGE_MANA, GetNameLink(chr).c_str(), mana, manam); @@ -736,7 +735,7 @@ bool ChatHandler::HandleModifyEnergyCommand(char* args) } // check online security - if (HasLowerSecurity(chr, 0)) + if (HasLowerSecurity(chr)) return false; PSendSysMessage(LANG_YOU_CHANGE_ENERGY, GetNameLink(chr).c_str(), energy/10, energym/10); @@ -776,7 +775,7 @@ bool ChatHandler::HandleModifyRageCommand(char* args) } // check online security - if (HasLowerSecurity(chr, 0)) + if (HasLowerSecurity(chr)) return false; PSendSysMessage(LANG_YOU_CHANGE_RAGE, GetNameLink(chr).c_str(), rage/10, ragem/10); @@ -908,7 +907,7 @@ bool ChatHandler::HandleModifyTalentCommand (char* args) if(target->GetTypeId()==TYPEID_PLAYER) { // check online security - if (HasLowerSecurity((Player*)target, 0)) + if (HasLowerSecurity((Player*)target)) return false; ((Player*)target)->SetFreeTalentPoints(tp); @@ -921,7 +920,7 @@ bool ChatHandler::HandleModifyTalentCommand (char* args) if(owner && owner->GetTypeId() == TYPEID_PLAYER && ((Pet *)target)->IsPermanentPetFor((Player*)owner)) { // check online security - if (HasLowerSecurity((Player*)owner, 0)) + if (HasLowerSecurity((Player*)owner)) return false; ((Pet *)target)->SetFreeTalentPoints(tp); @@ -950,7 +949,7 @@ bool ChatHandler::HandleTaxiCheatCommand(char* args) if (!chr) chr=m_session->GetPlayer(); // check online security - else if (HasLowerSecurity(chr, 0)) + else if (HasLowerSecurity(chr)) return false; if (value) @@ -995,7 +994,7 @@ bool ChatHandler::HandleModifyASpeedCommand(char* args) } // check online security - if (HasLowerSecurity(chr, 0)) + if (HasLowerSecurity(chr)) return false; std::string chrNameLink = GetNameLink(chr); @@ -1043,7 +1042,7 @@ bool ChatHandler::HandleModifySpeedCommand(char* args) } // check online security - if (HasLowerSecurity(chr, 0)) + if (HasLowerSecurity(chr)) return false; std::string chrNameLink = GetNameLink(chr); @@ -1088,7 +1087,7 @@ bool ChatHandler::HandleModifySwimCommand(char* args) } // check online security - if (HasLowerSecurity(chr, 0)) + if (HasLowerSecurity(chr)) return false; std::string chrNameLink = GetNameLink(chr); @@ -1133,7 +1132,7 @@ bool ChatHandler::HandleModifyBWalkCommand(char* args) } // check online security - if (HasLowerSecurity(chr, 0)) + if (HasLowerSecurity(chr)) return false; std::string chrNameLink = GetNameLink(chr); @@ -1178,7 +1177,7 @@ bool ChatHandler::HandleModifyFlyCommand(char* args) } // check online security - if (HasLowerSecurity(chr, 0)) + if (HasLowerSecurity(chr)) return false; PSendSysMessage(LANG_YOU_CHANGE_FLY_SPEED, modSpeed, GetNameLink(chr).c_str()); @@ -1215,7 +1214,7 @@ bool ChatHandler::HandleModifyScaleCommand(char* args) if (target->GetTypeId()==TYPEID_PLAYER) { // check online security - if (HasLowerSecurity((Player*)target, 0)) + if (HasLowerSecurity((Player*)target)) return false; PSendSysMessage(LANG_YOU_CHANGE_SIZE, Scale, GetNameLink((Player*)target).c_str()); @@ -1461,7 +1460,7 @@ bool ChatHandler::HandleModifyMountCommand(char* args) } // check online security - if (HasLowerSecurity(chr, 0)) + if (HasLowerSecurity(chr)) return false; PSendSysMessage(LANG_YOU_GIVE_MOUNT, GetNameLink(chr).c_str()); @@ -1502,7 +1501,7 @@ bool ChatHandler::HandleModifyMoneyCommand(char* args) } // check online security - if (HasLowerSecurity(chr, 0)) + if (HasLowerSecurity(chr)) return false; int32 addmoney = atoi(args); @@ -1564,7 +1563,7 @@ bool ChatHandler::HandleModifyHonorCommand (char* args) } // check online security - if (HasLowerSecurity(target, 0)) + if (HasLowerSecurity(target)) return false; int32 amount = (int32)atoi(args); @@ -1751,7 +1750,7 @@ bool ChatHandler::HandleSendMailCommand(char* args) { // format: name "subject text" "mail text" Player* target; - uint64 target_guid; + ObjectGuid target_guid; std::string target_name; if (!ExtractPlayerTarget(&args, &target, &target_guid, &target_name)) return false; @@ -1785,7 +1784,7 @@ bool ChatHandler::HandleTeleNameCommand(char* args) char* nameStr = ExtractOptNotLastArg(&args); Player* target; - uint64 target_guid; + ObjectGuid target_guid; std::string target_name; if (!ExtractPlayerTarget(&nameStr, &target, &target_guid, &target_name)) return false; @@ -1802,7 +1801,7 @@ bool ChatHandler::HandleTeleNameCommand(char* args) if (target) { // check online security - if (HasLowerSecurity(target, 0)) + if (HasLowerSecurity(target)) return false; std::string chrNameLink = playerLink(target_name); @@ -1829,8 +1828,9 @@ bool ChatHandler::HandleTeleNameCommand(char* args) std::string nameLink = playerLink(target_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, - sTerrainMgr.GetZoneId(tele->mapId,tele->position_x,tele->position_y,tele->position_z),target_guid); + Player::SavePositionInDB(target_guid, tele->mapId, + tele->position_x, tele->position_y, tele->position_z, tele->orientation, + sTerrainMgr.GetZoneId(tele->mapId,tele->position_x,tele->position_y,tele->position_z)); } return true; @@ -1851,7 +1851,7 @@ bool ChatHandler::HandleTeleGroupCommand(char * args) } // check online security - if (HasLowerSecurity(player, 0)) + if (HasLowerSecurity(player)) return false; // id, or string, or [name] Shift-click form |color|Htele:id|h[name]|h|r @@ -1881,7 +1881,7 @@ bool ChatHandler::HandleTeleGroupCommand(char * args) continue; // check online security - if (HasLowerSecurity(pl, 0)) + if (HasLowerSecurity(pl)) return false; std::string plNameLink = GetNameLink(pl); @@ -1920,7 +1920,7 @@ bool ChatHandler::HandleGroupgoCommand(char* args) return false; // check online security - if (HasLowerSecurity(target, 0)) + if (HasLowerSecurity(target)) return false; Group *grp = target->GetGroup(); @@ -1956,7 +1956,7 @@ bool ChatHandler::HandleGroupgoCommand(char* args) continue; // check online security - if (HasLowerSecurity(pl, 0)) + if (HasLowerSecurity(pl)) return false; std::string plNameLink = GetNameLink(pl); diff --git a/src/game/Level2.cpp b/src/game/Level2.cpp index 04a1a9177..3cc18f3b6 100644 --- a/src/game/Level2.cpp +++ b/src/game/Level2.cpp @@ -56,7 +56,7 @@ bool ChatHandler::HandleMuteCommand(char* args) char* nameStr = ExtractOptNotLastArg(&args); Player* target; - uint64 target_guid; + ObjectGuid target_guid; std::string target_name; if (!ExtractPlayerTarget(&nameStr, &target, &target_guid, &target_name)) return false; @@ -98,7 +98,7 @@ bool ChatHandler::HandleMuteCommand(char* args) bool ChatHandler::HandleUnmuteCommand(char* args) { Player* target; - uint64 target_guid; + ObjectGuid target_guid; std::string target_name; if (!ExtractPlayerTarget(&args, &target, &target_guid, &target_name)) return false; @@ -1459,7 +1459,7 @@ bool ChatHandler::HandleModifyRepCommand(char* args) } // check online security - if (HasLowerSecurity(target, 0)) + if (HasLowerSecurity(target)) return false; uint32 factionId; @@ -2422,7 +2422,7 @@ bool ChatHandler::HandleDeMorphCommand(char* /*args*/) // check online security - else if (target->GetTypeId() == TYPEID_PLAYER && HasLowerSecurity((Player*)target, 0)) + else if (target->GetTypeId() == TYPEID_PLAYER && HasLowerSecurity((Player*)target)) return false; target->DeMorph(); @@ -2443,7 +2443,7 @@ bool ChatHandler::HandleModifyMorphCommand(char* args) target = m_session->GetPlayer(); // check online security - else if (target->GetTypeId() == TYPEID_PLAYER && HasLowerSecurity((Player*)target, 0)) + else if (target->GetTypeId() == TYPEID_PLAYER && HasLowerSecurity((Player*)target)) return false; target->SetDisplayId(display_id); @@ -2466,7 +2466,7 @@ bool ChatHandler::HandleKickPlayerCommand(char *args) } // check online security - if (HasLowerSecurity(target, 0)) + if (HasLowerSecurity(target)) return false; // send before target pointer invalidate @@ -2488,7 +2488,7 @@ bool ChatHandler::HandleModifyPhaseCommand(char* args) target = m_session->GetPlayer(); // check online security - else if (target->GetTypeId() == TYPEID_PLAYER && HasLowerSecurity((Player*)target, 0)) + else if (target->GetTypeId() == TYPEID_PLAYER && HasLowerSecurity((Player*)target)) return false; target->SetPhaseMask(phasemask,true); @@ -2500,7 +2500,7 @@ bool ChatHandler::HandleModifyPhaseCommand(char* args) bool ChatHandler::HandlePInfoCommand(char* args) { Player* target; - uint64 target_guid; + ObjectGuid target_guid; std::string target_name; if (!ExtractPlayerTarget(&args, &target, &target_guid, &target_name)) return false; @@ -2515,7 +2515,7 @@ bool ChatHandler::HandlePInfoCommand(char* args) if (target) { // check online security - if (HasLowerSecurity(target, 0)) + if (HasLowerSecurity(target)) return false; accId = target->GetSession()->GetAccountId(); @@ -2532,7 +2532,7 @@ bool ChatHandler::HandlePInfoCommand(char* args) return false; // 0 1 2 3 - QueryResult *result = CharacterDatabase.PQuery("SELECT totaltime, level, money, account FROM characters WHERE guid = '%u'", GUID_LOPART(target_guid)); + QueryResult *result = CharacterDatabase.PQuery("SELECT totaltime, level, money, account FROM characters WHERE guid = '%u'", target_guid.GetCounter()); if (!result) return false; @@ -2572,7 +2572,7 @@ bool ChatHandler::HandlePInfoCommand(char* args) std::string nameLink = playerLink(target_name); - PSendSysMessage(LANG_PINFO_ACCOUNT, (target?"":GetMangosString(LANG_OFFLINE)), nameLink.c_str(), GUID_LOPART(target_guid), username.c_str(), accId, security, last_ip.c_str(), last_login.c_str(), latency); + PSendSysMessage(LANG_PINFO_ACCOUNT, (target?"":GetMangosString(LANG_OFFLINE)), nameLink.c_str(), target_guid.GetCounter(), 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; @@ -2589,7 +2589,7 @@ void ChatHandler::ShowTicket(GMTicket const* ticket) std::string lastupdated = TimeToTimestampStr(ticket->GetLastUpdate()); std::string name; - if (!sObjectMgr.GetPlayerNameByGUID(ObjectGuid(HIGHGUID_PLAYER, ticket->GetPlayerLowGuid()), name)) + if (!sObjectMgr.GetPlayerNameByGUID(ticket->GetPlayerGuid(), name)) name = GetMangosString(LANG_UNKNOWN); std::string nameLink = playerLink(name); @@ -2677,13 +2677,13 @@ bool ChatHandler::HandleTicketCommand(char* args) } else { - uint64 target_guid; + ObjectGuid target_guid; std::string target_name; if (!ExtractPlayerTarget(&args, NULL, &target_guid, &target_name)) return false; // ticket respond $char_name - ticket = sTicketMgr.GetGMTicket(GUID_LOPART(target_guid)); + ticket = sTicketMgr.GetGMTicket(target_guid); if (!ticket) { @@ -2699,7 +2699,7 @@ bool ChatHandler::HandleTicketCommand(char* args) ticket->SetResponseText(args); - if (Player* pl = sObjectMgr.GetPlayer(ObjectGuid(HIGHGUID_PLAYER, ticket->GetPlayerLowGuid()))) + if (Player* pl = sObjectMgr.GetPlayer(ticket->GetPlayerGuid())) pl->GetSession()->SendGMResponse(ticket); return true; @@ -2725,13 +2725,13 @@ bool ChatHandler::HandleTicketCommand(char* args) return true; } - uint64 target_guid; + ObjectGuid target_guid; std::string target_name; if (!ExtractPlayerTarget(&px, NULL, &target_guid, &target_name)) return false; // ticket $char_name - GMTicket* ticket = sTicketMgr.GetGMTicket(GUID_LOPART(target_guid)); + GMTicket* ticket = sTicketMgr.GetGMTicket(target_guid); if (!ticket) { PSendSysMessage(LANG_COMMAND_TICKETNOTEXIST_NAME, target_name.c_str()); @@ -2777,12 +2777,12 @@ bool ChatHandler::HandleDelTicketCommand(char *args) return false; } - uint32 lowguid = ticket->GetPlayerLowGuid(); + ObjectGuid guid = ticket->GetPlayerGuid(); - sTicketMgr.Delete(lowguid); + sTicketMgr.Delete(guid); //notify player - if (Player* pl = sObjectMgr.GetPlayer(ObjectGuid(HIGHGUID_PLAYER, lowguid))) + if (Player* pl = sObjectMgr.GetPlayer(guid)) { pl->GetSession()->SendGMTicketGetTicket(0x0A); PSendSysMessage(LANG_COMMAND_TICKETPLAYERDEL, GetNameLink(pl).c_str()); @@ -2794,13 +2794,13 @@ bool ChatHandler::HandleDelTicketCommand(char *args) } Player* target; - uint64 target_guid; + ObjectGuid target_guid; std::string target_name; if (!ExtractPlayerTarget(&px, &target, &target_guid, &target_name)) return false; // delticket $char_name - sTicketMgr.Delete(GUID_LOPART(target_guid)); + sTicketMgr.Delete(target_guid); // notify players about ticket deleting if (target) @@ -3954,7 +3954,7 @@ bool ChatHandler::HandleWpImportCommand(char *args) bool ChatHandler::HandleCharacterRenameCommand(char* args) { Player* target; - uint64 target_guid; + ObjectGuid target_guid; std::string target_name; if (!ExtractPlayerTarget(&args, &target, &target_guid, &target_name)) return false; @@ -3962,7 +3962,7 @@ bool ChatHandler::HandleCharacterRenameCommand(char* args) if (target) { // check online security - if (HasLowerSecurity(target, 0)) + if (HasLowerSecurity(target)) return false; PSendSysMessage(LANG_RENAME_PLAYER, GetNameLink(target).c_str()); @@ -3977,8 +3977,8 @@ bool ChatHandler::HandleCharacterRenameCommand(char* args) std::string oldNameLink = playerLink(target_name); - PSendSysMessage(LANG_RENAME_PLAYER_GUID, oldNameLink.c_str(), GUID_LOPART(target_guid)); - CharacterDatabase.PExecute("UPDATE characters SET at_login = at_login | '1' WHERE guid = '%u'", GUID_LOPART(target_guid)); + PSendSysMessage(LANG_RENAME_PLAYER_GUID, oldNameLink.c_str(), target_guid.GetCounter()); + CharacterDatabase.PExecute("UPDATE characters SET at_login = at_login | '1' WHERE guid = '%u'", target_guid.GetCounter()); } return true; @@ -3988,7 +3988,7 @@ bool ChatHandler::HandleCharacterRenameCommand(char* args) bool ChatHandler::HandleCharacterCustomizeCommand(char* args) { Player* target; - uint64 target_guid; + ObjectGuid target_guid; std::string target_name; if (!ExtractPlayerTarget(&args, &target, &target_guid, &target_name)) return false; @@ -4003,8 +4003,8 @@ bool ChatHandler::HandleCharacterCustomizeCommand(char* args) { std::string oldNameLink = playerLink(target_name); - PSendSysMessage(LANG_CUSTOMIZE_PLAYER_GUID, oldNameLink.c_str(), GUID_LOPART(target_guid)); - CharacterDatabase.PExecute("UPDATE characters SET at_login = at_login | '8' WHERE guid = '%u'", GUID_LOPART(target_guid)); + PSendSysMessage(LANG_CUSTOMIZE_PLAYER_GUID, oldNameLink.c_str(), target_guid.GetCounter()); + CharacterDatabase.PExecute("UPDATE characters SET at_login = at_login | '8' WHERE guid = '%u'", target_guid.GetCounter()); } return true; @@ -4057,7 +4057,7 @@ bool ChatHandler::HandleHonorAddCommand(char* args) } // check online security - if (HasLowerSecurity(target, 0)) + if (HasLowerSecurity(target)) return false; float amount = (float)atof(args); @@ -4076,7 +4076,7 @@ bool ChatHandler::HandleHonorAddKillCommand(char* /*args*/) } // check online security - if (target->GetTypeId() == TYPEID_PLAYER && HasLowerSecurity((Player*)target, 0)) + if (target->GetTypeId() == TYPEID_PLAYER && HasLowerSecurity((Player*)target)) return false; m_session->GetPlayer()->RewardHonor(target, 1); @@ -4094,7 +4094,7 @@ bool ChatHandler::HandleHonorUpdateCommand(char* /*args*/) } // check online security - if (HasLowerSecurity(target, 0)) + if (HasLowerSecurity(target)) return false; target->UpdateHonorFields(); @@ -4324,7 +4324,7 @@ bool ChatHandler::HandleCombatStopCommand(char* args) return false; // check online security - if (HasLowerSecurity(target, 0)) + if (HasLowerSecurity(target)) return false; target->CombatStop(); @@ -4694,7 +4694,7 @@ bool ChatHandler::HandleRepairitemsCommand(char* args) return false; // check online security - if (HasLowerSecurity(target, 0)) + if (HasLowerSecurity(target)) return false; // Repair items @@ -4726,7 +4726,7 @@ bool ChatHandler::HandleWaterwalkCommand(char* args) } // check online security - if (HasLowerSecurity(player, 0)) + if (HasLowerSecurity(player)) return false; if (value) @@ -4839,7 +4839,7 @@ bool ChatHandler::HandleTitlesAddCommand(char* args) } // check online security - if (HasLowerSecurity(target, 0)) + if (HasLowerSecurity(target)) return false; CharTitlesEntry const* titleInfo = sCharTitlesStore.LookupEntry(id); @@ -4885,7 +4885,7 @@ bool ChatHandler::HandleTitlesRemoveCommand(char* args) } // check online security - if (HasLowerSecurity(target, 0)) + if (HasLowerSecurity(target)) return false; CharTitlesEntry const* titleInfo = sCharTitlesStore.LookupEntry(id); @@ -4934,7 +4934,7 @@ bool ChatHandler::HandleTitlesSetMaskCommand(char* args) } // check online security - if (HasLowerSecurity(target, 0)) + if (HasLowerSecurity(target)) return false; uint64 titles2 = titles; @@ -5017,7 +5017,7 @@ bool ChatHandler::HandleTitlesCurrentCommand(char* args) } // check online security - if (HasLowerSecurity(target, 0)) + if (HasLowerSecurity(target)) return false; CharTitlesEntry const* titleInfo = sCharTitlesStore.LookupEntry(id); diff --git a/src/game/Level3.cpp b/src/game/Level3.cpp index 0ab657e7f..a6f3b9cd6 100644 --- a/src/game/Level3.cpp +++ b/src/game/Level3.cpp @@ -3543,7 +3543,7 @@ bool ChatHandler::HandleGuildInviteCommand(char *args) char* nameStr = ExtractOptNotLastArg(&args); // if not guild name only (in "") then player name - uint64 target_guid; + ObjectGuid target_guid; if (!ExtractPlayerTarget(&nameStr, NULL, &target_guid)) return false; @@ -3566,7 +3566,7 @@ bool ChatHandler::HandleGuildInviteCommand(char *args) bool ChatHandler::HandleGuildUninviteCommand(char *args) { Player* target; - uint64 target_guid; + ObjectGuid target_guid; if (!ExtractPlayerTarget(&args, &target, &target_guid)) return false; @@ -3587,7 +3587,7 @@ bool ChatHandler::HandleGuildRankCommand(char *args) char* nameStr = ExtractOptNotLastArg(&args); Player* target; - uint64 target_guid; + ObjectGuid target_guid; std::string target_name; if (!ExtractPlayerTarget(&nameStr, &target, &target_guid, &target_name)) return false; @@ -3682,7 +3682,7 @@ bool ChatHandler::HandleDieCommand(char* /*args*/) if(target->GetTypeId()==TYPEID_PLAYER) { - if(HasLowerSecurity((Player*)target,0,false)) + if (HasLowerSecurity((Player*)target, ObjectGuid(), false)) return false; } @@ -3796,7 +3796,7 @@ bool ChatHandler::HandleModifyArenaCommand(char* args) bool ChatHandler::HandleReviveCommand(char* args) { Player* target; - uint64 target_guid; + ObjectGuid target_guid; if (!ExtractPlayerTarget(&args, &target, &target_guid)) return false; @@ -4231,7 +4231,7 @@ bool ChatHandler::HandleHoverCommand(char* args) return true; } -void ChatHandler::HandleCharacterLevel(Player* player, uint64 player_guid, uint32 oldlevel, uint32 newlevel) +void ChatHandler::HandleCharacterLevel(Player* player, ObjectGuid player_guid, uint32 oldlevel, uint32 newlevel) { if(player) { @@ -4252,7 +4252,7 @@ void ChatHandler::HandleCharacterLevel(Player* player, uint64 player_guid, uint3 else { // update level and XP at level, all other will be updated at loading - CharacterDatabase.PExecute("UPDATE characters SET level = '%u', xp = 0 WHERE guid = '%u'", newlevel, GUID_LOPART(player_guid)); + CharacterDatabase.PExecute("UPDATE characters SET level = '%u', xp = 0 WHERE guid = '%u'", newlevel, player_guid.GetCounter()); } } @@ -4278,7 +4278,7 @@ bool ChatHandler::HandleCharacterLevelCommand(char* args) } Player* target; - uint64 target_guid; + ObjectGuid target_guid; std::string target_name; if (!ExtractPlayerTarget(&nameStr, &target, &target_guid, &target_name)) return false; @@ -4324,7 +4324,7 @@ bool ChatHandler::HandleLevelUpCommand(char* args) } Player* target; - uint64 target_guid; + ObjectGuid target_guid; std::string target_name; if (!ExtractPlayerTarget(&nameStr, &target, &target_guid, &target_name)) return false; @@ -4338,7 +4338,7 @@ bool ChatHandler::HandleLevelUpCommand(char* args) if (newlevel > STRONG_MAX_LEVEL) // hardcoded maximum level newlevel = STRONG_MAX_LEVEL; - HandleCharacterLevel(target,target_guid,oldlevel,newlevel); + HandleCharacterLevel(target, target_guid, oldlevel, newlevel); if (!m_session || m_session->GetPlayer() != target) // including chr==NULL { @@ -4677,14 +4677,14 @@ bool ChatHandler::HandleListTalentsCommand(char* /*args*/) bool ChatHandler::HandleResetAchievementsCommand(char* args) { Player* target; - uint64 target_guid; + ObjectGuid target_guid; if (!ExtractPlayerTarget(&args, &target, &target_guid)) return false; if(target) target->GetAchievementMgr().Reset(); else - AchievementMgr::DeleteFromDB(GUID_LOPART(target_guid)); + AchievementMgr::DeleteFromDB(target_guid); return true; } @@ -4797,7 +4797,7 @@ bool ChatHandler::HandleResetStatsCommand(char* args) bool ChatHandler::HandleResetSpellsCommand(char* args) { Player* target; - uint64 target_guid; + ObjectGuid target_guid; std::string target_name; if (!ExtractPlayerTarget(&args, &target, &target_guid, &target_name)) return false; @@ -4812,7 +4812,7 @@ bool ChatHandler::HandleResetSpellsCommand(char* args) } else { - CharacterDatabase.PExecute("UPDATE characters SET at_login = at_login | '%u' WHERE guid = '%u'",uint32(AT_LOGIN_RESET_SPELLS), GUID_LOPART(target_guid)); + CharacterDatabase.PExecute("UPDATE characters SET at_login = at_login | '%u' WHERE guid = '%u'",uint32(AT_LOGIN_RESET_SPELLS), target_guid.GetCounter()); PSendSysMessage(LANG_RESET_SPELLS_OFFLINE,target_name.c_str()); } @@ -4822,7 +4822,7 @@ bool ChatHandler::HandleResetSpellsCommand(char* args) bool ChatHandler::HandleResetSpecsCommand(char* args) { Player* target; - uint64 target_guid; + ObjectGuid target_guid; std::string target_name; if (!ExtractPlayerTarget(&args, &target, &target_guid, &target_name)) return false; @@ -4841,10 +4841,10 @@ bool ChatHandler::HandleResetSpecsCommand(char* args) target->SendTalentsInfoData(true); return true; } - else if (target_guid) + else if (!target_guid.IsEmpty()) { uint32 at_flags = AT_LOGIN_RESET_TALENTS | AT_LOGIN_RESET_PET_TALENTS; - CharacterDatabase.PExecute("UPDATE characters SET at_login = at_login | '%u' WHERE guid = '%u'", at_flags, GUID_LOPART(target_guid) ); + CharacterDatabase.PExecute("UPDATE characters SET at_login = at_login | '%u' WHERE guid = '%u'", at_flags, target_guid.GetCounter()); std::string nameLink = playerLink(target_name); PSendSysMessage(LANG_RESET_TALENTS_OFFLINE, nameLink.c_str()); return true; @@ -5379,7 +5379,7 @@ bool ChatHandler::HandleBanInfoAccountCommand(char* args) bool ChatHandler::HandleBanInfoCharacterCommand(char* args) { Player* target; - uint64 target_guid; + ObjectGuid target_guid; if (!ExtractPlayerTarget(&args, &target, &target_guid)) return false; @@ -6474,7 +6474,7 @@ bool ChatHandler::HandleSendItemsCommand(char* args) { // format: name "subject text" "mail text" item1[:count1] item2[:count2] ... item12[:count12] Player* receiver; - uint64 receiver_guid; + ObjectGuid receiver_guid; std::string receiver_name; if (!ExtractPlayerTarget(&args, &receiver, &receiver_guid, &receiver_name)) return false; @@ -6572,7 +6572,7 @@ bool ChatHandler::HandleSendMoneyCommand(char* args) /// format: name "subject text" "mail text" money Player* receiver; - uint64 receiver_guid; + ObjectGuid receiver_guid; std::string receiver_name; if (!ExtractPlayerTarget(&args, &receiver, &receiver_guid, &receiver_name)) return false; diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 3b275ef10..5260b2902 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -15035,7 +15035,7 @@ void Player::_LoadBGData(QueryResult* result) delete result; } -bool Player::LoadPositionFromDB(uint32& mapid, float& x,float& y,float& z,float& o, bool& in_flight, ObjectGuid guid) +bool Player::LoadPositionFromDB(ObjectGuid guid, uint32& mapid, float& x, float& y, float& z, float& o, bool& in_flight) { QueryResult *result = CharacterDatabase.PQuery("SELECT position_x,position_y,position_z,orientation,map,taxi_path FROM characters WHERE guid = '%u'", guid.GetCounter()); if(!result) @@ -17572,7 +17572,7 @@ void Player::SendAttackSwingNotInRange() GetSession()->SendPacket( &data ); } -void Player::SavePositionInDB(uint32 mapid, float x, float y, float z, float o, uint32 zone, ObjectGuid guid) +void Player::SavePositionInDB(ObjectGuid guid, uint32 mapid, float x, float y, float z, float o, uint32 zone) { std::ostringstream ss; ss << "UPDATE characters SET position_x='"<