All pastes #484953 Raw Edit

Miscellany

public cpp v1 · immutable
·published 2007-05-12 19:44 UTC
rendered paste body
Index: src/game/AuctionHouse.cpp===================================================================--- src/game/AuctionHouse.cpp	(revision 3621)+++ src/game/AuctionHouse.cpp	(working copy)@@ -26,10 +26,10 @@ #include "UpdateMask.h" #include "AuctionHouseObject.h" -//pls DO NOT use iterator++, because it is slower than ++iterator!!!+//please DO NOT use iterator++, because it is slower than ++iterator!!! //post-incrementation is always slowlier than pre-incrementation ! -//void called when player click on auctionhouse npc+//void called when player click on auctioneer npc void WorldSession::HandleAuctionHelloOpcode( WorldPacket & recv_data ) {     CHECK_PACKET_SIZE(recv_data,8);Index: src/game/BattleGround.cpp===================================================================--- src/game/BattleGround.cpp	(revision 3621)+++ src/game/BattleGround.cpp	(working copy)@@ -1137,7 +1137,7 @@                 break;             }             MapManager::Instance().GetMap(RegenBonus1->GetMapId(), RegenBonus1)->Remove(RegenBonus1, false);-            RegenBonus1Spawn[0] = 3*60*1000; // 3 minutes+            RegenBonus1Spawn[0] = 3*60*1000;                // 3 minutes             RegenBonus1Spawn[1] = 0;             SpellId = 23493;             break;@@ -1148,7 +1148,7 @@                 break;             }             MapManager::Instance().GetMap(RegenBonus2->GetMapId(), RegenBonus2)->Remove(RegenBonus2, false);-            RegenBonus2Spawn[0] = 3*60*1000; // 3 minutes+            RegenBonus2Spawn[0] = 3*60*1000;                // 3 minutes             RegenBonus2Spawn[1] = 0;             SpellId = 23493;             break;Index: src/game/Chat.cpp===================================================================--- src/game/Chat.cpp	(revision 3621)+++ src/game/Chat.cpp	(working copy)@@ -32,6 +32,8 @@  LanguageDesc lang_description[LANGUAGES_COUNT] = {+    { LANG_UNIVERSAL2,      0, 0                       },+    { LANG_GLOBAL,          0, 0                       },     { LANG_UNIVERSAL,       0, 0                       },     { LANG_ORCISH,        669, SKILL_LANG_ORCISH       },     { LANG_DARNASSIAN,    671, SKILL_LANG_DARNASSIAN   },Index: src/game/ChatHandler.cpp===================================================================--- src/game/ChatHandler.cpp	(revision 3621)+++ src/game/ChatHandler.cpp	(working copy)@@ -256,8 +256,6 @@             }         } break; --         default:             sLog.outError("CHAT: unknown msg type %u, lang: %u", type, lang);     }Index: src/game/debugcmds.cpp===================================================================--- src/game/debugcmds.cpp	(revision 3621)+++ src/game/debugcmds.cpp	(working copy)@@ -50,6 +50,7 @@ {     if(!args)         return false;+     char* px = strtok((char*)args, " ");     if(!px)         return false;@@ -60,17 +61,14 @@     data << (uint32)133;     data << uint8(2);     data << failnum;-     m_session->SendPacket(&data);-    //char buf[256];-    //FillSystemMessageData(&data, m_session, buf);      return true; }  bool ChatHandler::HandleSetPoiCommand(const char* args) {-    Player *  pPlayer = m_session->GetPlayer();+    Player *pPlayer = m_session->GetPlayer();     Unit* target = getSelectedUnit();     if(!target)     {@@ -100,40 +98,24 @@ bool ChatHandler::HandleSendItemErrorMsg(const char* args) {     uint8 error_msg = atol((char*)args);-    if ( error_msg > 0 )-    {-                                                            // guess size-        WorldPacket data(SMSG_INVENTORY_CHANGE_FAILURE, (30));-        data << error_msg;-        data << uint64(0);-        data << uint64(0);-        data << uint8(0);-        m_session->SendPacket( &data );-        return true;-    }-    return false;+    if(error_msg >= 0)+        m_session->GetPlayer()->SendEquipError(error_msg, 0, 0);+    return true; }  bool ChatHandler::HandleSendQuestPartyMsgCommand(const char* args) {     uint32 msg = atol((char*)args);-    if ( msg >= 0 )-    {-        WorldPacket data( MSG_QUEST_PUSH_RESULT, (8+4+1) );-        data << m_session->GetPlayer()->GetGUID();-        data << uint32(msg);-        data << uint8(0);-        m_session->SendPacket(&data);-    }+    if (msg >= 0)+        m_session->GetPlayer()->SendPushToPartyResponse(m_session->GetPlayer(), msg);     return true; }  bool ChatHandler::HandleSendQuestInvalidMsgCommand(const char* args) {-    Player *  pPlayer = m_session->GetPlayer();     uint32 msg = atol((char*)args);-    if ( msg >= 0 )-        pPlayer->SendCanTakeQuestResponse( msg );+    if (msg >= 0)+        m_session->GetPlayer()->SendCanTakeQuestResponse(msg);     return true; } @@ -183,7 +165,6 @@                     if (item && item->GetState() == state)                         PSendSysMessage("bag: 255 slot: %d guid: %d owner: %d", item->GetSlot(), item->GetGUIDLow(), GUID_LOPART(item->GetOwnerGUID()));                 }-             }         }     }Index: src/game/Guild.cpp===================================================================--- src/game/Guild.cpp	(revision 3621)+++ src/game/Guild.cpp	(working copy)@@ -41,7 +41,6 @@     CreatedYear = 0;     CreatedMonth = 0;     CreatedDay = 0;- }  Guild::~Guild()Index: src/game/GuildHandler.cpp===================================================================--- src/game/GuildHandler.cpp	(revision 3621)+++ src/game/GuildHandler.cpp	(working copy)@@ -788,7 +788,6 @@      GetPlayer()->SetGuildIdInvited(0);     GetPlayer()->SetInGuild(0);- }  void WorldSession::HandleGuildInfoOpcode(WorldPacket& recvPacket)@@ -824,7 +823,6 @@     if(!guild) return;      guild->Roster(this);- }  void WorldSession::HandleGuildPromoteOpcode(WorldPacket& recvPacket)@@ -1404,7 +1402,6 @@     }      guild->SetGINFO(GINFO);- }  void WorldSession::HandleGuildSaveEmblemOpcode(WorldPacket& recvPacket)Index: src/game/Level0.cpp===================================================================--- src/game/Level0.cpp	(revision 3621)+++ src/game/Level0.cpp	(working copy)@@ -202,7 +202,6 @@             }              SendSysMessage(itr->second->GetName());-         }     } @@ -301,9 +300,8 @@ bool ChatHandler::HandlePasswordCommand(const char* args) {     if(!*args)-    {         return false;-    }+     char *old_pass = strtok ((char*)args, " ");     char *new_pass = strtok (NULL, " ");     char *new_pass_c  = strtok (NULL, " ");Index: src/game/Level1.cpp===================================================================--- src/game/Level1.cpp	(revision 3621)+++ src/game/Level1.cpp	(working copy)@@ -32,7 +32,6 @@ #include "RedZoneDistrict.h" #include "Transports.h" - bool ChatHandler::HandleSayCommand(const char* args) {     uint64 guid = m_session->GetPlayer()->GetSelection();    @@ -616,7 +615,6 @@  bool ChatHandler::HandleModifyFactionCommand(const char* args) {-     uint32 factionid;     uint32 flag;     uint32  npcflag;@@ -638,7 +636,7 @@             factionid = chr->getFaction();             flag      = chr->GetUInt32Value(UNIT_FIELD_FLAGS);             npcflag   = chr->GetUInt32Value(UNIT_NPC_FLAGS);-            dyflag   = chr->GetUInt32Value(UNIT_DYNAMIC_FLAGS);+            dyflag    = chr->GetUInt32Value(UNIT_DYNAMIC_FLAGS);             PSendSysMessage(LANG_CURRENT_FACTION,chr->GetGUIDLow(),factionid,flag,npcflag,dyflag);         }         return true;@@ -652,7 +650,7 @@      factionid = atoi(pfactionid); -    char*  pflag = strtok(NULL, " ");+    char *pflag = strtok(NULL, " ");     if (!pflag)         flag = chr->GetUInt32Value(UNIT_FIELD_FLAGS);     else@@ -693,7 +691,6 @@  bool ChatHandler::HandleModifySpellCommand(const char* args) {-     WorldPacket data;      char* pspellflatid = strtok((char*)args, " ");@@ -747,6 +744,9 @@  bool ChatHandler::HandleModifyTalentCommand (const char* args) {+    if (!*args)+        return false;+     int tp = atoi((char*)args);     if (tp>0)     {@@ -1330,7 +1330,6 @@         sLog.outDetail(LANG_CURRENT_MONEY, moneyuser, addmoney, newmoney);         if(newmoney <= 0 )         {-             PSendSysMessage(LANG_YOU_TAKE_ALL_MONEY, chr->GetName());              char buf[256];@@ -1342,7 +1341,6 @@         }         else         {-             PSendSysMessage(LANG_YOU_TAKE_MONEY, abs(addmoney), chr->GetName());              char buf[256];@@ -1355,7 +1353,6 @@     }     else     {-         PSendSysMessage(LANG_YOU_GIVE_MONEY, addmoney, chr->GetName());          char buf[256];Index: src/game/Level2.cpp===================================================================--- src/game/Level2.cpp	(revision 3621)+++ src/game/Level2.cpp	(working copy)@@ -39,7 +39,6 @@  bool ChatHandler::HandleTargetObjectCommand(const char* args) {-     Player* pl = m_session->GetPlayer();     QueryResult *result; @@ -962,7 +961,6 @@     //pCreature->SaveToDB(); -- obsolete     sDatabase.PExecuteLog("UPDATE `creature_template` SET `faction` = '%u' WHERE `entry` = '%u'", factionId, pCreature->GetEntry()); -     return true; } @@ -1787,7 +1785,6 @@             // Free memory             delete result2;         }-     }      sLog.outDebug("DEBUG: HandleWpModifyCommand - Parameters parsed - now execute the command");Index: src/game/Level3.cpp===================================================================--- src/game/Level3.cpp	(revision 3621)+++ src/game/Level3.cpp	(working copy)@@ -2231,7 +2231,6 @@  bool ChatHandler::HandleLinkGraveCommand(const char* args) {-     if(!*args)         return false; @@ -2350,7 +2349,6 @@  bool ChatHandler::HandleSpawnTransportCommand(const char* args) {-     return true; } @@ -2637,8 +2635,6 @@  bool ChatHandler::HandleHideAreaCommand(const char* args) {-    WorldPacket data;-     if (!*args)         return false; @@ -3107,10 +3103,9 @@         // set UNIT_FIELD_BYTES_1 to init state but preserve m_form value         player->SetUInt32Value(UNIT_FIELD_BYTES_1, player->m_form<<16 | unitfield ); -        player->SetUInt32Value(UNIT_FIELD_BYTES_2, 0x2800 );// 0x2800, 0x2801 2.0.8...+        player->SetUInt32Value(UNIT_FIELD_BYTES_2, 0x2800 ); // 0x2800, 0x2801 2.0.8...         player->SetUInt32Value(UNIT_FIELD_FLAGS , UNIT_FLAG_NONE | UNIT_FLAG_UNKNOWN1 ); -        //player->SetUInt32Value(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_SPECIALINFO); // wrong...                                                             //-1 is default value         player->SetUInt32Value(PLAYER_FIELD_WATCHED_FACTION_INDEX, uint32(-1)); Index: src/game/Opcodes.h===================================================================--- src/game/Opcodes.h	(revision 3621)+++ src/game/Opcodes.h	(working copy)@@ -884,8 +884,8 @@     CMSG_MOVE_FLY_MODE_CHANGE_ACK                   = 837, // movement related, fly on/off ack     CMSG_MOVE_FLY_STATE_CHANGE                      = 838, // movement related, fly start/stop(land) ack, may be MSG     CMSG_SOCKET_ITEM                                = 839, // click on "Socket Gems" button in Jewelcrafting UI, contains uint64 item guid + 3 x uint64 gems guid's-    // 840-    SMSG_ARENA_TEAM_COMMAND_RESULT                  = 841, // uint32(5)+uint16(0)+uint32(9) You not in arena team that size+    // 840, CMSG?+    SMSG_ARENA_TEAM_COMMAND_RESULT                  = 841, // uint32 command, name1, name2, uint32 errorcode     // 842     CMSG_ARENA_TEAM_QUERY                           = 843,     SMSG_ARENA_TEAM_QUERY_RESPONSE                  = 844,@@ -910,7 +910,7 @@     CMSG_LFM_UNSET_AUTOADD                          = 863,     CMSG_LFG_INVITE_ACCEPT                          = 864,     CMSG_LFG_INVITE_CANCEL                          = 865,-    // 866+    // 866, CMSG?     CMSG_LOOKING_FOR_GROUP_CLEAR                    = 867,     CMSG_SET_LOOKING_FOR_NONE                       = 868,     CMSG_SET_LOOKING_FOR_MORE                       = 869,Index: src/game/Player.cpp===================================================================--- src/game/Player.cpp	(revision 3621)+++ src/game/Player.cpp	(working copy)@@ -340,7 +340,6 @@     SetUInt32Value(UNIT_FIELD_BYTES_2, ( 0x28 << 8 ) );     // players - 0x2800, 0x2801, units - 0x1001     SetUInt32Value(UNIT_FIELD_FLAGS, UNIT_FLAG_UNKNOWN1 ); -    //SetUInt32Value(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_SPECIALINFO); // wrong...                                                             //-1 is default value     SetUInt32Value(PLAYER_FIELD_WATCHED_FACTION_INDEX, uint32(-1)); @@ -1228,7 +1227,7 @@         return;      // don't let enter battlegrounds without assigned battleground id (for example through areatrigger)...-    if(!InBattleGround() && mEntry->map_type == MAP_BATTLEGROUND)+    if(!InBattleGround() && mEntry->map_type == MAP_BATTLEGROUND && !GetSession()->GetSecurity())         return;      QueryResult *result = loginDatabase.PQuery("SELECT `tbc` FROM `account` WHERE `id`='%u'", GetSession()->GetAccountId());@@ -2060,11 +2059,12 @@         data << uint16(itr->first);          time_t cooldown = 0;-        if(itr->second.end > time(NULL))-            cooldown = (itr->second.end-time(NULL))*1000;+        time_t curTime = time(NULL);+        if(itr->second.end > curTime)+            cooldown = (itr->second.end-curTime)*1000; -        data << uint16(itr->second.itemid);-        data << uint16(sEntry->Category);+        data << uint16(itr->second.itemid);                 // cast item id+        data << uint16(sEntry->Category);                   // spell category         if(sEntry->Category)                                // may be wrong, but anyway better than nothing...         {             data << uint32(0);Index: src/game/QuestHandler.cpp===================================================================--- src/game/QuestHandler.cpp	(revision 3621)+++ src/game/QuestHandler.cpp	(working copy)@@ -411,11 +411,7 @@                         Player *pPlayer = ObjectAccessor::Instance().FindPlayer(guid);                         if( pPlayer )                         {-                            WorldPacket data( MSG_QUEST_PUSH_RESULT, (8+4+1) );-                            data << guid;-                            data << uint32( QUEST_PARTY_MSG_SHARING_QUEST );-                            data << uint8(0);-                            _player->GetSession()->SendPacket(&data);+                            _player->SendPushToPartyResponse(pPlayer, QUEST_PARTY_MSG_SHARING_QUEST);                              if( _player->GetDistanceSq( pPlayer ) > 100 )                             {Index: src/game/SharedDefines.h===================================================================--- src/game/SharedDefines.h	(revision 3621)+++ src/game/SharedDefines.h	(working copy)@@ -179,6 +179,7 @@  enum Language {+    LANG_UNIVERSAL2     = -1,   // used by addons?, may be LANG_ADDON?     LANG_GLOBAL         = 0,     LANG_UNIVERSAL      = 0,     LANG_ORCISH         = 1,@@ -390,12 +391,13 @@     GAMEOBJECT_TYPE_FLAGSTAND              = 24,     GAMEOBJECT_TYPE_FISHINGHOLE            = 25,     GAMEOBJECT_TYPE_FLAGDROP               = 26,-    // Custom gametypes, can create problems at sending to client,-    GAMEOBJECT_TYPE_CUSTOM_TELEPORTER      = 27,+    GAMEOBJECT_TYPE_MINI_GAME              = 27,     GAMEOBJECT_TYPE_LOTTERY_KIOSK          = 28,     GAMEOBJECT_TYPE_CAPTURE_POINT          = 29,     GAMEOBJECT_TYPE_AURA_GENERATOR         = 30,-    GAMEOBJECT_TYPE_DUNGEON_DIFFICULTY     = 31+    GAMEOBJECT_TYPE_DUNGEON_DIFFICULTY     = 31,+    // Custom gametypes, can create problems at sending to client,+    GAMEOBJECT_TYPE_CUSTOM_TELEPORTER      = 32, };  enum TextEmoteIndex: src/game/Spell.cpp===================================================================--- src/game/Spell.cpp	(revision 3621)+++ src/game/Spell.cpp	(working copy)@@ -2577,10 +2577,12 @@                  // prevent disenchanting in trade slot                 if( m_targets.m_itemTarget->GetOwnerGUID() != m_caster->GetGUID() )-                    return (uint8)SPELL_FAILED_CANT_BE_DISENCHANTED;+                    return SPELL_FAILED_CANT_BE_DISENCHANTED;                 uint32 item_quality = m_targets.m_itemTarget->GetProto()->Quality;                 // 2.0.x addon: Check player enchanting level agains the item desenchanting requirements                 uint32 item_disenchantskilllevel = m_targets.m_itemTarget->GetProto()->RequiredDisenchantSkill;+                if (item_disenchantskilllevel == uint32(-1))+                    return SPELL_FAILED_CANT_BE_DISENCHANTED;                 if (item_disenchantskilllevel > p_caster->GetSkillValue(SKILL_ENCHANTING))                     return SPELL_FAILED_LOW_CASTLEVEL;                 if(item_quality > 4 || item_quality < 2)Index: src/game/SpellEffects.cpp===================================================================--- src/game/SpellEffects.cpp	(revision 3621)+++ src/game/SpellEffects.cpp	(working copy)@@ -54,7 +54,7 @@     &Spell::EffectInstaKill,                                //  1 SPELL_EFFECT_INSTAKILL     &Spell::EffectSchoolDMG,                                //  2 SPELL_EFFECT_SCHOOL_DAMAGE     &Spell::EffectDummy,                                    //  3 SPELL_EFFECT_DUMMY-    &Spell::EffectNULL,                                     //  4 SPELL_EFFECT_PORTAL_TELEPORT         unused+    &Spell::EffectNULL,                                     //  4 SPELL_EFFECT_PORTAL_TELEPORT          unused     &Spell::EffectTeleportUnits,                            //  5 SPELL_EFFECT_TELEPORT_UNITS     &Spell::EffectApplyAura,                                //  6 SPELL_EFFECT_APPLY_AURA     &Spell::EffectSchoolDMG,                                //  7 SPELL_EFFECT_ENVIRONMENTAL_DAMAGE@@ -595,42 +595,39 @@     if(m_caster->GetTypeId() == TYPEID_PLAYER && ((Player*)m_caster)->InBattleGround())     {         BattleGround* bg = sBattleGroundMgr.GetBattleGround(((Player*)m_caster)->GetBattleGroundId());-        if(bg)+        if(bg && bg->GetStatus() == STATUS_INPROGRESS)         {-            if(bg->GetStatus() == STATUS_INPROGRESS)+            switch(m_spellInfo->Id)             {-                switch(m_spellInfo->Id)-                {-                    case 23383:                             // Alliance Flag Click-                        sLog.outDebug("Alliance Flag Click");-                        if(((Player*)m_caster)->GetTeam() == ALLIANCE)+                case 23383:                             // Alliance Flag Click+                    sLog.outDebug("Alliance Flag Click");+                    if(((Player*)m_caster)->GetTeam() == ALLIANCE)                                                             // Alliance Flag Returns (Event)-                            m_caster->CastSpell(m_caster, 23385, true, 0);-                        if(((Player*)m_caster)->GetTeam() == HORDE)+                        m_caster->CastSpell(m_caster, 23385, true, 0);+                    if(((Player*)m_caster)->GetTeam() == HORDE)                                                             // Silverwing Flag-                            m_caster->CastSpell(m_caster, 23335, true, 0);-                        break;-                    case 23384:                             // Horde Flag Click-                        sLog.outDebug("Horde Flag Click");-                        if(((Player*)m_caster)->GetTeam() == HORDE)+                        m_caster->CastSpell(m_caster, 23335, true, 0);+                    break;+                case 23384:                             // Horde Flag Click+                    sLog.outDebug("Horde Flag Click");+                    if(((Player*)m_caster)->GetTeam() == HORDE)                                                             // Horde Flag Returns (Event)-                            m_caster->CastSpell(m_caster, 23386, true, 0);-                        if(((Player*)m_caster)->GetTeam() == ALLIANCE)+                        m_caster->CastSpell(m_caster, 23386, true, 0);+                    if(((Player*)m_caster)->GetTeam() == ALLIANCE)                                                             // Warsong Flag-                            m_caster->CastSpell(m_caster, 23333, true, 0);-                        break;-                    case 23389:                             // Alliance Flag Capture-                        sLog.outDebug("Alliance Flag Capture");-                        bg->EventPlayerCapturedFlag((Player*)m_caster);-                        break;-                    case 23390:                             // Horde Flag Capture-                        sLog.outDebug("Horde Flag Capture");-                        bg->EventPlayerCapturedFlag((Player*)m_caster);-                        break;-                    default:-                        sLog.outDebug("Unknown spellid %u at BG dummy", m_spellInfo->Id);-                        break;-                }+                        m_caster->CastSpell(m_caster, 23333, true, 0);+                    break;+                case 23389:                             // Alliance Flag Capture+                    sLog.outDebug("Alliance Flag Capture");+                    bg->EventPlayerCapturedFlag((Player*)m_caster);+                    break;+                case 23390:                             // Horde Flag Capture+                    sLog.outDebug("Horde Flag Capture");+                    bg->EventPlayerCapturedFlag((Player*)m_caster);+                    break;+                default:+                    sLog.outDebug("Unknown spellid %u at BG dummy", m_spellInfo->Id);+                    break;             }         }     }@@ -835,40 +832,37 @@     if (m_caster->GetTypeId() == TYPEID_PLAYER && ((Player*)m_caster)->InBattleGround())     {         BattleGround* bg = sBattleGroundMgr.GetBattleGround(((Player *)m_caster)->GetBattleGroundId());-        if(bg)+        if(bg && bg->GetStatus() == STATUS_INPROGRESS)         {-            if(bg->GetStatus() == STATUS_INPROGRESS)+            switch(m_spellInfo->Id)             {-                switch(m_spellInfo->Id)-                {-                    case 23333:                             // Pickup Horde Flag-                        bg->EventPlayerPickedUpFlag(((Player*)m_caster));-                        sLog.outDebug("Send Event Horde Flag Picked Up");-                        break;-                    case 23334:                             // Drop Horde Flag-                        bg->EventPlayerDroppedFlag(((Player*)m_caster));-                        sLog.outDebug("Drop Horde Flag");-                        break;-                    case 23335:                             // Pickup Alliance Flag-                        bg->EventPlayerPickedUpFlag(((Player*)m_caster));-                        sLog.outDebug("Send Event Alliance Flag Picked Up");-                        break;-                    case 23336:                             // Drop Alliance Flag-                        bg->EventPlayerDroppedFlag(((Player*)m_caster));-                        sLog.outDebug("Drop Alliance Flag");-                        break;-                    case 23385:                             // Alliance Flag Returns-                        bg->EventPlayerReturnedFlag(((Player*)m_caster));-                        sLog.outDebug("Alliance Flag Returned");-                        break;-                    case 23386:                             // Horde Flag Returns-                        bg->EventPlayerReturnedFlag(((Player*)m_caster));-                        sLog.outDebug("Horde Flag Returned");-                        break;-                    default:-                        sLog.outDebug("Unknown spellid %u in BG event", m_spellInfo->Id);-                        break;-                }+                case 23333:                             // Pickup Horde Flag+                    bg->EventPlayerPickedUpFlag(((Player*)m_caster));+                    sLog.outDebug("Send Event Horde Flag Picked Up");+                    break;+                case 23334:                             // Drop Horde Flag+                    bg->EventPlayerDroppedFlag(((Player*)m_caster));+                    sLog.outDebug("Drop Horde Flag");+                    break;+                case 23335:                             // Pickup Alliance Flag+                    bg->EventPlayerPickedUpFlag(((Player*)m_caster));+                    sLog.outDebug("Send Event Alliance Flag Picked Up");+                    break;+                case 23336:                             // Drop Alliance Flag+                    bg->EventPlayerDroppedFlag(((Player*)m_caster));+                    sLog.outDebug("Drop Alliance Flag");+                    break;+                case 23385:                             // Alliance Flag Returns+                    bg->EventPlayerReturnedFlag(((Player*)m_caster));+                    sLog.outDebug("Alliance Flag Returned");+                    break;+                case 23386:                             // Horde Flag Returns+                    bg->EventPlayerReturnedFlag(((Player*)m_caster));+                    sLog.outDebug("Horde Flag Returned");+                    break;+                default:+                    sLog.outDebug("Unknown spellid %u in BG event", m_spellInfo->Id);+                    break;             }         }     }@@ -1085,7 +1079,6 @@  void Spell::EffectOpenLock(uint32 i) {-     if(!m_caster || m_caster->GetTypeId() != TYPEID_PLAYER)     {         sLog.outDebug( "WORLD: Open Lock - No Player Caster!");@@ -1162,8 +1155,7 @@          reqSkillValue = lockInfo->requiredlockskill;     }-    else-    if(SkillId == SKILL_LOCKPICKING)                    // apply picklock skill to wrong target+    else if(SkillId == SKILL_LOCKPICKING)                   // apply picklock skill to wrong target     {         SendCastResult(SPELL_FAILED_BAD_TARGETS);         return;@@ -1476,18 +1468,16 @@      Pet* old_wild = NULL; -    {-        CellPair p(MaNGOS::ComputeCellPair(m_caster->GetPositionX(), m_caster->GetPositionY()));-        Cell cell = RedZone::GetZone(p);-        cell.data.Part.reserved = ALL_DISTRICT;-        cell.SetNoCreate();+    CellPair p(MaNGOS::ComputeCellPair(m_caster->GetPositionX(), m_caster->GetPositionY()));+    Cell cell = RedZone::GetZone(p);+    cell.data.Part.reserved = ALL_DISTRICT;+    cell.SetNoCreate(); -        PetWithIdCheck u_check(m_caster, pet_entry);-        MaNGOS::UnitSearcher<PetWithIdCheck> checker((Unit*&)old_wild, u_check);-        TypeContainerVisitor<MaNGOS::UnitSearcher<PetWithIdCheck>, WorldTypeMapContainer > object_checker(checker);-        CellLock<GridReadGuard> cell_lock(cell, p);-        cell_lock->Visit(cell_lock, object_checker, *MapManager::Instance().GetMap(m_caster->GetMapId(), m_caster));-    }+    PetWithIdCheck u_check(m_caster, pet_entry);+    MaNGOS::UnitSearcher<PetWithIdCheck> checker((Unit*&)old_wild, u_check);+    TypeContainerVisitor<MaNGOS::UnitSearcher<PetWithIdCheck>, WorldTypeMapContainer > object_checker(checker);+    CellLock<GridReadGuard> cell_lock(cell, p);+    cell_lock->Visit(cell_lock, object_checker, *MapManager::Instance().GetMap(m_caster->GetMapId(), m_caster));      if (old_wild)                                           // find old critter, unsummon     {@@ -1496,7 +1486,6 @@     }     else                                                    // in another case summon new     {-         uint32 level = m_caster->getLevel();          // level of pet summoned using engineering item based at engineering skill level@@ -1820,7 +1809,6 @@     // if pet requested type already exist     if( OldSummon )     {-         if(petentry == 0 || OldSummon->GetCreatureInfo()->Entry == petentry)         {             // pet in corpse state can't be summoned@@ -2111,7 +2099,7 @@             }             else             if(uint32 ammo = ((Player*)m_caster)->GetUInt32Value(PLAYER_AMMO_ID))-                ((Player*)m_caster)->DestroyItemCount( ammo , 1, true);+                ((Player*)m_caster)->DestroyItemCount(ammo, 1, true);             // wand not have ammo         }     }@@ -2833,18 +2821,16 @@      Unit* old_critter = NULL; -    {-        CellPair p(MaNGOS::ComputeCellPair(m_caster->GetPositionX(), m_caster->GetPositionY()));-        Cell cell = RedZone::GetZone(p);-        cell.data.Part.reserved = ALL_DISTRICT;-        cell.SetNoCreate();+    CellPair p(MaNGOS::ComputeCellPair(m_caster->GetPositionX(), m_caster->GetPositionY()));+    Cell cell = RedZone::GetZone(p);+    cell.data.Part.reserved = ALL_DISTRICT;+    cell.SetNoCreate(); -        PetWithIdCheck u_check(m_caster, pet_entry);-        MaNGOS::UnitSearcher<PetWithIdCheck> checker(old_critter, u_check);-        TypeContainerVisitor<MaNGOS::UnitSearcher<PetWithIdCheck>, WorldTypeMapContainer > object_checker(checker);-        CellLock<GridReadGuard> cell_lock(cell, p);-        cell_lock->Visit(cell_lock, object_checker, *MapManager::Instance().GetMap(m_caster->GetMapId(), m_caster));-    }+    PetWithIdCheck u_check(m_caster, pet_entry);+    MaNGOS::UnitSearcher<PetWithIdCheck> checker(old_critter, u_check);+    TypeContainerVisitor<MaNGOS::UnitSearcher<PetWithIdCheck>, WorldTypeMapContainer > object_checker(checker);+    CellLock<GridReadGuard> cell_lock(cell, p);+    cell_lock->Visit(cell_lock, object_checker, *MapManager::Instance().GetMap(m_caster->GetMapId(), m_caster));      if (old_critter)                                        // find old critter, unsummon     {Index: src/game/SpellHandler.cpp===================================================================--- src/game/SpellHandler.cpp	(revision 3621)+++ src/game/SpellHandler.cpp	(working copy)@@ -412,30 +412,39 @@             // go to end function to spell casting             break;         }-        case GAMEOBJECT_TYPE_FLAGSTAND:                     //24-            //BG flag click-            info = obj->GetGOInfo();-            if(info)-                spellId = info->sound1;+        case GAMEOBJECT_TYPE_FLAGSTAND:                     // 24+            if(_player->InBattleGround() &&                 // in battleground+                !_player->IsMounted() &&                    // not mounted+                !_player->HasStealthAura() &&               // not stealthed+                !_player->HasInvisibilityAura())            // not invisible+            {+                //BG flag click+                info = obj->GetGOInfo();+                if(info)+                    spellId = info->sound1;+            }             break;-        case GAMEOBJECT_TYPE_FLAGDROP:                      //26-            //BG flag dropped-            if(_player->InBattleGround())+        case GAMEOBJECT_TYPE_FLAGDROP:                      // 26+            if(_player->InBattleGround() &&                 // in battleground+                !_player->IsMounted() &&                    // not mounted+                !_player->HasStealthAura() &&               // not stealthed+                !_player->HasInvisibilityAura())            // not invisible             {+                //BG flag dropped                 info = obj->GetGOInfo();-                if(info->id == 179785) // Silverwing Flag+                if(info->id == 179785)                      // Silverwing Flag                 {                     if(_player->GetTeam() == ALLIANCE)-                        spellId = 23385; // Alliance Flag Returns+                        spellId = 23385;                    // Alliance Flag Returns                     if(_player->GetTeam() == HORDE)-                        spellId = 23335; // Silverwing Flag+                        spellId = 23335;                    // Silverwing Flag                 }-                if(info->id == 179786) // Warsong Flag+                if(info->id == 179786)                      // Warsong Flag                 {                     if(_player->GetTeam() == HORDE)-                        spellId = 23386; // Horde Flag Returns+                        spellId = 23386;                    // Horde Flag Returns                     if(_player->GetTeam() == ALLIANCE)-                        spellId = 23333; // Warsong Flag+                        spellId = 23333;                    // Warsong Flag                 }                 obj->Delete();             }Index: src/game/UpdateFields.h===================================================================--- src/game/UpdateFields.h	(revision 3621)+++ src/game/UpdateFields.h	(working copy)@@ -297,6 +297,9 @@     PLAYER_FIELD_OFFHAND_WEAPON_SKILL_RATING   = 0x49B + UNIT_END, // custom     PLAYER_FIELD_RANGED_WEAPON_SKILL_RATING    = 0x49C + UNIT_END, // custom     PLAYER_FIELD_ARENA_TEAM_INFO_1_1           = 0x49D + UNIT_END, // Size:9+    PLAYER_FIELD_ARENA_TEAM_ID_2v2             = 0x49D + UNIT_END, // custom+    PLAYER_FIELD_ARENA_TEAM_ID_3v3             = 0x4A0 + UNIT_END, // custom+    PLAYER_FIELD_ARENA_TEAM_ID_5v5             = 0x4A3 + UNIT_END, // custom     PLAYER_FIELD_HONOR_CURRENCY                = 0x4A6 + UNIT_END, // Size:1     PLAYER_FIELD_ARENA_CURRENCY                = 0x4A7 + UNIT_END, // Size:1     PLAYER_FIELD_MOD_MANA_REGEN                = 0x4A8 + UNIT_END, // Size:1Index: src/game/Weather.cpp===================================================================--- src/game/Weather.cpp	(revision 3621)+++ src/game/Weather.cpp	(working copy)@@ -203,7 +203,7 @@     uint32 sound = GetSound();     WorldPacket data( SMSG_WEATHER, (4+4+4) ); -    data << (uint32)m_type << (float)m_grade << (uint32)sound;+    data << (uint32)m_type << (float)m_grade << (uint32)sound << uint8(0);     player->GetSession()->SendPacket( &data ); } @@ -222,7 +222,7 @@         m_grade = 0.0001;      WorldPacket data( SMSG_WEATHER, (4+4+4) );-    data << (uint32)m_type << (float)m_grade << (uint32)sound;+    data << (uint32)m_type << (float)m_grade << (uint32)sound << uint8(0);     player->SendMessageToSet( &data, true );      ///- Log the eventIndex: src/game/WorldSession.cpp===================================================================--- src/game/WorldSession.cpp	(revision 3621)+++ src/game/WorldSession.cpp	(working copy)@@ -255,7 +255,7 @@     objmgr.opcodeTable[ CMSG_ACCEPT_TRADE ]                     = OpcodeHandler( STATUS_LOGGEDIN, &WorldSession::HandleAcceptTradeOpcode             );     objmgr.opcodeTable[ CMSG_BEGIN_TRADE ]                      = OpcodeHandler( STATUS_LOGGEDIN, &WorldSession::HandleBeginTradeOpcode              );     objmgr.opcodeTable[ CMSG_BUSY_TRADE ]                       = OpcodeHandler( STATUS_LOGGEDIN, &WorldSession::HandleBusyTradeOpcode               );-                                                            // sended after loguot complete+                                                            // sended after logout complete     objmgr.opcodeTable[ CMSG_CANCEL_TRADE ]                     = OpcodeHandler( STATUS_AUTHED,   &WorldSession::HandleCancelTradeOpcode             );     objmgr.opcodeTable[ CMSG_CLEAR_TRADE_ITEM ]                 = OpcodeHandler( STATUS_LOGGEDIN, &WorldSession::HandleClearTradeItemOpcode          );     objmgr.opcodeTable[ CMSG_IGNORE_TRADE ]                     = OpcodeHandler( STATUS_LOGGEDIN, &WorldSession::HandleIgnoreTradeOpcode             );@@ -435,10 +435,7 @@     objmgr.opcodeTable[ CMSG_MOVE_FLY_STATE_CHANGE ]            = OpcodeHandler( STATUS_LOGGEDIN, &WorldSession::HandleMoveFlyStateChangeOpcode      );     objmgr.opcodeTable[ CMSG_DISMOUNT ]                         = OpcodeHandler( STATUS_LOGGEDIN, &WorldSession::HandleDismountOpcode                );     objmgr.opcodeTable[ CMSG_SELF_RES ]                         = OpcodeHandler( STATUS_LOGGEDIN, &WorldSession::HandleSelfResOpcode                 );--        // Socket gem     objmgr.opcodeTable[ CMSG_SOCKET_ITEM ]                      = OpcodeHandler( STATUS_LOGGEDIN, &WorldSession::HandleSocketOpcode                  );- }  void WorldSession::SizeError(WorldPacket const& packet, uint32 size) const@@ -1149,6 +1146,7 @@     sLog.outDebug("CMSG_REALM_STATE_REQUEST");      uint32 unk;+    std::string unk_str = "01/01/01";     recv_data >> unk;      WorldPacket data(SMSG_REALM_STATE_RESPONSE, 17);@@ -1157,9 +1155,7 @@     // 0x0 realm normal     // 0x1 realm split     // 0x2 realm split pending-    data << uint16(0x3130) << uint8(0x2F);-    data << uint16(0x3130) << uint8(0x2F);-    data << uint16(0x3130) << uint8(0x00);+    data << unk_str;     SendPacket(&data);     sLog.outDebug("response sent %u", unk); }Index: src/game/WorldSession.h===================================================================--- src/game/WorldSession.h	(revision 3621)+++ src/game/WorldSession.h	(working copy)@@ -122,7 +122,7 @@         void SendAuctionOutbiddedMail( AuctionEntry * auction, uint32 newPrice );         void SendAuctionCancelledToBidderMail( AuctionEntry* auction ); -        //Item Enchantement+        //Item Enchantment         void SendEnchantmentLog(uint64 Target, uint64 Caster,uint32 ItemID,uint32 SpellID);         void SendItemEnchantTimeUpdate(uint64 Playerguid, uint64 Itemguid,uint32 slot,uint32 Duration); @@ -166,7 +166,7 @@         // repair         void HandleRepairItemOpcode(WorldPacket& recvPacket); -        //Knockback+        // Knockback         void HandleMoveKnockBackAck(WorldPacket& recvPacket);          void HandleMoveTeleportAck(WorldPacket& recvPacket);