IncreaseExperience
public void IncreaseExperience(ServerSockets.Packet stream, double Experience, Enums.ExperienceEffect effect = Enums.ExperienceEffect.None) { if (Entity.CursedTimer > 2) { return; } if (Entity.Level < 140) { Experience *= Constants.ExtraExperienceRate; Experience += Experience * Entity.Gems[3] / 100; if (Entity.DoubleExperienceTime > 0) Experience *= 2; if (Entity.MapID == 1039) Experience /= 100; Entity.Experience += (ulong)Experience; byte level = Entity.Level; while (Entity.Experience >= Database.DataHolder.LevelExperience(Entity.Level) && Entity.Level < 140) { Entity.Experience -= Database.DataHolder.LevelExperience(Entity.Level); level++; if (level >= 140) { Entity.Experience = 0; } } UpdateLevel(stream, level); Entity.Level = level; UpdateRebornLastLevel(stream); Entity.SendUpdate(stream, (long)Entity.Experience, Game.MsgServer.MsgUpdate.DataType.Experience, false); } }
static ulong[] levelExperience = new ulong public static ulong LevelExperience(byte Level)