示例#1
0
        protected override void Action()
        {
            List <SoldakObject> objects = new List <SoldakObject>();

            foreach (var item in FileManager.GetObjectsFromAllFilesInPath(Save.Instance.GamePath)
                     .ToList().GetDerivedFrom("BaseSkill")
                     .Where(x => x.Name.Contains("SkillModification") && x.Modifier == Modifiers.none))
            {
                int num = -1;

                for (var i = 0; i < OnHitKill.Count; i++)
                {
                    var str = OnHitKill[i];
                    if (item.Dict.ContainsKey(str))
                    {
                        num = i;
                    }
                }

                if (num > -1)
                {
                    var obj = SoldakObject.GenerateOverrideObject(item.Name);

                    float oldval = float.Parse(item.Dict[OnHitKill[num]][0]);

                    float newval;

                    if (OnHitKill[num] == "UseOnHitChance")
                    {
                        newval = (float)(oldval / 2.5);
                    }
                    else
                    {
                        newval = (float)(oldval / 1.5);
                    }

                    obj.Dict.Add(OnHitKill[num], new List <string>()
                    {
                        (oldval / 2).ToString()
                    });

                    objects.Add(obj);
                }
            }

            FileManager.SaveOutputToFile(string.Join("\n", objects.ToStringList()));
        }
示例#2
0
        public static void TryAddOverride(string name, string key, string value)
        {
            if (IfIsAnEdit(name, key, value))
            {
                if (OverridenObjects.ContainsKey(name))
                {
                    OverridenObjects[name].Dict[key] = new List <string>()
                    {
                        value
                    };
                }
                else
                {
                    var obj = SoldakObject.GenerateOverrideObject(name);

                    obj.Dict[key] = new List <string>()
                    {
                        value
                    };

                    OverridenObjects.Add(name, obj);
                }
            }
        }