Skip to content

Commit 168e7a1

Browse files
committed
Update
1 parent 9223ba2 commit 168e7a1

12 files changed

+192
-97
lines changed

TheOtherRoles/CustomOptionHolder.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -444,6 +444,7 @@ public static bool isMapSelectionOption(CustomOption option) {
444444

445445
public static void Load()
446446
{
447+
CustomOption.vanillaSettings = TheOtherRolesEditedPlugin.Instance.Config.Bind("Preset0", "VanillaOptions", "");
447448

448449
// Role Options
449450
presetSelection = CustomOption.Create(0, Types.General, cs(new Color(204f / 255f, 204f / 255f, 0, 1f), "预设"), presets, null, true, heading: "游戏预设");

TheOtherRoles/Main.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
using AmongUs.Data;
2222
using TheOtherRolesEdited.Modules.CustomHats;
2323
using static TheOtherRolesEdited.Modules.ModUpdater;
24+
using AmongUs.Data.Player;
2425

2526
namespace TheOtherRolesEdited
2627
{
@@ -196,8 +197,8 @@ public static string GetRegionName(IRegionInfo region = null)
196197
}
197198
}
198199
// Deactivate bans, since I always leave my local testing game and ban myself
199-
[HarmonyPatch(typeof(StatsManager), nameof(StatsManager.AmBanned), MethodType.Getter)]
200-
public static class AmBannedPatch
200+
[HarmonyPatch(typeof(PlayerBanData), nameof(PlayerBanData.IsBanned), MethodType.Getter)]
201+
public static class IsBannedPatch
201202
{
202203
public static void Postfix(out bool __result)
203204
{

TheOtherRoles/Modules/CustomOptions.cs

Lines changed: 137 additions & 25 deletions
Large diffs are not rendered by default.

TheOtherRoles/Modules/DynamicLobbies.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ static bool Prefix(ChatController __instance) {
4545
}
4646
[HarmonyPatch(typeof(InnerNetClient), nameof(InnerNetClient.HostGame))]
4747
public static class InnerNetClientHostPatch {
48-
public static void Prefix(InnerNet.InnerNetClient __instance, [HarmonyArgument(0)] GameOptionsData settings) {
48+
public static void Prefix(InnerNet.InnerNetClient __instance, [HarmonyArgument(0)] LegacyGameOptions settings) {
4949
int maxPlayers;
5050
try {
5151
maxPlayers = GameOptionsManager.Instance.currentNormalGameOptions.MaxPlayers;
@@ -57,7 +57,7 @@ public static void Prefix(InnerNet.InnerNetClient __instance, [HarmonyArgument(0
5757
settings.MaxPlayers = 15; // Force 15 Player Lobby on Server
5858
DataManager.Settings.Multiplayer.ChatMode = InnerNet.QuickChatModes.FreeChatOrQuickChat;
5959
}
60-
public static void Postfix(InnerNet.InnerNetClient __instance, [HarmonyArgument(0)] GameOptionsData settings) {
60+
public static void Postfix(InnerNet.InnerNetClient __instance, [HarmonyArgument(0)] LegacyGameOptions settings) {
6161
settings.MaxPlayers = DynamicLobbies.LobbyLimit;
6262
}
6363
}

TheOtherRoles/Patches/EndGamePatch.cs

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,10 @@ internal class PlayerRoleInfo {
6565

6666
[HarmonyPatch(typeof(AmongUsClient), nameof(AmongUsClient.OnGameEnd))]
6767
public static class OnGameEndPatch {
68-
public static GameOverReason gameOverReason = GameOverReason.HumansByTask;
68+
public static GameOverReason gameOverReason = GameOverReason.CrewmatesByTask;
6969
public static void Prefix(AmongUsClient __instance, [HarmonyArgument(0)]ref EndGameResult endGameResult) {
7070
gameOverReason = endGameResult.GameOverReason;
71-
if ((int)endGameResult.GameOverReason >= 10) endGameResult.GameOverReason = GameOverReason.ImpostorByKill;
71+
if ((int)endGameResult.GameOverReason >= 10) endGameResult.GameOverReason = GameOverReason.ImpostorsByKill;
7272

7373
// Reset zoomed out ghosts
7474
Helpers.toggleZoom(reset: true);
@@ -322,27 +322,27 @@ public static void Postfix(EndGameManager __instance) {
322322
textRenderer.text = "最后一名船员断开连接";
323323
textRenderer.color = Color.red;
324324
break;
325-
case GameOverReason.ImpostorByKill:
325+
case GameOverReason.ImpostorsByKill:
326326
textRenderer.text = "内鬼胜利 - 杀光光";
327327
textRenderer.color = Color.red;
328328
break;
329-
case GameOverReason.ImpostorBySabotage:
329+
case GameOverReason.ImpostorsBySabotage:
330330
textRenderer.text = "内鬼胜利 - 破坏飞船";
331331
textRenderer.color = Color.red;
332332
break;
333-
case GameOverReason.ImpostorByVote:
333+
case GameOverReason.ImpostorsByVote:
334334
textRenderer.text = "内鬼胜利 - 通过投票,猜测或玩家断连";
335335
textRenderer.color = Color.red;
336336
break;
337-
case GameOverReason.HumansByTask:
337+
case GameOverReason.CrewmatesByTask:
338338
textRenderer.text = "船员胜利 - 任务全部完成";
339339
textRenderer.color = Color.white;
340340
break;
341-
case GameOverReason.HumansDisconnect:
341+
case GameOverReason.CrewmateDisconnect:
342342
textRenderer.text = "船员胜利 - 没有内鬼(和带刀中立)了!";
343343
textRenderer.color = Color.white;
344344
break;
345-
case GameOverReason.HumansByVote:
345+
case GameOverReason.CrewmatesByVote:
346346
textRenderer.text = "船员胜利 - 内鬼(和带刀中立)被投完了!";
347347
textRenderer.color = Color.white;
348348
break;
@@ -480,7 +480,7 @@ private static bool CheckAndEndGameForTaskWin(ShipStatus __instance) {
480480
if (HideNSeek.isHideNSeekGM && !HideNSeek.taskWinPossible || PropHunt.isPropHuntGM) return false;
481481
if (GameData.Instance.TotalTasks > 0 && GameData.Instance.TotalTasks <= GameData.Instance.CompletedTasks) {
482482
//__instance.enabled = false;
483-
GameManager.Instance.RpcEndGame(GameOverReason.HumansByTask, false);
483+
GameManager.Instance.RpcEndGame(GameOverReason.CrewmatesByTask, false);
484484
return true;
485485
}
486486
return false;
@@ -522,13 +522,13 @@ private static bool CheckAndEndGameForImpostorWin(ShipStatus __instance, PlayerS
522522
GameOverReason endReason;
523523
switch (GameData.LastDeathReason) {
524524
case DeathReason.Exile:
525-
endReason = GameOverReason.ImpostorByVote;
525+
endReason = GameOverReason.ImpostorsByVote;
526526
break;
527527
case DeathReason.Kill:
528-
endReason = GameOverReason.ImpostorByKill;
528+
endReason = GameOverReason.ImpostorsByKill;
529529
break;
530530
default:
531-
endReason = GameOverReason.ImpostorByVote;
531+
endReason = GameOverReason.ImpostorsByVote;
532532
break;
533533
}
534534
GameManager.Instance.RpcEndGame(endReason, false);
@@ -540,24 +540,24 @@ private static bool CheckAndEndGameForImpostorWin(ShipStatus __instance, PlayerS
540540
private static bool CheckAndEndGameForCrewmateWin(ShipStatus __instance, PlayerStatistics statistics) {
541541
if (HideNSeek.isHideNSeekGM && HideNSeek.timer <= 0 && !HideNSeek.isWaitingTimer) {
542542
//__instance.enabled = false;
543-
GameManager.Instance.RpcEndGame(GameOverReason.HumansByVote, false);
543+
GameManager.Instance.RpcEndGame(GameOverReason.CrewmatesByVote, false);
544544
return true;
545545
}
546546
if (PropHunt.isPropHuntGM && PropHunt.timer <= 0 && PropHunt.timerRunning) {
547-
GameManager.Instance.RpcEndGame(GameOverReason.HumansByVote, false);
547+
GameManager.Instance.RpcEndGame(GameOverReason.CrewmatesByVote, false);
548548
return true;
549549
}
550550
if (statistics.TeamImpostorsAlive == 0 && statistics.TeamJackalAlive == 0) {
551551
//__instance.enabled = false;
552-
GameManager.Instance.RpcEndGame(GameOverReason.HumansByVote, false);
552+
GameManager.Instance.RpcEndGame(GameOverReason.CrewmatesByVote, false);
553553
return true;
554554
}
555555
return false;
556556
}
557557

558558
private static void EndGameForSabotage(ShipStatus __instance) {
559559
//__instance.enabled = false;
560-
GameManager.Instance.RpcEndGame(GameOverReason.ImpostorBySabotage, false);
560+
GameManager.Instance.RpcEndGame(GameOverReason.ImpostorsBySabotage, false);
561561
return;
562562
}
563563

TheOtherRoles/Patches/HauntMenuMinigamePatch.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using HarmonyLib;
22
using AmongUs.GameOptions;
3-
using System.Collections.Generic;
43
using System.Linq;
54

65
using System;

TheOtherRoles/Patches/MainMenuManagerPatch.cs

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,14 @@ public static class MainMenuManagerPatch
1616
[HarmonyPatch(typeof(MainMenuManager), nameof(MainMenuManager.LateUpdate)), HarmonyPostfix]
1717
public static void StartPostfix(MainMenuManager __instance)
1818
{
19-
20-
__instance.screenTint.gameObject.transform.localPosition += new Vector3(1000f, 0f);
21-
__instance.screenTint.enabled = false;
22-
__instance.rightPanelMask.SetActive(true);
23-
// The background texture (large sprite asset)
24-
__instance.mainMenuUI.FindChild<SpriteRenderer>("BackgroundTexture").transform.gameObject.SetActive(false);
19+
__instance.screenTint.gameObject.transform.localPosition += new Vector3(1000f, 0f);
20+
__instance.screenTint.enabled = false;
21+
__instance.rightPanelMask.SetActive(true);
22+
// The background texture (large sprite asset)
23+
GameObject.Find("BackgroundTexture")?.SetActive(false);
2524
// The glint on the Among Us Menu
26-
__instance.mainMenuUI.FindChild<SpriteRenderer>("WindowShine").transform.gameObject.SetActive(false);
27-
__instance.mainMenuUI.FindChild<Transform>("ScreenCover").gameObject.SetActive(false);
25+
GameObject.Find("WindowShine")?.SetActive(false);
26+
GameObject.Find("ScreenCover")?.SetActive(false);
2827

2928
GameObject leftPanel = __instance.mainMenuUI.FindChild<Transform>("LeftPanel").gameObject;
3029
GameObject rightPanel = __instance.mainMenuUI.FindChild<Transform>("RightPanel").gameObject;
@@ -34,12 +33,12 @@ public static void StartPostfix(MainMenuManager __instance)
3433
//maskedBlackScreen.transform.localPosition = new Vector3(-3.345f, -2.05f); //= new Vector3(0f, 0f);
3534
//maskedBlackScreen.transform.localScale = new (7.35f, 4.5f, 4f);
3635

37-
__instance.mainMenuUI.gameObject.transform.position += new Vector3(-0.2f, 0f);
36+
//__instance.mainMenuUI.gameObject.transform.position += new Vector3(-0.2f, 0f);
37+
38+
leftPanel.gameObject.GetComponent<SpriteRenderer>().enabled = false;
39+
leftPanel.gameObject.FindChild<SpriteRenderer>("Divider").enabled = false;
40+
leftPanel.GetComponentsInChildren<SpriteRenderer>(true).Where(r => r.name == "Shine").ToList().ForEach(r => r.enabled = false);
3841

39-
leftPanel.gameObject.GetComponent<SpriteRenderer>().enabled = false;
40-
leftPanel.gameObject.FindChild<SpriteRenderer>("Divider").enabled = false;
41-
leftPanel.GetComponentsInChildren<SpriteRenderer>(true).Where(r => r.name == "Shine").ToList().ForEach(r => r.enabled = false);
42-
4342

4443

4544
/* var howToPlayButton = __instance.howToPlayButton;

TheOtherRoles/Patches/PlayerControlPatch.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public static class PlayerControlFixedUpdatePatch {
2424

2525
static PlayerControl setTarget(bool onlyCrewmates = false, bool targetPlayersInVents = false, List<PlayerControl> untargetablePlayers = null, PlayerControl targetingPlayer = null) {
2626
PlayerControl result = null;
27-
float num = AmongUs.GameOptions.GameOptionsData.KillDistances[Mathf.Clamp(GameOptionsManager.Instance.currentNormalGameOptions.KillDistance, 0, 2)];
27+
float num = AmongUs.GameOptions.LegacyGameOptions.KillDistances[Mathf.Clamp(GameOptionsManager.Instance.currentNormalGameOptions.KillDistance, 0, 2)];
2828
if (!MapUtilities.CachedShipStatus) return result;
2929
if (targetingPlayer == null) targetingPlayer = PlayerControl.LocalPlayer;
3030
if (targetingPlayer.Data.IsDead) return result;

TheOtherRoles/Patches/RoleAssignmentPatch.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public static void Postfix(ref int __result) {
2020
}
2121

2222
[HarmonyPatch(typeof(IGameOptionsExtensions), nameof(IGameOptionsExtensions.GetAdjustedNumImpostors))]
23-
class GameOptionsDataGetAdjustedNumImpostorsPatch {
23+
class LegacyGameOptionsGetAdjustedNumImpostorsPatch {
2424
public static void Postfix(ref int __result) {
2525
if (TORMapOptions.gameMode == CustomGamemodes.HideNSeek || TORMapOptions.gameMode == CustomGamemodes.PropHunt) {
2626
int impCount = TORMapOptions.gameMode == CustomGamemodes.HideNSeek ? Mathf.RoundToInt(CustomOptionHolder.hideNSeekHunterCount.getFloat()) : CustomOptionHolder.propHuntNumberOfHunters.getQuantity();
@@ -31,9 +31,9 @@ public static void Postfix(ref int __result) {
3131
}
3232
}
3333

34-
[HarmonyPatch(typeof(GameOptionsData), nameof(GameOptionsData.Validate))]
35-
class GameOptionsDataValidatePatch {
36-
public static void Postfix(GameOptionsData __instance) {
34+
[HarmonyPatch(typeof(LegacyGameOptions), nameof(LegacyGameOptions.Validate))]
35+
class LegacyGameOptionsValidatePatch {
36+
public static void Postfix(LegacyGameOptions __instance) {
3737
if (TORMapOptions.gameMode == CustomGamemodes.HideNSeek || GameOptionsManager.Instance.CurrentGameOptions.GameMode != GameModes.Normal) return;
3838
if (TORMapOptions.gameMode == CustomGamemodes.PropHunt)
3939
__instance.NumImpostors = CustomOptionHolder.propHuntNumberOfHunters.getQuantity();

TheOtherRoles/Patches/TitleLogoPatch.cs

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,8 @@
55
using System.IO;
66
using System.Reflection;
77
using TMPro;
8-
using InnerNet;
9-
using Rewired.Utils.Platforms.Windows;
10-
using static TheOtherRolesEdited.Patches.GameStartManagerPatch;
11-
using LibCpp2IL.Elf;
12-
using TheOtherRolesEdited.Modules;
13-
using AmongUs.Data;
148
using Object = UnityEngine.Object;
159
using Assets.InnerNet;
16-
using System.Runtime.CompilerServices;
1710

1811
namespace TheOtherRolesEdited;
1912

@@ -134,17 +127,6 @@ public static void Postfix(VersionShower __instance)
134127
__instance.text.text = $"v{Application.version}-{Helpers.GradientColorText("00FFFF", "0000FF", $"{TheOtherRolesEditedPlugin.Id}")} v{TheOtherRolesEditedPlugin.VersionString} - (DebugMode)";
135128
#endif
136129
}
137-
[HarmonyPatch(typeof(ModManager), nameof(ModManager.LateUpdate))]
138-
class ModManagerLateUpdatePatch
139-
{
140-
public static void Postfix(ModManager __instance)
141-
{
142-
var offset_y = HudManager.InstanceExists ? 1.8f : 0.9f;
143-
__instance.ModStamp.transform.position = AspectPosition.ComputeWorldPosition(
144-
__instance.localCamera, AspectPosition.EdgeAlignments.RightTop,
145-
new Vector3(0.3f, offset_y, __instance.localCamera.nearClipPlane + 0.1f));
146-
}
147-
}
148130
static Sprite XtremeWaveSprite = LoadSprite("TheOtherRolesEdited.Resources.XtremeWave.png", 1000f);
149131

150132
//YuEzTool

0 commit comments

Comments
 (0)