diff --git a/asset_patches/assets/data/Papers.xml b/asset_patches/assets/data/Papers.xml index 28ebe2d..3556015 100644 --- a/asset_patches/assets/data/Papers.xml +++ b/asset_patches/assets/data/Papers.xml @@ -17,6 +17,15 @@ + + + + + + + + + diff --git a/psp-papers-mod/src/Patches/BorderPatch.cs b/psp-papers-mod/src/Patches/BorderPatch.cs index 50688d5..1823739 100644 --- a/psp-papers-mod/src/Patches/BorderPatch.cs +++ b/psp-papers-mod/src/Patches/BorderPatch.cs @@ -42,10 +42,9 @@ public static void SendChatterRunner() { [HarmonyPrefix] [HarmonyPatch("checkSniped", typeof(Person), typeof(PointData), typeof(string))] private static bool SnipedPrefix(Person person, PointData pos, string shotAnim, ref bool __result) { - if (person.id != "waiting" && person.id != "guard0" && person.id != "guard1") return true; + if (person.id != "guard0" && person.id != "guard1") return true; + // Killing two left guards during detains breaks the game - // Killing the people in queue breaks the game - // So does killing the two left guards during detains __result = false; return false; } @@ -55,6 +54,11 @@ private static bool SnipedPrefix(Person person, PointData pos, string shotAnim, private static void SnipedPostfix(Person person, PointData pos, string shotAnim, ref bool __result) { if (!__result) return; + // Can't call traveler if they were shot, have to remove from queue + if (person.id == "waiting") { + Border.waitingLine.people.remove(person); + } + Console.Out.WriteLine("SNIPED " + person.id + " SHOTANIM: " + shotAnim); }