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 override void Load() { // リプレイ保存機能スタート Log.LogInfo("Start Haoming.MuteBot"); MuteBot.GetInstance().logger = Log; Harmony.PatchAll(); }
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 Prefix(PlayerControl __instance, PlayerControl target) { // 殺されたプレイヤーを死んだ扱いにする foreach (Player player in MuteBot.GetInstance().players) { if (player.name == target.name) { MuteBot.GetInstance().killedPlayers.Add(player.name); player.isDead = true; } } }
public static void Postfix(PlayerControl __instance) { string name = __instance.name; List <Player> players = new List <Player>(); // 追放されたプレイヤーを死んだ扱いにする foreach (Player player in MuteBot.GetInstance().players) { if (player.name == name) { player.isDead = true; MuteBot.GetInstance().exiledPlayers.Add(player.name); } players.Add(player); } Task t = Task.Run(() => MuteBot.UpdateStatusExiled(players)); }
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)); }
public static void Postfix(GameOptionsMenu __instance) { Task.Run(() => MuteBot.UpdateOptionsString()); }