Esempio n. 1
0
 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;
 }
Esempio n. 2
0
        public override void Load()
        {
            // リプレイ保存機能スタート
            Log.LogInfo("Start Haoming.MuteBot");
            MuteBot.GetInstance().logger = Log;

            Harmony.PatchAll();
        }
Esempio n. 3
0
        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;
        }
Esempio n. 4
0
        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));
                }
            }
        }
Esempio n. 5
0
 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;
         }
     }
 }
Esempio n. 6
0
        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));
        }
Esempio n. 7
0
 public static void Postfix()
 {
     MuteBot.LogInfo("MeetingHudAwakePatch");
     Task.Run(() => MuteBot.UpdateStatus(GameStatus.Discussion));
 }
Esempio n. 8
0
 public static void Postfix()
 {
     MuteBot.LogInfo("MeetingHudClosePatch");
     Task.Run(() => MuteBot.UpdateStatus(GameStatus.Task));
 }
Esempio n. 9
0
 public static void Postfix(GameOptionsMenu __instance)
 {
     Task.Run(() => MuteBot.UpdateOptionsString());
 }