All pastes #720608 Raw Edit

vip.patch

public cpp v1 · immutable
#720608 ·published 2007-09-30 14:31 UTC
rendered paste body
Index: src/game/AuctionHouse.cpp===================================================================--- src/game/AuctionHouse.cpp	(revision 4531)+++ src/game/AuctionHouse.cpp	(working copy)@@ -245,7 +245,7 @@         return;     } -    if( GetSecurity() > SEC_PLAYER && sWorld.getConfig(CONFIG_GM_LOG_TRADE) )+    if( GetSecurity() > SEC_MODERATOR && sWorld.getConfig(CONFIG_GM_LOG_TRADE) )     {         sLog.outCommand("GM %s (Account: %u) create auction: %s (Entry: %u Count: %u)",             GetPlayerName(),GetAccountId(),it->GetProto()->Name1,it->GetEntry(),it->GetCount());Index: src/game/CharacterHandler.cpp===================================================================--- src/game/CharacterHandler.cpp	(revision 4531)+++ src/game/CharacterHandler.cpp	(working copy)@@ -186,7 +186,7 @@     }      // check name limitations-    if(GetSecurity() == SEC_PLAYER && objmgr.IsReservedName(name))+    if(GetSecurity() <= SEC_MODERATOR && objmgr.IsReservedName(name))     {         data << (uint8)CHAR_NAME_RESERVED;         SendPacket( &data );@@ -268,7 +268,7 @@     data << (uint8)CHAR_CREATE_SUCCESS;     SendPacket( &data ); -    sLog.outBasic("Account: %d Create New Character:[%s]",GetAccountId(),name.c_str());+    sLog.outChar("Account: %d Create New Character:[%s]",GetAccountId(),name.c_str()); }  void WorldSession::HandleCharDeleteOpcode( WorldPacket & recv_data )@@ -298,7 +298,7 @@     if(accountId != GetAccountId())         return; -    sLog.outBasic("Account: %d Delete Character:[%s] (guid:%u)",GetAccountId(),name.c_str(),GUID_LOPART(guid));+    sLog.outChar("Account: %d Delete Character:[%s] (guid:%u)",GetAccountId(),name.c_str(),GUID_LOPART(guid));     Player::DeleteFromDB(guid, GetAccountId());      WorldPacket data(SMSG_CHAR_DELETE, 1);@@ -743,7 +743,7 @@     }      // check name limitations-    if(GetSecurity() == SEC_PLAYER && objmgr.IsReservedName(newname))+    if(GetSecurity() <= SEC_MODERATOR && objmgr.IsReservedName(newname))     {         WorldPacket data(SMSG_CHAR_RENAME, 1);         data << (uint8)CHAR_NAME_RESERVED;@@ -775,4 +775,5 @@     data << guid;     data << newname;     SendPacket(&data);+	sLog.outChar("Player %s [Guid: %u] changed name to: %t", newname.c_str(), GUID_LOPART(guid), oldname.c_str()); }Index: src/game/ChatHandler.cpp===================================================================--- src/game/ChatHandler.cpp	(revision 4531)+++ src/game/ChatHandler.cpp	(working copy)@@ -122,14 +122,14 @@             Player *player = objmgr.GetPlayer(to.c_str());             uint32 tSecurity = GetSecurity();             uint32 pSecurity = player ? player->GetSession()->GetSecurity() : 0;-            if(!player || tSecurity == SEC_PLAYER && pSecurity > SEC_PLAYER && !player->isAcceptWhispers())+            if(!player || tSecurity <= SEC_MODERATOR && pSecurity > SEC_MODERATOR && !player->isAcceptWhispers())             {                 WorldPacket data(SMSG_CHAT_PLAYER_NOT_FOUND, (to.size()+1));                 data<<to;                 SendPacket(&data);                 return;             }-            if (!sWorld.getConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_CHAT) && tSecurity == SEC_PLAYER && pSecurity == SEC_PLAYER )+            if (!sWorld.getConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_CHAT) && tSecurity <= SEC_MODERATOR && pSecurity <= SEC_MODERATOR )             {                 uint32 sidea = GetPlayer()->GetTeam();                 uint32 sideb = player->GetTeam();Index: src/game/Mail.cpp===================================================================--- src/game/Mail.cpp	(revision 4531)+++ src/game/Mail.cpp	(working copy)@@ -61,7 +61,7 @@      Player* pl = _player; -    sLog.outDetail("Player %u is sending mail to %s with subject %s and body %s includes item %u, %u copper and %u COD copper with unk1 = %u, unk2 = %u",pl->GetGUIDLow(),receiver.c_str(),subject.c_str(),body.c_str(),GUID_LOPART(itemId),money,COD,unk1,unk2);+    sLog.outChar("Player %u is sending mail to %s with subject %s and body %s includes item %u, %u copper and %u COD copper with unk1 = %u, unk2 = %u",pl->GetGUIDLow(),receiver.c_str(),subject.c_str(),body.c_str(),GUID_LOPART(itemId),money,COD,unk1,unk2);      uint64 rc = objmgr.GetPlayerGUIDByName(receiver);     if(pl->GetGUID() == rc)@@ -154,7 +154,7 @@         // if item send to character at another account, then apply item delivery delay         needItemDelay = pl->GetSession()->GetAccountId() != rc_account; -        if( GetSecurity() > SEC_PLAYER && sWorld.getConfig(CONFIG_GM_LOG_TRADE) )+        if( GetSecurity() > SEC_MODERATOR && sWorld.getConfig(CONFIG_GM_LOG_TRADE) )         {             sLog.outCommand("GM %s (Account: %u) mail item: %s (Entry: %u Count: %u) and money: %u to player: %s (Account: %u)",                 GetPlayerName(),GetAccountId(),pItem->GetProto()->Name1,pItem->GetEntry(),pItem->GetCount(),money,receiver.c_str(),rc_account);@@ -340,7 +340,7 @@              pl->ModifyMoney( -int32(m->COD) ); -            if( GetSecurity() > SEC_PLAYER && sWorld.getConfig(CONFIG_GM_LOG_TRADE) )+            if( GetSecurity() > SEC_MODERATOR && sWorld.getConfig(CONFIG_GM_LOG_TRADE) )             {                 uint32 sender_accId = 0;                 std::string sender_name;Index: src/game/MiscHandler.cpp===================================================================--- src/game/MiscHandler.cpp	(revision 4531)+++ src/game/MiscHandler.cpp	(working copy)@@ -168,13 +168,13 @@         // PLAYER see his team only and PLAYER can't see MODERATOR, GAME MASTER, ADMINISTRATOR characters         // MODERATOR, GAME MASTER, ADMINISTRATOR can see all         if( pname &&-            ( security > SEC_PLAYER || itr->second->GetTeam() == team || allowTwoSideWhoList ) &&+            ( security > SEC_MODERATOR || itr->second->GetTeam() == team || allowTwoSideWhoList ) &&             (classmask & (1 << class_) ) && (racemask & (1 << race) ) &&             (lvl >= level_min && lvl <= level_max) &&             (guild_name.length()?strstr(gname.c_str(), guild_name.c_str())!=0 : true) &&             (player_name.length()?strstr(pname, player_name.c_str())!=0 : true) &&             z_show && s_show &&-            (itr->second->GetSession()->GetSecurity() == SEC_PLAYER || gmInWhoList && itr->second->IsVisibleGloballyFor(_player) ) &&+            (itr->second->GetSession()->GetSecurity() <= SEC_MODERATOR || gmInWhoList && itr->second->IsVisibleGloballyFor(_player) ) &&             clientcount < 49)         {             clientcount++;@@ -204,7 +204,7 @@     sLog.outDebug( "WORLD: Recvd CMSG_LOGOUT_REQUEST Message, security - %u", security );      //instant logout for admins, gm's, mod's-    if (security > SEC_PLAYER)+    if (security > SEC_MODERATOR)     {         LogoutPlayer(true);         return;Index: src/game/ObjectMgr.cpp===================================================================--- src/game/ObjectMgr.cpp	(revision 4531)+++ src/game/ObjectMgr.cpp	(working copy)@@ -271,14 +271,14 @@             gm_accid = GetPlayerAccountIdByGUID(bidder_guid);             gm_security = GetSecurityByAccount(gm_accid); -            if(gm_security > SEC_PLAYER )                   // not do redundant DB requests+            if(gm_security > SEC_MODERATOR )                   // not do redundant DB requests             {                 if(!GetPlayerNameByGUID(bidder_guid,gm_name))                     gm_name = LANG_UNKNOWN;             }         } -        if( gm_security > SEC_PLAYER )+        if( gm_security > SEC_MODERATOR )         {             std::string owner_name;             if(!GetPlayerNameByGUID(auction->owner,owner_name))Index: src/game/Player.cpp===================================================================--- src/game/Player.cpp	(revision 4531)+++ src/game/Player.cpp	(working copy)@@ -90,7 +90,7 @@         SetAcceptTicket(true);      // players always and GM if set in config accept whispers by default-    if(GetSession()->GetSecurity() == SEC_PLAYER || sWorld.getConfig(CONFIG_GM_WISPERING_TO))+    if(GetSession()->GetSecurity() <= SEC_MODERATOR || sWorld.getConfig(CONFIG_GM_WISPERING_TO))         SetAcceptWhispers(true);      m_curTarget = 0;@@ -1248,9 +1248,9 @@     // PLAYER see his team only and PLAYER can't see MODERATOR, GAME MASTER, ADMINISTRATOR characters     // MODERATOR, GAME MASTER, ADMINISTRATOR can see all     if( pFriend && pFriend->GetName() &&-        ( security > SEC_PLAYER ||+        ( security > SEC_MODERATOR ||         ( pFriend->GetTeam() == team || allowTwoSideWhoList ) &&-        (pFriend->GetSession()->GetSecurity() == SEC_PLAYER || gmInWhoList && pFriend->IsVisibleGloballyFor(this) )))+        (pFriend->GetSession()->GetSecurity() <= SEC_MODERATOR || gmInWhoList && pFriend->IsVisibleGloballyFor(this) )))     {         if(pFriend->isAFK())             friendInfo.Status = FRIEND_STATUS_AFK;@@ -3797,9 +3797,9 @@         // PLAYER see his team only and PLAYER can't see MODERATOR, GAME MASTER, ADMINISTRATOR characters         // MODERATOR, GAME MASTER, ADMINISTRATOR can see all         if( pFriend && pFriend->IsInWorld() &&-            ( pFriend->GetSession()->GetSecurity() > SEC_PLAYER ||+            ( pFriend->GetSession()->GetSecurity() > SEC_MODERATOR ||             ( pFriend->GetTeam() == team || allowTwoSideWhoList ) &&-            (security == SEC_PLAYER || gmInWhoList && IsVisibleGloballyFor(pFriend) )))+            (security <= SEC_MODERATOR || gmInWhoList && IsVisibleGloballyFor(pFriend) )))         {             pFriend->GetSession()->SendPacket(packet);         }@@ -12296,7 +12296,7 @@     outDebugValues();      // GM state-    if(GetSession()->GetSecurity() > SEC_PLAYER)+    if(GetSession()->GetSecurity() > SEC_MODERATOR)     {         switch(sWorld.getConfig(CONFIG_GM_LOGIN_STATE))         {@@ -14958,7 +14958,7 @@         return true;      // GMs are visible for higher gms (or players are visible for gms)-    if (u->GetSession()->GetSecurity() > SEC_PLAYER)+    if (u->GetSession()->GetSecurity() > SEC_MODERATOR)         return GetSession()->GetSecurity() <= u->GetSession()->GetSecurity();      // non faction visibility non-breakable for non-GMsIndex: src/game/SpellEffects.cpp===================================================================--- src/game/SpellEffects.cpp	(revision 4531)+++ src/game/SpellEffects.cpp	(working copy)@@ -2189,7 +2189,7 @@         if(!item_owner)             return; -        if(item_owner!=p_caster && p_caster->GetSession()->GetSecurity() > SEC_PLAYER && sWorld.getConfig(CONFIG_GM_LOG_TRADE) )+        if(item_owner!=p_caster && p_caster->GetSession()->GetSecurity() > SEC_MODERATOR && sWorld.getConfig(CONFIG_GM_LOG_TRADE) )             sLog.outCommand("GM %s (Account: %u) enchanting(perm): %s (Entry: %d) for player: %s (Account: %u)",                 p_caster->GetName(),p_caster->GetSession()->GetAccountId(),                 itemTarget->GetProto()->Name1,itemTarget->GetEntry(),@@ -2295,7 +2295,7 @@     if(!item_owner)         return; -    if(item_owner!=p_caster && p_caster->GetSession()->GetSecurity() > SEC_PLAYER && sWorld.getConfig(CONFIG_GM_LOG_TRADE) )+    if(item_owner!=p_caster && p_caster->GetSession()->GetSecurity() > SEC_MODERATOR && sWorld.getConfig(CONFIG_GM_LOG_TRADE) )         sLog.outCommand("GM %s (Account: %u) enchanting(temp): %s (Entry: %d) for player: %s (Account: %u)",         p_caster->GetName(),p_caster->GetSession()->GetAccountId(),         itemTarget->GetProto()->Name1,itemTarget->GetEntry(),Index: src/game/TradeHandler.cpp===================================================================--- src/game/TradeHandler.cpp	(revision 4531)+++ src/game/TradeHandler.cpp	(working copy)@@ -253,7 +253,7 @@                 {                     // logging                     sLog.outDebug("partner storing: %u",myItems[i]->GetGUIDLow());-                    if( _player->GetSession()->GetSecurity() > SEC_PLAYER && sWorld.getConfig(CONFIG_GM_LOG_TRADE) )+                    if( _player->GetSession()->GetSecurity() > SEC_MODERATOR && sWorld.getConfig(CONFIG_GM_LOG_TRADE) )                         sLog.outCommand("GM %s (Account: %u) trade: %s (Entry: %d Count: %u) to player: %s (Account: %u)",                             _player->GetName(),_player->GetSession()->GetAccountId(),                             myItems[i]->GetProto()->Name1,myItems[i]->GetEntry(),myItems[i]->GetCount(),@@ -277,7 +277,7 @@                 {                     // logging                     sLog.outDebug("player storing: %u",hisItems[i]->GetGUIDLow());-                    if( _player->pTrader->GetSession()->GetSecurity() > SEC_PLAYER && sWorld.getConfig(CONFIG_GM_LOG_TRADE) )+                    if( _player->pTrader->GetSession()->GetSecurity() > SEC_MODERATOR && sWorld.getConfig(CONFIG_GM_LOG_TRADE) )                         sLog.outCommand("GM %s (Account: %u) trade: %s (Entry: %d Count: %u) to player: %s (Account: %u)",                             _player->pTrader->GetName(),_player->pTrader->GetSession()->GetAccountId(),                             hisItems[i]->GetProto()->Name1,hisItems[i]->GetEntry(),hisItems[i]->GetCount(),Index: src/game/WorldSocket.cpp===================================================================--- src/game/WorldSocket.cpp	(revision 4531)+++ src/game/WorldSocket.cpp	(working copy)@@ -431,7 +431,7 @@     recvPacket >> ping;      ///- check ping speed for players-    if(_session && _session->GetSecurity() == SEC_PLAYER)+    if(_session && _session->GetSecurity() <= SEC_MODERATOR)     {         uint32 cur_mstime = getMSTime();         uint32 diff_mstime = cur_mstime - m_LastPingMSTime;Index: src/shared/Log.cpp===================================================================--- src/shared/Log.cpp	(revision 4531)+++ src/shared/Log.cpp	(working copy)@@ -196,7 +196,6 @@          logfile = fopen((logsDir+logfn).c_str(), "w");     }-     std::string gmlogname = sConfig.GetStringDefault("GMLogFile", "");     if(gmlogname!="")     {@@ -213,6 +212,11 @@     {         raLogfile = fopen((logsDir+ralogname).c_str(), "a");     }+	std::string charlogname = sConfig.GetStringDefault("CharLogFile", "");+    if(charlogname!="")+    {+        charLogfile = fopen((logsDir+charlogname).c_str(), "a");+    }     m_logLevel     = sConfig.GetIntDefault("LogLevel", 0);     m_logFileLevel = sConfig.GetIntDefault("LogFileLevel", 0);     InitColors(sConfig.GetStringDefault("LogColors", ""));@@ -318,6 +322,8 @@     fflush(stdout); } ++ void Log::outError( const char * err, ... ) {     if( !err ) return;@@ -610,3 +616,19 @@     }     fflush(stdout); }+void Log::outChar(const char * str, ... )+{++    if(!str) return;+    va_list ap;+    if(charLogfile)+	{+        outTimestamp(charLogfile);+        va_start(ap, str);+        vfprintf(charLogfile, str, ap);+        fprintf(charLogfile, "\n" );+        va_end(ap);+        fflush(charLogfile);+	}+    fflush(stdout);+}Index: src/shared/Log.h===================================================================--- src/shared/Log.h	(revision 4531)+++ src/shared/Log.h	(working copy)@@ -56,7 +56,7 @@ class Log : public MaNGOS::Singleton<Log, MaNGOS::ClassLevelLockable<Log, ZThread::FastMutex> > {     friend class MaNGOS::OperatorNew<Log>;-    Log() : raLogfile(NULL), logfile(NULL), gmLogfile(NULL), dberLogfile(NULL), m_colored(false) { Initialize(); }+    Log() : raLogfile(NULL), logfile(NULL), gmLogfile(NULL), dberLogfile(NULL), charLogfile(NULL), m_colored(false) { Initialize(); }     ~Log()     {         if( logfile != NULL )@@ -74,6 +74,9 @@         if (raLogfile != NULL)             fclose(raLogfile);         raLogfile = NULL;++        if (charLogfile != NULL)+            fclose(charLogfile);     }     public:         void Initialize();@@ -86,6 +89,8 @@                                                             // any log level         void outError( const char * err, ... )       ATTR_PRINTF(2,3);                                                             // log level >= 1+        void outChar( const char * str, ... )        ATTR_PRINTF(2,3);+                                                            // any log level         void outBasic( const char * str, ... )       ATTR_PRINTF(2,3);                                                             // log level >= 2         void outDetail( const char * str, ... )      ATTR_PRINTF(2,3);@@ -112,6 +117,7 @@         FILE* logfile;         FILE* gmLogfile;         FILE* dberLogfile;+        FILE* charLogfile;          uint32 m_logLevel;         uint32 m_logFileLevel;