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())); }
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); } } }