Some Basic Updates for MOP 5.1.0 Build 16357

This commit is contained in:
Salja 2020-02-17 14:16:27 +00:00 committed by Antz
parent 090f8b8aba
commit 20f6f587ee
5 changed files with 36 additions and 24 deletions

View file

@ -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;
}
}

View file

@ -68,6 +68,7 @@ enum ContentLevels
CONTENT_61_70,
CONTENT_71_80,
CONTENT_81_85,
CONTENT_86_90,
};
ContentLevels GetContentLevelsForMapAndZone(uint32 mapId, uint32 zoneId);

View file

@ -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

View file

@ -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);

View file

@ -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