private void ApplyValues() { foreach (SurvivorDef survivorDef in ((SurvivorDef[])SurvivorCatalog.allSurvivorDefs)) { try { CustomSurvivor cSurv = CustomSurvivors.First(s => s.SurvivorIndex == survivorDef.survivorIndex); cSurv.OverrideSurvivorBase(survivorDef); } catch (InvalidOperationException) { Logger.LogError("No custom survivor for " + survivorDef.survivorIndex); } } }
private IEnumerator AfterLoad(On.RoR2.RoR2Application.orig_OnLoad orig, RoR2Application self) { yield return(orig(self)); ApplyGeneralSettings(); foreach (var survivorDef in ContentManager.survivorDefs) { var customSurvivor = new CustomSurvivor(survivorDef, Config, Logger); if (customSurvivor.Enabled.Value) { customSurvivor.OverrideSurvivorBase(); } _survivors.Add(customSurvivor); } }
public void Awake() { InitConfig(); ApplyFixes(); CustomSurvivors = new List <CustomSurvivor> { new CustomEngineer(), new CustomCommando(), new CustomArtificer(), new CustomMulT(), new CustomHuntress(), new CustomMercenary(), new CustomBandit() }; StringBuilder markdown = new StringBuilder("# Config Values\n"); markdown.AppendLine("## General"); markdown.AppendLine(CreateReadme.Definition.ToMarkdownString()); markdown.AppendLine("## Fixes"); markdown.AppendLine(FixSkillIconCooldownScaling.Definition.ToMarkdownString()); foreach (var customSurvivor in CustomSurvivors) { customSurvivor.InitVariables(Config, Logger); customSurvivor.Patch(); if (CreateReadme.Value) { markdown.AppendLine("# " + customSurvivor.CharacterName); List <string> markdownLines = new List <string>(); foreach (IMarkdownString markdownDef in customSurvivor.MarkdownConfigDefinitions) { markdownLines.Add(markdownDef.ToMarkdownString()); } foreach (ConfigDefinition markdownDef in customSurvivor.NonMarkDownConfigDefinitions) { markdownLines.Add(markdownDef.ToMarkdownString()); } markdownLines.Sort(); foreach (var markdownLine in markdownLines) { markdown.AppendLine(markdownLine); } } } SurvivorAPI.SurvivorCatalogReady += (sender, args) => { foreach (SurvivorDef survivorDef in SurvivorAPI.SurvivorDefinitions) { try { CustomSurvivor cSurv = CustomSurvivors.First(s => s.SurvivorIndex == survivorDef.survivorIndex); cSurv.OverrideSurvivorBase(survivorDef); } catch (InvalidOperationException) { Logger.LogError("No custom survivor for " + survivorDef.survivorIndex); } } // SurvivorAPI.ReconstructSurvivors(); }; if (CreateReadme.Value) { System.IO.File.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + @"\config_values.md", markdown.ToString()); } }