mirror of
https://github.com/ApeMV/AmongUsRevamped.git
synced 2026-10-20 01:46:28 +00:00
62 lines
2.3 KiB
C#
62 lines
2.3 KiB
C#
using AmongUs.Data;
|
|
using Hazel;
|
|
using InnerNet;
|
|
using UnityEngine;
|
|
|
|
namespace AmongUsRevamped;
|
|
|
|
#if !ANDROID
|
|
[HarmonyPatch(typeof(ControllerManager), nameof(ControllerManager.Update))]
|
|
internal class Hotkeys
|
|
{
|
|
public static int IncrementMultiplier;
|
|
public static void Postfix()
|
|
{
|
|
bool Shift = Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift);
|
|
bool Ctrl = Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl);
|
|
bool Enter = Input.GetKeyDown(KeyCode.Return);
|
|
|
|
if ((!AmongUsClient.Instance.IsGameStarted || !Utils.IsOnlineGame) && Utils.CanMove && PlayerControl.LocalPlayer.Collider != null)
|
|
{
|
|
PlayerControl.LocalPlayer.Collider.enabled = !Ctrl;
|
|
}
|
|
|
|
if (!AmongUsClient.Instance.AmHost) return;
|
|
|
|
if (Input.GetKey(KeyCode.L) && Shift && Enter)
|
|
{
|
|
MessageWriter writer = AmongUsClient.Instance.StartEndGame();
|
|
writer.Write((byte)GameOverReason.ImpostorDisconnect);
|
|
AmongUsClient.Instance.FinishEndGame(writer);
|
|
}
|
|
|
|
if (Input.GetKey(KeyCode.M) && Shift && Enter && Utils.InGame)
|
|
{
|
|
if (Utils.IsMeeting)
|
|
{
|
|
MeetingHud.Instance.RpcClose();
|
|
}
|
|
else
|
|
{
|
|
PlayerControl.LocalPlayer.ReportDeadBody(PlayerControl.LocalPlayer.Data);
|
|
}
|
|
}
|
|
|
|
if (Shift && GameStartManager.InstanceExists && GameStartManager.Instance != null && GameStartManager.Instance.startState == GameStartManager.StartingStates.Countdown && !HudManager.Instance.Chat.IsOpenOrOpening)
|
|
{
|
|
GameStartManager.Instance.countDownTimer = 0;
|
|
}
|
|
|
|
if (Input.GetKeyDown(KeyCode.C) && GameStartManager.InstanceExists && GameStartManager.Instance != null && GameStartManager.Instance.startState == GameStartManager.StartingStates.Countdown && !HudManager.Instance.Chat.IsOpenOrOpening && Utils.IsLobby)
|
|
{
|
|
Logger.Info("Resetted start countdown", "KeyCommand");
|
|
GameStartManager.Instance.ResetStartState();
|
|
Logger.SendInGame("Starting countdown canceled");
|
|
}
|
|
|
|
if (Shift) IncrementMultiplier = 5;
|
|
else if (Ctrl) IncrementMultiplier = 10;
|
|
else IncrementMultiplier = 1;
|
|
}
|
|
}
|
|
#endif |