using System; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using DiskCardGame; using HarmonyLib; using InscryptionAPI.Encounters; using InscryptionAPI.Regions; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("OldSa_Battle")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("OldSa_Battle")] [assembly: AssemblyCopyright("Copyright © 2026")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("a79770a7-eb75-4467-a2c4-5ab71b61dbe0")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyVersion("1.0.0.0")] namespace OLD_SA.Battle; public static class BattleAPI { public static EncounterBlueprintData WolfPack; public static EncounterBlueprintData SwarmCrisis; public static void Init() { try { WolfPack = EncounterManager.New("OLD_SA_BATTLE_WOLF_PACK", true); EncounterExtensions.AddTurns(WolfPack, new List[5] { EncounterManager.CreateTurn(new string[2] { "OLD_SA_WRAG", "Rabbit" }), EncounterManager.CreateTurn("WolfCub"), EncounterManager.CreateTurn("Mole"), EncounterManager.CreateTurn("OLD_SA_WRAG"), EncounterManager.CreateTurn("Alpha") }); EncounterExtensions.AddDominantTribes(WolfPack, (Tribe[])(object)new Tribe[1] { (Tribe)3 }); SwarmCrisis = EncounterManager.New("OLD_SA_BATTLE_SWARM_CRISIS", true); EncounterExtensions.AddTurns(SwarmCrisis, new List[5] { EncounterManager.CreateTurn(new string[2] { "Bee", "OLD_SA_WHORLTOOTH_WORM" }), EncounterManager.CreateTurn("Bee"), EncounterManager.CreateTurn("OLD_SA_WASP"), EncounterManager.CreateTurn("OLD_SA_WHORLTOOTH_WORM"), EncounterManager.CreateTurn("Mole") }); EncounterExtensions.AddDominantTribes(SwarmCrisis, (Tribe[])(object)new Tribe[1] { (Tribe)6 }); RegionManager.ModifyRegionsList += AddEncountersToRegions; RegionManager.SyncRegionList(); } catch (Exception ex) { Debug.LogError((object)"[OLD SA Battle] BattleAPI.Init() failed."); Debug.LogError((object)ex); } } private static List AddEncountersToRegions(List regions) { if (regions == null) { return regions; } RegionData val = regions.Find((RegionData x) => (Object)(object)x != (Object)null && ((Object)x).name == "Forest"); if ((Object)(object)val != (Object)null) { if (val.encounters == null) { val.encounters = new List(); } if (!val.encounters.Contains(WolfPack)) { val.encounters.Add(WolfPack); } } RegionData val2 = regions.Find((RegionData x) => (Object)(object)x != (Object)null && ((Object)x).name == "Wetlands"); if ((Object)(object)val2 != (Object)null) { if (val2.encounters == null) { val2.encounters = new List(); } if (!val2.encounters.Contains(SwarmCrisis)) { val2.encounters.Add(SwarmCrisis); } } return regions; } } [BepInPlugin("OLD_SA.Battle", "OLD SA Battle", "1.0.0")] public class Plugin : BaseUnityPlugin { public static Plugin Instance; private void Awake() { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Expected O, but got Unknown Instance = this; BattleAPI.Init(); Harmony val = new Harmony("OLD_SA.Battle"); val.PatchAll(); ((BaseUnityPlugin)this).Logger.LogInfo((object)"OLD SA Battle loaded."); } }