public void IncreaseExperience(ServerSockets.Packet stream, double Experience, Enums.ExperienceEffect effect = Enums.ExperienceEffect.None) { if (Entity.CursedTimer > 2) { return; } if (Entity.Level < 140) { Experience = this.ExpBall; if (effect != Enums.ExperienceEffect.None) { //Entity.SendString(stream, Game.MsgServer.MsgStringPacket.StringID.Effect, true, new string[1] { effect.ToString() }); } if (Entity.Level >= 130 && Entity.Level < 140) Experience *= 10; else if (Entity.Level >= 1 && Entity.Level < 130) Experience *= 300; Experience *= Constants.ExtraExperienceRate; Experience += (uint)(Experience * 20 / 100); Experience += Experience * Entity.Gems[3] / 300; 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); } } public void IncreaseExperience(ServerSockets.Packet stream, double Experience, Enums.ExperienceEffect effect = Enums.ExperienceEffect.None) { if (Entity.CursedTimer > 2) { return; } if (Entity.Level < 140) { Experience = this.ExpBall; if (effect != Enums.ExperienceEffect.None) { //Entity.SendString(stream, Game.MsgServer.MsgStringPacket.StringID.Effect, true, new string[1] { effect.ToString() }); } if (Entity.Level >= 130 && Entity.Level < 140) Experience *= 10; else if (Entity.Level >= 1 && Entity.Level < 130) Experience *= 300; Experience *= Constants.ExtraExperienceRate; Experience += (uint)(Experience * 20 / 100); Experience += Experience * Entity.Gems[3] / 300; 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); } }