diff --git a/src/game/Server/DB2Stores.cpp b/src/game/Server/DB2Stores.cpp index 0dd3e71b1..37e6f217f 100644 --- a/src/game/Server/DB2Stores.cpp +++ b/src/game/Server/DB2Stores.cpp @@ -132,8 +132,8 @@ void LoadDB2Stores(const std::string& dataPath) } // Check loaded DB2 files proper version - if (!sItemStore.LookupEntry(83086) || // last item added in 4.3.4 (15595) - !sItemExtendedCostStore.LookupEntry(3872) ) // last item extended cost added in 4.3.4 (15595) + if (!sItemStore.LookupEntry(107499) || // last item added in 5.4.1 (17538) + !sItemExtendedCostStore.LookupEntry(5268) ) // last item extended cost added in 5.4.1 (17538) { sLog.outString(""); sLog.outError("Please extract correct db2 files from build %s", AcceptableClientBuildsListStr().c_str()); diff --git a/src/game/Server/DBCEnums.h b/src/game/Server/DBCEnums.h index c796585d1..ade8a1fd4 100644 --- a/src/game/Server/DBCEnums.h +++ b/src/game/Server/DBCEnums.h @@ -28,7 +28,7 @@ // Client expected level limitation, like as used in DBC item max levels for "until max player level" // use as default max player level, must be fit max level for used client // also see MAX_LEVEL and STRONG_MAX_LEVEL define -#define DEFAULT_MAX_LEVEL 85 +#define DEFAULT_MAX_LEVEL 90 // client supported max level for player/pets/etc. Avoid overflow or client stability affected. // also see GT_MAX_LEVEL define diff --git a/src/game/Server/DBCStores.cpp b/src/game/Server/DBCStores.cpp index 8374aa8bf..79d9ebe50 100644 --- a/src/game/Server/DBCStores.cpp +++ b/src/game/Server/DBCStores.cpp @@ -906,10 +906,10 @@ void LoadDBCStores(const std::string& dataPath) // Check loaded DBC files proper version if (!sAreaStore.LookupEntry(6539) || // last area (areaflag) added in 5.1.0 - !sCharTitlesStore.LookupEntry(319) || // last char title added in 5.1.0 - !sGemPropertiesStore.LookupEntry(2402) || // last gem property added in 5.1.0 - !sMapStore.LookupEntry(1076) || // last map added in 5.1.0 - !sSpellStore.LookupEntry(131203) ) // last added spell in 5.1.0 + !sCharTitlesStore.LookupEntry(389) || // last char title added in 5.4.1 17538 + !sGemPropertiesStore.LookupEntry(2467) || // last gem property added in 5.4.1 17538 + !sMapStore.LookupEntry(1173) || // last map added in 5.4.1 17538 + !sSpellStore.LookupEntry(152028) ) // last added spell in 5.4.1 17538 { sLog.outError("\nYou have mixed version DBC files. Please re-extract DBC files for one from client build: %s", AcceptableClientBuildsListStr().c_str()); Log::WaitBeforeContinueIfNeed(); diff --git a/src/game/Server/Opcodes.cpp b/src/game/Server/Opcodes.cpp index 52ea2f8fe..2aa79f33d 100644 --- a/src/game/Server/Opcodes.cpp +++ b/src/game/Server/Opcodes.cpp @@ -203,14 +203,14 @@ void InitializeOpcodes() OPCODE(CMSG_GUILD_QUERY_RANKS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildQueryRanksOpcode ); OPCODE(SMSG_GUILD_QUERY_RANKS_RESULT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); //OPCODE(UMSG_UPDATE_GUILD, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - OPCODE(CMSG_MESSAGECHAT_ADDON_BATTLEGROUND, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAddonMessagechatOpcode ); + OPCODE(CMSG_MESSAGECHAT_ADDON_INSTANCE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAddonMessagechatOpcode ); OPCODE(CMSG_MESSAGECHAT_ADDON_GUILD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAddonMessagechatOpcode ); OPCODE(CMSG_MESSAGECHAT_ADDON_OFFICER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAddonMessagechatOpcode ); OPCODE(CMSG_MESSAGECHAT_ADDON_PARTY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAddonMessagechatOpcode ); OPCODE(CMSG_MESSAGECHAT_ADDON_RAID, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAddonMessagechatOpcode ); OPCODE(CMSG_MESSAGECHAT_ADDON_WHISPER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAddonMessagechatOpcode ); OPCODE(CMSG_MESSAGECHAT_AFK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode ); - OPCODE(CMSG_MESSAGECHAT_BATTLEGROUND, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode ); + OPCODE(CMSG_MESSAGECHAT_INSTANCE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode ); OPCODE(CMSG_MESSAGECHAT_CHANNEL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode ); OPCODE(CMSG_MESSAGECHAT_DND, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode ); OPCODE(CMSG_MESSAGECHAT_EMOTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode ); diff --git a/src/game/Server/Opcodes.h b/src/game/Server/Opcodes.h index c79b0325b..8f976864b 100644 --- a/src/game/Server/Opcodes.h +++ b/src/game/Server/Opcodes.h @@ -43,7 +43,7 @@ enum Opcodes { MSG_WOW_CONNECTION = 0x4F57, // 4.3.4 15595 SMSG_AUTH_CHALLENGE = 0x0221, // 5.3.0 17055 - CMSG_AUTH_SESSION = 0x09F1, // 5.3.0 17055 + CMSG_AUTH_SESSION = 0x14DA, // 5.4.1 17538 SMSG_AUTH_RESPONSE = 0x0890, // 5.3.0 17055 MSG_NULL_ACTION = 0x1001, CMSG_BOOTME = 0x1002, @@ -99,9 +99,9 @@ enum Opcodes CMSG_AUTH_SRP6_BEGIN = 0x1034, CMSG_AUTH_SRP6_PROOF = 0x1035, CMSG_AUTH_SRP6_RECODE = 0x1036, - CMSG_CHAR_CREATE = 0x0404, // 5.3.0 17055 + CMSG_CHAR_CREATE = 0x0404, // 5.3.0 17128 CMSG_CHAR_ENUM = 0x0B1D, // 5.3.0 17055 - CMSG_CHAR_DELETE = 0x010C, // 5.3.0 17055 + CMSG_CHAR_DELETE = 0x010C, // 5.3.0 17128 SMSG_AUTH_SRP6_RESPONSE = 0x103A, SMSG_CHAR_CREATE = 0x2D05, // 4.3.4 15595 SMSG_CHAR_ENUM = 0x10B0, // 4.3.4 15595 @@ -135,7 +135,7 @@ enum Opcodes SMSG_PAGE_TEXT_QUERY_RESPONSE = 0x2B14, // 4.3.4 15595 CMSG_QUEST_QUERY = 0x0D06, // 4.3.4 15595 SMSG_QUEST_QUERY_RESPONSE = 0x6936, // 4.3.4 15595 - CMSG_GAMEOBJECT_QUERY = 0x4017, // 4.3.4 15595 + CMSG_GAMEOBJECT_QUERY = 0x058F, // 5.3.0 17128 SMSG_GAMEOBJECT_QUERY_RESPONSE = 0x0915, // 4.3.4 15595 CMSG_CREATURE_QUERY = 0x2706, // 4.3.4 15595 SMSG_CREATURE_QUERY_RESPONSE = 0x6024, // 4.3.4 15595 @@ -195,25 +195,26 @@ enum Opcodes CMSG_GUILD_QUERY_RANKS = 0x1026, // 4.3.4 15595 SMSG_GUILD_QUERY_RANKS_RESULT = 0x30B4, // 4.3.4 15595 UMSG_UPDATE_GUILD = 0x1095, - CMSG_MESSAGECHAT_ADDON_BATTLEGROUND = 0x0D46, // 4.3.4 15595 + CMSG_MESSAGECHAT_ADDON_INSTANCE = 0x05D3, // 5.1.0 16357 CMSG_MESSAGECHAT_ADDON_GUILD = 0x0544, // 4.3.4 15595 CMSG_MESSAGECHAT_ADDON_OFFICER = 0x3954, // 4.3.4 15595 CMSG_MESSAGECHAT_ADDON_PARTY = 0x0546, // 4.3.4 15595 CMSG_MESSAGECHAT_ADDON_RAID = 0x1D56, // 4.3.4 15595 CMSG_MESSAGECHAT_ADDON_WHISPER = 0x2146, // 4.3.4 15595 - CMSG_MESSAGECHAT_AFK = 0x0D44, // 4.3.4 15595 + CMSG_MESSAGECHAT_AFK = 0x0267, // 5.1.0 16357 CMSG_MESSAGECHAT_BATTLEGROUND = 0x2156, // 4.3.4 15595 CMSG_MESSAGECHAT_CHANNEL = 0x1D44, // 4.3.4 15595 CMSG_MESSAGECHAT_DND = 0x2946, // 4.3.4 15595 CMSG_MESSAGECHAT_EMOTE = 0x1156, // 4.3.4 15595 CMSG_MESSAGECHAT_GUILD = 0x3956, // 4.3.4 15595 - CMSG_MESSAGECHAT_OFFICER = 0x1946, // 4.3.4 15595 - CMSG_MESSAGECHAT_PARTY = 0x1D46, // 4.3.4 15595 - CMSG_MESSAGECHAT_RAID = 0x2D44, // 4.3.4 15595 - CMSG_MESSAGECHAT_RAID_WARNING = 0x0944, // 4.3.4 15595 - CMSG_MESSAGECHAT_SAY = 0x1154, // 4.3.4 15595 - CMSG_MESSAGECHAT_WHISPER = 0x0D56, // 4.3.4 15595 - CMSG_MESSAGECHAT_YELL = 0x3544, // 4.3.4 15595 + CMSG_MESSAGECHAT_INSTANCE = 0x036F, // 5.1.0 16357 + CMSG_MESSAGECHAT_OFFICER = 0x030A, // 5.1.0 16357 + CMSG_MESSAGECHAT_PARTY = 0x02AB, // 5.1.0 16357 + CMSG_MESSAGECHAT_RAID = 0x0246, // 5.1.0 16357 + CMSG_MESSAGECHAT_RAID_WARNING = 0x0CDE, // 5.1.0 16357 + CMSG_MESSAGECHAT_SAY = 0x067A, // 5.1.0 16357 + CMSG_MESSAGECHAT_WHISPER = 0x0306, // 5.1.0 16357 + CMSG_MESSAGECHAT_YELL = 0x0F7F, // 5.1.0 16357 SMSG_MESSAGECHAT = 0x2026, // 4.3.4 15595 CMSG_JOIN_CHANNEL = 0x0156, // 4.3.4 15595 CMSG_LEAVE_CHANNEL = 0x2D56, // 4.3.4 15595 @@ -267,7 +268,7 @@ enum Opcodes MSG_MOVE_TOGGLE_FALL_LOGGING = 0x10C9, CMSG_MOVE_FALL_LAND = 0x380A, // 4.3.4 15595 CMSG_MOVE_START_SWIM = 0x3206, // 4.3.4 15595 - CMSG_MOVE_STOP_SWIM = 0x3802, // 4.3.4 15595 + CMSG_MOVE_STOP_SWIM = 0x0C93, // 5.3.0 17128 MSG_MOVE_SET_RUN_SPEED_CHEAT = 0x10CD, SMSG_MOVE_SET_RUN_SPEED = 0x0758, // 5.3.0 MSG_MOVE_SET_RUN_BACK_SPEED_CHEAT = 0x10CF, @@ -395,7 +396,7 @@ enum Opcodes SMSG_ATTACKSWING_DEADTARGET = 0x2B26, // 4.3.4 15595 SMSG_ATTACKSWING_CANT_ATTACK = 0x0016, // 4.3.4 15595 SMSG_ATTACKERSTATEUPDATE = 0x0B25, // 4.3.4 15595 - SMSG_BATTLEFIELD_PORT_DENIED = 0x0F90, // 5.3.0 + SMSG_BATTLEFIELD_PORT_DENIED = 0x0F90, // 5.3.0 17128 CMSG_PERFORM_ACTION_SET = 0x114D, SMSG_RESUME_CAST_BAR = 0x114E, SMSG_CANCEL_COMBAT = 0x4F04, // 4.3.4 15595 @@ -405,7 +406,7 @@ enum Opcodes SMSG_BREAK_TARGET = 0x0105, // 4.3.4 15595 CMSG_SAVE_PLAYER = 0x1154, CMSG_SETDEATHBINDPOINT = 0x1155, - SMSG_BINDPOINTUPDATE = 0x04CC, // 5.3.0 + SMSG_BINDPOINTUPDATE = 0x04CC, // 5.3.0 17128 CMSG_GETDEATHBINDZONE = 0x1157, SMSG_BINDZONEREPLY = 0x1158, SMSG_PLAYERBOUND = 0x12DD, // 5.3.0 @@ -434,7 +435,7 @@ enum Opcodes CMSG_DUEL_ACCEPTED = 0x2136, // 4.3.4 15595 CMSG_DUEL_CANCELLED = 0x6624, // 4.3.4 15595 SMSG_MOUNTRESULT = 0x15D0, // 5.3.0 - SMSG_DISMOUNTRESULT = 0x0CC5, // 5.3.0 + SMSG_DISMOUNTRESULT = 0x0CC5, // 5.3.0 17128 SMSG_REMOVED_FROM_PVP_QUEUE = 0x1171, CMSG_MOUNTSPECIAL_ANIM = 0x2807, // 4.3.4 15595 SMSG_MOUNTSPECIAL_ANIM = 0x0217, // 4.3.4 15595 @@ -448,7 +449,7 @@ enum Opcodes SMSG_PET_MODE = 0x0085, // 5.3.0 CMSG_GOSSIP_HELLO = 0x4525, // 4.3.4 15595 CMSG_GOSSIP_SELECT_OPTION = 0x0216, // 4.3.4 15595 - SMSG_GOSSIP_MESSAGE = 0x13AD, // 5.3.0 + SMSG_GOSSIP_MESSAGE = 0x13AD, // 5.3.0 17128 SMSG_GOSSIP_COMPLETE = 0x0806, // 4.3.4 15595 CMSG_NPC_TEXT_QUERY = 0x4E24, // 4.3.4 15595 SMSG_NPC_TEXT_UPDATE = 0x4436, // 4.3.4 15595 @@ -562,7 +563,7 @@ enum Opcodes MSG_SAVE_GUILD_EMBLEM = 0x2404, // 4.3.4 15595 MSG_TABARDVENDOR_ACTIVATE = 0x6926, // 4.3.4 15595 SMSG_PLAY_SPELL_VISUAL = 0x07D0, // 5.3.0 - CMSG_ZONEUPDATE = 0x2000, // 5.3.0 17055 ? + CMSG_ZONEUPDATE = 0x2000, // 5.3.0 17128 SMSG_PARTYKILLLOG = 0x4937, // 4.3.4 15595 SMSG_COMPRESSED_UPDATE_OBJECT = 0x11F7, SMSG_EXPLORATION_EXPERIENCE = 0x6716, // 4.3.4 15595 @@ -609,7 +610,7 @@ enum Opcodes CMSG_XP_CHEAT = 0x1222, SMSG_SPIRIT_HEALER_CONFIRM = 0x4917, // 4.3.4 15595 CMSG_CHARACTER_POINT_CHEAT = 0x1224, - SMSG_GOSSIP_POI = 0x4316, // 4.3.4 15595 + SMSG_GOSSIP_POI = 0x15A7, // 5.3.0 17128 CMSG_CHAT_IGNORED = 0x0D54, // 4.3.4 15595 CMSG_GM_VISION = 0x1227, CMSG_SERVER_COMMAND = 0x1228, @@ -682,7 +683,7 @@ enum Opcodes CMSG_PET_CANCEL_AURA = 0x4B25, // 4.3.4 15595 CMSG_PLAYER_AI_CHEAT = 0x126D, CMSG_CANCEL_AUTO_REPEAT_SPELL = 0x6C35, // 4.3.4 15595 - MSG_GM_ACCOUNT_ONLINE = 0x0889, // 5.3.0 + MSG_GM_ACCOUNT_ONLINE = 0x0889, // 5.3.0 17128 MSG_LIST_STABLED_PETS = 0x0834, // 4.3.4 15595 CMSG_STABLE_PET = 0x1271, CMSG_UNSTABLE_PET = 0x1272, @@ -768,7 +769,7 @@ enum Opcodes CMSG_SET_ACTIONBAR_TOGGLES = 0x2506, // 4.3.4 15595 UMSG_DELETE_GUILD_CHARTER = 0x12C1, MSG_PETITION_RENAME = 0x4005, // 4.3.4 15595 - SMSG_INIT_WORLD_STATES = 0x4C15, // 4.3.4 15595 + SMSG_INIT_WORLD_STATES = 0x0FDC, // 5.3.0 17128 SMSG_UPDATE_WORLD_STATE = 0x4816, // 4.3.4 15595 SMSG_PET_ACTION_FEEDBACK = 0x0807, // 4.3.4 15595 CMSG_CHAR_RENAME = 0x2327, // 4.3.4 15595 @@ -785,11 +786,11 @@ enum Opcodes SMSG_PLAY_SOUND = 0x2134, // 4.3.4 15595 CMSG_BATTLEFIELD_STATUS = 0x2500, // 4.3.4 15595 SMSG_BATTLEFIELD_STATUS = 0x7DA1, // 4.3.4 15595 - SMSG_BATTLEFIELD_STATUS_ACTIVE = 0x0CD8, // 5.3.0 - SMSG_BATTLEFIELD_STATUS_FAILED = 0x0798, // 5.3.0 - SMSG_BATTLEFIELD_STATUS_QUEUED = 0x11D1, // 5.3.0 + SMSG_BATTLEFIELD_STATUS_ACTIVE = 0x0CD8, // 5.3.0 17128 + SMSG_BATTLEFIELD_STATUS_FAILED = 0x0798, // 5.3.0 17128 + SMSG_BATTLEFIELD_STATUS_QUEUED = 0x11D1, // 5.3.0 17128 SMSG_BATTLEFIELD_STATUS_NEEDCONFIRMATION = 0x09D5, // 5.3.0 - SMSG_BATTLEFIELD_STATUS_WAITFORGROUPS = 0x0BDC, // 5.3.0 + SMSG_BATTLEFIELD_STATUS_WAITFORGROUPS = 0x0BDC, // 5.3.0 17128 CMSG_BATTLEFIELD_PORT = 0x711A, // 4.3.4 15595 CMSG_INSPECT_HONOR_STATS = 0x791E, // 4.3.4 15595 SMSG_INSPECT_HONOR_STATS = 0x109C, // 5.3.0 @@ -815,8 +816,8 @@ enum Opcodes SMSG_BATTLEGROUND_PLAYER_POSITIONS = 0x03CC, // 5.3.0 CMSG_PET_STOP_ATTACK = 0x6C14, // 4.3.4 15595 SMSG_BINDER_CONFIRM = 0x2835, // 4.3.4 15595 - SMSG_BATTLEGROUND_PLAYER_JOINED = 0x1281, // 5.3.0 - SMSG_BATTLEGROUND_PLAYER_LEFT = 0x1581, // 5.3.0 + SMSG_BATTLEGROUND_PLAYER_JOINED = 0x1281, // 5.3.0 17128 + SMSG_BATTLEGROUND_PLAYER_LEFT = 0x1581, // 5.3.0 17128 CMSG_BATTLEMASTER_JOIN = 0x7902, // 4.3.4 15595 SMSG_ADDON_INFO = 0x2C14, // 4.3.4 15595 CMSG_PET_UNLEARN = 0x12F1, @@ -962,7 +963,7 @@ enum Opcodes CMSG_CHEAT_SET_HONOR_CURRENCY = 0x137C, CMSG_CHEAT_SET_ARENA_CURRENCY = 0x137D, MSG_MOVE_SET_FLIGHT_SPEED_CHEAT = 0x137E, - SMSG_MOVE_SET_FLIGHT_SPEED = 0x0E54, // 5.3.0 + SMSG_MOVE_SET_FLIGHT_SPEED = 0x0E54, // 5.3.0 17128 MSG_MOVE_SET_FLIGHT_BACK_SPEED_CHEAT = 0x1380, SMSG_MOVE_SET_FLIGHT_BACK_SPEED = 0x30A2, // 4.3.4 15595 SMSG_FORCE_FLIGHT_SPEED_CHANGE = 0x1382, @@ -1205,7 +1206,7 @@ enum Opcodes SMSG_DYNAMIC_DROP_ROLL_RESULT = 0x146A, SMSG_CRITERIA_UPDATE = 0x6E37, // 4.3.4 15595 CMSG_QUERY_INSPECT_ACHIEVEMENTS = 0x4D27, // 4.3.4 15595 - SMSG_RESPOND_INSPECT_ACHIEVEMENTS = 0x0DD1, // 5.3.0 + SMSG_RESPOND_INSPECT_ACHIEVEMENTS = 0x0DD1, // 5.3.0 17128 CMSG_DISMISS_CONTROLLED_VEHICLE = 0x3218, // 4.3.4 15595 CMSG_COMPLETE_ACHIEVEMENT_CHEAT = 0x146F, SMSG_QUESTUPDATE_ADD_PVP_KILL = 0x4416, // 4.3.4 15595 diff --git a/src/game/Server/SharedDefines.h b/src/game/Server/SharedDefines.h index dd26eaec5..ae68374ac 100644 --- a/src/game/Server/SharedDefines.h +++ b/src/game/Server/SharedDefines.h @@ -961,7 +961,26 @@ enum SpellEffects SPELL_EFFECT_180 = 180, SPELL_EFFECT_181 = 181, SPELL_EFFECT_182 = 182, - TOTAL_SPELL_EFFECTS = 183, + SPELL_EFFECT_183 = 183, + SPELL_EFFECT_184 = 184, + SPELL_EFFECT_185 = 185, + SPELL_EFFECT_186 = 186, + SPELL_EFFECT_187 = 187, + SPELL_EFFECT_188 = 188, + SPELL_EFFECT_189 = 189, + SPELL_EFFECT_190 = 190, + SPELL_EFFECT_191 = 191, + SPELL_EFFECT_192 = 192, + SPELL_EFFECT_193 = 193, + SPELL_EFFECT_194 = 194, + SPELL_EFFECT_195 = 195, + SPELL_EFFECT_196 = 196, + SPELL_EFFECT_197 = 197, + SPELL_EFFECT_198 = 198, + SPELL_EFFECT_199 = 199, + SPELL_EFFECT_200 = 200, + SPELL_EFFECT_201 = 201, + TOTAL_SPELL_EFFECTS = 202, }; enum SpellCastResult @@ -1551,6 +1570,16 @@ enum Targets TARGET_125 = 125, TARGET_126 = 126, TARGET_127 = 127, + TARGET_128 = 128, + TARGET_129 = 129, + TARGET_130 = 130, + TARGET_131 = 131, + TARGET_132 = 132, + TARGET_133 = 133, + TARGET_134 = 134, + TARGET_135 = 135, + TARGET_136 = 136, + TARGET_137 = 137, }; /** @@ -4064,9 +4093,9 @@ enum TrackedAuraType // we need to stick to 1 version or half of the stuff will work for someone // others will not and opposite -// will only support WoW, WoW:TBC, WoW:WotLK , WoW:Cataclysm and WoW:MOP 5.3.0 client build 17128... +// will only support WoW, WoW:TBC, WoW:WotLK , WoW:Cataclysm and WoW:MOP 5.3.0 client build 17538... -#define EXPECTED_MANGOSD_CLIENT_BUILD {17128, 0} +#define EXPECTED_MANGOSD_CLIENT_BUILD {17538, 0} // max supported expansion level in mangosd // NOTE: not set it more that supported by targeted client version with all expansions installed diff --git a/src/game/WorldHandlers/AuctionHouseHandler.cpp b/src/game/WorldHandlers/AuctionHouseHandler.cpp index 7340e990d..536e13b29 100644 --- a/src/game/WorldHandlers/AuctionHouseHandler.cpp +++ b/src/game/WorldHandlers/AuctionHouseHandler.cpp @@ -237,7 +237,7 @@ AuctionHouseEntry const* WorldSession::GetCheckedAuctionHouseForAuctioneer(Objec // this void creates new auction and adds auction to some auctionhouse void WorldSession::HandleAuctionSellItem(WorldPacket& recv_data) { - DEBUG_LOG("WORLD: HandleAuctionSellItem"); + DEBUG_LOG("WORLD: CMSG_AUCTION_SELL_ITEM"); ObjectGuid auctioneerGuid; uint32 etime, itemCount; @@ -381,7 +381,7 @@ void WorldSession::HandleAuctionSellItem(WorldPacket& recv_data) // this function is called when client bids or buys out auction void WorldSession::HandleAuctionPlaceBid(WorldPacket& recv_data) { - DEBUG_LOG("WORLD: HandleAuctionPlaceBid"); + DEBUG_LOG("WORLD: CMSG_AUCTION_PLACE_BID"); ObjectGuid auctioneerGuid; uint32 auctionId; @@ -463,7 +463,7 @@ void WorldSession::HandleAuctionPlaceBid(WorldPacket& recv_data) // this void is called when auction_owner cancels his auction void WorldSession::HandleAuctionRemoveItem(WorldPacket& recv_data) { - DEBUG_LOG("WORLD: HandleAuctionRemoveItem"); + DEBUG_LOG("WORLD: CMSG_AUCTION_REMOVE_ITEM"); ObjectGuid auctioneerGuid; uint32 auctionId; @@ -540,7 +540,7 @@ void WorldSession::HandleAuctionRemoveItem(WorldPacket& recv_data) // called when player lists his bids void WorldSession::HandleAuctionListBidderItems(WorldPacket& recv_data) { - DEBUG_LOG("WORLD: HandleAuctionListBidderItems"); + DEBUG_LOG("WORLD: CMSG_AUCTION_LIST_BIDDER_ITEMS"); ObjectGuid auctioneerGuid; // NPC guid uint32 listfrom; // page of auctions @@ -593,7 +593,7 @@ void WorldSession::HandleAuctionListBidderItems(WorldPacket& recv_data) // this void sends player info about his auctions void WorldSession::HandleAuctionListOwnerItems(WorldPacket& recv_data) { - DEBUG_LOG("WORLD: HandleAuctionListOwnerItems"); + DEBUG_LOG("WORLD: CMSG_AUCTION_LIST_OWNER_ITEMS"); ObjectGuid auctioneerGuid; uint32 listfrom; @@ -627,7 +627,7 @@ void WorldSession::HandleAuctionListOwnerItems(WorldPacket& recv_data) // this void is called when player clicks on search button void WorldSession::HandleAuctionListItems(WorldPacket& recv_data) { - DEBUG_LOG("WORLD: HandleAuctionListItems"); + DEBUG_LOG("WORLD: CMSG_AUCTION_LIST_ITEMS"); ObjectGuid auctioneerGuid; std::string searchedname; @@ -716,7 +716,7 @@ void WorldSession::HandleAuctionListItems(WorldPacket& recv_data) void WorldSession::HandleAuctionListPendingSales(WorldPacket& recv_data) { - DEBUG_LOG("CMSG_AUCTION_LIST_PENDING_SALES"); + DEBUG_LOG("WORLD: CMSG_AUCTION_LIST_PENDING_SALES"); ObjectGuid auctioneerGuid; diff --git a/src/game/WorldHandlers/ChatHandler.cpp b/src/game/WorldHandlers/ChatHandler.cpp index ab619a8d5..a1740e5b3 100644 --- a/src/game/WorldHandlers/ChatHandler.cpp +++ b/src/game/WorldHandlers/ChatHandler.cpp @@ -84,7 +84,7 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recv_data) case CMSG_MESSAGECHAT_EMOTE: type = CHAT_MSG_EMOTE; break; case CMSG_MESSAGECHAT_PARTY: type = CHAT_MSG_PARTY; break; case CMSG_MESSAGECHAT_RAID: type = CHAT_MSG_RAID; break; - case CMSG_MESSAGECHAT_BATTLEGROUND: type = CHAT_MSG_BATTLEGROUND; break; + case CMSG_MESSAGECHAT_INSTANCE: type = CHAT_MSG_BATTLEGROUND; break; case CMSG_MESSAGECHAT_RAID_WARNING: type = CHAT_MSG_RAID_WARNING; break; default: sLog.outError("HandleMessagechatOpcode : Unknown chat opcode (0x%X)", recv_data.GetOpcode()); @@ -713,7 +713,7 @@ void WorldSession::HandleAddonMessagechatOpcode(WorldPacket& recv_data) switch (recv_data.GetOpcode()) { - case CMSG_MESSAGECHAT_ADDON_BATTLEGROUND: type = CHAT_MSG_BATTLEGROUND; break; + case CMSG_MESSAGECHAT_ADDON_INSTANCE: type = CHAT_MSG_BATTLEGROUND; break; case CMSG_MESSAGECHAT_ADDON_GUILD: type = CHAT_MSG_GUILD; break; case CMSG_MESSAGECHAT_ADDON_OFFICER: type = CHAT_MSG_OFFICER; break; case CMSG_MESSAGECHAT_ADDON_PARTY: type = CHAT_MSG_PARTY; break; diff --git a/src/game/WorldHandlers/SpellAuraDefines.h b/src/game/WorldHandlers/SpellAuraDefines.h index f622ad8b0..e2d8d12f6 100644 --- a/src/game/WorldHandlers/SpellAuraDefines.h +++ b/src/game/WorldHandlers/SpellAuraDefines.h @@ -85,6 +85,9 @@ enum AuraType * 50 the attackspeed will increase by 50% */ SPELL_AURA_MOD_ATTACKSPEED = 9, + //This doesn't make sense if you look at SpellAuras.cpp:2696 + //Where a bitwise check is made, but the SpellSchools enum is just + //a normal enumeration, not in the style: 1 2 4 8 ... /** * Modifies the threat that the Aura does in percent, * the Modifier::m_miscvalue decides which of the SpellSchools @@ -516,7 +519,49 @@ enum AuraType SPELL_AURA_368 = 368, SPELL_AURA_369 = 369, SPELL_AURA_370 = 370, - TOTAL_AURAS = 371, + SPELL_AURA_371 = 371, + SPELL_AURA_372 = 372, + SPELL_AURA_373 = 373, + SPELL_AURA_374 = 374, + SPELL_AURA_375 = 375, + SPELL_AURA_376 = 376, + SPELL_AURA_377 = 377, + SPELL_AURA_378 = 378, + SPELL_AURA_379 = 379, + SPELL_AURA_380 = 380, + SPELL_AURA_381 = 381, + SPELL_AURA_382 = 382, + SPELL_AURA_383 = 383, + SPELL_AURA_384 = 384, + SPELL_AURA_385 = 385, + SPELL_AURA_386 = 386, + SPELL_AURA_387 = 387, + SPELL_AURA_388 = 388, + SPELL_AURA_389 = 389, + SPELL_AURA_390 = 390, + SPELL_AURA_391 = 391, + SPELL_AURA_392 = 392, + SPELL_AURA_393 = 393, + SPELL_AURA_394 = 394, + SPELL_AURA_395 = 395, + SPELL_AURA_396 = 396, + SPELL_AURA_397 = 397, + SPELL_AURA_398 = 398, + SPELL_AURA_399 = 399, + SPELL_AURA_400 = 400, + SPELL_AURA_401 = 401, + SPELL_AURA_402 = 402, + SPELL_AURA_403 = 403, + SPELL_AURA_404 = 404, + SPELL_AURA_405 = 405, + SPELL_AURA_406 = 406, + SPELL_AURA_407 = 407, + SPELL_AURA_408 = 408, + SPELL_AURA_409 = 409, + SPELL_AURA_410 = 410, + SPELL_AURA_411 = 411, + SPELL_AURA_412 = 412, + TOTAL_AURAS = 413, }; enum AreaAuraType diff --git a/src/game/WorldHandlers/SpellAuras.cpp b/src/game/WorldHandlers/SpellAuras.cpp index ae4ad5294..853140b36 100644 --- a/src/game/WorldHandlers/SpellAuras.cpp +++ b/src/game/WorldHandlers/SpellAuras.cpp @@ -431,9 +431,51 @@ pAuraHandler AuraHandler[TOTAL_AURAS] = &Aura::HandleNULL, //365 1 spells in 4.3.4 Max Far Clip Plane &Aura::HandleOverrideSpellPowerByAp, //366 SPELL_AURA_OVERRIDE_SPELL_POWER_BY_AP_PCT 1 spells in 4.3.4 &Aura::HandleNULL, //367 2 spells in 4.3.4 test spells - &Aura::HandleUnused, //368 0 spells in 4.3.4 + &Aura::HandleNULL, //368 2 spells in 5.1.0 &Aura::HandleNULL, //369 5 spells in 4.3.4 darkmoon faire related - &Aura::HandleNULL //370 1 spells in 4.3.4 Fair Far Clip + &Aura::HandleNULL, //370 1 spells in 4.3.4 Fair Far Clip + &Aura::HandleUnused, //368 0 spells in 4.3.4 + &Aura::HandleUnused, //372 0 spells in 5.1.0 + &Aura::HandleNULL, //369 5 spells in 4.3.4 darkmoon faire related + &Aura::HandleNULL, //374 3 spells in 5.1.0 + &Aura::HandleUnused, //375 0 spells in 5.1.0 + &Aura::HandleNULL, //376 2 spells in 5.1.0 + &Aura::HandleNULL, //377 2 spells in 5.1.0 + &Aura::HandleNULL, //378 1 spells in 5.1.0 + &Aura::HandleNULL, //379 6 spells in 5.1.0 + &Aura::HandleUnused, //380 0 spells in 5.1.0 + &Aura::HandleNULL, //381 1 spells in 5.1.0 + &Aura::HandleNULL, //382 6 spells in 5.1.0 + &Aura::HandleNULL, //383 2 spells in 5.1.0 + &Aura::HandleUnused, //384 0 spells in 5.1.0 + &Aura::HandleNULL, //385 3 spells in 5.1.0 + &Aura::HandleNULL, //386 1 spells in 5.1.0 + &Aura::HandleNULL, //387 1 spells in 5.1.0 + &Aura::HandleNULL, //388 1 spells in 5.1.0 + &Aura::HandleNULL, //389 1 spells in 5.1.0 + &Aura::HandleUnused, //390 0 spells in 5.1.0 + &Aura::HandleUnused, //391 0 spells in 5.1.0 + &Aura::HandleUnused, //392 0 spells in 5.1.0 + &Aura::HandleNULL, //393 7 spells in 5.1.0 + &Aura::HandleNULL, //394 2 spells in 5.1.0 + &Aura::HandleNULL, //395 16 spells in 5.1.0 + &Aura::HandleNULL, //396 6 spells in 5.1.0 + &Aura::HandleNULL, //397 2 spells in 5.1.0 + &Aura::HandleNULL, //398 7 spells in 5.1.0 + &Aura::HandleUnused, //399 0 spells in 5.1.0 + &Aura::HandleNULL, //400 4 spells in 5.1.0 + &Aura::HandleNULL, //401 3 spells in 5.1.0 + &Aura::HandleNULL, //402 2 spells in 5.1.0 + &Aura::HandleNULL, //403 18 spells in 5.1.0 + &Aura::HandleNULL, //404 1 spells in 5.1.0 + &Aura::HandleNULL, //405 4 spells in 5.1.0 + &Aura::HandleNULL, //406 5 spells in 5.1.0 + &Aura::HandleNULL, //407 11 spells in 5.1.0 + &Aura::HandleNULL, //408 14 spells in 5.1.0 + &Aura::HandleUnused, //409 0 spells in 5.1.0 + &Aura::HandleUnused, //410 0 spells in 5.1.0 + &Aura::HandleNULL, //411 3 spells in 5.1.0 + &Aura::HandleNULL, //412 2 spells in 5.1.0 }; static AuraType const frozenAuraTypes[] = { SPELL_AURA_MOD_ROOT, SPELL_AURA_MOD_STUN, SPELL_AURA_NONE }; diff --git a/src/game/WorldHandlers/UnitAuraProcHandler.cpp b/src/game/WorldHandlers/UnitAuraProcHandler.cpp index ef9c74511..3f8d13d4a 100644 --- a/src/game/WorldHandlers/UnitAuraProcHandler.cpp +++ b/src/game/WorldHandlers/UnitAuraProcHandler.cpp @@ -408,7 +408,49 @@ pAuraProcHandler AuraProcHandler[TOTAL_AURAS] = &Unit::HandleNULLProc, //367 2 spells in 4.3.4 test spells &Unit::HandleNULLProc, //368 0 spells in 4.3.4 &Unit::HandleNULLProc, //369 5 spells in 4.3.4 darkmoon faire related - &Unit::HandleNULLProc //370 1 spells in 4.3.4 Fair Far Clip + &Unit::HandleNULLProc, //370 1 spells in 4.3.4 Fair Far Clip + &Unit::HandleNULLProc, //371 0 spells in 5.1.0 + &Unit::HandleNULLProc, //372 0 spells in 5.1.0 + &Unit::HandleNULLProc, //373 8 spells in 5.1.0 + &Unit::HandleNULLProc, //374 3 spells in 5.1.0 + &Unit::HandleNULLProc, //375 0 spells in 5.1.0 + &Unit::HandleNULLProc, //376 2 spells in 5.1.0 + &Unit::HandleNULLProc, //377 2 spells in 5.1.0 + &Unit::HandleNULLProc, //378 1 spells in 5.1.0 + &Unit::HandleNULLProc, //379 6 spells in 5.1.0 + &Unit::HandleNULLProc, //380 0 spells in 5.1.0 + &Unit::HandleNULLProc, //381 1 spells in 5.1.0 + &Unit::HandleNULLProc, //382 6 spells in 5.1.0 + &Unit::HandleNULLProc, //383 2 spells in 5.1.0 + &Unit::HandleNULLProc, //384 0 spells in 5.1.0 + &Unit::HandleNULLProc, //385 3 spells in 5.1.0 + &Unit::HandleNULLProc, //386 1 spells in 5.1.0 + &Unit::HandleNULLProc, //387 1 spells in 5.1.0 + &Unit::HandleNULLProc, //388 1 spells in 5.1.0 + &Unit::HandleNULLProc, //389 1 spells in 5.1.0 + &Unit::HandleNULLProc, //390 0 spells in 5.1.0 + &Unit::HandleNULLProc, //391 0 spells in 5.1.0 + &Unit::HandleNULLProc, //392 0 spells in 5.1.0 + &Unit::HandleNULLProc, //393 7 spells in 5.1.0 + &Unit::HandleNULLProc, //394 2 spells in 5.1.0 + &Unit::HandleNULLProc, //395 16 spells in 5.1.0 + &Unit::HandleNULLProc, //396 6 spells in 5.1.0 + &Unit::HandleNULLProc, //397 2 spells in 5.1.0 + &Unit::HandleNULLProc, //398 7 spells in 5.1.0 + &Unit::HandleNULLProc, //399 0 spells in 5.1.0 + &Unit::HandleNULLProc, //400 4 spells in 5.1.0 + &Unit::HandleNULLProc, //401 3 spells in 5.1.0 + &Unit::HandleNULLProc, //402 2 spells in 5.1.0 + &Unit::HandleNULLProc, //403 18 spells in 5.1.0 + &Unit::HandleNULLProc, //404 1 spells in 5.1.0 + &Unit::HandleNULLProc, //405 4 spells in 5.1.0 + &Unit::HandleNULLProc, //406 5 spells in 5.1.0 + &Unit::HandleNULLProc, //407 11 spells in 5.1.0 + &Unit::HandleNULLProc, //408 14 spells in 5.1.0 + &Unit::HandleNULLProc, //409 0 spells in 5.1.0 + &Unit::HandleNULLProc, //410 0 spells in 5.1.0 + &Unit::HandleNULLProc, //411 3 spells in 5.1.0 + &Unit::HandleNULLProc, //412 2 spells in 5.1.0 }; bool Unit::IsTriggeredAtSpellProcEvent(Unit* pVictim, SpellAuraHolder* holder, SpellEntry const* procSpell, uint32 procFlag, uint32 procExtra, WeaponAttackType attType, bool isVictim, SpellProcEventEntry const*& spellProcEvent) diff --git a/src/game/WorldHandlers/World.cpp b/src/game/WorldHandlers/World.cpp index 2a75c78a1..50e83dba4 100644 --- a/src/game/WorldHandlers/World.cpp +++ b/src/game/WorldHandlers/World.cpp @@ -1693,7 +1693,7 @@ void World::showFooter() modules_.insert(" Warden : Disabled"); } - std::string thisClientVersion ("17128"); + std::string thisClientVersion ("17538"); std::string thisClientBuilds = AcceptableClientBuildsListStr(); std::string sModules; diff --git a/src/tools/Extractor_projects/Movemap-Generator/MapBuilder.cpp b/src/tools/Extractor_projects/Movemap-Generator/MapBuilder.cpp index b3c5056b8..838d3b7c6 100644 --- a/src/tools/Extractor_projects/Movemap-Generator/MapBuilder.cpp +++ b/src/tools/Extractor_projects/Movemap-Generator/MapBuilder.cpp @@ -936,6 +936,8 @@ namespace MMAP case 1113: // Transport: DarkmoonCarousel case 1132: // Transport218599 - The Skybag (Brawl'gar Arena) case 1133: // Transport218600 - Zandalari Ship (Mogu Island) + case 1172: // Transport: Siege of Orgrimmar (Alliance) + case 1173: // Transport: Siege of Orgrimmar (Horde) return true; default: // no transport maps return false; diff --git a/src/tools/Extractor_projects/map-extractor/System.cpp b/src/tools/Extractor_projects/map-extractor/System.cpp index 57a1d616c..ced1f8dd5 100644 --- a/src/tools/Extractor_projects/map-extractor/System.cpp +++ b/src/tools/Extractor_projects/map-extractor/System.cpp @@ -1,4 +1,4 @@ -/** + /** * MaNGOS is a full featured server for World of Warcraft, supporting * the following clients: 1.12.x, 2.4.3, 3.3.5a, 4.3.4a and 5.4.8 * @@ -103,7 +103,7 @@ float CONF_float_to_int16_limit = 2048.0f; // Max accuracy = val/65536 float CONF_flat_height_delta_limit = 0.005f; // If max - min less this value - surface is flat float CONF_flat_liquid_delta_limit = 0.001f; // If max - min less this value - liquid surface is flat -#define MIN_SUPPORTED_BUILD 16357 // code expect mpq files and mpq content files structure for this build or later +#define MIN_SUPPORTED_BUILD 17520 // code expect mpq files and mpq content files structure for this build or later #define EXPANSION_COUNT 4 #define WORLD_COUNT 1 @@ -1185,7 +1185,11 @@ void ExtractMapsFromMpq(uint32 build, const int locale) char output_filename[1024]; char mpq_map_name[1024]; - printf("\n Extracting maps...\n"); + printf("\nExtracting maps...\n"); + if (build==17520) + { + build = 17538; + } uint32 map_count = ReadMapDBC(locale); @@ -1519,6 +1523,10 @@ int main(int argc, char* arg[]) { FirstLocale = i; build = ReadBuild(FirstLocale); + if (build==17520) + { + build = 17538; + } printf("Detected client build: %u\n", build); break; } @@ -1528,6 +1536,10 @@ int main(int argc, char* arg[]) { FirstLocale = i; build = ReadBuild(FirstLocale); + if (build==17520) + { + build = 17538; + } printf("Detected client build: %u\n", build); ExtractDBCFiles(i, true); } diff --git a/src/tools/Extractor_projects/shared/ExtractorCommon.h b/src/tools/Extractor_projects/shared/ExtractorCommon.h index b44b1add7..c7b469f16 100644 --- a/src/tools/Extractor_projects/shared/ExtractorCommon.h +++ b/src/tools/Extractor_projects/shared/ExtractorCommon.h @@ -42,8 +42,8 @@ bool isTransportMap(int mapID); bool shouldSkipMap(int mapID, bool m_skipContinents, bool m_skipJunkMaps, bool m_skipBattlegrounds); -uint32 const Builds[] = {13164, 13205, 13287, 13329, 13596, 13623, 13914, 14007, 14333, 14480, 14545, 15005, 15050, 15211, 15354, 15595, 15890, 16016, 16048, 16057, 16309, 16357, 16516, 16650, 16769, 16844, 16965, 0}; -static uint32 CONF_TargetBuild = 17128; // 5.3.0.17128 +uint32 const Builds[] = {13164, 13205, 13287, 13329, 13596, 13623, 13914, 14007, 14333, 14480, 14545, 15005, 15050, 15211, 15354, 15595, 15890, 16016, 16048, 16057, 16309, 16357, 16516, 16650, 16769, 16844, 16965, 17538, 0}; +static uint32 CONF_TargetBuild = 17538; // 5.4.1.17538 static char const* Locales[] = {"enGB", "enUS", "deDE", "esES", "frFR", "koKR", "zhCN", "zhTW", "enCN", "enTW", "esMX", "ruRU"}; #define LOCALES_COUNT 12