Exemplo n.º 1
0
    private bool LevelUp()
    {
        if (!SurvivaLevelMetadataStorage.LevelExist(Level + 1))
        {
            return(false);
        }

        Level++;
        return(true);
    }
Exemplo n.º 2
0
    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));
    }