Fix #8 info struct has a int16 max_level, when set greater than 0 will restrict the max level a player can reach (does not impact already set level or GM commands, lua changelevel, only XP gain for Adventure/Tradeskill level)
This commit is contained in:
parent
73e9e01ae9
commit
c861e103d9
@ -6096,7 +6096,8 @@ map<string, int8>* Player::GetIgnoredPlayers(){
|
||||
bool Player::CheckLevelStatus(int16 new_level) {
|
||||
int16 LevelCap = rule_manager.GetGlobalRule(R_Player, MaxLevel)->GetInt16();
|
||||
int16 LevelCapOverrideStatus = rule_manager.GetGlobalRule(R_Player, MaxLevelOverrideStatus)->GetInt16();
|
||||
if ( GetClient() && (LevelCap < new_level) && (LevelCapOverrideStatus > GetClient()->GetAdminStatus()) )
|
||||
int16 MaxLevelPlayer = GetInfoStruct()->get_max_level();
|
||||
if ( GetClient() && (LevelCap < new_level) && (LevelCapOverrideStatus > GetClient()->GetAdminStatus()) && (MaxLevelPlayer < 1 || MaxLevelPlayer < new_level) )
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user