private static void BasicAlteracpassCoreScalingAsserts(BehaviorVeterancy behaviorVeterancy) { Assert.AreEqual("alteracpass-CoreScaling", behaviorVeterancy.Id); Assert.IsTrue(behaviorVeterancy.IsMapUnique); Assert.AreEqual("alteracpass", behaviorVeterancy.MapName); Assert.IsTrue(behaviorVeterancy.CombineModifications); Assert.IsTrue(behaviorVeterancy.CombineXP); List <VeterancyLevel> list = behaviorVeterancy.VeterancyLevels.ToList(); Assert.AreEqual(1, list[0].MinimumVeterancyXP); Assert.AreEqual("Life", list[1].VeterancyModification.VitalMaxCollection.ToList()[0].Type); Assert.AreEqual(405, list[1].VeterancyModification.VitalMaxCollection.ToList()[0].Value); Assert.AreEqual("Shields", list[1].VeterancyModification.VitalMaxCollection.ToList()[1].Type); Assert.AreEqual(0, list[1].VeterancyModification.VitalMaxCollection.ToList()[1].Value); Assert.AreEqual("Shields", list[1].VeterancyModification.VitalRegenCollection.ToList()[0].Type); Assert.AreEqual(0, list[1].VeterancyModification.VitalRegenCollection.ToList()[0].Value); Assert.AreEqual(1.0, list[2].VeterancyModification.KillXpBonus); Assert.AreEqual("Basic", list[2].VeterancyModification.DamageDealtScaledCollection.ToList()[0].Type); Assert.AreEqual(1.25, list[2].VeterancyModification.DamageDealtScaledCollection.ToList()[0].Value); Assert.AreEqual("Ability", list[2].VeterancyModification.DamageDealtFractionCollection.ToList()[0].Type); Assert.AreEqual(0.05, list[2].VeterancyModification.DamageDealtFractionCollection.ToList()[0].Value); Assert.AreEqual("Life", list[2].VeterancyModification.VitalMaxFractionCollection.ToList()[0].Type); Assert.AreEqual(0.1, list[2].VeterancyModification.VitalMaxFractionCollection.ToList()[0].Value); Assert.AreEqual("Life", list[2].VeterancyModification.VitalRegenFractionCollection.ToList()[0].Type); Assert.AreEqual(1.10, list[2].VeterancyModification.VitalRegenFractionCollection.ToList()[0].Value); }
protected override XElement MainElement(BehaviorVeterancy behaviorVeterancy) { return(new XElement( behaviorVeterancy.Id, new XAttribute("combineModifications", behaviorVeterancy.CombineModifications), new XAttribute("combineXP", behaviorVeterancy.CombineXP), GetVeterancyLevels(behaviorVeterancy.VeterancyLevels))); }
private static void BasicExcellentManaAsserts(BehaviorVeterancy behaviorVeterancy) { Assert.AreEqual("ExcellentMana", behaviorVeterancy.Id); Assert.IsFalse(behaviorVeterancy.IsMapUnique); Assert.IsNull(behaviorVeterancy.MapName); Assert.IsTrue(behaviorVeterancy.CombineModifications); Assert.IsTrue(behaviorVeterancy.CombineXP); }
protected override JProperty MainElement(BehaviorVeterancy behaviorVeterancy) { JObject veterancyObject = new JObject { { "combineModifications", behaviorVeterancy.CombineModifications }, { "combineXP", behaviorVeterancy.CombineXP }, }; veterancyObject.Add(GetVeterancyLevels(behaviorVeterancy.VeterancyLevels)); return(new JProperty(behaviorVeterancy.Id, veterancyObject)); }
private void Parse() { BehaviorVeterancyParser behaviorVeterancyParser = new BehaviorVeterancyParser(XmlDataService); ExcellentMana = behaviorVeterancyParser.Parse("ExcellentMana"); }
private static BehaviorVeterancy GetBehaviorVeterancyData(string behaviorVeterancyId, JsonElement behaviorVeterancyElement) { BehaviorVeterancy behaviorVeterancy = new BehaviorVeterancy() { Id = behaviorVeterancyId, }; int indexOfMapSplit = behaviorVeterancy.Id.IndexOf('-', StringComparison.OrdinalIgnoreCase); if (indexOfMapSplit > 0) { behaviorVeterancy.MapName = behaviorVeterancy.Id.Substring(0, indexOfMapSplit); } if (behaviorVeterancyElement.TryGetProperty("combineModifications", out JsonElement combineModifications)) { behaviorVeterancy.CombineModifications = combineModifications.GetBoolean(); } if (behaviorVeterancyElement.TryGetProperty("combineXP", out JsonElement combineXP)) { behaviorVeterancy.CombineXP = combineXP.GetBoolean(); } if (behaviorVeterancyElement.TryGetProperty("veterancyLevels", out JsonElement veterancyLevelsElement)) { foreach (JsonElement veterancyLevelElement in veterancyLevelsElement.EnumerateArray()) { VeterancyLevel veterancyLevel = new VeterancyLevel(); if (veterancyLevelElement.TryGetProperty("minVeterancyXP", out JsonElement minVeterancyXP)) { veterancyLevel.MinimumVeterancyXP = minVeterancyXP.GetInt32(); } if (veterancyLevelElement.TryGetProperty("modifications", out JsonElement modificationsElement)) { if (modificationsElement.TryGetProperty("killXPBonus", out JsonElement killXPBonus)) { veterancyLevel.VeterancyModification.KillXpBonus = killXPBonus.GetDouble(); } if (modificationsElement.TryGetProperty("damageDealtScaled", out JsonElement damageDealtScaledElement)) { foreach (JsonProperty property in damageDealtScaledElement.EnumerateObject()) { veterancyLevel.VeterancyModification.DamageDealtScaledCollection.Add(new VeterancyDamageDealtScaled() { Type = property.Name, Value = property.Value.GetDouble(), }); } } if (modificationsElement.TryGetProperty("damageDealtFraction", out JsonElement damageDealtFractionElement)) { foreach (JsonProperty property in damageDealtFractionElement.EnumerateObject()) { veterancyLevel.VeterancyModification.DamageDealtFractionCollection.Add(new VeterancyDamageDealtFraction() { Type = property.Name, Value = property.Value.GetDouble(), }); } } if (modificationsElement.TryGetProperty("vitalMax", out JsonElement vitalMaxElement)) { foreach (JsonProperty property in vitalMaxElement.EnumerateObject()) { veterancyLevel.VeterancyModification.VitalMaxCollection.Add(new VeterancyVitalMax() { Type = property.Name, Value = property.Value.GetDouble(), }); } } if (modificationsElement.TryGetProperty("vitalMaxFraction", out JsonElement vitalMaxFractionElement)) { foreach (JsonProperty property in vitalMaxFractionElement.EnumerateObject()) { veterancyLevel.VeterancyModification.VitalMaxFractionCollection.Add(new VeterancyVitalMaxFraction() { Type = property.Name, Value = property.Value.GetDouble(), }); } } if (modificationsElement.TryGetProperty("vitalRegen", out JsonElement vitalRegenElement)) { foreach (JsonProperty property in vitalRegenElement.EnumerateObject()) { veterancyLevel.VeterancyModification.VitalRegenCollection.Add(new VeterancyVitalRegen() { Type = property.Name, Value = property.Value.GetDouble(), }); } } if (modificationsElement.TryGetProperty("vitalRegenFraction", out JsonElement vitalRegenFractionElement)) { foreach (JsonProperty property in vitalRegenFractionElement.EnumerateObject()) { veterancyLevel.VeterancyModification.VitalRegenFractionCollection.Add(new VeterancyVitalRegenFraction() { Type = property.Name, Value = property.Value.GetDouble(), }); } } } behaviorVeterancy.VeterancyLevels.Add(veterancyLevel); } } return(behaviorVeterancy); }