private bool LevelUp() { if (!SurvivaLevelMetadataStorage.LevelExist(Level + 1)) { return(false); } Level++; return(true); }
public void AddExp(GameSession session, long amount) { if (amount <= 0 || !SurvivaLevelMetadataStorage.LevelExist(Level + 1)) { return; } long newExp = Exp + amount; while (newExp >= SurvivaLevelMetadataStorage.GetExpToNextLevel(Level)) { newExp -= SurvivaLevelMetadataStorage.GetExpToNextLevel(Level); if (!LevelUp()) // If can't level up because next level doesn't exist, exit the loop { newExp = 0; break; } } Exp = newExp; session.Send(MushkingRoyaleSystemPacket.LoadStats(this, newExp)); }