diff options
-rw-r--r-- | src/server/game/Accounts/AccountMgr.cpp | 9 | ||||
-rw-r--r-- | src/server/game/Tickets/TicketMgr.cpp | 6 | ||||
-rw-r--r-- | src/server/game/Tickets/TicketMgr.h | 16 | ||||
-rw-r--r-- | src/server/game/World/World.cpp | 99 |
4 files changed, 48 insertions, 82 deletions
diff --git a/src/server/game/Accounts/AccountMgr.cpp b/src/server/game/Accounts/AccountMgr.cpp index 3800cf91abf..918ab273a1c 100644 --- a/src/server/game/Accounts/AccountMgr.cpp +++ b/src/server/game/Accounts/AccountMgr.cpp @@ -19,19 +19,14 @@ */ #include "DatabaseEnv.h" - - #include "AccountMgr.h" #include "ObjectAccessor.h" #include "Player.h" #include "Util.h" #include "SHA1.h" -AccountMgr::AccountMgr() -{} - -AccountMgr::~AccountMgr() -{} +AccountMgr::AccountMgr() {} +AccountMgr::~AccountMgr() {} AccountOpResult AccountMgr::CreateAccount(std::string username, std::string password) { diff --git a/src/server/game/Tickets/TicketMgr.cpp b/src/server/game/Tickets/TicketMgr.cpp index 9be0e2425e5..888801aee9e 100644 --- a/src/server/game/Tickets/TicketMgr.cpp +++ b/src/server/game/Tickets/TicketMgr.cpp @@ -44,10 +44,9 @@ uint64 TicketMgr::GenerateGMTicketId() void TicketMgr::LoadGMTickets() { if (!m_GMTicketList.empty()) - { for (GmTicketList::const_iterator itr = m_GMTicketList.begin(); itr != m_GMTicketList.end(); ++itr) delete *itr; - } + m_GMTicketList.clear(); m_GMticketid = 0; m_openTickets = 0; @@ -64,7 +63,7 @@ void TicketMgr::LoadGMTickets() } uint16 count = 0; - barGoLink bar ((*result).GetRowCount()); + barGoLink bar(result->GetRowCount()); GM_Ticket *ticket; do { @@ -93,7 +92,6 @@ void TicketMgr::LoadGMTickets() bar.step(); m_GMTicketList.push_back(ticket); - } while (result->NextRow()); result = CharacterDatabase.Query("SELECT MAX(guid) from gm_tickets"); diff --git a/src/server/game/Tickets/TicketMgr.h b/src/server/game/Tickets/TicketMgr.h index 8c60dbe3bf0..7c3603ff4bc 100644 --- a/src/server/game/Tickets/TicketMgr.h +++ b/src/server/game/Tickets/TicketMgr.h @@ -133,10 +133,7 @@ public: bool GetStatus() const { return status; } void SetStatus(bool newStatus) { status = newStatus; } uint64 GetOpenTicketCount() { return m_openTickets; } - uint64 GetNextSurveyID() - { - return ++m_GMSurveyID; - } + uint64 GetNextSurveyID() { return ++m_GMSurveyID; } GM_Ticket *GetOldestOpenGMTicket() { @@ -147,15 +144,8 @@ public: return NULL; } - time_t GetLastChange() - { - return lastChange; - } - - void UpdateLastChange() - { - lastChange = time(NULL); - } + time_t GetLastChange() { return lastChange; } + void UpdateLastChange() { lastChange = time(NULL); } GmTicketList m_GMTicketList; diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 78572695c59..14f565b38b8 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -146,9 +146,11 @@ Player* World::FindPlayerInZone(uint32 zone) { if (!itr->second) continue; + Player *player = itr->second->GetPlayer(); if (!player) continue; + if (player->IsInWorld() && player->GetZoneId() == zone) { // Used by the weather system. We return the player to broadcast the change weather message to him and all players in the zone. @@ -269,12 +271,12 @@ World::AddSession_ (WorldSession* s) } WorldPacket packet(SMSG_AUTH_RESPONSE, 1 + 4 + 1 + 4 + 1); - packet << uint8 (AUTH_OK); - packet << uint32 (0); // BillingTimeRemaining - packet << uint8 (0); // BillingPlanFlags - packet << uint32 (0); // BillingTimeRested - packet << uint8 (s->Expansion()); // 0 - normal, 1 - TBC, 2 - WOTLK, must be set in database manually for each account - s->SendPacket (&packet); + packet << uint8(AUTH_OK); + packet << uint32(0); // BillingTimeRemaining + packet << uint8(0); // BillingPlanFlags + packet << uint32(0); // BillingTimeRested + packet << uint8(s->Expansion()); // 0 - normal, 1 - TBC, 2 - WOTLK, must be set in database manually for each account + s->SendPacket(&packet); s->SendAddonsInfo(); @@ -298,7 +300,8 @@ World::AddSession_ (WorldSession* s) bool World::HasRecentlyDisconnected(WorldSession* session) { - if (!session) return false; + if (!session) + return false; if (uint32 tolerance = getIntConfig(CONFIG_INTERVAL_DISCONNECT_TOLERANCE)) { @@ -343,8 +346,6 @@ void World::AddQueuedPlayer(WorldSession* sess) packet << uint32(GetQueuePos(sess)); // Queue position packet << uint8(0); // Unk 3.3.0 sess->SendPacket(&packet); - - //sess->SendAuthWaitQue (GetQueuePos (sess)); } bool World::RemoveQueuedPlayer(WorldSession* sess) @@ -1684,6 +1685,7 @@ void World::SetInitialWorldSettings() //to set mailtimer to return mails every day between 4 and 5 am //mailtimer is increased when updating auctions //one second is 1000 -(tested on win system) + //TODO: Get rid of magic numbers mail_timer = ((((localtime(&m_gameTime)->tm_hour + 20) % 24)* HOUR * IN_MILLISECONDS) / m_timers[WUPDATE_AUCTIONS].GetInterval()); //1440 mail_timer_expires = ((DAY * IN_MILLISECONDS) / (m_timers[WUPDATE_AUCTIONS].GetInterval())); @@ -1813,9 +1815,9 @@ void World::RecordTimeDiff(const char *text, ...) if (diff > m_int_configs[CONFIG_MIN_LOG_UPDATE]) { va_list ap; - char str [256]; + char str[256]; va_start(ap, text); - vsnprintf(str,256,text, ap); + vsnprintf(str, 256, text, ap); va_end(ap); sLog.outDetail("Difftime %s: %u.", str, diff); } @@ -1848,7 +1850,6 @@ void World::LoadAutobroadcasts() bar.step(); Field *fields = result->Fetch(); - std::string message = fields[0].GetString(); m_Autobroadcasts.push_back(message); @@ -1882,10 +1883,12 @@ void World::Update(uint32 diff) ///- Update the different timers for (int i = 0; i < WUPDATE_COUNT; ++i) + { if (m_timers[i].GetCurrent() >= 0) m_timers[i].Update(diff); else m_timers[i].SetCurrent(0); + } ///- Update the game time and check for shutdown time _UpdateGameTime(); @@ -1947,9 +1950,6 @@ void World::Update(uint32 diff) { if (m_timers[WUPDATE_CLEANDB].Passed()) { - //uint32 tmpDiff = (m_gameTime - m_startTime); - //uint32 maxClientsNum = sWorld.GetMaxActiveSessionCount(); - m_timers[WUPDATE_CLEANDB].Reset(); LoginDatabase.PExecute("DELETE FROM logs WHERE (time + %u) < "UI64FMTD";", sWorld.getIntConfig(CONFIG_LOGDB_CLEARTIME), uint64(time(0))); @@ -1993,7 +1993,6 @@ void World::Update(uint32 diff) if (m_timers[WUPDATE_CORPSES].Passed()) { m_timers[WUPDATE_CORPSES].Reset(); - sObjectAccessor.RemoveOldCorpses(); } @@ -2073,19 +2072,19 @@ namespace Trinity { // we need copy va_list before use or original va_list will corrupted va_list ap; - va_copy(ap,*i_args); + va_copy(ap, *i_args); - char str [2048]; - vsnprintf(str,2048,text, ap); + char str[2048]; + vsnprintf(str, 2048, text, ap); va_end(ap); - do_helper(data_list,&str[0]); + do_helper(data_list, &str[0]); } else - do_helper(data_list,(char*)text); + do_helper(data_list, (char*)text); } private: - char* lineFromMessage(char*& pos) { char* start = strtok(pos,"\n"); pos = NULL; return start; } + char* lineFromMessage(char*& pos) { char* start = strtok(pos, "\n"); pos = NULL; return start; } void do_helper(WorldPacketList& data_list, char* text) { char* pos = text; @@ -2156,7 +2155,7 @@ void World::SendGMText(int32 string_id, ...) va_end(ap); } -/// DEPRICATED, only for debug purpose. Send a System Message to all players (except self if mentioned) +/// DEPRECATED, only for debug purpose. Send a System Message to all players (except self if mentioned) void World::SendGlobalText(const char* text, WorldSession *self) { WorldPacket data; @@ -2224,7 +2223,7 @@ BanReturn World::BanAccount(BanMode mode, std::string nameOrIP, std::string dura { LoginDatabase.escape_string(nameOrIP); LoginDatabase.escape_string(reason); - std::string safe_author=author; + std::string safe_author = author; LoginDatabase.escape_string(safe_author); uint32 duration_secs = TimeStringToSecs(duration); @@ -2235,16 +2234,16 @@ BanReturn World::BanAccount(BanMode mode, std::string nameOrIP, std::string dura { case BAN_IP: //No SQL injection as strings are escaped - resultAccounts = LoginDatabase.PQuery("SELECT id FROM account WHERE last_ip = '%s'",nameOrIP.c_str()); - LoginDatabase.PExecute("INSERT INTO ip_banned VALUES ('%s',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()+%u,'%s','%s')",nameOrIP.c_str(),duration_secs,safe_author.c_str(),reason.c_str()); + resultAccounts = LoginDatabase.PQuery("SELECT id FROM account WHERE last_ip = '%s'", nameOrIP.c_str()); + LoginDatabase.PExecute("INSERT INTO ip_banned VALUES ('%s',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()+%u,'%s','%s')", nameOrIP.c_str(), duration_secs, safe_author.c_str(), reason.c_str()); break; case BAN_ACCOUNT: //No SQL injection as string is escaped - resultAccounts = LoginDatabase.PQuery("SELECT id FROM account WHERE username = '%s'",nameOrIP.c_str()); + resultAccounts = LoginDatabase.PQuery("SELECT id FROM account WHERE username = '%s'", nameOrIP.c_str()); break; case BAN_CHARACTER: //No SQL injection as string is escaped - resultAccounts = CharacterDatabase.PQuery("SELECT account FROM characters WHERE name = '%s'",nameOrIP.c_str()); + resultAccounts = CharacterDatabase.PQuery("SELECT account FROM characters WHERE name = '%s'", nameOrIP.c_str()); break; default: return BAN_SYNTAX_ERROR; @@ -2274,8 +2273,7 @@ BanReturn World::BanAccount(BanMode mode, std::string nameOrIP, std::string dura if (WorldSession* sess = FindSession(account)) if (std::string(sess->GetPlayerName()) != author) sess->KickPlayer(); - } - while (resultAccounts->NextRow()); + } while (resultAccounts->NextRow()); return BAN_SUCCESS; } @@ -2438,16 +2436,11 @@ void World::ShutdownMsg(bool show, Player* player) ///- Display a message every 12 hours, hours, 5 minutes, minute, 5 seconds and finally seconds if (show || (m_ShutdownTimer < 10) || - // < 30 sec; every 5 sec - (m_ShutdownTimer<30 && (m_ShutdownTimer % 5) == 0) || - // < 5 min ; every 1 min - (m_ShutdownTimer<5*MINUTE && (m_ShutdownTimer % MINUTE) == 0) || - // < 30 min ; every 5 min - (m_ShutdownTimer<30*MINUTE && (m_ShutdownTimer % (5*MINUTE)) == 0) || - // < 12 h ; every 1 h - (m_ShutdownTimer<12*HOUR && (m_ShutdownTimer % HOUR) == 0) || - // > 12 h ; every 12 h - (m_ShutdownTimer>12*HOUR && (m_ShutdownTimer % (12*HOUR)) == 0)) + (m_ShutdownTimer < 30 && (m_ShutdownTimer % 5) == 0) || // < 30 sec; every 5 sec + (m_ShutdownTimer < 5 * MINUTE && (m_ShutdownTimer % MINUTE) == 0) || // < 5 min ; every 1 min + (m_ShutdownTimer < 30 * MINUTE && (m_ShutdownTimer % (5 * MINUTE)) == 0) || // < 30 min ; every 5 min + (m_ShutdownTimer < 12 * HOUR && (m_ShutdownTimer % HOUR) == 0) || // < 12 h ; every 1 h + (m_ShutdownTimer > 12 * HOUR && (m_ShutdownTimer % (12 * HOUR)) == 0)) // > 12 h ; every 12 h { std::string str = secsToTimeString(m_ShutdownTimer); @@ -2546,13 +2539,13 @@ void World::SendAutoBroadcast() msg = *itr; uint32 abcenter = sWorld.getIntConfig(CONFIG_AUTOBROADCAST_CENTER); + if (abcenter == 0) { sWorld.SendWorldText(LANG_AUTO_BROADCAST, msg.c_str()); - sLog.outString("AutoBroadcast: '%s'",msg.c_str()); } - if (abcenter == 1) + else if (abcenter == 1) { WorldPacket data(SMSG_NOTIFICATION, (msg.size()+1)); data << msg; @@ -2560,7 +2553,7 @@ void World::SendAutoBroadcast() sLog.outString("AutoBroadcast: '%s'",msg.c_str()); } - if (abcenter == 2) + else if (abcenter == 2) { sWorld.SendWorldText(LANG_AUTO_BROADCAST, msg.c_str()); @@ -2575,9 +2568,7 @@ void World::SendAutoBroadcast() void World::UpdateRealmCharCount(uint32 accountId) { m_realmCharCallback.SetParam(accountId); - m_realmCharCallback.SetFutureResult( - CharacterDatabase.AsyncPQuery("SELECT COUNT(guid) FROM characters WHERE account = '%u'", accountId) - ); + m_realmCharCallback.SetFutureResult(CharacterDatabase.AsyncPQuery("SELECT COUNT(guid) FROM characters WHERE account = '%u'", accountId)); } void World::_UpdateRealmCharCount(QueryResult resultCharCount, uint32 accountId) @@ -2607,7 +2598,6 @@ void World::InitDailyQuestResetTime() if (result) { Field *fields = result->Fetch(); - mostRecentQuestTime = (time_t)fields[0].GetUInt64(); } else @@ -2630,11 +2620,8 @@ void World::InitDailyQuestResetTime() // need reset (if we have quest time before last reset time (not processed by some reason) if (mostRecentQuestTime && mostRecentQuestTime <= resetTime) m_NextDailyQuestReset = mostRecentQuestTime; - else - { - // plan next reset time + else // plan next reset time m_NextDailyQuestReset = (curTime >= curDayResetTime) ? curDayResetTime + DAY : curDayResetTime; - } } void World::InitRandomBGResetTime() @@ -2647,8 +2634,8 @@ void World::InitRandomBGResetTime() time_t curTime = time(NULL); tm localTm = *localtime(&curTime); localTm.tm_hour = getIntConfig(CONFIG_RANDOM_BG_RESET_HOUR); - localTm.tm_min = 0; - localTm.tm_sec = 0; + localTm.tm_min = 0; + localTm.tm_sec = 0; // current day reset time time_t nextDayResetTime = mktime(&localTm); @@ -2727,11 +2714,9 @@ void World::UpdateMaxSessionCounters() void World::LoadDBVersion() { QueryResult result = WorldDatabase.Query("SELECT db_version, script_version, cache_id FROM version LIMIT 1"); - //QueryResult* result = WorldDatabase.Query("SELECT version, creature_ai_version, cache_id FROM db_version LIMIT 1"); if (result) { Field* fields = result->Fetch(); - m_DBVersion = fields[0].GetString(); m_CreatureEventAIVersion = fields[1].GetString(); @@ -2789,8 +2774,7 @@ void World::LoadWorldStates() m_worldstates[fields[0].GetUInt32()] = fields[1].GetUInt64(); bar.step(); ++counter; - } - while (result->NextRow()); + } while (result->NextRow()); sLog.outString(); sLog.outString(">> Loaded %u world states.", counter); @@ -2817,7 +2801,6 @@ void World::ProcessQueryCallbacks() { QueryResult result; - //-UpdateRealmCharCount if (m_realmCharCallback.IsReady()) { uint32 param = m_realmCharCallback.GetParam(); |