From 32f2e080fd6885bb2723b8db3d9b6ecf1c3844ab Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mall=C3=B6ris?= <|||||@||.||> Date: Sun, 1 May 2022 20:00:21 +0200 Subject: [PATCH] version 4.1.0 --- TheOtherRoles/Buttons.cs | 68 +++- TheOtherRoles/CustomOptionHolder.cs | 10 +- TheOtherRoles/Helpers.cs | 31 +- TheOtherRoles/Main.cs | 7 +- TheOtherRoles/Modules/CustomHats.cs | 9 +- TheOtherRoles/Modules/CustomOptions.cs | 2 +- TheOtherRoles/Modules/ModUpdater.cs | 359 +++++++++--------- TheOtherRoles/Objects/Arrow.cs | 40 +- TheOtherRoles/Objects/Bloodytrail.cs | 5 +- TheOtherRoles/Objects/Footprint.cs | 5 +- TheOtherRoles/Objects/Garlic.cs | 10 +- TheOtherRoles/Objects/JackInTheBox.cs | 6 +- TheOtherRoles/Objects/NinjaTrace.cs | 6 +- TheOtherRoles/Objects/Portal.cs | 37 +- TheOtherRoles/Patches/CredentialsPatch.cs | 2 +- TheOtherRoles/Patches/EndGamePatch.cs | 5 +- TheOtherRoles/Patches/ExileControllerPatch.cs | 29 +- .../Patches/GameStartManagerPatch.cs | 2 + TheOtherRoles/Patches/MainMenuPatch.cs | 8 +- TheOtherRoles/Patches/MeetingPatch.cs | 8 +- TheOtherRoles/Patches/PlayerControlPatch.cs | 26 +- TheOtherRoles/Patches/ShipStatusPatch.cs | 83 ++-- TheOtherRoles/Patches/UsablesPatch.cs | 52 ++- TheOtherRoles/RPC.cs | 26 +- .../Resources/CentralLowerBlocked.png | Bin 0 -> 17747 bytes .../Resources/CentralUpperBlocked.png | Bin 0 -> 19048 bytes TheOtherRoles/Resources/EmergencyButton.png | Bin 0 -> 249527 bytes TheOtherRoles/SubmergedCompatibility.cs | 173 +++++++++ TheOtherRoles/TasksHandler.cs | 20 +- TheOtherRoles/TheOtherRoles.cs | 48 ++- 30 files changed, 681 insertions(+), 396 deletions(-) create mode 100644 TheOtherRoles/Resources/CentralLowerBlocked.png create mode 100644 TheOtherRoles/Resources/CentralUpperBlocked.png create mode 100644 TheOtherRoles/Resources/EmergencyButton.png create mode 100644 TheOtherRoles/SubmergedCompatibility.cs diff --git a/TheOtherRoles/Buttons.cs b/TheOtherRoles/Buttons.cs index f17189c..4ad84e9 100644 --- a/TheOtherRoles/Buttons.cs +++ b/TheOtherRoles/Buttons.cs @@ -47,6 +47,7 @@ namespace TheOtherRoles public static CustomButton pursuerButton; public static CustomButton witchSpellButton; public static CustomButton ninjaButton; + public static CustomButton mayorMeetingButton; public static Dictionary> deputyHandcuffedButtons = null; @@ -93,6 +94,7 @@ namespace TheOtherRoles trackerTrackCorpsesButton.MaxTimer = Tracker.corpsesTrackingCooldown; witchSpellButton.MaxTimer = Witch.cooldown; ninjaButton.MaxTimer = Ninja.cooldown; + mayorMeetingButton.MaxTimer = PlayerControl.GameOptions.EmergencyCooldown; timeMasterShieldButton.EffectDuration = TimeMaster.shieldDuration; hackerButton.EffectDuration = Hacker.duration; @@ -213,14 +215,20 @@ namespace TheOtherRoles } else if (task.TaskType == TaskTypes.StopCharles) { ShipStatus.Instance.RpcRepairSystem(SystemTypes.Reactor, 0 | 16); ShipStatus.Instance.RpcRepairSystem(SystemTypes.Reactor, 1 | 16); + } else if (SubmergedCompatibility.isSubmerged() && task.TaskType == SubmergedCompatibility.RetrieveOxygenMask) { + MessageWriter writer = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.EngineerFixSubmergedOxygen, Hazel.SendOption.Reliable, -1); + AmongUsClient.Instance.FinishRpcImmediately(writer); + RPCProcedure.engineerFixSubmergedOxygen(); } + } }, () => { return Engineer.engineer != null && Engineer.engineer == PlayerControl.LocalPlayer && Engineer.remainingFixes > 0 && !PlayerControl.LocalPlayer.Data.IsDead; }, () => { bool sabotageActive = false; foreach (PlayerTask task in PlayerControl.LocalPlayer.myTasks) - if (task.TaskType == TaskTypes.FixLights || task.TaskType == TaskTypes.RestoreOxy || task.TaskType == TaskTypes.ResetReactor || task.TaskType == TaskTypes.ResetSeismic || task.TaskType == TaskTypes.FixComms || task.TaskType == TaskTypes.StopCharles) + if (task.TaskType == TaskTypes.FixLights || task.TaskType == TaskTypes.RestoreOxy || task.TaskType == TaskTypes.ResetReactor || task.TaskType == TaskTypes.ResetSeismic || task.TaskType == TaskTypes.FixComms || task.TaskType == TaskTypes.StopCharles + || SubmergedCompatibility.isSubmerged() && task.TaskType == SubmergedCompatibility.RetrieveOxygenMask) sabotageActive = true; return sabotageActive && Engineer.remainingFixes > 0 && PlayerControl.LocalPlayer.CanMove; }, @@ -746,9 +754,9 @@ namespace TheOtherRoles usePortalButton = new CustomButton( () => { bool didTeleport = false; - Vector2 exit = Portal.findExit(PlayerControl.LocalPlayer.transform.position); - Vector2 entry = Portal.findEntry(PlayerControl.LocalPlayer.transform.position); - PlayerControl.LocalPlayer.NetTransform.RpcSnapTo(entry); // TODO: check for bans on servers + Vector3 exit = Portal.findExit(PlayerControl.LocalPlayer.transform.position); + Vector3 entry = Portal.findEntry(PlayerControl.LocalPlayer.transform.position); + PlayerControl.LocalPlayer.NetTransform.RpcSnapTo(entry); if (!PlayerControl.LocalPlayer.Data.IsDead) { // Ghosts can portal too, but non-blocking and only with a local animation MessageWriter writer = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.UsePortal, Hazel.SendOption.Reliable, -1); @@ -761,6 +769,9 @@ namespace TheOtherRoles PlayerControl.LocalPlayer.moveable = false; PlayerControl.LocalPlayer.NetTransform.Halt(); if (p >= 0.5f && p <= 0.53f && !didTeleport) { + if (SubmergedCompatibility.isSubmerged()) { + SubmergedCompatibility.ChangeFloor(exit.y > -7); + } PlayerControl.LocalPlayer.NetTransform.RpcSnapTo(exit); didTeleport = true; } @@ -1005,7 +1016,7 @@ namespace TheOtherRoles RPCProcedure.sealVent(SecurityGuard.ventTarget.Id); SecurityGuard.ventTarget = null; - } else if (PlayerControl.GameOptions.MapId != 1) { // Place camera if there's no vent and it's not MiraHQ + } else if (PlayerControl.GameOptions.MapId != 1 && !SubmergedCompatibility.isSubmerged()) { // Place camera if there's no vent and it's not MiraHQ or Submerged var pos = PlayerControl.LocalPlayer.transform.position; byte[] buff = new byte[sizeof(float) * 2]; Buffer.BlockCopy(BitConverter.GetBytes(pos.x), 0, buff, 0*sizeof(float), sizeof(float)); @@ -1020,12 +1031,12 @@ namespace TheOtherRoles }, () => { return SecurityGuard.securityGuard != null && SecurityGuard.securityGuard == PlayerControl.LocalPlayer && !PlayerControl.LocalPlayer.Data.IsDead && SecurityGuard.remainingScrews >= Mathf.Min(SecurityGuard.ventPrice, SecurityGuard.camPrice); }, () => { - securityGuardButton.actionButton.graphic.sprite = (SecurityGuard.ventTarget == null && PlayerControl.GameOptions.MapId != 1) ? SecurityGuard.getPlaceCameraButtonSprite() : SecurityGuard.getCloseVentButtonSprite(); + securityGuardButton.actionButton.graphic.sprite = (SecurityGuard.ventTarget == null && PlayerControl.GameOptions.MapId != 1 && !SubmergedCompatibility.isSubmerged()) ? SecurityGuard.getPlaceCameraButtonSprite() : SecurityGuard.getCloseVentButtonSprite(); if (securityGuardButtonScrewsText != null) securityGuardButtonScrewsText.text = $"{SecurityGuard.remainingScrews}/{SecurityGuard.totalScrews}"; if (SecurityGuard.ventTarget != null) return SecurityGuard.remainingScrews >= SecurityGuard.ventPrice && PlayerControl.LocalPlayer.CanMove; - return PlayerControl.GameOptions.MapId != 1 && SecurityGuard.remainingScrews >= SecurityGuard.camPrice && PlayerControl.LocalPlayer.CanMove; + return PlayerControl.GameOptions.MapId != 1 && !SubmergedCompatibility.isSubmerged() && SecurityGuard.remainingScrews >= SecurityGuard.camPrice && PlayerControl.LocalPlayer.CanMove; }, () => { securityGuardButton.Timer = securityGuardButton.MaxTimer; }, SecurityGuard.getPlaceCameraButtonSprite(), @@ -1070,7 +1081,8 @@ namespace TheOtherRoles if (SecurityGuard.cantMove) PlayerControl.LocalPlayer.moveable = false; PlayerControl.LocalPlayer.NetTransform.Halt(); // Stop current movement }, - () => { return SecurityGuard.securityGuard != null && SecurityGuard.securityGuard == PlayerControl.LocalPlayer && !PlayerControl.LocalPlayer.Data.IsDead && SecurityGuard.remainingScrews < Mathf.Min(SecurityGuard.ventPrice, SecurityGuard.camPrice); }, + () => { return SecurityGuard.securityGuard != null && SecurityGuard.securityGuard == PlayerControl.LocalPlayer && !PlayerControl.LocalPlayer.Data.IsDead && SecurityGuard.remainingScrews < Mathf.Min(SecurityGuard.ventPrice, SecurityGuard.camPrice) + && !SubmergedCompatibility.isSubmerged(); }, () => { if (securityGuardChargesText != null) securityGuardChargesText.text = $"{SecurityGuard.charges} / {SecurityGuard.maxCharges}"; securityGuardCamButton.actionButton.graphic.sprite = PlayerControl.GameOptions.MapId == 1 ? SecurityGuard.getLogSprite() : SecurityGuard.getCamSprite(); @@ -1230,7 +1242,7 @@ namespace TheOtherRoles if (Medium.target == null || Medium.target.player == null) return; string msg = ""; - int randomNumber = Medium.target.killerIfExisting?.PlayerId == Mini.mini?.PlayerId ? TheOtherRoles.rnd.Next(3) : TheOtherRoles.rnd.Next(4); + int randomNumber = TheOtherRoles.rnd.Next(4); string typeOfColor = Helpers.isLighterColor(Medium.target.killerIfExisting.Data.DefaultOutfit.ColorId) ? "lighter" : "darker"; float timeSinceDeath = ((float)(Medium.meetingStartTime - Medium.target.timeOfDeath).TotalMilliseconds); string name = " (" + Medium.target.player.Data.PlayerName + ")"; @@ -1239,7 +1251,7 @@ namespace TheOtherRoles if (randomNumber == 0) msg = "What is your role? My role is " + RoleInfo.GetRolesString(Medium.target.player, false) + name; else if (randomNumber == 1) msg = "What is your killer`s color type? My killer is a " + typeOfColor + " color" + name; else if (randomNumber == 2) msg = "When did you die? I have died " + Math.Round(timeSinceDeath / 1000) + "s before meeting started" + name; - else msg = "What is your killer`s role? My killer is " + RoleInfo.GetRolesString(Medium.target.killerIfExisting, false) + name; //exlude mini + else msg = "What is your killer`s role? My killer is " + RoleInfo.GetRolesString(Medium.target.killerIfExisting, false) + name; DestroyableSingleton.Instance.Chat.AddChat(PlayerControl.LocalPlayer, $"{msg}"); @@ -1392,6 +1404,9 @@ namespace TheOtherRoles writer2.Write(Ninja.ninjaMarked.PlayerId); writer2.Write(byte.MaxValue); AmongUsClient.Instance.FinishRpcImmediately(writer2); + if (SubmergedCompatibility.isSubmerged()) { + SubmergedCompatibility.ChangeFloor(Ninja.ninjaMarked.transform.localPosition.y > -7); + } RPCProcedure.uncheckedMurderPlayer(PlayerControl.LocalPlayer.PlayerId, Ninja.ninjaMarked.PlayerId, byte.MaxValue); // Create Second trace after killing @@ -1435,6 +1450,39 @@ namespace TheOtherRoles KeyCode.F ); + mayorMeetingButton = new CustomButton( + () => { + PlayerControl.LocalPlayer.NetTransform.Halt(); // Stop current movement + Helpers.handleVampireBiteOnBodyReport(); // Manually call Vampire handling, since the CmdReportDeadBody Prefix won't be called + RPCProcedure.uncheckedCmdReportDeadBody(PlayerControl.LocalPlayer.PlayerId, Byte.MinValue); + + MessageWriter writer = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.UncheckedCmdReportDeadBody, Hazel.SendOption.Reliable, -1); + writer.Write(PlayerControl.LocalPlayer.PlayerId); + writer.Write(Byte.MaxValue); + AmongUsClient.Instance.FinishRpcImmediately(writer); + }, + () => { return Mayor.mayor != null && Mayor.mayor == PlayerControl.LocalPlayer && !PlayerControl.LocalPlayer.Data.IsDead ;}, + () => { + mayorMeetingButton.actionButton.OverrideText("Emergency"); + bool sabotageActive = false; + foreach (PlayerTask task in PlayerControl.LocalPlayer.myTasks) + if (task.TaskType == TaskTypes.FixLights || task.TaskType == TaskTypes.RestoreOxy || task.TaskType == TaskTypes.ResetReactor || task.TaskType == TaskTypes.ResetSeismic || task.TaskType == TaskTypes.FixComms || task.TaskType == TaskTypes.StopCharles + || SubmergedCompatibility.isSubmerged() && task.TaskType == SubmergedCompatibility.RetrieveOxygenMask) + sabotageActive = true; + return !sabotageActive && PlayerControl.LocalPlayer.CanMove; + }, + () => { mayorMeetingButton.Timer = mayorMeetingButton.MaxTimer; }, + Mayor.getMeetingSprite(), + new Vector3(-1.8f, -0.06f, 0), + __instance, + KeyCode.F, + true, + 0f, + () => {}, + false, + "Meeting" + ); + // Set the default (or settings from the previous game) timers / durations when spawning the buttons setCustomButtonCooldowns(); deputyHandcuffedButtons = null; diff --git a/TheOtherRoles/CustomOptionHolder.cs b/TheOtherRoles/CustomOptionHolder.cs index 9bbf8ac..833b498 100644 --- a/TheOtherRoles/CustomOptionHolder.cs +++ b/TheOtherRoles/CustomOptionHolder.cs @@ -103,6 +103,7 @@ namespace TheOtherRoles { public static CustomOption mayorSpawnRate; public static CustomOption mayorCanSeeVoteColors; public static CustomOption mayorTasksNeededToSeeVoteColors; + public static CustomOption mayorMeetingButton; public static CustomOption portalmakerSpawnRate; public static CustomOption portalmakerCooldown; @@ -224,8 +225,6 @@ namespace TheOtherRoles { public static CustomOption lawyerSpawnRate; public static CustomOption lawyerTargetCanBeJester; - public static CustomOption lawyerWinsAfterMeetings; - public static CustomOption lawyerNeededMeetings; public static CustomOption lawyerVision; public static CustomOption lawyerKnowsRole; public static CustomOption pursuerCooldown; @@ -278,6 +277,7 @@ namespace TheOtherRoles { public static CustomOption dynamicMapEnableMira; public static CustomOption dynamicMapEnablePolus; public static CustomOption dynamicMapEnableAirShip; + public static CustomOption dynamicMapEnableSubmerged; internal static Dictionary blockedRolePairings = new Dictionary(); @@ -398,8 +398,6 @@ namespace TheOtherRoles { lawyerSpawnRate = CustomOption.Create(350, Types.Neutral, cs(Lawyer.color, "Lawyer"), rates, null, true); lawyerTargetCanBeJester = CustomOption.Create(351, Types.Neutral, "Lawyer Target Can Be The Jester", false, lawyerSpawnRate); - lawyerWinsAfterMeetings = CustomOption.Create(352, Types.Neutral, "Lawyer Wins After Meetings", false, lawyerSpawnRate); - lawyerNeededMeetings = CustomOption.Create(353, Types.Neutral, "Lawyer Needed Meetings To Win", 5f, 1f, 15f, 1f, lawyerWinsAfterMeetings); lawyerVision = CustomOption.Create(354, Types.Neutral, "Lawyer Vision", 1f, 0.25f, 3f, 0.25f, lawyerSpawnRate); lawyerKnowsRole = CustomOption.Create(355, Types.Neutral, "Lawyer Knows Target Role", false, lawyerSpawnRate); pursuerCooldown = CustomOption.Create(356, Types.Neutral, "Pursuer Blank Cooldown", 30f, 5f, 60f, 2.5f, lawyerSpawnRate); @@ -409,9 +407,9 @@ namespace TheOtherRoles { shifterShiftsModifiers = CustomOption.Create(71, Types.Crewmate, "Shifter Shifts Modifiers", false, shifterSpawnRate); mayorSpawnRate = CustomOption.Create(80, Types.Crewmate, cs(Mayor.color, "Mayor"), rates, null, true); - mayorCanSeeVoteColors = CustomOption.Create(81, Types.Crewmate, "Mayor Can See Vote Colors", false, mayorSpawnRate); mayorTasksNeededToSeeVoteColors = CustomOption.Create(82, Types.Crewmate, "Completed Tasks Needed To See Vote Colors", 5f, 0f, 20f, 1f, mayorCanSeeVoteColors); + mayorMeetingButton = CustomOption.Create(83, Types.Crewmate, "Mobile Emergency Button", true, mayorSpawnRate); engineerSpawnRate = CustomOption.Create(90, Types.Crewmate, cs(Engineer.color, "Engineer"), rates, null, true); engineerNumberOfFixes = CustomOption.Create(91, Types.Crewmate, "Number Of Sabotage Fixes", 1f, 1f, 3f, 1f, engineerSpawnRate); @@ -563,6 +561,8 @@ namespace TheOtherRoles { dynamicMapEnablePolus = CustomOption.Create(503, Types.General, "Enable Polus Rotation", true, dynamicMap, false); dynamicMapEnableAirShip = CustomOption.Create(504, Types.General, "Enable Airship Rotation", true, dynamicMap, false); + dynamicMapEnableSubmerged = CustomOption.Create(505, Types.General, "Enable Submerged Rotation", true, dynamicMap, false); + blockedRolePairings.Add((byte)RoleId.Vampire, new [] { (byte)RoleId.Warlock}); blockedRolePairings.Add((byte)RoleId.Warlock, new [] { (byte)RoleId.Vampire}); blockedRolePairings.Add((byte)RoleId.Spy, new [] { (byte)RoleId.Mini}); diff --git a/TheOtherRoles/Helpers.cs b/TheOtherRoles/Helpers.cs index f1541ff..ab8a144 100644 --- a/TheOtherRoles/Helpers.cs +++ b/TheOtherRoles/Helpers.cs @@ -30,14 +30,15 @@ namespace TheOtherRoles { return null; } - public static Texture2D loadTextureFromResources(string path) { + public static unsafe Texture2D loadTextureFromResources(string path) { try { Texture2D texture = new Texture2D(2, 2, TextureFormat.ARGB32, true); Assembly assembly = Assembly.GetExecutingAssembly(); Stream stream = assembly.GetManifestResourceStream(path); - var byteTexture = new byte[stream.Length]; - var read = stream.Read(byteTexture, 0, (int) stream.Length); - LoadImage(texture, byteTexture, false); + var length = stream.Length; + var byteTexture = new Il2CppStructArray(length); + stream.Read(new Span(IntPtr.Add(byteTexture.Pointer, IntPtr.Size * 4).ToPointer(), (int) length)); + ImageConversion.LoadImage(texture, byteTexture, false); return texture; } catch { System.Console.WriteLine("Error loading texture from resources: " + path); @@ -49,8 +50,8 @@ namespace TheOtherRoles { try { if (File.Exists(path)) { Texture2D texture = new Texture2D(2, 2, TextureFormat.ARGB32, true); - byte[] byteTexture = File.ReadAllBytes(path); - LoadImage(texture, byteTexture, false); + var byteTexture = Il2CppSystem.IO.File.ReadAllBytes(path); + ImageConversion.LoadImage(texture, byteTexture, false); return texture; } } catch { @@ -59,15 +60,6 @@ namespace TheOtherRoles { return null; } - internal delegate bool d_LoadImage(IntPtr tex, IntPtr data, bool markNonReadable); - internal static d_LoadImage iCall_LoadImage; - private static bool LoadImage(Texture2D tex, byte[] data, bool markNonReadable) { - if (iCall_LoadImage == null) - iCall_LoadImage = IL2CPP.ResolveICall("UnityEngine.ImageConversion::LoadImage"); - var il2cppArray = (Il2CppStructArray) data; - return iCall_LoadImage.Invoke(tex.Pointer, il2cppArray.Pointer, markNonReadable); - } - public static PlayerControl playerById(byte id) { foreach (PlayerControl player in PlayerControl.AllPlayerControls) @@ -155,8 +147,8 @@ namespace TheOtherRoles { public static void clearAllTasks(this PlayerControl player) { if (player == null) return; - for (int i = 0; i < player.myTasks.Count; i++) { - PlayerTask playerTask = player.myTasks[i]; + foreach (var playerTask in player.myTasks) + { playerTask.OnRemove(); UnityEngine.Object.Destroy(playerTask.gameObject); } @@ -377,5 +369,10 @@ namespace TheOtherRoles { return team; } + + public static object TryCast(this Il2CppObjectBase self, Type type) + { + return AccessTools.Method(self.GetType(), nameof(Il2CppObjectBase.TryCast)).MakeGenericMethod(type).Invoke(self, Array.Empty()); + } } } diff --git a/TheOtherRoles/Main.cs b/TheOtherRoles/Main.cs index 2976ea8..9aebb39 100644 --- a/TheOtherRoles/Main.cs +++ b/TheOtherRoles/Main.cs @@ -17,13 +17,14 @@ using TheOtherRoles.Modules; namespace TheOtherRoles { [BepInPlugin(Id, "The Other Roles", VersionString)] + [BepInDependency(SubmergedCompatibility.SUBMERGED_GUID, BepInDependency.DependencyFlags.SoftDependency)] [BepInProcess("Among Us.exe")] public class TheOtherRolesPlugin : BasePlugin { public const string Id = "me.eisbison.theotherroles"; - public const string VersionString = "4.0.0"; + public const string VersionString = "4.1.0"; - public static System.Version Version = System.Version.Parse(VersionString); + public static Version Version = Version.Parse(VersionString); internal static BepInEx.Logging.ManualLogSource Logger; public Harmony Harmony { get; } = new Harmony(Id); @@ -90,6 +91,8 @@ namespace TheOtherRoles CustomColors.Load(); Patches.FreeNamePatch.Initialize(); Harmony.PatchAll(); + SubmergedCompatibility.Initialize(); + AddComponent(); } public static Sprite GetModStamp() { if (ModStamp) return ModStamp; diff --git a/TheOtherRoles/Modules/CustomHats.cs b/TheOtherRoles/Modules/CustomHats.cs index 5cd1a03..ee49664 100644 --- a/TheOtherRoles/Modules/CustomHats.cs +++ b/TheOtherRoles/Modules/CustomHats.cs @@ -281,11 +281,11 @@ namespace TheOtherRoles.Modules { float ypos = offset - (i / __instance.NumPerRow) * (isDefaultPackage ? 1f : 1.5f) * __instance.YOffset; ColorChip colorChip = UnityEngine.Object.Instantiate(__instance.ColorTabPrefab, __instance.scroller.Inner); if (ActiveInputManager.currentControlType == ActiveInputManager.InputType.Keyboard) { - colorChip.Button.OnMouseOver.AddListener((UnityEngine.Events.UnityAction)(() => __instance.SelectHat(hat))); - colorChip.Button.OnMouseOut.AddListener((UnityEngine.Events.UnityAction)(() => __instance.SelectHat(DestroyableSingleton.Instance.GetHatById(SaveManager.LastHat)))); - colorChip.Button.OnClick.AddListener((UnityEngine.Events.UnityAction)(() => __instance.ClickEquip())); + colorChip.Button.OnMouseOver.AddListener((System.Action)(() => __instance.SelectHat(hat))); + colorChip.Button.OnMouseOut.AddListener((System.Action)(() => __instance.SelectHat(DestroyableSingleton.Instance.GetHatById(SaveManager.LastHat)))); + colorChip.Button.OnClick.AddListener((System.Action)(() => __instance.ClickEquip())); } else { - colorChip.Button.OnClick.AddListener((UnityEngine.Events.UnityAction)(() => __instance.SelectHat(hat))); + colorChip.Button.OnClick.AddListener((System.Action)(() => __instance.SelectHat(hat))); } colorChip.Button.ClickMask = __instance.scroller.Hitbox; Transform background = colorChip.transform.FindChild("Background"); @@ -442,6 +442,7 @@ namespace TheOtherRoles.Modules { List markedfordownload = new List(); string filePath = Path.GetDirectoryName(Application.dataPath) + @"\TheOtherHats\"; + if (!Directory.Exists(filePath)) Directory.CreateDirectory(filePath); MD5 md5 = MD5.Create(); foreach (CustomHatOnline data in hatdatas) { if (doesResourceRequireDownload(filePath + data.resource, data.reshasha, md5)) diff --git a/TheOtherRoles/Modules/CustomOptions.cs b/TheOtherRoles/Modules/CustomOptions.cs index 4cc2e36..17b5c3f 100644 --- a/TheOtherRoles/Modules/CustomOptions.cs +++ b/TheOtherRoles/Modules/CustomOptions.cs @@ -224,7 +224,7 @@ namespace TheOtherRoles { if (button == null) continue; int copiedIndex = i; button.OnClick = new UnityEngine.UI.Button.ButtonClickedEvent(); - button.OnClick.AddListener((UnityEngine.Events.UnityAction)(() => { + button.OnClick.AddListener((System.Action)(() => { gameSettingMenu.RegularGameSettings.SetActive(false); gameSettingMenu.RolesSettings.gameObject.SetActive(false); torSettings.gameObject.SetActive(false); diff --git a/TheOtherRoles/Modules/ModUpdater.cs b/TheOtherRoles/Modules/ModUpdater.cs index aab8679..1d68ac8 100644 --- a/TheOtherRoles/Modules/ModUpdater.cs +++ b/TheOtherRoles/Modules/ModUpdater.cs @@ -1,223 +1,212 @@ using System; -using BepInEx; -using BepInEx.Configuration; -using BepInEx.IL2CPP; -using Il2CppSystem; -using Hazel; -using HarmonyLib; -using UnityEngine; -using UnityEngine.UI; -using UnityEngine.Events; -using UnhollowerBaseLib; -using System.IO; -using System.Reflection; using System.Collections; -using System.Collections.Generic; -using System.Linq; -using System.Net; +using System.IO; using System.Net.Http; -using System.Net.Http.Headers; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; +using System.Reflection; using System.Threading.Tasks; -using System.Security.Cryptography; +using BepInEx; +using BepInEx.IL2CPP.Utils; using Newtonsoft.Json.Linq; -using Newtonsoft.Json; +using TMPro; using Twitch; +using UnhollowerBaseLib.Attributes; +using UnityEngine; +using UnityEngine.SceneManagement; +using UnityEngine.UI; +using Version = SemanticVersioning.Version; + +namespace TheOtherRoles.Modules +{ + public class ModUpdateBehaviour : MonoBehaviour + { + public static readonly bool CheckForSubmergedUpdates = true; + public static bool showPopUp = true; + + public static ModUpdateBehaviour Instance { get; private set; } + public ModUpdateBehaviour(IntPtr ptr) : base(ptr) { } + + public class UpdateData + { + public string Content; + public string Tag; + public JObject Request; + + public UpdateData(JObject data) + { + Tag = data["tag_name"]?.ToString().TrimStart('v'); + Content = data["body"]?.ToString(); + Request = data; + } -namespace TheOtherRoles.Modules { - [HarmonyPatch(typeof(MainMenuManager), nameof(MainMenuManager.Start))] - public class ModUpdaterButton { - private static void Prefix(MainMenuManager __instance) { - CustomHatLoader.LaunchHatFetcher(); - ModUpdater.LaunchUpdater(); - if (!ModUpdater.hasUpdate) return; - var template = GameObject.Find("ExitGameButton"); - if (template == null) return; + public bool IsNewer(Version version) + { + if (!Version.TryParse(Tag, out var myVersion)) return false; + return myVersion > version; + } + } + + public UpdateData TORUpdate; + public UpdateData SubmergedUpdate; - var button = UnityEngine.Object.Instantiate(template, null); - button.transform.localPosition = new Vector3(button.transform.localPosition.x, button.transform.localPosition.y + 1.2f, button.transform.localPosition.z); + [HideFromIl2Cpp] + public UpdateData RequiredUpdateData => TORUpdate ?? SubmergedUpdate; + + public void Awake() + { + if (Instance) Destroy(this); + Instance = this; + + SceneManager.add_sceneLoaded((Action) (OnSceneLoaded)); + this.StartCoroutine(CoCheckUpdates()); + + foreach (var file in Directory.GetFiles(Paths.PluginPath, "*.old")) + { + File.Delete(file); + } + } + + private void OnSceneLoaded(Scene scene, LoadSceneMode mode) + { + if (scene.name != "MainMenu") return; + if (RequiredUpdateData is null) return; + + var template = GameObject.Find("ExitGameButton"); + if (!template) return; + + var button = Instantiate(template, null); + var buttonTransform = button.transform; + var pos = buttonTransform.localPosition; + pos.y += 1.2f; + buttonTransform.localPosition = pos; PassiveButton passiveButton = button.GetComponent(); SpriteRenderer buttonSprite = button.GetComponent(); passiveButton.OnClick = new Button.ButtonClickedEvent(); - passiveButton.OnClick.AddListener((UnityEngine.Events.UnityAction)onClick); + passiveButton.OnClick.AddListener((Action) (() => + { + this.StartCoroutine(CoUpdate()); + button.SetActive(false); + })); - var text = button.transform.GetChild(0).GetComponent(); - __instance.StartCoroutine(Effects.Lerp(0.1f, new System.Action((p) => { - text.SetText("Update"); - }))); + var text = button.transform.GetChild(0).GetComponent(); + string t = "Update"; + if (TORUpdate is null) t = SubmergedCompatibility.Loaded ? $"Update\nSubmerged" : $"Download\nSubmerged"; + + StartCoroutine(Effects.Lerp(0.1f, (Action)(p => text.SetText(t)))); buttonSprite.color = text.color = Color.red; - passiveButton.OnMouseOut.AddListener((UnityEngine.Events.UnityAction)delegate { - buttonSprite.color = text.color = Color.red; - }); + passiveButton.OnMouseOut.AddListener((Action)(() => buttonSprite.color = text.color = Color.red)); - TwitchManager man = DestroyableSingleton.Instance; - ModUpdater.InfoPopup = UnityEngine.Object.Instantiate(man.TwitchPopup); - ModUpdater.InfoPopup.TextAreaTMP.fontSize *= 0.7f; - ModUpdater.InfoPopup.TextAreaTMP.enableAutoSizing = false; + var isSubmerged = TORUpdate == null; + var announcement = $"A new {(isSubmerged ? "Submerged" : "THE OTHER ROLES")} update to {(isSubmerged ? SubmergedUpdate.Tag : TORUpdate.Tag)} is available\n{(isSubmerged ? SubmergedUpdate.Content : TORUpdate.Content)}"; + var mgr = FindObjectOfType(true); + if (showPopUp) mgr.StartCoroutine(CoShowAnnouncement(announcement)); + showPopUp = false; + } + + [HideFromIl2Cpp] + public IEnumerator CoUpdate() + { + var isSubmerged = TORUpdate is null; + var updateName = (isSubmerged ? "Submerged" : "The Other Roles"); + + var popup = Instantiate(TwitchManager.Instance.TwitchPopup); + popup.TextAreaTMP.fontSize *= 0.7f; + popup.TextAreaTMP.enableAutoSizing = false; + popup.Show(); + popup.TextAreaTMP.text = $"Updating {updateName}\nPlease wait..."; + + var download = Task.Run(DownloadUpdate); + while (!download.IsCompleted) yield return null; + popup.TextAreaTMP.text = download.Result ? $"{updateName}\nupdated successfully\nPlease restart the game." : "Update wasn't successful\nTry again later,\nor update manually."; - void onClick() { - ModUpdater.ExecuteUpdate(); - button.SetActive(false); - } } - } - [HarmonyPatch(typeof(AnnouncementPopUp), nameof(AnnouncementPopUp.UpdateAnnounceText))] - public static class Announcement { - public static bool Prefix(AnnouncementPopUp __instance) { - var text = __instance.AnnounceTextMeshPro; - text.text = ModUpdater.announcement; - return false; + [HideFromIl2Cpp] + public IEnumerator CoShowAnnouncement(string announcement) + { + var popUp = Instantiate(FindObjectOfType(true)); + popUp.gameObject.SetActive(true); + yield return popUp.Init(); + var last = SaveManager.LastAnnouncement; + last.Id = 1; + last.Text = announcement; + SelectableHyperLinkHelper.DestroyGOs(popUp.selectableHyperLinks, name); + popUp.AnnounceTextMeshPro.text = announcement; } - } - public class ModUpdater { - public static bool running = false; - public static bool hasUpdate = false; - public static string updateURI = null; - private static Task updateTask = null; - public static string announcement = ""; - public static GenericPopup InfoPopup; - - public static void LaunchUpdater() { - if (running) return; - running = true; - checkForUpdate().GetAwaiter().GetResult(); - clearOldVersions(); - if (hasUpdate || TheOtherRolesPlugin.ShowPopUpVersion.Value != TheOtherRolesPlugin.VersionString) { - DestroyableSingleton.Instance.Announcement.gameObject.SetActive(true); - TheOtherRolesPlugin.ShowPopUpVersion.Value = TheOtherRolesPlugin.VersionString; + [HideFromIl2Cpp] + public static IEnumerator CoCheckUpdates() + { + var torUpdateCheck = Task.Run(() => Instance.GetGithubUpdate("Eisbison", "TheOtherRoles")); + while (!torUpdateCheck.IsCompleted) yield return null; + if (torUpdateCheck.Result != null && torUpdateCheck.Result.IsNewer(Version.Parse(TheOtherRolesPlugin.VersionString))) + { + Instance.TORUpdate = torUpdateCheck.Result; } - MapOptions.reloadPluginOptions(); - } - public static void ExecuteUpdate() { - string info = "Updating The Other Roles\nPlease wait..."; - ModUpdater.InfoPopup.Show(info); // Show originally - if (updateTask == null) { - if (updateURI != null) { - updateTask = downloadUpdate(); - } else { - info = "Unable to auto-update\nPlease update manually"; + if (CheckForSubmergedUpdates) + { + var submergedUpdateCheck = Task.Run(() => Instance.GetGithubUpdate("SubmergedAmongUs", "Submerged")); + while (!submergedUpdateCheck.IsCompleted) yield return null; + if (submergedUpdateCheck.Result != null && (!SubmergedCompatibility.Loaded || submergedUpdateCheck.Result.IsNewer(SubmergedCompatibility.Version))) + { + Instance.SubmergedUpdate = submergedUpdateCheck.Result; } - } else { - info = "Update might already\nbe in progress"; - } - ModUpdater.InfoPopup.StartCoroutine(Effects.Lerp(0.01f, new System.Action((p) => { ModUpdater.setPopupText(info); }))); - } - - public static void clearOldVersions() { - try { - DirectoryInfo d = new DirectoryInfo(Path.GetDirectoryName(Application.dataPath) + @"\BepInEx\plugins"); - string[] files = d.GetFiles("*.old").Select(x => x.FullName).ToArray(); // Getting old versions - foreach (string f in files) - File.Delete(f); - } catch (System.Exception e) { - System.Console.WriteLine("Exception occured when clearing old versions:\n" + e); } } - public static async Task checkForUpdate() { - try { - HttpClient http = new HttpClient(); - http.DefaultRequestHeaders.Add("User-Agent", "TheOtherRoles Updater"); - var response = await http.GetAsync(new System.Uri("https://api.github.com/repos/Eisbison/TheOtherRoles/releases/latest"), HttpCompletionOption.ResponseContentRead); - // var response = await http.GetAsync(new System.Uri("https://api.github.com/repos/EoF-1141/TheOtherRoles/releases/latest"), HttpCompletionOption.ResponseContentRead); - if (response.StatusCode != HttpStatusCode.OK || response.Content == null) { - System.Console.WriteLine("Server returned no data: " + response.StatusCode.ToString()); - return false; - } - string json = await response.Content.ReadAsStringAsync(); - JObject data = JObject.Parse(json); - - string tagname = data["tag_name"]?.ToString(); - if (tagname == null) { - return false; // Something went wrong - } + [HideFromIl2Cpp] + public async Task GetGithubUpdate(string owner, string repo) + { + var client = new HttpClient(); + client.DefaultRequestHeaders.Add("User-Agent", "TheOtherRoles Updater"); - string changeLog = data["body"]?.ToString(); - if (changeLog != null) announcement = changeLog; - // check version - System.Version ver = System.Version.Parse(tagname.Replace("v", "")); - int diff = TheOtherRolesPlugin.Version.CompareTo(ver); - if (diff < 0) { // Update required - hasUpdate = true; - announcement = $@"A new THE OTHER ROLES -update to v{ver} is available - -{announcement}"; - - JToken assets = data["assets"]; - if (!assets.HasValues) - return false; - - for (JToken current = assets.First; current != null; current = current.Next) { - string browser_download_url = current["browser_download_url"]?.ToString(); - if (browser_download_url != null && current["content_type"] != null) { - if (current["content_type"].ToString().Equals("application/x-msdownload") && - browser_download_url.EndsWith(".dll")) { - updateURI = browser_download_url; - return true; - } - } - } - } else { - announcement = $@"THE OTHER ROLES Version {ver}: + var req = await client.GetAsync($"https://api.github.com/repos/{owner}/{repo}/releases/latest", HttpCompletionOption.ResponseContentRead); + if (!req.IsSuccessStatusCode) return null; -{announcement}"; - } - } catch (System.Exception ex) { - TheOtherRolesPlugin.Instance.Log.LogError(ex.ToString()); - System.Console.WriteLine(ex); - } - return false; + var dataString = await req.Content.ReadAsStringAsync(); + JObject data = JObject.Parse(dataString); + return new UpdateData(data); } - public static async Task downloadUpdate() { - try { - HttpClient http = new HttpClient(); - http.DefaultRequestHeaders.Add("User-Agent", "TheOtherRoles Updater"); - var response = await http.GetAsync(new System.Uri(updateURI), HttpCompletionOption.ResponseContentRead); - if (response.StatusCode != HttpStatusCode.OK || response.Content == null) { - System.Console.WriteLine("Server returned no data: " + response.StatusCode.ToString()); - return false; - } - string codeBase = Assembly.GetExecutingAssembly().CodeBase; - System.UriBuilder uri = new System.UriBuilder(codeBase); - string fullname = System.Uri.UnescapeDataString(uri.Path); - if (File.Exists(fullname + ".old")) // Clear old file in case it wasnt; - File.Delete(fullname + ".old"); - - File.Move(fullname, fullname + ".old"); // rename current executable to old - - using (var responseStream = await response.Content.ReadAsStreamAsync()) { - using (var fileStream = File.Create(fullname)) { // probably want to have proper name here - responseStream.CopyTo(fileStream); + [HideFromIl2Cpp] + public async Task DownloadUpdate() + { + var isSubmerged = TORUpdate is null; + var data = isSubmerged ? SubmergedUpdate : TORUpdate; + + var client = new HttpClient(); + client.DefaultRequestHeaders.Add("User-Agent", "TheOtherRoles Updater"); + + JToken assets = data.Request["assets"]; + string downloadURI = ""; + for (JToken current = assets.First; current != null; current = current.Next) + { + string browser_download_url = current["browser_download_url"]?.ToString(); + if (browser_download_url != null && current["content_type"] != null) { + if (current["content_type"].ToString().Equals("application/x-msdownload") && + browser_download_url.EndsWith(".dll")) { + downloadURI = browser_download_url; + break; } } - showPopup("The Other Roles\nupdated successfully\nPlease restart the game."); - return true; - } catch (System.Exception ex) { - TheOtherRolesPlugin.Instance.Log.LogError(ex.ToString()); - System.Console.WriteLine(ex); } - showPopup("Update wasn't successful\nTry again later,\nor update manually."); - return false; - } - private static void showPopup(string message) { - setPopupText(message); - InfoPopup.gameObject.SetActive(true); - } - public static void setPopupText(string message) { - if (InfoPopup == null) - return; - if (InfoPopup.TextAreaTMP != null) { - InfoPopup.TextAreaTMP.text = message; - } + if (downloadURI.Length == 0) return false; + + var res = await client.GetAsync(downloadURI, HttpCompletionOption.ResponseContentRead); + string codeBase = (isSubmerged ? SubmergedCompatibility.Assembly : Assembly.GetExecutingAssembly()).CodeBase; + UriBuilder uri = new UriBuilder(codeBase); + string fullname = Uri.UnescapeDataString(uri.Path); + if (File.Exists(fullname + ".old")) File.Delete(fullname + ".old"); + File.Move(fullname, fullname + ".old"); + + await using var responseStream = await res.Content.ReadAsStreamAsync(); + await using var fileStream = File.Create(fullname); + await responseStream.CopyToAsync(fileStream); + + return true; } } } \ No newline at end of file diff --git a/TheOtherRoles/Objects/Arrow.cs b/TheOtherRoles/Objects/Arrow.cs index 3a70fed..5324489 100644 --- a/TheOtherRoles/Objects/Arrow.cs +++ b/TheOtherRoles/Objects/Arrow.cs @@ -9,6 +9,7 @@ namespace TheOtherRoles.Objects { public SpriteRenderer image; public GameObject arrow; private Vector3 oldTarget; + private ArrowBehaviour arrowBehaviour; private static Sprite sprite; public static Sprite getSprite() { @@ -24,6 +25,8 @@ namespace TheOtherRoles.Objects { image = arrow.AddComponent(); image.sprite = getSprite(); image.color = color; + arrowBehaviour = arrow.AddComponent(); + arrowBehaviour.image = image; } public void Update() { @@ -39,41 +42,8 @@ namespace TheOtherRoles.Objects { if (color.HasValue) image.color = color.Value; - Camera main = Camera.main; - Vector2 vector = target - main.transform.position; - float num = vector.magnitude / (main.orthographicSize * perc); - image.enabled = ((double)num > 0.3); - Vector2 vector2 = main.WorldToViewportPoint(target); - if (Between(vector2.x, 0f, 1f) && Between(vector2.y, 0f, 1f)) - { - arrow.transform.position = target - (Vector3)vector.normalized * 0.6f; - float num2 = Mathf.Clamp(num, 0f, 1f); - arrow.transform.localScale = new Vector3(num2, num2, num2); - } - else - { - Vector2 vector3 = new Vector2(Mathf.Clamp(vector2.x * 2f - 1f, -1f, 1f), Mathf.Clamp(vector2.y * 2f - 1f, -1f, 1f)); - float orthographicSize = main.orthographicSize; - float num3 = main.orthographicSize * main.aspect; - Vector3 vector4 = new Vector3(Mathf.LerpUnclamped(0f, num3 * 0.88f, vector3.x), Mathf.LerpUnclamped(0f, orthographicSize * 0.79f, vector3.y), 0f); - arrow.transform.position = main.transform.position + vector4; - arrow.transform.localScale = Vector3.one; - } - - LookAt2d(arrow.transform, target); - } - - private void LookAt2d(Transform transform, Vector3 target) { - Vector3 vector = target - transform.position; - vector.Normalize(); - float num = Mathf.Atan2(vector.y, vector.x); - if (transform.lossyScale.x < 0f) - num += 3.1415927f; - transform.rotation = Quaternion.Euler(0f, 0f, num * 57.29578f); - } - - private bool Between(float value, float min, float max) { - return value > min && value < max; + arrowBehaviour.target = target; + arrowBehaviour.Update(); } } } \ No newline at end of file diff --git a/TheOtherRoles/Objects/Bloodytrail.cs b/TheOtherRoles/Objects/Bloodytrail.cs index 683200c..3fc312f 100644 --- a/TheOtherRoles/Objects/Bloodytrail.cs +++ b/TheOtherRoles/Objects/Bloodytrail.cs @@ -26,8 +26,9 @@ namespace TheOtherRoles.Objects { var index = rnd.Next(0, sp.Count); - blood = new GameObject("Blood" + index); - Vector3 position = new Vector3(player.transform.position.x, player.transform.position.y, player.transform.position.z + 1f); + blood = new GameObject("Blood" + index) { layer = 11 }; + Vector3 position = new Vector3(player.transform.position.x, player.transform.position.y, player.transform.position.y / 1000 + +0.001f); + blood.AddSubmergedComponent(SubmergedCompatibility.Classes.ElevatorMover); blood.transform.position = position; blood.transform.localPosition = position; blood.transform.SetParent(player.transform.parent); diff --git a/TheOtherRoles/Objects/Footprint.cs b/TheOtherRoles/Objects/Footprint.cs index c9cfa14..7eb18e5 100644 --- a/TheOtherRoles/Objects/Footprint.cs +++ b/TheOtherRoles/Objects/Footprint.cs @@ -28,8 +28,9 @@ namespace TheOtherRoles.Objects { else this.color = Palette.PlayerColors[(int) player.Data.DefaultOutfit.ColorId]; - footprint = new GameObject("Footprint"); - Vector3 position = new Vector3(player.transform.position.x, player.transform.position.y, player.transform.position.z + 1f); + footprint = new GameObject("Footprint") { layer = 11 }; + footprint.AddSubmergedComponent(SubmergedCompatibility.Classes.ElevatorMover); + Vector3 position = new Vector3(player.transform.position.x, player.transform.position.y, player.transform.position.y / 1000 + 0.001f); footprint.transform.position = position; footprint.transform.localPosition = position; footprint.transform.SetParent(player.transform.parent); diff --git a/TheOtherRoles/Objects/Garlic.cs b/TheOtherRoles/Objects/Garlic.cs index 5041d7f..0812fe8 100644 --- a/TheOtherRoles/Objects/Garlic.cs +++ b/TheOtherRoles/Objects/Garlic.cs @@ -25,13 +25,13 @@ namespace TheOtherRoles.Objects { } public Garlic(Vector2 p) { - garlic = new GameObject("Garlic"); - background = new GameObject("Background"); + garlic = new GameObject("Garlic"){layer = 11}; + garlic.AddSubmergedComponent(SubmergedCompatibility.Classes.ElevatorMover); + background = new GameObject("Background"){layer = 11}; background.transform.SetParent(garlic.transform); - Vector3 position = new Vector3(p.x, p.y, PlayerControl.LocalPlayer.transform.localPosition.z + 0.001f); // just behind player + Vector3 position = new Vector3(p.x, p.y, p.y / 1000 + 0.001f); // just behind player garlic.transform.position = position; - garlic.transform.localPosition = position; - background.transform.localPosition = new Vector3(0 , 0, -0.01f); // before player + background.transform.localPosition = new Vector3(0 , 0, -1f); // before player var garlicRenderer = garlic.AddComponent(); garlicRenderer.sprite = getGarlicSprite(); diff --git a/TheOtherRoles/Objects/JackInTheBox.cs b/TheOtherRoles/Objects/JackInTheBox.cs index 8e2bd73..3195ff3 100644 --- a/TheOtherRoles/Objects/JackInTheBox.cs +++ b/TheOtherRoles/Objects/JackInTheBox.cs @@ -37,8 +37,9 @@ namespace TheOtherRoles.Objects { private SpriteRenderer boxRenderer; public JackInTheBox(Vector2 p) { - gameObject = new GameObject("JackInTheBox"); - Vector3 position = new Vector3(p.x, p.y, PlayerControl.LocalPlayer.transform.position.z + 1f); + gameObject = new GameObject("JackInTheBox"){layer = 11}; + gameObject.AddSubmergedComponent(SubmergedCompatibility.Classes.ElevatorMover); + Vector3 position = new Vector3(p.x, p.y, p.y/1000f + 0.01f); position += (Vector3)PlayerControl.LocalPlayer.Collider.offset; // Add collider offset that DoMove moves the player up at a valid position // Create the marker gameObject.transform.position = position; @@ -48,6 +49,7 @@ namespace TheOtherRoles.Objects { // Create the vent var referenceVent = UnityEngine.Object.FindObjectOfType(); vent = UnityEngine.Object.Instantiate(referenceVent); + vent.gameObject.AddSubmergedComponent(SubmergedCompatibility.Classes.ElevatorMover); vent.transform.position = gameObject.transform.position; vent.Left = null; vent.Right = null; diff --git a/TheOtherRoles/Objects/NinjaTrace.cs b/TheOtherRoles/Objects/NinjaTrace.cs index c9be1e2..87e3efe 100644 --- a/TheOtherRoles/Objects/NinjaTrace.cs +++ b/TheOtherRoles/Objects/NinjaTrace.cs @@ -18,8 +18,10 @@ namespace TheOtherRoles.Objects { } public NinjaTrace(Vector2 p, float duration=1f) { - trace = new GameObject("NinjaTrace"); - Vector3 position = new Vector3(p.x, p.y, PlayerControl.LocalPlayer.transform.localPosition.z + 0.001f); // just behind player + trace = new GameObject("NinjaTrace") { layer = 11 }; + trace.AddSubmergedComponent(SubmergedCompatibility.Classes.ElevatorMover); + //Vector3 position = new Vector3(p.x, p.y, PlayerControl.LocalPlayer.transform.localPosition.z + 0.001f); // just behind player + Vector3 position = new Vector3(p.x, p.y, p.y / 1000f + 0.01f); trace.transform.position = position; trace.transform.localPosition = position; diff --git a/TheOtherRoles/Objects/Portal.cs b/TheOtherRoles/Objects/Portal.cs index de6a94e..513ecb9 100644 --- a/TheOtherRoles/Objects/Portal.cs +++ b/TheOtherRoles/Objects/Portal.cs @@ -9,7 +9,6 @@ namespace TheOtherRoles.Objects { public static Portal firstPortal = null; public static Portal secondPortal = null; public static bool bothPlacedAndEnabled = false; - // public static Sprite[] portalBgAnimationSprites = new Sprite[109]; public static Sprite[] portalFgAnimationSprites = new Sprite[205]; public static Sprite portalSprite; public static bool isTeleporting = false; @@ -28,14 +27,6 @@ namespace TheOtherRoles.Objects { public static List teleportedPlayers; - /*public static Sprite getBgAnimationSprite(int index) { - if (portalBgAnimationSprites == null || portalBgAnimationSprites.Length == 0) return null; - index = Mathf.Clamp(index, 0, portalBgAnimationSprites.Length - 1); - if (portalBgAnimationSprites[index] == null) - portalBgAnimationSprites[index] = (Helpers.loadSpriteFromResources($"TheOtherRoles.Resources.PortalAnimation.plattform.png", 115f)); - return portalBgAnimationSprites[index]; - }*/ - public static Sprite getFgAnimationSprite(int index) { if (portalFgAnimationSprites == null || portalFgAnimationSprites.Length == 0) return null; index = Mathf.Clamp(index, 0, portalFgAnimationSprites.Length - 1); @@ -70,13 +61,9 @@ namespace TheOtherRoles.Objects { secondPortal.animationFgRenderer.sprite = getFgAnimationSprite((int)(p * portalFgAnimationSprites.Length)); PlayerControl.SetPlayerMaterialColors(colorId, firstPortal.animationFgRenderer); PlayerControl.SetPlayerMaterialColors(colorId, secondPortal.animationFgRenderer); - /*firstPortal.animationBgRenderer.sprite = getBgAnimationSprite((int)(p * portalFgAnimationSprites.Length)); - secondPortal.animationBgRenderer.sprite = getBgAnimationSprite((int)(p * portalFgAnimationSprites.Length));*/ if (p == 1f) { firstPortal.animationFgRenderer.sprite = null; secondPortal.animationFgRenderer.sprite = null; - firstPortal.animationBgRenderer.sprite = null; - secondPortal.animationBgRenderer.sprite = null; isTeleporting = false; } } @@ -84,30 +71,26 @@ namespace TheOtherRoles.Objects { } public GameObject portalFgAnimationGameObject; - public GameObject portalBgAnimationGameObject; public GameObject portalGameObject; private SpriteRenderer animationFgRenderer; - private SpriteRenderer animationBgRenderer; private SpriteRenderer portalRenderer; public Portal(Vector2 p) { - portalGameObject = new GameObject("Portal"); - Vector3 position = new Vector3(p.x, p.y, PlayerControl.LocalPlayer.transform.position.z + 1f); - + portalGameObject = new GameObject("Portal"){ layer = 11 }; + //Vector3 position = new Vector3(p.x, p.y, PlayerControl.LocalPlayer.transform.position.z + 1f); + Vector3 position = new Vector3(p.x, p.y, p.y / 1000f + 0.01f); // Create the portal portalGameObject.transform.position = position; + portalGameObject.AddSubmergedComponent(SubmergedCompatibility.Classes.ElevatorMover); portalRenderer = portalGameObject.AddComponent(); - animationBgRenderer = portalGameObject.AddComponent(); portalRenderer.sprite = portalSprite; - portalBgAnimationGameObject = new GameObject("PortalAnimationBG"); - portalBgAnimationGameObject.transform.position = position; - animationBgRenderer = portalBgAnimationGameObject.AddComponent(); - - Vector3 fgPosition = new Vector3(p.x, p.y, PlayerControl.LocalPlayer.transform.position.z - 0.1f); - portalFgAnimationGameObject = new GameObject("PortalAnimationFG"); - portalFgAnimationGameObject.transform.position = fgPosition; + Vector3 fgPosition = new Vector3(0, 0, -1f); + portalFgAnimationGameObject = new GameObject("PortalAnimationFG") { layer = 11 }; + portalFgAnimationGameObject.transform.SetParent(portalGameObject.transform); + portalFgAnimationGameObject.AddSubmergedComponent(SubmergedCompatibility.Classes.ElevatorMover); + portalFgAnimationGameObject.transform.localPosition = fgPosition; animationFgRenderer = portalFgAnimationGameObject.AddComponent(); animationFgRenderer.material = DestroyableSingleton.Instance.PlayerMaterial; @@ -115,7 +98,6 @@ namespace TheOtherRoles.Objects { bool playerIsPortalmaker = PlayerControl.LocalPlayer == TheOtherRoles.Portalmaker.portalmaker; portalGameObject.SetActive(playerIsPortalmaker); portalFgAnimationGameObject.SetActive(true); - portalBgAnimationGameObject.SetActive(true); if (firstPortal == null) firstPortal = this; else if (secondPortal == null) { @@ -159,7 +141,6 @@ namespace TheOtherRoles.Objects { private static void preloadSprites() { for (int i = 0; i < portalFgAnimationSprites.Length; i++) { - /*getBgAnimationSprite(i);*/ getFgAnimationSprite(i); } portalSprite = Helpers.loadSpriteFromResources("TheOtherRoles.Resources.PortalAnimation.plattform.png", 115f); diff --git a/TheOtherRoles/Patches/CredentialsPatch.cs b/TheOtherRoles/Patches/CredentialsPatch.cs index e3dec1c..dde3159 100644 --- a/TheOtherRoles/Patches/CredentialsPatch.cs +++ b/TheOtherRoles/Patches/CredentialsPatch.cs @@ -21,7 +21,7 @@ Design by Bavari"; public static string contributorsCredentials = $@" Special thanks to K3ndo & Smeggy -GitHub Contributors: Gendelo3, Alex2911, amsyarasyiq, MaximeGillot, Psynomit"; +GitHub Contributors: Gendelo, Alex2911, amsyarasyiq, MaximeGillot, Psynomit"; [HarmonyPatch(typeof(VersionShower), nameof(VersionShower.Start))] private static class VersionShowerPatch diff --git a/TheOtherRoles/Patches/EndGamePatch.cs b/TheOtherRoles/Patches/EndGamePatch.cs index 4080a8f..7045c49 100644 --- a/TheOtherRoles/Patches/EndGamePatch.cs +++ b/TheOtherRoles/Patches/EndGamePatch.cs @@ -434,7 +434,7 @@ namespace TheOtherRoles.Patches { } private static bool CheckAndEndGameForTaskWin(ShipStatus __instance) { - if (GameData.Instance.TotalTasks <= GameData.Instance.CompletedTasks) { + if (GameData.Instance.TotalTasks > 0 && GameData.Instance.TotalTasks <= GameData.Instance.CompletedTasks) { __instance.enabled = false; ShipStatus.RpcEndGame(GameOverReason.HumansByTask, false); return true; @@ -522,9 +522,8 @@ namespace TheOtherRoles.Patches { bool impLover = false; bool jackalLover = false; - for (int i = 0; i < GameData.Instance.PlayerCount; i++) + foreach (var playerInfo in GameData.Instance.AllPlayers) { - GameData.PlayerInfo playerInfo = GameData.Instance.AllPlayers[i]; if (!playerInfo.Disconnected) { if (!playerInfo.IsDead) diff --git a/TheOtherRoles/Patches/ExileControllerPatch.cs b/TheOtherRoles/Patches/ExileControllerPatch.cs index 3672e9c..9ecc9fe 100644 --- a/TheOtherRoles/Patches/ExileControllerPatch.cs +++ b/TheOtherRoles/Patches/ExileControllerPatch.cs @@ -14,8 +14,12 @@ using System.Reflection; namespace TheOtherRoles.Patches { [HarmonyPatch(typeof(ExileController), nameof(ExileController.Begin))] + [HarmonyPriority(Priority.First)] class ExileControllerBeginPatch { + public static GameData.PlayerInfo lastExiled; public static void Prefix(ExileController __instance, [HarmonyArgument(0)]ref GameData.PlayerInfo exiled, [HarmonyArgument(1)]bool tie) { + lastExiled = exiled; + // Medic shield if (Medic.medic != null && AmongUsClient.Instance.AmHost && Medic.futureShielded != null && !Medic.medic.Data.IsDead) { // We need to send the RPC from the host here, to make sure that the order of shifting and setting the shield is correct(for that reason the futureShifted and futureShielded are being synced) MessageWriter writer = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.MedicSetShielded, Hazel.SendOption.Reliable, -1); @@ -88,6 +92,8 @@ namespace TheOtherRoles.Patches { animator?.Stop(); vent.EnterVentAnim = vent.ExitVentAnim = null; vent.myRend.sprite = animator == null ? SecurityGuard.getStaticVentSealedSprite() : SecurityGuard.getAnimatedVentSealedSprite(); + if (SubmergedCompatibility.isSubmerged() && vent.Id == 0) vent.myRend.sprite = SecurityGuard.getSubmergedCentralUpperSealedSprite(); + if (SubmergedCompatibility.isSubmerged() && vent.Id == 14) vent.myRend.sprite = SecurityGuard.getSubmergedCentralLowerSealedSprite(); vent.myRend.color = Color.white; vent.name = "SealedVent_" + vent.name; } @@ -112,6 +118,15 @@ namespace TheOtherRoles.Patches { } } + // Workaround to add a "postfix" to the destroying of the exile controller (i.e. cutscene) of submerged + [HarmonyPatch(typeof(UnityEngine.Object), nameof(UnityEngine.Object.Destroy), new Type[] { typeof(GameObject) })] + public static void Prefix(GameObject obj) { + if (!SubmergedCompatibility.isSubmerged()) return; + if (obj.name.Contains("ExileCutscene")) { + WrapUpPostfix(ExileControllerBeginPatch.lastExiled); + } + } + static void WrapUpPostfix(GameData.PlayerInfo exiled) { // Mini exile lose condition if (exiled != null && Mini.mini != null && Mini.mini.PlayerId == exiled.PlayerId && !Mini.isGrownUp() && !Mini.mini.Data.Role.IsImpostor && !RoleInfo.getRoleInfoForPlayer(Mini.mini).Any(x => x.isNeutral)) { @@ -135,9 +150,11 @@ namespace TheOtherRoles.Patches { if (Seer.deadBodyPositions != null && Seer.seer != null && PlayerControl.LocalPlayer == Seer.seer && (Seer.mode == 0 || Seer.mode == 2)) { foreach (Vector3 pos in Seer.deadBodyPositions) { GameObject soul = new GameObject(); - soul.transform.position = pos; + //soul.transform.position = pos; + soul.transform.position = new Vector3(pos.x, pos.y, pos.y / 1000 - 1f); soul.layer = 5; var rend = soul.AddComponent(); + soul.AddSubmergedComponent(SubmergedCompatibility.Classes.ElevatorMover); rend.sprite = Seer.getSoulSprite(); if(Seer.limitSoulDuration) { @@ -193,9 +210,11 @@ namespace TheOtherRoles.Patches { if (Medium.featureDeadBodies != null) { foreach ((DeadPlayer db, Vector3 ps) in Medium.featureDeadBodies) { GameObject s = new GameObject(); - s.transform.position = ps; + //s.transform.position = ps; + s.transform.position = new Vector3(ps.x, ps.y, ps.y / 1000 - 1f); s.layer = 5; var rend = s.AddComponent(); + s.AddSubmergedComponent(SubmergedCompatibility.Classes.ElevatorMover); rend.sprite = Medium.getSoulSprite(); Medium.souls.Add(rend); } @@ -203,13 +222,13 @@ namespace TheOtherRoles.Patches { Medium.featureDeadBodies = new List>(); } } - // Lawyer add meeting - if (Lawyer.lawyer != null && PlayerControl.LocalPlayer == Lawyer.lawyer && !Lawyer.lawyer.Data.IsDead) - Lawyer.meetings++; // AntiTeleport set position if (AntiTeleport.antiTeleport.FindAll(x => x.PlayerId == PlayerControl.LocalPlayer.PlayerId).Count > 0) { PlayerControl.LocalPlayer.transform.position = AntiTeleport.position; + if (SubmergedCompatibility.isSubmerged()) { + SubmergedCompatibility.ChangeFloor(AntiTeleport.position.y > -7); + } } // Invert add meeting diff --git a/TheOtherRoles/Patches/GameStartManagerPatch.cs b/TheOtherRoles/Patches/GameStartManagerPatch.cs index 7e32327..abcbe32 100644 --- a/TheOtherRoles/Patches/GameStartManagerPatch.cs +++ b/TheOtherRoles/Patches/GameStartManagerPatch.cs @@ -174,6 +174,8 @@ namespace TheOtherRoles.Patches { possibleMaps.Add(2); if (CustomOptionHolder.dynamicMapEnableAirShip.getBool()) possibleMaps.Add(4); + if (CustomOptionHolder.dynamicMapEnableSubmerged.getBool()) + possibleMaps.Add(5); byte chosenMapId = possibleMaps[TheOtherRoles.rnd.Next(possibleMaps.Count)]; MessageWriter writer = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.DynamicMapOption, Hazel.SendOption.Reliable, -1); diff --git a/TheOtherRoles/Patches/MainMenuPatch.cs b/TheOtherRoles/Patches/MainMenuPatch.cs index f98200d..83c0fa0 100644 --- a/TheOtherRoles/Patches/MainMenuPatch.cs +++ b/TheOtherRoles/Patches/MainMenuPatch.cs @@ -29,13 +29,11 @@ namespace TheOtherRoles.Modules { SpriteRenderer buttonSpriteDiscord = buttonDiscord.GetComponent(); passiveButtonDiscord.OnClick = new Button.ButtonClickedEvent(); - passiveButtonDiscord.OnClick.AddListener((UnityEngine.Events.UnityAction)delegate { - Application.OpenURL("https://discord.gg/77RkMJHWsM"); - }); + passiveButtonDiscord.OnClick.AddListener((System.Action)(() => Application.OpenURL("https://discord.gg/77RkMJHWsM"))); Color discordColor = new Color32(88, 101, 242, byte.MaxValue); buttonSpriteDiscord.color = textDiscord.color = discordColor; - passiveButtonDiscord.OnMouseOut.AddListener((UnityEngine.Events.UnityAction)delegate { + passiveButtonDiscord.OnMouseOut.AddListener((System.Action)delegate { buttonSpriteDiscord.color = textDiscord.color = discordColor; }); @@ -56,7 +54,7 @@ namespace TheOtherRoles.Modules { passiveHorseButton.OnClick = new ButtonClickedEvent(); - passiveHorseButton.OnClick.AddListener((UnityEngine.Events.UnityAction)delegate { + passiveHorseButton.OnClick.AddListener((System.Action)delegate { horseButtonState = horseModeSelectionBehavior.OnClick(); if (horseButtonState) { if (horseModeOnSprite == null) horseModeOnSprite = Helpers.loadSpriteFromResources("TheOtherRoles.Resources.HorseModeButtonOn.png", 75f); diff --git a/TheOtherRoles/Patches/MeetingPatch.cs b/TheOtherRoles/Patches/MeetingPatch.cs index 0687b0b..e08a052 100644 --- a/TheOtherRoles/Patches/MeetingPatch.cs +++ b/TheOtherRoles/Patches/MeetingPatch.cs @@ -298,7 +298,7 @@ namespace TheOtherRoles.Patches { exitButtonParent.transform.localPosition = new Vector3(2.725f, 2.1f, -5); exitButtonParent.transform.localScale = new Vector3(0.217f, 0.9f, 1); exitButton.GetComponent().OnClick.RemoveAllListeners(); - exitButton.GetComponent().OnClick.AddListener((UnityEngine.Events.UnityAction)(() => { + exitButton.GetComponent().OnClick.AddListener((System.Action)(() => { __instance.playerStates.ToList().ForEach(x => x.gameObject.SetActive(true)); UnityEngine.Object.Destroy(container.gameObject); })); @@ -333,7 +333,7 @@ namespace TheOtherRoles.Patches { int copiedIndex = i; button.GetComponent().OnClick.RemoveAllListeners(); - if (!PlayerControl.LocalPlayer.Data.IsDead) button.GetComponent().OnClick.AddListener((UnityEngine.Events.UnityAction)(() => { + if (!PlayerControl.LocalPlayer.Data.IsDead) button.GetComponent().OnClick.AddListener((System.Action)(() => { if (selectedButton != button) { selectedButton = button; buttons.ForEach(x => x.GetComponent().color = x == selectedButton ? Color.red : Color.white); @@ -413,7 +413,7 @@ namespace TheOtherRoles.Patches { swapperButtonList[i] = button; button.OnClick.RemoveAllListeners(); int copiedIndex = i; - button.OnClick.AddListener((UnityEngine.Events.UnityAction)(() => swapperOnClick(copiedIndex, __instance))); + button.OnClick.AddListener((System.Action)(() => swapperOnClick(copiedIndex, __instance))); selections[i] = false; renderers[i] = renderer; @@ -492,7 +492,7 @@ namespace TheOtherRoles.Patches { PassiveButton button = targetBox.GetComponent(); button.OnClick.RemoveAllListeners(); int copiedIndex = i; - button.OnClick.AddListener((UnityEngine.Events.UnityAction)(() => guesserOnClick(copiedIndex, __instance))); + button.OnClick.AddListener((System.Action)(() => guesserOnClick(copiedIndex, __instance))); } } } diff --git a/TheOtherRoles/Patches/PlayerControlPatch.cs b/TheOtherRoles/Patches/PlayerControlPatch.cs index 6b66b50..dac61b6 100644 --- a/TheOtherRoles/Patches/PlayerControlPatch.cs +++ b/TheOtherRoles/Patches/PlayerControlPatch.cs @@ -23,9 +23,8 @@ namespace TheOtherRoles.Patches { if (targetingPlayer.Data.IsDead) return result; Vector2 truePosition = targetingPlayer.GetTruePosition(); - Il2CppSystem.Collections.Generic.List allPlayers = GameData.Instance.AllPlayers; - for (int i = 0; i < allPlayers.Count; i++) { - GameData.PlayerInfo playerInfo = allPlayers[i]; + foreach (var playerInfo in GameData.Instance.AllPlayers) + { if (!playerInfo.Disconnected && playerInfo.PlayerId != targetingPlayer.PlayerId && !playerInfo.IsDead && (!onlyCrewmates || !playerInfo.Role.IsImpostor)) { PlayerControl @object = playerInfo.Object; if (untargetablePlayers != null && untargetablePlayers.Any(x => x == @object)) { @@ -109,6 +108,9 @@ namespace TheOtherRoles.Patches { else if (localPlayerPositions.Any(x => x.Item2 == true)) { PlayerControl.LocalPlayer.transform.position = next.Item1; } + if (SubmergedCompatibility.isSubmerged()) { + SubmergedCompatibility.ChangeFloor(next.Item1.y > -7); + } localPlayerPositions.RemoveAt(0); @@ -517,6 +519,7 @@ namespace TheOtherRoles.Patches { for (int i = 0; i < ShipStatus.Instance.AllVents.Length; i++) { Vent vent = ShipStatus.Instance.AllVents[i]; if (vent.gameObject.name.StartsWith("JackInTheBoxVent_") || vent.gameObject.name.StartsWith("SealedVent_") || vent.gameObject.name.StartsWith("FutureSealedVent_")) continue; + if (SubmergedCompatibility.isSubmerged() && vent.Id == 9) continue; // cannot seal submergeds exit only vent! float distance = Vector2.Distance(vent.transform.position, truePosition); if (distance <= vent.UsableDistance && distance < closestDistance) { closestDistance = distance; @@ -706,15 +709,6 @@ namespace TheOtherRoles.Patches { public static void lawyerUpdate() { if (Lawyer.lawyer == null || Lawyer.lawyer != PlayerControl.LocalPlayer) return; - // Meeting win - if (Lawyer.winsAfterMeetings && Lawyer.neededMeetings == Lawyer.meetings && Lawyer.target != null && !Lawyer.target.Data.IsDead) { - Lawyer.winsAfterMeetings = false; // Avoid sending mutliple RPCs until the host finshes the game - MessageWriter winWriter = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.LawyerWin, Hazel.SendOption.Reliable, -1); - AmongUsClient.Instance.FinishRpcImmediately(winWriter); - RPCProcedure.lawyerWin(); - return; - } - // Promote to Pursuer if (Lawyer.target != null && Lawyer.target.Data.Disconnected) { MessageWriter writer = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.LawyerPromotesToPursuer, Hazel.SendOption.Reliable, -1); @@ -1188,12 +1182,18 @@ namespace TheOtherRoles.Patches { RPCProcedure.sidekickPromotes(); } - // Pursuer promotion trigger on exile (the host sends the call such that everyone recieves the update before a possible game End) + // Pursuer promotion trigger on exile & suicide (the host sends the call such that everyone recieves the update before a possible game End) if (__instance == Lawyer.target && Lawyer.target != Jester.jester && AmongUsClient.Instance.AmHost) { MessageWriter writer = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.LawyerPromotesToPursuer, Hazel.SendOption.Reliable, -1); AmongUsClient.Instance.FinishRpcImmediately(writer); RPCProcedure.lawyerPromotesToPursuer(); } + if (__instance == Lawyer.target) + { + if (Lawyer.lawyer != null) Lawyer.lawyer.Exiled(); + if (Pursuer.pursuer != null) Pursuer.pursuer.Exiled(); + } + } } diff --git a/TheOtherRoles/Patches/ShipStatusPatch.cs b/TheOtherRoles/Patches/ShipStatusPatch.cs index 8c3cae4..a5cdbb3 100644 --- a/TheOtherRoles/Patches/ShipStatusPatch.cs +++ b/TheOtherRoles/Patches/ShipStatusPatch.cs @@ -1,50 +1,79 @@ +using System; +using System.Linq; using HarmonyLib; +using UnhollowerRuntimeLib; using static TheOtherRoles.TheOtherRoles; using UnityEngine; namespace TheOtherRoles.Patches { [HarmonyPatch(typeof(ShipStatus))] - public class ShipStatusPatch { - - [HarmonyPostfix] + public class ShipStatusPatch + { + [HarmonyPrefix] [HarmonyPatch(typeof(ShipStatus), nameof(ShipStatus.CalculateLightRadius))] public static bool Prefix(ref float __result, ShipStatus __instance, [HarmonyArgument(0)] GameData.PlayerInfo player) { - ISystemType systemType = __instance.Systems.ContainsKey(SystemTypes.Electrical) ? __instance.Systems[SystemTypes.Electrical] : null; - if (systemType == null) return true; - SwitchSystem switchSystem = systemType.TryCast(); - if (switchSystem == null) return true; + if (!__instance.Systems.ContainsKey(SystemTypes.Electrical)) return true; - float num = (float)switchSystem.Value / 255f; - - if (player == null || player.IsDead) {// IsDead - __result = __instance.MaxLightRadius; - return false; - } - else if (player.Role.IsImpostor + // If player is a role which has Impostor vision + if (player.Role.IsImpostor || (Jackal.jackal != null && Jackal.jackal.PlayerId == player.PlayerId && Jackal.hasImpostorVision) || (Sidekick.sidekick != null && Sidekick.sidekick.PlayerId == player.PlayerId && Sidekick.hasImpostorVision) || (Spy.spy != null && Spy.spy.PlayerId == player.PlayerId && Spy.hasImpostorVision) - || (Jester.jester != null && Jester.jester.PlayerId == player.PlayerId && Jester.hasImpostorVision)) // Impostor, Jackal/Sidekick, Spy or Jester with Impostor vision - __result = __instance.MaxLightRadius * PlayerControl.GameOptions.ImpostorLightMod; - else if (Lighter.lighter != null && Lighter.lighter.PlayerId == player.PlayerId && Lighter.lighterTimer > 0f) // if player is Lighter and Lighter has his ability active - __result = Mathf.Lerp(__instance.MaxLightRadius * Lighter.lighterModeLightsOffVision, __instance.MaxLightRadius * Lighter.lighterModeLightsOnVision, num); + || (Jester.jester != null && Jester.jester.PlayerId == player.PlayerId && Jester.hasImpostorVision)) { + //__result = __instance.MaxLightRadius * PlayerControl.GameOptions.ImpostorLightMod; + __result = GetNeutralLightRadius(__instance, true); + return false; + } + + // If player is Lighter with ability active + if (Lighter.lighter != null && Lighter.lighter.PlayerId == player.PlayerId && Lighter.lighterTimer > 0f) { + float unlerped = Mathf.InverseLerp(__instance.MinLightRadius, __instance.MaxLightRadius, GetNeutralLightRadius(__instance, true)); + __result = Mathf.Lerp(__instance.MaxLightRadius * Lighter.lighterModeLightsOffVision, __instance.MaxLightRadius * Lighter.lighterModeLightsOnVision, unlerped); + } + + // If there is a Trickster with their ability active else if (Trickster.trickster != null && Trickster.lightsOutTimer > 0f) { float lerpValue = 1f; - if (Trickster.lightsOutDuration - Trickster.lightsOutTimer < 0.5f) lerpValue = Mathf.Clamp01((Trickster.lightsOutDuration - Trickster.lightsOutTimer) * 2); - else if (Trickster.lightsOutTimer < 0.5) lerpValue = Mathf.Clamp01(Trickster.lightsOutTimer * 2); - __result = Mathf.Lerp(__instance.MinLightRadius, __instance.MaxLightRadius, 1 - lerpValue) * PlayerControl.GameOptions.CrewLightMod; // Instant lights out? Maybe add a smooth transition? + if (Trickster.lightsOutDuration - Trickster.lightsOutTimer < 0.5f) { + lerpValue = Mathf.Clamp01((Trickster.lightsOutDuration - Trickster.lightsOutTimer) * 2); + } else if (Trickster.lightsOutTimer < 0.5) { + lerpValue = Mathf.Clamp01(Trickster.lightsOutTimer * 2); + } + + __result = Mathf.Lerp(__instance.MinLightRadius, __instance.MaxLightRadius, 1 - lerpValue) * PlayerControl.GameOptions.CrewLightMod; + } + + // If player is Lawyer, apply Lawyer vision modifier + else if (Lawyer.lawyer != null && Lawyer.lawyer.PlayerId == player.PlayerId) { + float unlerped = Mathf.InverseLerp(__instance.MinLightRadius, __instance.MaxLightRadius, GetNeutralLightRadius(__instance, false)); + __result = Mathf.Lerp(__instance.MinLightRadius, __instance.MaxLightRadius * Lawyer.vision, unlerped); + return false; + } + + // Default light radius + else { + __result = GetNeutralLightRadius(__instance, false); } - else if (Lawyer.lawyer != null && Lawyer.lawyer.PlayerId == player.PlayerId) // Lawyer - __result = Mathf.Lerp(__instance.MinLightRadius, __instance.MaxLightRadius * Lawyer.vision, num); - else - __result = Mathf.Lerp(__instance.MinLightRadius, __instance.MaxLightRadius, num) * PlayerControl.GameOptions.CrewLightMod; if (Sunglasses.sunglasses.FindAll(x => x.PlayerId == player.PlayerId).Count > 0) // Sunglasses __result *= 1f - Sunglasses.vision * 0.1f; return false; } + public static float GetNeutralLightRadius(ShipStatus shipStatus, bool isImpostor) { + if (SubmergedCompatibility.isSubmerged()) { + return SubmergedCompatibility.GetSubmergedNeutralLightRadius(isImpostor); + } + + if (isImpostor) return shipStatus.MaxLightRadius * PlayerControl.GameOptions.ImpostorLightMod; + + SwitchSystem switchSystem = shipStatus.Systems[SystemTypes.Electrical].TryCast(); + float lerpValue = switchSystem.Value / 255f; + + return Mathf.Lerp(shipStatus.MinLightRadius, shipStatus.MaxLightRadius, lerpValue) * PlayerControl.GameOptions.CrewLightMod; + } + [HarmonyPostfix] [HarmonyPatch(typeof(ShipStatus), nameof(ShipStatus.IsGameOverDueToDeath))] public static void Postfix2(ShipStatus __instance, ref bool __result) @@ -81,7 +110,5 @@ namespace TheOtherRoles.Patches { PlayerControl.GameOptions.NumShortTasks = originalNumShortTasksOption; PlayerControl.GameOptions.NumLongTasks = originalNumLongTasksOption; } - } - -} \ No newline at end of file +} diff --git a/TheOtherRoles/Patches/UsablesPatch.cs b/TheOtherRoles/Patches/UsablesPatch.cs index db1e725..2286552 100644 --- a/TheOtherRoles/Patches/UsablesPatch.cs +++ b/TheOtherRoles/Patches/UsablesPatch.cs @@ -21,6 +21,38 @@ namespace TheOtherRoles.Patches { bool roleCouldUse = @object.roleCanUseVents(); + if (__instance.name.StartsWith("SealedVent_")) { + canUse = couldUse = false; + __result = num; + return false; + } + + // Submerged Compatability if needed: + if (SubmergedCompatibility.isSubmerged()) { + // as submerged does, only change stuff for vents 9 and 14 of submerged. Code partially provided by AlexejheroYTB + if (SubmergedCompatibility.getInTransition()) { + __result = float.MaxValue; + return canUse = couldUse = false; + } + switch (__instance.Id) { + case 9: // Cannot enter vent 9 (Engine Room Exit Only Vent)! + if (PlayerControl.LocalPlayer.inVent) break; + __result = float.MaxValue; + return canUse = couldUse = false; + case 14: // Lower Central + __result = float.MaxValue; + couldUse = roleCouldUse && !pc.IsDead && (@object.CanMove || @object.inVent); + canUse = couldUse; + if (canUse) { + Vector3 center = @object.Collider.bounds.center; + Vector3 position = __instance.transform.position; + __result = Vector2.Distance(center, position); + canUse &= __result <= __instance.UsableDistance; + } + return false; + } + } + var usableDistance = __instance.UsableDistance; if (__instance.name.StartsWith("JackInTheBoxVent_")) { if(Trickster.trickster != PlayerControl.LocalPlayer) { @@ -33,10 +65,6 @@ namespace TheOtherRoles.Patches { // Reduce the usable distance to reduce the risk of gettings stuck while trying to jump into the box if it's placed near objects usableDistance = 0.4f; } - } else if (__instance.name.StartsWith("SealedVent_")) { - canUse = couldUse = false; - __result = num; - return false; } couldUse = (@object.inVent || roleCouldUse) && !pc.IsDead && (@object.CanMove || @object.inVent); @@ -192,11 +220,6 @@ namespace TheOtherRoles.Patches { roleCanCallEmergency = false; statusText = "The Jester can't start an emergency meeting"; } - // Potentially deactivate emergency button for Lawyer - if (Lawyer.lawyer != null && Lawyer.lawyer == PlayerControl.LocalPlayer && Lawyer.winsAfterMeetings) { - roleCanCallEmergency = false; - statusText = "The Lawyer can't start an emergency meeting (" + Lawyer.meetings + "/" + Lawyer.neededMeetings + " meetings)"; - } if (!roleCanCallEmergency) { __instance.StatusText.text = statusText; @@ -293,7 +316,7 @@ namespace TheOtherRoles.Patches { if (Hacker.hacker != null && Hacker.hacker == PlayerControl.LocalPlayer && Hacker.hackerTimer > 0) { for (int k = 0; k < __instance.vitals.Length; k++) { VitalsPanel vitalsPanel = __instance.vitals[k]; - GameData.PlayerInfo player = GameData.Instance.AllPlayers[k]; + GameData.PlayerInfo player = vitalsPanel.PlayerInfo; // Hacker update if (vitalsPanel.IsDead) { @@ -316,7 +339,7 @@ namespace TheOtherRoles.Patches { [HarmonyPatch] class AdminPanelPatch { - static Dictionary> players = new Dictionary>(); + static Dictionary> players = new Dictionary>(); [HarmonyPatch(typeof(MapCountOverlay), nameof(MapCountOverlay.Update))] class MapCountOverlayUpdatePatch { @@ -417,9 +440,10 @@ namespace TheOtherRoles.Patches { bool showHackerInfo = Hacker.hacker != null && Hacker.hacker == PlayerControl.LocalPlayer && Hacker.hackerTimer > 0; if (players.ContainsKey(__instance.RoomType)) { List colors = players[__instance.RoomType]; - - for (int i = 0; i < __instance.myIcons.Count; i++) { - PoolableBehavior icon = __instance.myIcons[i]; + int i = -1; + foreach (var icon in __instance.myIcons) + { + i += 1; SpriteRenderer renderer = icon.GetComponent(); if (renderer != null) { diff --git a/TheOtherRoles/RPC.cs b/TheOtherRoles/RPC.cs index 938c7ca..3247ca5 100644 --- a/TheOtherRoles/RPC.cs +++ b/TheOtherRoles/RPC.cs @@ -87,6 +87,7 @@ namespace TheOtherRoles // Role functionality EngineerFixLights = 91, + EngineerFixSubmergedOxygen, EngineerUsedRepair, CleanBody, MedicSetShielded, @@ -367,8 +368,8 @@ namespace TheOtherRoles public static void uncheckedCmdReportDeadBody(byte sourceId, byte targetId) { PlayerControl source = Helpers.playerById(sourceId); - PlayerControl target = Helpers.playerById(targetId); - if (source != null && target != null) source.ReportDeadBody(target.Data); + var t = targetId == Byte.MaxValue ? null : Helpers.playerById(targetId).Data; + if (source != null) source.ReportDeadBody(t); } public static void uncheckedExilePlayer(byte targetId) { @@ -387,6 +388,10 @@ namespace TheOtherRoles switchSystem.ActualSwitches = switchSystem.ExpectedSwitches; } + public static void engineerFixSubmergedOxygen() { + SubmergedCompatibility.RepairOxygen(); + } + public static void engineerUsedRepair() { Engineer.remainingFixes--; } @@ -770,6 +775,16 @@ namespace TheOtherRoles camera.Offset = new Vector3(0f, 0f, camera.Offset.z); if (PlayerControl.GameOptions.MapId == 2 || PlayerControl.GameOptions.MapId == 4) camera.transform.localRotation = new Quaternion(0, 0, 1, 1); // Polus and Airship + if (SubmergedCompatibility.isSubmerged()) { + // remove 2d box collider of console, so that no barrier can be created. (irrelevant for now, but who knows... maybe we need it later) + var fixConsole = camera.transform.FindChild("FixConsole"); + if (fixConsole != null) { + var boxCollider = fixConsole.GetComponent(); + if (boxCollider != null) UnityEngine.Object.Destroy(boxCollider); + } + } + + if (PlayerControl.LocalPlayer == SecurityGuard.securityGuard) { camera.gameObject.SetActive(true); camera.gameObject.GetComponent().color = new Color(1f, 1f, 1f, 0.5f); @@ -789,6 +804,8 @@ namespace TheOtherRoles animator?.Stop(); vent.EnterVentAnim = vent.ExitVentAnim = null; vent.myRend.sprite = animator == null ? SecurityGuard.getStaticVentSealedSprite() : SecurityGuard.getAnimatedVentSealedSprite(); + if (SubmergedCompatibility.isSubmerged() && vent.Id == 0) vent.myRend.sprite = SecurityGuard.getSubmergedCentralUpperSealedSprite(); + if (SubmergedCompatibility.isSubmerged() && vent.Id == 14) vent.myRend.sprite = SecurityGuard.getSubmergedCentralLowerSealedSprite(); vent.myRend.color = new Color(1f, 1f, 1f, 0.5f); vent.name = "FutureSealedVent_" + vent.name; } @@ -818,7 +835,7 @@ namespace TheOtherRoles public static void lawyerPromotesToPursuer() { PlayerControl player = Lawyer.lawyer; PlayerControl client = Lawyer.target; - Lawyer.clearAndReload(); + Lawyer.clearAndReload(false); Pursuer.pursuer = player; if (player.PlayerId == PlayerControl.LocalPlayer.PlayerId && client != null) { @@ -976,6 +993,9 @@ namespace TheOtherRoles case (byte)CustomRPC.EngineerFixLights: RPCProcedure.engineerFixLights(); break; + case (byte)CustomRPC.EngineerFixSubmergedOxygen: + RPCProcedure.engineerFixSubmergedOxygen(); + break; case (byte)CustomRPC.EngineerUsedRepair: RPCProcedure.engineerUsedRepair(); break; diff --git a/TheOtherRoles/Resources/CentralLowerBlocked.png b/TheOtherRoles/Resources/CentralLowerBlocked.png new file mode 100644 index 0000000000000000000000000000000000000000..952fd9c53769b53cd42517ba490f6767a54c5c89 GIT binary patch literal 17747 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 D`Nh$1 literal 0 HcmV?d00001 diff --git a/TheOtherRoles/Resources/CentralUpperBlocked.png b/TheOtherRoles/Resources/CentralUpperBlocked.png new file mode 100644 index 0000000000000000000000000000000000000000..87523269fc06f1586308561188dd9580050b65e5 GIT binary patch literal 19048 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%0AhiCV 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 InjectedTypes { get; private set; } + + private static MonoBehaviour _submarineStatus; + public static MonoBehaviour SubmarineStatus + { + get + { + if (!Loaded) return null; + + if (_submarineStatus is null || _submarineStatus.WasCollected || !_submarineStatus || _submarineStatus == null) + { + if (ShipStatus.Instance is null || ShipStatus.Instance.WasCollected || !ShipStatus.Instance || ShipStatus.Instance == null) + { + return _submarineStatus = null; + } + else + { + if (ShipStatus.Instance.Type == SUBMERGED_MAP_TYPE) + { + return _submarineStatus = ShipStatus.Instance.GetComponent(Il2CppType.From(SubmarineStatusType))?.TryCast(SubmarineStatusType) as MonoBehaviour; + } + else + { + return _submarineStatus = null; + } + } + } + else + { + return _submarineStatus; + } + } + } + + public static bool DisableO2MaskCheckForEmergency + { + set + { + if (!Loaded) return; + DisableO2MaskCheckField.SetValue(null, value); + } + } + + private static Type SubmarineStatusType; + private static MethodInfo CalculateLightRadiusMethod; + + private static Type TaskIsEmergencyPatchType; + private static FieldInfo DisableO2MaskCheckField; + + private static MethodInfo RpcRequestChangeFloorMethod; + private static Type FloorHandlerType; + private static MethodInfo GetFloorHandlerMethod; + + private static Type Vent_MoveToVent_PatchType; + private static FieldInfo InTransitionField; + + private static Type CustomTaskTypesType; + private static FieldInfo RetrieveOxigenMaskField; + public static TaskTypes RetrieveOxygenMask; + private static Type SubmarineOxygenSystemType; + private static FieldInfo SubmarineOxygenSystemInstanceField; + private static MethodInfo RepairDamageMethod; + + + public static void Initialize() + { + Loaded = IL2CPPChainloader.Instance.Plugins.TryGetValue(SUBMERGED_GUID, out PluginInfo plugin); + if (!Loaded) return; + + Plugin = plugin!.Instance as BasePlugin; + Version = plugin.Metadata.Version; + + Assembly = Plugin!.GetType().Assembly; + Types = AccessTools.GetTypesFromAssembly(Assembly); + + InjectedTypes = (Dictionary) AccessTools.PropertyGetter(Types.FirstOrDefault(t => t.Name == "RegisterInIl2CppAttribute"), "RegisteredTypes") + .Invoke(null, Array.Empty()); + + SubmarineStatusType = Types.First(t => t.Name == "SubmarineStatus"); + CalculateLightRadiusMethod = AccessTools.Method(SubmarineStatusType, "CalculateLightRadius"); + + TaskIsEmergencyPatchType = Types.First(t => t.Name == "PlayerTask_TaskIsEmergency_Patch"); + DisableO2MaskCheckField = AccessTools.Field(TaskIsEmergencyPatchType, "DisableO2MaskCheck"); + + FloorHandlerType = Types.First(t => t.Name == "FloorHandler"); + GetFloorHandlerMethod = AccessTools.Method(FloorHandlerType, "GetFloorHandler", new Type[] {typeof(PlayerControl)}); + RpcRequestChangeFloorMethod = AccessTools.Method(FloorHandlerType, "RpcRequestChangeFloor"); + + Vent_MoveToVent_PatchType = Types.First(t => t.Name == "Vent_MoveToVent_Patch"); + InTransitionField = AccessTools.Field(Vent_MoveToVent_PatchType, "InTransition"); + + CustomTaskTypesType = Types.First(t => t.Name == "CustomTaskTypes"); + RetrieveOxigenMaskField = AccessTools.Field(CustomTaskTypesType, "RetrieveOxygenMask"); + RetrieveOxygenMask = (TaskTypes)RetrieveOxigenMaskField.GetValue(null); + + SubmarineOxygenSystemType = Types.First(t => t.Name == "SubmarineOxygenSystem"); + SubmarineOxygenSystemInstanceField = AccessTools.Field(SubmarineOxygenSystemType, "Instance"); + RepairDamageMethod = AccessTools.Method(SubmarineOxygenSystemType, "RepairDamage"); + } + + public static MonoBehaviour AddSubmergedComponent(this GameObject obj, string typeName) + { + if (!Loaded) return obj.AddComponent(); + bool validType = InjectedTypes.TryGetValue(typeName, out Type type); + return validType ? obj.AddComponent(Il2CppType.From(type)).TryCast() : obj.AddComponent(); + } + + public static float GetSubmergedNeutralLightRadius(bool isImpostor) { + if (!Loaded) return 0; + return (float)CalculateLightRadiusMethod.Invoke(SubmarineStatus, new object[] { null, true, isImpostor }); + } + + public static void ChangeFloor(bool toUpper) { + if (!Loaded) return; + MonoBehaviour _floorHandler = ((Component)GetFloorHandlerMethod.Invoke(null, new object[] { PlayerControl.LocalPlayer })).TryCast(FloorHandlerType) as MonoBehaviour; + RpcRequestChangeFloorMethod.Invoke(_floorHandler, new object[] { toUpper }); + } + + public static bool getInTransition() { + if (!Loaded) return false; + return (bool)InTransitionField.GetValue(null); + } + + public static void RepairOxygen() { + if (!Loaded) return; + try { + ShipStatus.Instance.RpcRepairSystem((SystemTypes)130, 64); + RepairDamageMethod.Invoke(SubmarineOxygenSystemInstanceField.GetValue(null), new object[] { PlayerControl.LocalPlayer, 64 }); + } + catch (System.NullReferenceException) { + TheOtherRolesPlugin.Logger.LogMessage("null reference in engineer oxygen fix"); + } + + } + + public static bool isSubmerged() { + return Loaded && ShipStatus.Instance && ShipStatus.Instance.Type == SUBMERGED_MAP_TYPE; + } + } + + public class MissingSubmergedBehaviour : MonoBehaviour + { + static MissingSubmergedBehaviour() => ClassInjector.RegisterTypeInIl2Cpp(); + public MissingSubmergedBehaviour(IntPtr ptr) : base(ptr) { } + } +} diff --git a/TheOtherRoles/TasksHandler.cs b/TheOtherRoles/TasksHandler.cs index a9b4c63..640327e 100644 --- a/TheOtherRoles/TasksHandler.cs +++ b/TheOtherRoles/TasksHandler.cs @@ -17,12 +17,10 @@ namespace TheOtherRoles { playerInfo.Role && playerInfo.Role.TasksCountTowardProgress && !playerInfo.Object.hasFakeTasks() ) { - - for (int j = 0; j < playerInfo.Tasks.Count; j++) { + foreach (var playerInfoTask in playerInfo.Tasks) + { + if (playerInfoTask.Complete) CompletedTasks++; TotalTasks++; - if (playerInfo.Tasks[j].Complete) { - CompletedTasks++; - } } } return Tuple.Create(CompletedTasks, TotalTasks); @@ -33,13 +31,13 @@ namespace TheOtherRoles { private static bool Prefix(GameData __instance) { __instance.TotalTasks = 0; __instance.CompletedTasks = 0; - for (int i = 0; i < __instance.AllPlayers.Count; i++) { - GameData.PlayerInfo playerInfo = __instance.AllPlayers[i]; + foreach (var playerInfo in GameData.Instance.AllPlayers) + { if (playerInfo.Object - && playerInfo.Object.hasAliveKillingLover() // Tasks do not count if a Crewmate has an alive killing Lover - || playerInfo.PlayerId == Lawyer.lawyer?.PlayerId // Tasks of the Lawyer do not count - || (playerInfo.PlayerId == Pursuer.pursuer?.PlayerId && Pursuer.pursuer.Data.IsDead) // Tasks of the Pursuer only count, if he's alive - ) + && playerInfo.Object.hasAliveKillingLover() // Tasks do not count if a Crewmate has an alive killing Lover + || playerInfo.PlayerId == Lawyer.lawyer?.PlayerId // Tasks of the Lawyer do not count + || (playerInfo.PlayerId == Pursuer.pursuer?.PlayerId && Pursuer.pursuer.Data.IsDead) // Tasks of the Pursuer only count, if he's alive + ) continue; var (playerCompleted, playerTotal) = taskInfo(playerInfo); __instance.TotalTasks += playerTotal; diff --git a/TheOtherRoles/TheOtherRoles.cs b/TheOtherRoles/TheOtherRoles.cs index 179c162..368c0e6 100644 --- a/TheOtherRoles/TheOtherRoles.cs +++ b/TheOtherRoles/TheOtherRoles.cs @@ -133,13 +133,28 @@ namespace TheOtherRoles public static class Mayor { public static PlayerControl mayor; public static Color color = new Color32(32, 77, 66, byte.MaxValue); + public static Minigame emergency = null; + public static Sprite emergencySprite = null; + public static bool canSeeVoteColors = false; public static int tasksNeededToSeeVoteColors; + public static bool meetingButton = true; + + public static Sprite getMeetingSprite() + { + if (emergencySprite) return emergencySprite; + emergencySprite = Helpers.loadSpriteFromResources("TheOtherRoles.Resources.EmergencyButton.png", 550f); + return emergencySprite; + } public static void clearAndReload() { mayor = null; + emergency = null; + emergencySprite = null; + canSeeVoteColors = CustomOptionHolder.mayorCanSeeVoteColors.getBool(); tasksNeededToSeeVoteColors = (int)CustomOptionHolder.mayorTasksNeededToSeeVoteColors.getFloat(); + meetingButton = CustomOptionHolder.mayorMeetingButton.getBool(); } } @@ -1074,9 +1089,16 @@ namespace TheOtherRoles } private static Sprite animatedVentSealedSprite; + private static float lastPPU; public static Sprite getAnimatedVentSealedSprite() { + float ppu = 185f; + if (SubmergedCompatibility.isSubmerged()) ppu = 120f; + if (lastPPU != ppu) { + animatedVentSealedSprite = null; + lastPPU = ppu; + } if (animatedVentSealedSprite) return animatedVentSealedSprite; - animatedVentSealedSprite = Helpers.loadSpriteFromResources("TheOtherRoles.Resources.AnimatedVentSealed.png", 185f); + animatedVentSealedSprite = Helpers.loadSpriteFromResources("TheOtherRoles.Resources.AnimatedVentSealed.png", ppu); return animatedVentSealedSprite; } @@ -1087,6 +1109,20 @@ namespace TheOtherRoles return staticVentSealedSprite; } + private static Sprite submergedCentralUpperVentSealedSprite; + public static Sprite getSubmergedCentralUpperSealedSprite() { + if (submergedCentralUpperVentSealedSprite) return submergedCentralUpperVentSealedSprite; + submergedCentralUpperVentSealedSprite = Helpers.loadSpriteFromResources("TheOtherRoles.Resources.CentralUpperBlocked.png", 145f); + return submergedCentralUpperVentSealedSprite; + } + + private static Sprite submergedCentralLowerVentSealedSprite; + public static Sprite getSubmergedCentralLowerSealedSprite() { + if (submergedCentralLowerVentSealedSprite) return submergedCentralLowerVentSealedSprite; + submergedCentralLowerVentSealedSprite = Helpers.loadSpriteFromResources("TheOtherRoles.Resources.CentralLowerBlocked.png", 145f); + return submergedCentralLowerVentSealedSprite; + } + private static Sprite camSprite; public static Sprite getCamSprite() { if (camSprite) return camSprite; @@ -1338,11 +1374,8 @@ namespace TheOtherRoles public static Color color = new Color32(134, 153, 25, byte.MaxValue); public static Sprite targetSprite; public static bool triggerLawyerWin = false; - public static int meetings = 0; public static float vision = 1f; - public static bool winsAfterMeetings = false; - public static int neededMeetings = 4; public static bool lawyerKnowsRole = false; public static bool targetCanBeJester = false; @@ -1352,14 +1385,11 @@ namespace TheOtherRoles return targetSprite; } - public static void clearAndReload() { + public static void clearAndReload(bool clearTarget = true) { lawyer = null; - target = null; + if (clearTarget) target = null; triggerLawyerWin = false; - meetings = 0; - winsAfterMeetings = CustomOptionHolder.lawyerWinsAfterMeetings.getBool(); - neededMeetings = Mathf.RoundToInt(CustomOptionHolder.lawyerNeededMeetings.getFloat()); vision = CustomOptionHolder.lawyerVision.getFloat(); lawyerKnowsRole = CustomOptionHolder.lawyerKnowsRole.getBool(); targetCanBeJester = CustomOptionHolder.lawyerTargetCanBeJester.getBool(); -- 2.39.5