Zepheus.Zone.Game.ZoneCharacter.GiveEXP C# (CSharp) Method

GiveEXP() public method

public GiveEXP ( uint amount, ushort mobid = 0xFFFF ) : void
amount uint
mobid ushort
return void
        public void GiveEXP(uint amount, ushort mobid = 0xFFFF)
        {
            if (Level == DataProvider.Instance.ExpTable.Count) return; // No overleveling
            if (Exp + amount < 0)
            {
                Exp = long.MaxValue;
            }
            else
            {
                Exp += amount;
            }

            Handler9.SendGainEXP(this, amount, mobid);

            while (true)
            {
                if ((ulong)this.Exp >= DataProvider.Instance.GetMaxExpForLevel(Level))
                {
                    LevelUP(mobid); // Auto levels
                }
                else
                {
                    break;
                }
            }
        }

Usage Example

Example #1
0
 private void ExpGet(ZoneCharacter character, params string[] param)
 {
     uint exp = param.Length >= 2 ? uint.Parse(param[1]) : 1234567;
     character.GiveEXP(exp);
 }