From f4d9d8101fad07dda268a0821302acf1bba9bd40 Mon Sep 17 00:00:00 2001
From: Ape <155788660+ApeMV@users.noreply.github.com>
Date: Wed, 26 Aug 2026 14:02:31 +0200
Subject: [PATCH] Setting fallbacks, GitHub templates, GM fix
---
.github/ISSUE_TEMPLATE.md | 18 ++++++++++++++++++
.github/PULL_REQUEST_TEMPLATE.md | 17 +++++++++++++++++
AmongUsRevamped.cs | 2 +-
Modules/FixedUpdate.cs | 12 +-----------
Modules/OptionManager.cs | 17 ++++++++++-------
Patches/EndGamePatches.cs | 4 ++--
Patches/ExilePatch.cs | 11 +++++++++++
Patches/IntroPatch.cs | 2 +-
Patches/PlayerControlPatches.cs | 20 +++++++++++---------
README.md | 6 +++++-
10 files changed, 77 insertions(+), 32 deletions(-)
create mode 100644 .github/ISSUE_TEMPLATE.md
create mode 100644 .github/PULL_REQUEST_TEMPLATE.md
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
new file mode 100644
index 0000000..0e98f34
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE.md
@@ -0,0 +1,18 @@
+### REQUIRED
+* [ ] I confirm this Issue is relevant to Among Us Revamped
+* [ ] I confirm this Issue is not a duplicate
+* [ ] I have read the main GitHub page for potential answers to my Issue
+
+### INFO
+Please tick all the boxes above by typing "x" between them.
+If your Issue does not match these requirements, please do not post it.
+Issues ignoring or falsifying these requirements will be closed without warning.
+Support based questions are preferred to be asked on Discord, but not prohibited.
+
+### ISSUE TYPE (tick 1)
+* [ ] Bug Report
+* [ ] Suggestion
+* [ ] Support
+* [ ] other
+
+### WRITE YOUR ISSUE BELOW:
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000..7188b3d
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,17 @@
+### REQUIRED
+* [ ] I confirm this PR was not fully made by AI
+* [ ] I confirm this PR is fitting for Among Us Revamped
+* [ ] I confirm this PR has been tested and properly functions
+
+### INFO
+Please tick all the boxes above by typing "x" between them.
+If your Pull Request does not match these requirements, please do not post it.
+Pull Requests ignoring or falsifying these requirements will be closed without warning.
+
+### PR TYPE
+* [ ] Bug Fix
+* [ ] New Feature
+* [ ] Refactor/Optimization
+* [ ] Documentation Update
+
+### WRITE YOUR PULL REQUEST BELOW:
diff --git a/AmongUsRevamped.cs b/AmongUsRevamped.cs
index 9773363..2b06713 100644
--- a/AmongUsRevamped.cs
+++ b/AmongUsRevamped.cs
@@ -44,7 +44,7 @@ public partial class Main : BasePlugin
public static bool HasArgumentException;
public static string CredentialsText;
- public const string ModVersion = "v2.0.2";
+ public const string ModVersion = "v2.0.3";
public static float GameTimer;
public static float AfkTimer;
diff --git a/Modules/FixedUpdate.cs b/Modules/FixedUpdate.cs
index 755d1ce..6e9c882 100644
--- a/Modules/FixedUpdate.cs
+++ b/Modules/FixedUpdate.cs
@@ -128,8 +128,8 @@ public static class FixedUpdate
if (p.protectedByGuardianId == -1)
{
p.RpcProtectPlayer(p, p.cosmetics.ColorId);
- p.Data.MarkDirty();
}
+ p.Data.MarkDirty();
}
}
}
@@ -270,16 +270,6 @@ class FixedUpdateInGamePatch
NormalGameEndChecker.CheckWinnerText("PnSTimer");
}
}
-
- if ((Options.SNSChatInGameFast.GetBool() && Options.Gamemode.GetValue() == 1) || (Options.PNSChatInGameFast.GetBool() && Options.Gamemode.GetValue() == 3))
- {
- if (Main.GM.Value && !Utils.IsDead)
- {
- Logger.Info($" Game Master Successful", "StartGame");
- PlayerControl.LocalPlayer.Exiled();
- PlayerControl.LocalPlayer.RpcSetRole(RoleTypes.CrewmateGhost);
- }
- }
}
}
}
\ No newline at end of file
diff --git a/Modules/OptionManager.cs b/Modules/OptionManager.cs
index e2f31d4..0dde06e 100644
--- a/Modules/OptionManager.cs
+++ b/Modules/OptionManager.cs
@@ -7,7 +7,8 @@ namespace AmongUsRevamped;
public static class OptionManager
{
- private static OptionBackupData CachedOptions;
+ private static float OldKillCooldown;
+
public static void SyncGameOptions()
{
if (!AmongUsClient.Instance.AmHost) return;
@@ -29,17 +30,19 @@ public static class OptionManager
{
if (!AmongUsClient.Instance.AmHost) return;
- CachedOptions = new OptionBackupData(GameOptionsManager.Instance.CurrentGameOptions);
+ OldKillCooldown = Main.NormalOptions.KillCooldown;
}
public static void RestoreOptions()
{
- if (!AmongUsClient.Instance.AmHost || CachedOptions == null) return;
-
- var restored = CachedOptions.Restore(GameOptionsManager.Instance.CurrentGameOptions);
-
- GameOptionsManager.Instance.CurrentGameOptions = restored;
+ if (!AmongUsClient.Instance.AmHost) return;
+ if (Main.NormalOptions.KillCooldown != OldKillCooldown)
+ {
+ Main.NormalOptions.KillCooldown = OldKillCooldown;
+ Logger.Info("Force overrided Kill Cooldown back to original", "RestoreOptions");
+ }
+
SyncGameOptions();
}
}
\ No newline at end of file
diff --git a/Patches/EndGamePatches.cs b/Patches/EndGamePatches.cs
index 1940b55..f3a0819 100644
--- a/Patches/EndGamePatches.cs
+++ b/Patches/EndGamePatches.cs
@@ -11,9 +11,9 @@ public static class EndGameManagerPatch
public static void Postfix(EndGameManager __instance)
{
Logger.Info(" -------- GAME ENDED --------", "EndGame");
- Utils.ClearLeftoverData();
- //OptionManager.RestoreOptions();
+ Utils.ClearLeftoverData();
+ OptionManager.RestoreOptions();
EndGameNavigation navigation = __instance.Navigation;
if (!AmongUsClient.Instance.AmHost || __instance == null || navigation == null || !Options.AutoRejoinLobby.GetBool()) return;
diff --git a/Patches/ExilePatch.cs b/Patches/ExilePatch.cs
index c308a84..12e6d03 100644
--- a/Patches/ExilePatch.cs
+++ b/Patches/ExilePatch.cs
@@ -20,6 +20,17 @@ class ExileControllerWrapUpPatch
public static void AfterExile(NetworkedPlayerInfo ejectedPlayer)
{
if (!AmongUsClient.Instance.AmHost) return;
+
+ if ((Options.SNSChatInGameFast.GetBool() && Options.Gamemode.GetValue() == 1) || (Options.PNSChatInGameFast.GetBool() && Options.Gamemode.GetValue() == 3))
+ {
+ if (Main.GM.Value && !Utils.IsDead)
+ {
+ Logger.Info($" Game Master Successful", "StartGame");
+ PlayerControl.LocalPlayer.Exiled();
+ PlayerControl.LocalPlayer.RpcSetRole(RoleTypes.CrewmateGhost);
+ }
+ }
+
if (ejectedPlayer == null) return;
PlayerControl pc = null;
diff --git a/Patches/IntroPatch.cs b/Patches/IntroPatch.cs
index 009f8ca..b772b7c 100644
--- a/Patches/IntroPatch.cs
+++ b/Patches/IntroPatch.cs
@@ -15,7 +15,7 @@ internal static class CoShowIntroPatch
if (!AmongUsClient.Instance.AmHost) return;
- //OptionManager.CacheOptions();
+ OptionManager.CacheOptions();
foreach (var p in PlayerControl.AllPlayerControls)
{
diff --git a/Patches/PlayerControlPatches.cs b/Patches/PlayerControlPatches.cs
index d4dac53..58ee68c 100644
--- a/Patches/PlayerControlPatches.cs
+++ b/Patches/PlayerControlPatches.cs
@@ -62,20 +62,22 @@ internal static class MurderPlayerPatch
if (resultFlags.HasFlag(MurderResultFlags.Succeeded))
{
- killCount[playerId]++;
- Logger.Info($" {__instance.Data.PlayerName} killed {target.Data.PlayerName}", "MurderPlayer");
- if (string.IsNullOrEmpty(NormalGameEndChecker.firstDeath))
- {
- NormalGameEndChecker.firstDeath = target.Data.PlayerName;
- Utils.HasMurdered = true;
- }
-
if (Options.Gamemode.GetValue() == 1 && !Utils.isHideNSeek)
{
if (target.Data.PlayerId == __instance.shapeshiftTargetPlayerId) return;
Logger.Info($" {__instance.Data.PlayerName} directly killed {target.Data.PlayerName} in SnS, forcing suicide. (Are they hacking?)", "MurderPlayer");
__instance.RpcSetRole(RoleTypes.ImpostorGhost);
}
+ else
+ {
+ killCount[playerId]++;
+ Logger.Info($" {__instance.Data.PlayerName} killed {target.Data.PlayerName}", "MurderPlayer");
+ if (string.IsNullOrEmpty(NormalGameEndChecker.firstDeath))
+ {
+ NormalGameEndChecker.firstDeath = target.Data.PlayerName;
+ Utils.HasMurdered = true;
+ }
+ }
}
if ((target == PlayerControl.LocalPlayer || PlayerControl.LocalPlayer.Data.IsDead) && !Main.DisableInfoWhenDead.Value && resultFlags.HasFlag(MurderResultFlags.Succeeded))
@@ -94,7 +96,7 @@ internal static class MurderPlayerPatch
}
//1 = Shift and Seek
- if (Options.Gamemode.GetValue() == 1 && !Utils.isHideNSeek)
+ if (Options.Gamemode.GetValue() == 1 && !Utils.isHideNSeek && !resultFlags.HasFlag(MurderResultFlags.Succeeded))
{
if (target.Data.PlayerId == __instance.shapeshiftTargetPlayerId)
{
diff --git a/README.md b/README.md
index 9dfb1d9..52235ef 100644
--- a/README.md
+++ b/README.md
@@ -17,6 +17,10 @@
+
+
+
+