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) {
|
bool Player::CheckLevelStatus(int16 new_level) {
|
||||||
int16 LevelCap = rule_manager.GetGlobalRule(R_Player, MaxLevel)->GetInt16();
|
int16 LevelCap = rule_manager.GetGlobalRule(R_Player, MaxLevel)->GetInt16();
|
||||||
int16 LevelCapOverrideStatus = rule_manager.GetGlobalRule(R_Player, MaxLevelOverrideStatus)->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 false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user