Core/Players: Fix starting level for non-Evoker Dracthyr

This commit is contained in:
luis
2026-09-24 19:35:58 -03:00
parent 48857018a5
commit dd0d836bd1
4 changed files with 27 additions and 32 deletions
+25 -25
View File
@@ -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);
+1 -3
View File
@@ -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)
{ {
+1 -3
View File
@@ -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])
-1
View File
@@ -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,