/// <summary> /// Adds the experience. /// </summary> internal static void AddXP(this LogicClientAvatar avatar, int value) { if (value > 0) { if (avatar.ExpLevel == 35 && avatar.ExpPoints >= 2500000) { return; } double finalValue = value; if (avatar.Booster.BoostActive) { finalValue *= avatar.Booster.BoostPackage.Boost; } avatar.ExpPoints += (int)Math.Round(finalValue); LogicExperienceLevelData experienceLevels = (LogicExperienceLevelData)CSV.Tables.Get(Gamefile.ExperienceLevels).GetDataWithID(avatar.ExpLevel - 1); if (experienceLevels.ExpPoints <= avatar.ExpPoints) { avatar.ExpPoints -= experienceLevels.ExpPoints; avatar.ExpLevel++; } avatar.Save(); } }
/// <summary> /// Creates a map chest. /// </summary> internal void CreateMapChest() { LogicExperienceLevelData expLevelData = (LogicExperienceLevelData)CSV.Tables.Get(Gamefile.ExperienceLevels).GetDataWithID(this.Avatar.ExpLevel - 1); this.Gold = Loader.Random.Rand(expLevelData.MapChestMinGold, expLevelData.MapChestMaxGold); this.XP = Loader.Random.Rand(expLevelData.MapChestMinXP, expLevelData.MapChestMaxXP); }
/// <summary> /// Creates a map chest. /// </summary> internal void CreateMapChest() { LogicExperienceLevelData expLevelData = (LogicExperienceLevelData)CSV.Tables.Get(Gamefile.ExperienceLevels).GetDataWithID(this.Avatar.ExpLevel - 1); var v40 = this.byte_2B415A[1 % 50 % 50]; var gold = Loader.Random.Rand(expLevelData.MapChestMinGold, expLevelData.MapChestMaxGold); var xp = Loader.Random.Rand(expLevelData.MapChestMinXP, expLevelData.MapChestMaxXP); this.Gold = gold; this.XP = xp; }
/// <summary> /// Creates the data for the specified row. /// </summary> internal LogicData Create(Row row) { LogicData data; switch (this.Index) { case 1: { data = new LogicLocaleData(row, this); break; } case 2: { data = new LogicResourceData(row, this); break; } case 3: { data = new LogicEffectData(row, this); break; } case 4: { data = new LogicParticleEmitterData(row, this); break; } case 5: { data = new LogicGlobalData(row, this); break; } case 6: { data = new LogicQuestData(row, this); break; } case 8: { data = new LogicAchievementData(row, this); break; } case 10: { data = new LogicWorldData(row, this); break; } case 11: { data = new LogicHeroData(row, this); break; } case 12: { data = new LogicExperienceLevelData(row, this); break; } case 13: { data = new LogicLeagueData(row, this); break; } case 21: { data = new LogicAllianceBadgeData(row, this); break; } case 24: { data = new LogicTauntData(row, this); break; } case 25: { data = new LogicDecoData(row, this); break; } case 26: { data = new LogicVariableData(row, this); break; } case 28: { data = new LogicBoosterData(row, this); break; } case 32: { data = new LogicEnergyPackageData(row, this); break; } case 35: { data = new LogicSpellData(row, this); break; } case 36: { data = new LogicObstacleData(row, this); break; } case 37: { data = new LogicItemsData(row, this); break; } default: { data = new LogicData(row, this); break; } } return(data); }