Core/Players: Fix starting level for non-Evoker Dracthyr
This commit is contained in:
@@ -348,31 +348,31 @@ enum class ChatChannelRuleset : int32
|
||||
|
||||
enum class ChrRacesFlag : int32
|
||||
{
|
||||
NPCOnly = 0x000001,
|
||||
DoNotComponentFeet = 0x000002,
|
||||
CanMount = 0x000004,
|
||||
HasBald = 0x000008,
|
||||
BindToStartingArea = 0x000010,
|
||||
AlternateForm = 0x000020,
|
||||
CanMountSelf = 0x000040,
|
||||
ForceToHDModelIfAvailable = 0x000080,
|
||||
ExaltedWithAllVendors = 0x000100,
|
||||
NotSelectable = 0x000200,
|
||||
ReputationBonus = 0x000400,
|
||||
UseLoincloth = 0x000800,
|
||||
RestBonus = 0x001000,
|
||||
NoStartKits = 0x002000,
|
||||
NoStartingWeapon = 0x004000,
|
||||
DontRedeemAccountLicenses = 0x008000,
|
||||
SkinVariationIsHairColor = 0x010000,
|
||||
UsePandarenRingForComponentingTexture = 0x020000,
|
||||
IgnoreForAssetManifestComponentInfoParsing = 0x040000,
|
||||
IsAlliedRace = 0x080000,
|
||||
VoidVendorDiscount = 0x100000,
|
||||
DAMMComponentNoMaleGeneration = 0x200000,
|
||||
DAMMComponentNoFemaleGeneration = 0x400000,
|
||||
NoAssociatedFactionReputationInRaceChange = 0x800000,
|
||||
InternalOnly = 0x100000,
|
||||
NPCOnly = 0x0000001,
|
||||
DoNotComponentFeet = 0x0000002,
|
||||
CanMount = 0x0000004,
|
||||
HasBald = 0x0000008,
|
||||
BindToStartingArea = 0x0000010,
|
||||
AlternateForm = 0x0000020,
|
||||
CanMountSelf = 0x0000040,
|
||||
ForceToHDModelIfAvailable = 0x0000080,
|
||||
ExaltedWithAllVendors = 0x0000100,
|
||||
NotSelectable = 0x0000200,
|
||||
ReputationBonus = 0x0000400,
|
||||
UseLoincloth = 0x0000800,
|
||||
RestBonus = 0x0001000,
|
||||
NoStartKits = 0x0002000,
|
||||
NoStartingWeapon = 0x0004000,
|
||||
DontRedeemAccountLicenses = 0x0008000,
|
||||
SkinVariationIsHairColor = 0x0010000,
|
||||
UsePandarenRingForComponentingTexture = 0x0020000,
|
||||
IgnoreForAssetManifestComponentInfoParsing = 0x0040000,
|
||||
IsAlliedRace = 0x0080000,
|
||||
VoidVendorDiscount = 0x0100000,
|
||||
DAMMComponentNoMaleGeneration = 0x0200000,
|
||||
DAMMComponentNoFemaleGeneration = 0x0400000,
|
||||
NoAssociatedFactionReputationInRaceChange = 0x0800000,
|
||||
InternalOnly = 0x1000000,
|
||||
};
|
||||
|
||||
DEFINE_ENUM_FLAG(ChrRacesFlag);
|
||||
|
||||
@@ -25717,7 +25717,7 @@ void Player::ReportedAfkBy(Player* reporter)
|
||||
uint8 Player::GetStartLevel(uint8 race, uint8 playerClass, Optional<int32> characterTemplateId) const
|
||||
{
|
||||
uint8 startLevel = sWorld->getIntConfig(CONFIG_START_PLAYER_LEVEL);
|
||||
if (sChrRacesStore.AssertEntry(race)->GetFlags().HasFlag(ChrRacesFlag::IsAlliedRace))
|
||||
if (sChrRacesStore.AssertEntry(race)->GetFlags().HasFlag(ChrRacesFlag::IsAlliedRace) || race == RACE_DRACTHYR_ALLIANCE || race == RACE_DRACTHYR_HORDE)
|
||||
startLevel = sWorld->getIntConfig(CONFIG_START_ALLIED_RACE_LEVEL);
|
||||
|
||||
if (playerClass == CLASS_DEATH_KNIGHT)
|
||||
@@ -25729,8 +25729,6 @@ uint8 Player::GetStartLevel(uint8 race, uint8 playerClass, Optional<int32> chara
|
||||
}
|
||||
else if (playerClass == CLASS_DEMON_HUNTER)
|
||||
startLevel = std::max<uint8>(sWorld->getIntConfig(CONFIG_START_DEMON_HUNTER_PLAYER_LEVEL), startLevel);
|
||||
else if (playerClass == CLASS_EVOKER)
|
||||
startLevel = std::max<uint8>(sWorld->getIntConfig(CONFIG_START_EVOKER_PLAYER_LEVEL), startLevel);
|
||||
|
||||
if (characterTemplateId)
|
||||
{
|
||||
|
||||
@@ -796,7 +796,6 @@ void World::LoadConfigSettings(bool reload)
|
||||
{ .Name = "StartPlayerLevel"sv, .DefaultValue = 1, .Index = CONFIG_START_PLAYER_LEVEL, .Min = 1 },
|
||||
{ .Name = "StartDeathKnightPlayerLevel"sv, .DefaultValue = 8, .Index = CONFIG_START_DEATH_KNIGHT_PLAYER_LEVEL, .Min = 1 },
|
||||
{ .Name = "StartDemonHunterPlayerLevel"sv, .DefaultValue = 8, .Index = CONFIG_START_DEMON_HUNTER_PLAYER_LEVEL, .Min = 1 },
|
||||
{ .Name = "StartEvokerPlayerLevel"sv, .DefaultValue = 10, .Index = CONFIG_START_EVOKER_PLAYER_LEVEL, .Min = 1 },
|
||||
{ .Name = "StartAlliedRacePlayerLevel"sv, .DefaultValue = 10, .Index = CONFIG_START_ALLIED_RACE_LEVEL, .Min = 1 },
|
||||
{ .Name = "Currency.ResetHour"sv, .DefaultValue = 3, .Index = CONFIG_CURRENCY_RESET_HOUR, .Min = 0, .Max = 23 },
|
||||
{ .Name = "Currency.ResetDay"sv, .DefaultValue = 3, .Index = CONFIG_CURRENCY_RESET_DAY, .Min = 0, .Max = 6 },
|
||||
@@ -1137,8 +1136,7 @@ void World::LoadConfigSettings(bool reload)
|
||||
validateStartLevel(CONFIG_START_PLAYER_LEVEL, "StartPlayerLevel");
|
||||
validateStartLevel(CONFIG_START_DEATH_KNIGHT_PLAYER_LEVEL, "StartDeathKnightPlayerLevel");
|
||||
validateStartLevel(CONFIG_START_DEMON_HUNTER_PLAYER_LEVEL, "StartDemonHunterPlayerLevel");
|
||||
validateStartLevel(CONFIG_START_EVOKER_PLAYER_LEVEL, "StartEvokerPlayerLevel");
|
||||
validateStartLevel(CONFIG_START_ALLIED_RACE_LEVEL, "StartDemonHunterPlayerLevel");
|
||||
validateStartLevel(CONFIG_START_ALLIED_RACE_LEVEL, "StartAlliedRacePlayerLevel");
|
||||
validateStartLevel(CONFIG_MAX_RECRUIT_A_FRIEND_BONUS_PLAYER_LEVEL, "RecruitAFriend.MaxLevel");
|
||||
|
||||
if (m_int_configs[CONFIG_START_GM_LEVEL] < m_int_configs[CONFIG_START_PLAYER_LEVEL])
|
||||
|
||||
@@ -272,7 +272,6 @@ enum WorldIntConfigs : uint32
|
||||
CONFIG_START_PLAYER_LEVEL,
|
||||
CONFIG_START_DEATH_KNIGHT_PLAYER_LEVEL,
|
||||
CONFIG_START_DEMON_HUNTER_PLAYER_LEVEL,
|
||||
CONFIG_START_EVOKER_PLAYER_LEVEL,
|
||||
CONFIG_START_ALLIED_RACE_LEVEL,
|
||||
CONFIG_CURRENCY_RESET_HOUR,
|
||||
CONFIG_CURRENCY_RESET_DAY,
|
||||
|
||||
Reference in New Issue
Block a user