diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2024-05-23 09:21:25 -0400 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2024-05-23 09:21:25 -0400 |
commit | 5d33345b598e2107df3763f09af3a06a84d65a93 (patch) | |
tree | 305c833edfda0c2d12bd3ab4385dd995a848ca29 /AnodyneArchipelago/Patches/StatePatches.cs | |
parent | 2cc9d3601164fa96c164a5d0484024b762cc32f1 (diff) | |
download | anodyne-archipelago-5d33345b598e2107df3763f09af3a06a84d65a93.tar.gz anodyne-archipelago-5d33345b598e2107df3763f09af3a06a84d65a93.tar.bz2 anodyne-archipelago-5d33345b598e2107df3763f09af3a06a84d65a93.zip |
Organized patches
Diffstat (limited to 'AnodyneArchipelago/Patches/StatePatches.cs')
-rw-r--r-- | AnodyneArchipelago/Patches/StatePatches.cs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/AnodyneArchipelago/Patches/StatePatches.cs b/AnodyneArchipelago/Patches/StatePatches.cs new file mode 100644 index 0000000..f6acc62 --- /dev/null +++ b/AnodyneArchipelago/Patches/StatePatches.cs | |||
@@ -0,0 +1,39 @@ | |||
1 | using AnodyneSharp.Entities; | ||
2 | using AnodyneSharp.Registry; | ||
3 | using AnodyneSharp.States; | ||
4 | using AnodyneSharp; | ||
5 | using HarmonyLib; | ||
6 | using System.Reflection; | ||
7 | |||
8 | namespace AnodyneArchipelago.Patches | ||
9 | { | ||
10 | [HarmonyPatch(typeof(AnodyneGame), "Update")] | ||
11 | class GameUpdatePatch | ||
12 | { | ||
13 | static void Postfix() | ||
14 | { | ||
15 | ArchipelagoManager.Update(); | ||
16 | } | ||
17 | } | ||
18 | |||
19 | [HarmonyPatch(typeof(PlayState), nameof(PlayState.Create))] | ||
20 | class PlayStateCreatePatch | ||
21 | { | ||
22 | static void Prefix(PlayState __instance) | ||
23 | { | ||
24 | // Get player for later access. | ||
25 | FieldInfo playerField = typeof(PlayState).GetField("_player", BindingFlags.NonPublic | BindingFlags.Instance); | ||
26 | Plugin.Player = (Player)playerField.GetValue(__instance); | ||
27 | |||
28 | // Handle Red Grotto stuff. | ||
29 | GlobalState.events.SetEvent("red_cave_l_ss", 999); | ||
30 | GlobalState.events.SetEvent("red_cave_n_ss", 999); | ||
31 | GlobalState.events.SetEvent("red_cave_r_ss", 999); | ||
32 | |||
33 | // Connect to archipelago. | ||
34 | Plugin.Instance.Log.LogInfo("Connecting to Archipelago!"); | ||
35 | |||
36 | ArchipelagoManager.Connect("localhost:38281", "Anodyne", ""); | ||
37 | } | ||
38 | } | ||
39 | } | ||