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
|
enum class ChrRacesFlag : int32
|
||||||
{
|
{
|
||||||
NPCOnly = 0x000001,
|
NPCOnly = 0x0000001,
|
||||||
DoNotComponentFeet = 0x000002,
|
DoNotComponentFeet = 0x0000002,
|
||||||
CanMount = 0x000004,
|
CanMount = 0x0000004,
|
||||||
HasBald = 0x000008,
|
HasBald = 0x0000008,
|
||||||
BindToStartingArea = 0x000010,
|
BindToStartingArea = 0x0000010,
|
||||||
AlternateForm = 0x000020,
|
AlternateForm = 0x0000020,
|
||||||
CanMountSelf = 0x000040,
|
CanMountSelf = 0x0000040,
|
||||||
ForceToHDModelIfAvailable = 0x000080,
|
ForceToHDModelIfAvailable = 0x0000080,
|
||||||
ExaltedWithAllVendors = 0x000100,
|
ExaltedWithAllVendors = 0x0000100,
|
||||||
NotSelectable = 0x000200,
|
NotSelectable = 0x0000200,
|
||||||
ReputationBonus = 0x000400,
|
ReputationBonus = 0x0000400,
|
||||||
UseLoincloth = 0x000800,
|
UseLoincloth = 0x0000800,
|
||||||
RestBonus = 0x001000,
|
RestBonus = 0x0001000,
|
||||||
NoStartKits = 0x002000,
|
NoStartKits = 0x0002000,
|
||||||
NoStartingWeapon = 0x004000,
|
NoStartingWeapon = 0x0004000,
|
||||||
DontRedeemAccountLicenses = 0x008000,
|
DontRedeemAccountLicenses = 0x0008000,
|
||||||
SkinVariationIsHairColor = 0x010000,
|
SkinVariationIsHairColor = 0x0010000,
|
||||||
UsePandarenRingForComponentingTexture = 0x020000,
|
UsePandarenRingForComponentingTexture = 0x0020000,
|
||||||
IgnoreForAssetManifestComponentInfoParsing = 0x040000,
|
IgnoreForAssetManifestComponentInfoParsing = 0x0040000,
|
||||||
IsAlliedRace = 0x080000,
|
IsAlliedRace = 0x0080000,
|
||||||
VoidVendorDiscount = 0x100000,
|
VoidVendorDiscount = 0x0100000,
|
||||||
DAMMComponentNoMaleGeneration = 0x200000,
|
DAMMComponentNoMaleGeneration = 0x0200000,
|
||||||
DAMMComponentNoFemaleGeneration = 0x400000,
|
DAMMComponentNoFemaleGeneration = 0x0400000,
|
||||||
NoAssociatedFactionReputationInRaceChange = 0x800000,
|
NoAssociatedFactionReputationInRaceChange = 0x0800000,
|
||||||
InternalOnly = 0x100000,
|
InternalOnly = 0x1000000,
|
||||||
};
|
};
|
||||||
|
|
||||||
DEFINE_ENUM_FLAG(ChrRacesFlag);
|
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 Player::GetStartLevel(uint8 race, uint8 playerClass, Optional<int32> characterTemplateId) const
|
||||||
{
|
{
|
||||||
uint8 startLevel = sWorld->getIntConfig(CONFIG_START_PLAYER_LEVEL);
|
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);
|
startLevel = sWorld->getIntConfig(CONFIG_START_ALLIED_RACE_LEVEL);
|
||||||
|
|
||||||
if (playerClass == CLASS_DEATH_KNIGHT)
|
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)
|
else if (playerClass == CLASS_DEMON_HUNTER)
|
||||||
startLevel = std::max<uint8>(sWorld->getIntConfig(CONFIG_START_DEMON_HUNTER_PLAYER_LEVEL), startLevel);
|
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)
|
if (characterTemplateId)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -796,7 +796,6 @@ void World::LoadConfigSettings(bool reload)
|
|||||||
{ .Name = "StartPlayerLevel"sv, .DefaultValue = 1, .Index = CONFIG_START_PLAYER_LEVEL, .Min = 1 },
|
{ .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 = "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 = "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 = "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.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 },
|
{ .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_PLAYER_LEVEL, "StartPlayerLevel");
|
||||||
validateStartLevel(CONFIG_START_DEATH_KNIGHT_PLAYER_LEVEL, "StartDeathKnightPlayerLevel");
|
validateStartLevel(CONFIG_START_DEATH_KNIGHT_PLAYER_LEVEL, "StartDeathKnightPlayerLevel");
|
||||||
validateStartLevel(CONFIG_START_DEMON_HUNTER_PLAYER_LEVEL, "StartDemonHunterPlayerLevel");
|
validateStartLevel(CONFIG_START_DEMON_HUNTER_PLAYER_LEVEL, "StartDemonHunterPlayerLevel");
|
||||||
validateStartLevel(CONFIG_START_EVOKER_PLAYER_LEVEL, "StartEvokerPlayerLevel");
|
validateStartLevel(CONFIG_START_ALLIED_RACE_LEVEL, "StartAlliedRacePlayerLevel");
|
||||||
validateStartLevel(CONFIG_START_ALLIED_RACE_LEVEL, "StartDemonHunterPlayerLevel");
|
|
||||||
validateStartLevel(CONFIG_MAX_RECRUIT_A_FRIEND_BONUS_PLAYER_LEVEL, "RecruitAFriend.MaxLevel");
|
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])
|
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_PLAYER_LEVEL,
|
||||||
CONFIG_START_DEATH_KNIGHT_PLAYER_LEVEL,
|
CONFIG_START_DEATH_KNIGHT_PLAYER_LEVEL,
|
||||||
CONFIG_START_DEMON_HUNTER_PLAYER_LEVEL,
|
CONFIG_START_DEMON_HUNTER_PLAYER_LEVEL,
|
||||||
CONFIG_START_EVOKER_PLAYER_LEVEL,
|
|
||||||
CONFIG_START_ALLIED_RACE_LEVEL,
|
CONFIG_START_ALLIED_RACE_LEVEL,
|
||||||
CONFIG_CURRENCY_RESET_HOUR,
|
CONFIG_CURRENCY_RESET_HOUR,
|
||||||
CONFIG_CURRENCY_RESET_DAY,
|
CONFIG_CURRENCY_RESET_DAY,
|
||||||
|
|||||||
Reference in New Issue
Block a user