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);
    }
Exemple #4
0
        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));
        }
Exemple #5
0
        private void Parse()
        {
            BehaviorVeterancyParser behaviorVeterancyParser = new BehaviorVeterancyParser(XmlDataService);

            ExcellentMana = behaviorVeterancyParser.Parse("ExcellentMana");
        }
Exemple #6
0
        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);
        }