public static void Postfix(AmongUsClient __instance, ref GameOverReason gameOverReason, bool showAd) { MuteBot.LogInfo("OnGameEndPatch"); MuteBot.GetInstance().isGameEnded = true; Task.Run(() => MuteBot.UpdateStatus(GameStatus.Lobby)); return; }
public static void Prefix() { MuteBot.LogInfo("ShipStatusStartPatch"); Task.Run(() => MuteBot.UpdateOptionsString()); MuteBot.GetInstance().isGameEnded = false; MuteBot.clearExiledPlayers(); MuteBot.clearKilledPlayers(); Task.Run(() => MuteBot.UpdateStatus(GameStatus.Task)); return; }
public static void Prefix(PlayerControl __instance) { // if (AmongUsClient.Instance.GameState != InnerNet.InnerNetClient.GameStates.Started) return; // プレイヤー一覧取得 List <Player> players = new List <Player>(); foreach (PlayerControl player in PlayerControl.AllPlayerControls) { Player p = new Player(); if (MuteBot.GetInstance().exiledPlayers.Contains(player.name)) { p.isDead = true; } else if (MuteBot.GetInstance().killedPlayers.Contains(player.name)) { p.isDead = true; } else { p.isDead = player.Data.IsDead; } p.colorId = player.Data.ColorId; p.name = player.name; players.Add(p); } if (AmongUsClient.Instance.GameState == InnerNet.InnerNetClient.GameStates.Joined) { bool flag = false; MuteBot.GetInstance().code = InnerNet.GameCode.IntToGameName(AmongUsClient.Instance.GameId); foreach (var player in players) { bool isContain = false; foreach (var pplayer in MuteBot.GetInstance().players) { if (pplayer.name == player.name && pplayer.colorId == player.colorId) { isContain = true; break; } } if (!isContain) { flag = true; break; } } if (flag) { MuteBot.GetInstance().players = players; Task t = Task.Run(() => MuteBot.UpdateStatus(GameStatus.Lobby)); } } }
public static void Postfix() { MuteBot.LogInfo("MeetingHudAwakePatch"); Task.Run(() => MuteBot.UpdateStatus(GameStatus.Discussion)); }
public static void Postfix() { MuteBot.LogInfo("MeetingHudClosePatch"); Task.Run(() => MuteBot.UpdateStatus(GameStatus.Task)); }