mirror of
https://github.com/araxiaonline/TrinityCore.git
synced 2026-06-13 03:32:28 -04:00
Core/Misc: Replace DEFAULT_MAX_LEVEL with GetMaxLevelForExpansion and update MaxPlayerLevel to 90
This commit is contained in:
@@ -162,7 +162,7 @@ void BattlegroundMgr::BuildBattlegroundStatusHeader(WorldPackets::Battleground::
|
||||
header->Ticket.Time = joinTime;
|
||||
header->QueueID.push_back(queueId.GetPacked());
|
||||
header->RangeMin = 0; // seems to always be 0
|
||||
header->RangeMax = DEFAULT_MAX_LEVEL; // alwyas max level of current expansion. Might be limited to account
|
||||
header->RangeMax = GetMaxLevelForExpansion(CURRENT_EXPANSION); // alwyas max level of current expansion. Might be limited to account
|
||||
header->TeamSize = queueId.TeamSize;
|
||||
header->InstanceID = 0; // seems to always be 0
|
||||
header->RegisteredMatch = queueId.Rated;
|
||||
|
||||
@@ -41,17 +41,11 @@ struct DBCPosition3D
|
||||
|
||||
enum LevelLimit
|
||||
{
|
||||
// Client expected level limitation, like as used in DBC item max levels for "until max player level"
|
||||
// use as default max player level, must be fit max level for used client
|
||||
// also see MAX_LEVEL and STRONG_MAX_LEVEL define
|
||||
DEFAULT_MAX_LEVEL = 80,
|
||||
|
||||
// client supported max level for player/pets/etc. Avoid overflow or client stability affected.
|
||||
// also see GT_MAX_LEVEL define
|
||||
MAX_LEVEL = 123,
|
||||
|
||||
// Server side limitation. Base at used code requirements.
|
||||
// also see MAX_LEVEL and GT_MAX_LEVEL define
|
||||
// also see MAX_LEVEL
|
||||
STRONG_MAX_LEVEL = 255,
|
||||
};
|
||||
|
||||
|
||||
@@ -2408,7 +2408,7 @@ void Player::InitStatsForLevel(bool reapplyMods)
|
||||
|
||||
uint8 exp_max_lvl = GetMaxLevelForExpansion(GetSession()->GetExpansion());
|
||||
uint8 conf_max_lvl = sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL);
|
||||
if (exp_max_lvl == DEFAULT_MAX_LEVEL || exp_max_lvl >= conf_max_lvl)
|
||||
if (exp_max_lvl == GetMaxLevelForExpansion(CURRENT_EXPANSION) || exp_max_lvl >= conf_max_lvl)
|
||||
SetUpdateFieldValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::MaxLevel), conf_max_lvl);
|
||||
else
|
||||
SetUpdateFieldValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::MaxLevel), exp_max_lvl);
|
||||
@@ -10845,7 +10845,7 @@ InventoryResult Player::CanEquipItem(uint8 slot, uint16 &dest, Item* pItem, bool
|
||||
if (pItem->GetQuality() == ITEM_QUALITY_HEIRLOOM)
|
||||
requiredLevels = sDB2Manager.GetContentTuningData(pItem->GetScalingContentTuningId(), {}, true);
|
||||
|
||||
if (requiredLevels && requiredLevels->MaxLevel < DEFAULT_MAX_LEVEL && requiredLevels->MaxLevel < GetLevel() && !sDB2Manager.GetHeirloomByItemId(pProto->GetId()))
|
||||
if (requiredLevels && static_cast<uint32>(requiredLevels->MaxLevel) < GetMaxLevelForExpansion(CURRENT_EXPANSION) && requiredLevels->MaxLevel < GetLevel() && !sDB2Manager.GetHeirloomByItemId(pProto->GetId()))
|
||||
return EQUIP_ERR_NOT_EQUIPPABLE;
|
||||
|
||||
uint8 eslot = FindEquipSlot(pItem, slot, swap);
|
||||
@@ -25601,8 +25601,9 @@ bool Player::GetBGAccessByLevel(BattlegroundTypeId bgTypeId) const
|
||||
|
||||
// limit check leel to dbc compatible level range
|
||||
uint32 level = GetLevel();
|
||||
if (level > DEFAULT_MAX_LEVEL)
|
||||
level = DEFAULT_MAX_LEVEL;
|
||||
uint32 maxLevel = GetMaxLevelForExpansion(CURRENT_EXPANSION);
|
||||
if (level > maxLevel)
|
||||
level = maxLevel;
|
||||
|
||||
if (level < bg->GetMinLevel() || level > bg->GetMaxLevel())
|
||||
return false;
|
||||
|
||||
@@ -10132,7 +10132,8 @@ void ObjectMgr::LoadCreatureClassLevelStats()
|
||||
}
|
||||
while (result->NextRow());
|
||||
|
||||
for (uint8 unitLevel = 1; unitLevel <= DEFAULT_MAX_LEVEL + 3; ++unitLevel)
|
||||
uint32 maxLevel = GetMaxLevelForExpansion(CURRENT_EXPANSION);
|
||||
for (uint8 unitLevel = 1; unitLevel <= maxLevel + 3; ++unitLevel)
|
||||
{
|
||||
for (uint8 unitClass = 1; unitClass <= MAX_UNIT_CLASSES; ++unitClass)
|
||||
{
|
||||
|
||||
@@ -745,7 +745,7 @@ void World::LoadConfigSettings(bool reload)
|
||||
{ .Name = "CharacterCreating.MinLevelForDemonHunter"sv, .DefaultValue = 0, .Index = CONFIG_CHARACTER_CREATING_MIN_LEVEL_FOR_DEMON_HUNTER },
|
||||
{ .Name = "CharacterCreating.MinLevelForEvoker"sv, .DefaultValue = 50, .Index = CONFIG_CHARACTER_CREATING_MIN_LEVEL_FOR_EVOKER },
|
||||
{ .Name = "SkipCinematics"sv, .DefaultValue = 0, .Index = CONFIG_SKIP_CINEMATICS, .Min = 0, .Max = 2 },
|
||||
{ .Name = "MaxPlayerLevel"sv, .DefaultValue = DEFAULT_MAX_LEVEL, .Index = CONFIG_MAX_PLAYER_LEVEL, .Min = 1, .Max = MAX_LEVEL, .Reloadable = false },
|
||||
{ .Name = "MaxPlayerLevel"sv, .DefaultValue = GetMaxLevelForExpansion(CURRENT_EXPANSION), .Index = CONFIG_MAX_PLAYER_LEVEL, .Min = 1, .Max = MAX_LEVEL, .Reloadable = false },
|
||||
{ .Name = "MinDualSpecLevel"sv, .DefaultValue = 40, .Index = CONFIG_MIN_DUALSPEC_LEVEL },
|
||||
{ .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 },
|
||||
@@ -755,7 +755,7 @@ void World::LoadConfigSettings(bool reload)
|
||||
{ .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.ResetInterval"sv, .DefaultValue = 7, .Index = CONFIG_CURRENCY_RESET_INTERVAL, .Min = 1 },
|
||||
{ .Name = "RecruitAFriend.MaxLevel"sv, .DefaultValue = DEFAULT_MAX_LEVEL, .Index = CONFIG_MAX_RECRUIT_A_FRIEND_BONUS_PLAYER_LEVEL, .Min = 1 },
|
||||
{ .Name = "RecruitAFriend.MaxLevel"sv, .DefaultValue = GetMaxLevelForExpansion(CURRENT_EXPANSION), .Index = CONFIG_MAX_RECRUIT_A_FRIEND_BONUS_PLAYER_LEVEL, .Min = 1 },
|
||||
{ .Name = "RecruitAFriend.MaxDifference"sv, .DefaultValue = 4, .Index = CONFIG_MAX_RECRUIT_A_FRIEND_BONUS_PLAYER_LEVEL_DIFFERENCE },
|
||||
{ .Name = "ResetSchedule.WeekDay"sv, .DefaultValue = 2, .Index = CONFIG_RESET_SCHEDULE_WEEK_DAY, .Min = 0, .Max = 6 },
|
||||
{ .Name = "ResetSchedule.Hour"sv, .DefaultValue = 8, .Index = CONFIG_RESET_SCHEDULE_HOUR, .Min = 0, .Max = 23 },
|
||||
|
||||
@@ -898,9 +898,9 @@ SkipCinematics = 0
|
||||
# Description: Maximum level that can be reached by players.
|
||||
# Important: Levels beyond 110 are not recommended at all.
|
||||
# Range: 1-255
|
||||
# Default: 80
|
||||
# Default: 90
|
||||
|
||||
MaxPlayerLevel = 80
|
||||
MaxPlayerLevel = 90
|
||||
|
||||
#
|
||||
# MinDualSpecLevel
|
||||
|
||||
Reference in New Issue
Block a user