//Triggers FoyerCharacterHandler (called from Foyer.SetUpCharacterCallbacks) public static List <FoyerCharacterSelectFlag> FoyerCallbacks(Func <Foyer, List <FoyerCharacterSelectFlag> > orig, Foyer self) { var sortedByX = orig(self); RandomShrine.BuildCharacterList(sortedByX); FoyerCharacterHandler.AddCustomCharactersToFoyer(sortedByX); return(sortedByX); }
//Creates characters late to prevent conflict with custom loadouts and stuff public static void LateStart(Action <Foyer> orig, Foyer self) { orig(self); Tools.Print("Late start called"); if (hasInitialized) { return; } Tools.StartTimer("Initializing mod"); Loader.Init(); Franseis.Add(); RandomShrine.Add(); Tools.StopTimerAndReport("Initializing mod"); hasInitialized = true; Tools.Print($"Custom Character Mod v{version} Initialized", "00FF00", true); Tools.Print("Custom Characters Available:", "00FF00", true); foreach (var character in CharacterBuilder.storedCharacters) { Tools.Print(" " + character.Value.First.nameShort, "00FF55", true); } ShrineFactory.PlaceBreachShrines(); }