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;
}
}
}