From 20f6f587ee925ab352da34a53ff3be6c087bccd2 Mon Sep 17 00:00:00 2001 From: Salja Date: Mon, 17 Feb 2020 14:16:27 +0000 Subject: [PATCH] Some Basic Updates for MOP 5.1.0 Build 16357 --- src/game/Server/DBCStores.cpp | 11 ++++++----- src/game/Server/DBCStores.h | 1 + src/game/Server/SharedDefines.h | 34 ++++++++++++++++++++------------ src/game/WorldHandlers/World.cpp | 4 ++-- src/mangosd/mangosd.conf.dist.in | 10 ++++++---- 5 files changed, 36 insertions(+), 24 deletions(-) diff --git a/src/game/Server/DBCStores.cpp b/src/game/Server/DBCStores.cpp index 3bab3518c..8374aa8bf 100644 --- a/src/game/Server/DBCStores.cpp +++ b/src/game/Server/DBCStores.cpp @@ -905,11 +905,11 @@ void LoadDBCStores(const std::string& dataPath) } // Check loaded DBC files proper version - if (!sAreaStore.LookupEntry(4713) || // last area (areaflag) added in 4.3.4 - !sCharTitlesStore.LookupEntry(287) || // last char title added in 4.3.4 - !sGemPropertiesStore.LookupEntry(2250) || // last gem property added in 4.3.4 - !sMapStore.LookupEntry(980) || // last map added in 4.3.4 - !sSpellStore.LookupEntry(121820) ) // last added spell in 4.3.4 + 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 { sLog.outError("\nYou have mixed version DBC files. Please re-extract DBC files for one from client build: %s", AcceptableClientBuildsListStr().c_str()); Log::WaitBeforeContinueIfNeed(); @@ -1076,6 +1076,7 @@ ContentLevels GetContentLevelsForMap(uint32 mapid) case 1: return CONTENT_61_70; case 2: return CONTENT_71_80; case 3: return CONTENT_81_85; + case 4: return CONTENT_86_90; } } diff --git a/src/game/Server/DBCStores.h b/src/game/Server/DBCStores.h index e249b85a4..f0ec08119 100644 --- a/src/game/Server/DBCStores.h +++ b/src/game/Server/DBCStores.h @@ -68,6 +68,7 @@ enum ContentLevels CONTENT_61_70, CONTENT_71_80, CONTENT_81_85, + CONTENT_86_90, }; ContentLevels GetContentLevelsForMapAndZone(uint32 mapId, uint32 zoneId); diff --git a/src/game/Server/SharedDefines.h b/src/game/Server/SharedDefines.h index a235b7646..407ccb397 100644 --- a/src/game/Server/SharedDefines.h +++ b/src/game/Server/SharedDefines.h @@ -65,26 +65,33 @@ enum Races RACE_TAUNKA = 19, RACE_NORTHREND_SKELETON = 20, RACE_ICE_TROLL = 21, - RACE_WORGEN = 22 + RACE_WORGEN = 22, + RACE_HUMAN_GILNEAN = 23, + RACE_PANDAREN_NEUTRAL = 24, + RACE_PANDAREN_ALLI = 25, + RACE_PANDAREN_HORDE = 26 }; // max+1 for player race -#define MAX_RACES 23 +#define MAX_RACES 27 #define RACEMASK_ALL_PLAYABLE \ ((1<<(RACE_HUMAN-1)) |(1<<(RACE_ORC-1)) |(1<<(RACE_DWARF-1)) | \ (1<<(RACE_NIGHTELF-1)) |(1<<(RACE_UNDEAD-1)) |(1<<(RACE_TAUREN-1)) | \ (1<<(RACE_GNOME-1)) |(1<<(RACE_TROLL-1)) |(1<<(RACE_BLOODELF-1))| \ - (1<<(RACE_DRAENEI-1)) |(1<<(RACE_GOBLIN-1)) |(1<<(RACE_WORGEN-1))) + (1<<(RACE_DRAENEI-1)) |(1<<(RACE_GOBLIN-1)) |(1<<(RACE_WORGEN-1)) | \ + (1<<(RACE_PANDAREN_NEUTRAL-1))|(1<<(RACE_PANDAREN_ALLI-1))|(1<<(RACE_PANDAREN_HORDE-1))) // for most cases batter use ChrRace data for team check as more safe, but when need full mask of team can be use this defines. #define RACEMASK_ALLIANCE \ ((1<<(RACE_HUMAN-1)) |(1<<(RACE_DWARF-1)) |(1<<(RACE_NIGHTELF-1))| \ - (1<<(RACE_GNOME-1)) |(1<<(RACE_DRAENEI-1)) |(1<<(RACE_WORGEN-1))) + (1<<(RACE_GNOME-1)) |(1<<(RACE_DRAENEI-1)) |(1<<(RACE_WORGEN-1)) | \ + (1<<(RACE_PANDAREN_NEUTRAL-1)) | (1<<(RACE_PANDAREN_ALLI-1))) #define RACEMASK_HORDE \ - ((1<<(RACE_ORC-1)) |(1<<(RACE_UNDEAD-1)) |(1<<(RACE_TAUREN-1)) | \ - (1<<(RACE_TROLL-1)) |(1<<(RACE_BLOODELF-1)) |(1<<(RACE_GOBLIN-1))) + ((1<<(RACE_ORC-1)) |(1<<(RACE_UNDEAD-1)) |(1<<(RACE_TAUREN-1)) | \ + (1<<(RACE_TROLL-1)) |(1<<(RACE_BLOODELF-1)) |(1<<(RACE_GOBLIN-1)) | \ + (1<<(RACE_PANDAREN_NEUTRAL-1)) | (1<<(RACE_PANDAREN_HORDE-1))) // Class value is index in ChrClasses.dbc enum Classes @@ -98,7 +105,7 @@ enum Classes CLASS_SHAMAN = 7, CLASS_MAGE = 8, CLASS_WARLOCK = 9, - // CLASS_UNK2 = 10,unused + CLASS_MONK = 10, CLASS_DRUID = 11, }; @@ -109,7 +116,7 @@ enum Classes ((1<<(CLASS_WARRIOR-1))|(1<<(CLASS_PALADIN-1))|(1<<(CLASS_HUNTER-1))| \ (1<<(CLASS_ROGUE-1)) |(1<<(CLASS_PRIEST-1)) |(1<<(CLASS_SHAMAN-1))| \ (1<<(CLASS_MAGE-1)) |(1<<(CLASS_WARLOCK-1))|(1<<(CLASS_DRUID-1)) | \ - (1<<(CLASS_DEATH_KNIGHT-1)) ) + (1<<(CLASS_DEATH_KNIGHT-1)) |(1<<(CLASS_MONK-1))) #define CLASSMASK_ALL_CREATURES ((1<<(CLASS_WARRIOR-1)) | (1<<(CLASS_PALADIN-1)) | (1<<(CLASS_ROGUE-1)) | (1<<(CLASS_MAGE-1)) ) #define MAX_CREATURE_CLASS 4 @@ -3767,10 +3774,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 and WoW:Cataclysm 4.3.4 client build 15595... +// will only support WoW, WoW:TBC, WoW:WotLK , WoW:Cataclysm and WoW:MOP 5.1.0 client build 16357... -#define EXPECTED_MANGOSD_CLIENT_BUILD {15595, 0} -#define EXPECTED_MANGOSD_CLIENT_VERSION "4.3.4" +#define EXPECTED_MANGOSD_CLIENT_BUILD {16357, 0} // max supported expansion level in mangosd // NOTE: not set it more that supported by targeted client version with all expansions installed @@ -3783,9 +3789,10 @@ enum Expansions EXPANSION_TBC = 1, // TBC EXPANSION_WOTLK = 2, // WotLK EXPANSION_CATA = 3, // Cataclysm + EXPANSION_MOP = 4, // Mists of Pandaria }; -#define MAX_EXPANSION 3 +#define MAX_EXPANSION 4 // Maxlevel for expansion enum MaxLevel @@ -3794,9 +3801,10 @@ enum MaxLevel MAX_LEVEL_TBC = 70, MAX_LEVEL_WOTLK = 80, MAX_LEVEL_CATACLYSM = 85, + MAX_LEVEL_MOP = 90 }; -static const MaxLevel maxLevelForExpansion[MAX_EXPANSION + 1] = { MAX_LEVEL_CLASSIC, MAX_LEVEL_TBC, MAX_LEVEL_WOTLK, MAX_LEVEL_CATACLYSM }; +static const MaxLevel maxLevelForExpansion[MAX_EXPANSION + 1] = { MAX_LEVEL_CLASSIC, MAX_LEVEL_TBC, MAX_LEVEL_WOTLK, MAX_LEVEL_CATACLYSM , MAX_LEVEL_MOP }; // Max creature level (included some bosses and elite) #define DEFAULT_MAX_CREATURE_LEVEL 90 diff --git a/src/game/WorldHandlers/World.cpp b/src/game/WorldHandlers/World.cpp index 4eaa48d99..e0d9a8096 100644 --- a/src/game/WorldHandlers/World.cpp +++ b/src/game/WorldHandlers/World.cpp @@ -314,9 +314,9 @@ World::AddSession_(WorldSession* s) packet.WriteBit(true); // has account info packet << uint32(0); // Unknown - 4.3.2 - packet << uint8(s->Expansion()); // 0 - normal, 1 - TBC, 2 - WotLK, 3 - CT. must be set in database manually for each account + packet << uint8(s->Expansion()); // 0 - normal, 1 - TBC, 2 - WotLK, 3 - Cata, 4 - MOP. must be set in database manually for each account packet << uint32(0); // BillingTimeRemaining - packet << uint8(s->Expansion()); // 0 - normal, 1 - TBC, 2 - WotLK, 3 - CT. Must be set in database manually for each account. + packet << uint8(s->Expansion()); // 0 - normal, 1 - TBC, 2 - WotLK, 3 - Cata, 4 - MOP. Must be set in database manually for each account. packet << uint32(0); // BillingTimeRested packet << uint8(0); // BillingPlanFlags packet << uint8(AUTH_OK); diff --git a/src/mangosd/mangosd.conf.dist.in b/src/mangosd/mangosd.conf.dist.in index 98256d60e..2feeb015d 100644 --- a/src/mangosd/mangosd.conf.dist.in +++ b/src/mangosd/mangosd.conf.dist.in @@ -463,7 +463,9 @@ SD3ErrorLogFile = "scriptdev3-errors.log" # # Expansion # Allow server use content from expansion -# Default: 3 - check expansion 3 maps existence, and if client support expansion 3 and account have +# Default: 4 - check expansion 4 maps existence, and if client support expansion 4 and account have +# expansion 4 setting then allow visit expansion 4 maps, allow create new race and class character) +# 3 - check expansion 3 maps existence, and if client support expansion 3 and account have # expansion 3 setting then allow visit expansion 3 maps, allow create new race and class character) # 2 - check expansion 2 maps existence, and if client support expansion 2 and account have # expansion 2 setting then allow visit expansion 2 maps, allow create new class character) @@ -560,7 +562,7 @@ SD3ErrorLogFile = "scriptdev3-errors.log" # MaxPlayerLevel # Max level that can be reached by a player for experience (in range from 1 to 100). # Change not recommended -# Default: 85 +# Default: 90 # # StartPlayerLevel # Staring level that have character at creating (in range 1 to MaxPlayerLevel) @@ -805,7 +807,7 @@ SD3ErrorLogFile = "scriptdev3-errors.log" GameType = 1 RealmZone = 1 -Expansion = 3 +Expansion = 4 DBC.Locale = 255 DeclinedNames = 0 StrictPlayerNames = 0 @@ -820,7 +822,7 @@ CharactersPerRealm = 10 HeroicCharactersPerRealm = 1 MinLevelForHeroicCharacterCreating = 55 SkipCinematics = 0 -MaxPlayerLevel = 85 +MaxPlayerLevel = 90 StartPlayerLevel = 1 StartHeroicPlayerLevel = 55 StartPlayerMoney = 0