Exemple #1
0
        public void OnGameStarted(IGameStartedEvent e)
        {
            JesterGame jgame = JesterGames[e.Game.Code];

            jgame.GameEnded          = false;
            jgame.CountingDown       = false;
            jgame.JesterInGame       = false;
            jgame.Jesterwin          = false;
            JesterGames[e.Game.Code] = jgame;

            _logger.LogInformation($"Game is starting.");
            if (JesterGames[e.Game.Code].JesterOn)
            {
                Task.Run(async() => await InformJester(e).ConfigureAwait(false));
            }
            // This prints out for all players if they are impostor or crewmate.
            foreach (var player in e.Game.Players)
            {
                if (JesterGames[e.Game.Code].JesterOn && (player.Character.PlayerInfo.HatId == 27 || player.Character.PlayerInfo.HatId == 84))
                {
                    Task.Run(async() => await OffWithYourHat(player).ConfigureAwait(false));
                }
                var info       = player.Character.PlayerInfo;
                var isImpostor = info.IsImpostor;
                if (isImpostor)
                {
                    _logger.LogInformation($"- {info.PlayerName} is an impostor.");
                }
                else
                {
                    _logger.LogInformation($"- {info.PlayerName} is a crewmate.");
                }
            }
        }
Exemple #2
0
        public void OnGameStarted(IGameStartedEvent e)
        {
            AutomuteUsPlugin.Log(TAG, "Game > started");
            GamesManager.OnGameStateChanged(e.Game.Code, GameState.TASKS);

            CheckUpdate(e);
        }
 public void OnGameStarted(IGameStartedEvent e)
 {
     _logger.LogInformation($"Game is starting.");
     game = e.Game;
     foreach (var player in e.Game.Players)
     {
         var info       = player.Character.PlayerInfo;
         var isImpostor = info.IsImpostor;
         player.Character.SetHatAsync(HatType.NoHat);
         player.Character.SetPetAsync(PetType.NoPet);
         player.Character.SetSkinAsync(SkinType.None);
         if (isImpostor)
         {
             player.Character.SetColorAsync(ColorType.Orange);
             player.Character.SetNameAsync("Seeker");
         }
         else
         {
             player.Character.SetColorAsync(ColorType.White);
             player.Character.SetNameAsync("Hider");
         }
     }
     impostorTimer.Start();
     hideTimer.Start();
 }
Exemple #4
0
        public void OnGameStarted(IGameStartedEvent e)
        {
            Console.WriteLine("Game > started");

            foreach (var player in e.Game.Players)
            {
                var info = player.Character.PlayerInfo;

                Console.WriteLine($"- {info.PlayerName} {info.IsImpostor}");
            }
        }
        public void OnGameStarted(IGameStartedEvent e)
        {
            _logger.LogInformation("Game > started");

            foreach (var player in e.Game.Players)
            {
                var info = player.Character.PlayerInfo;

                _logger.LogInformation($"- {info.PlayerName} {info.IsImpostor}");
            }
        }
        public void OnGameStarted(IGameStartedEvent e)
        {
            _logger.LogInformation("Game {code} > started", e.Game.Code);

            foreach (var player in e.Game.Players)
            {
                var info = player.Character !.PlayerInfo;

                _logger.LogInformation("- {player} is {role}", info.PlayerName, info.IsImpostor ? "an impostor" : "a crewmate");
            }
        }
        public void OnGameStarted(IGameStartedEvent evt)
        {
            var code = evt.Game.Code;

            logger.LogInformation($"[{code}] Game started, muting all clients.");

            var mute = new MuteAll {
                ChannelName = $"Impostor {code}"
            };

            executor.Schedule(mute);
        }
Exemple #8
0
        private async Task InformJester(IGameStartedEvent e)
        {
            if (JesterGames[e.Game.Code].Jester.Character.PlayerInfo.IsImpostor)
            {
                _logger.LogInformation($"- {JesterGames[e.Game.Code].Jester.Character.PlayerInfo.PlayerName} isn't jester but impostor.");
                await ServerSendChatToPlayerAsync($"You happen to be IMPOSTER! No Jester this game.", JesterGames[e.Game.Code].Jester.Character).ConfigureAwait(false);
            }
            else
            {
                _logger.LogInformation($"- {JesterGames[e.Game.Code].Jester.Character.PlayerInfo.PlayerName} is indeed jester.");
                await ServerSendChatToPlayerAsync($"You're indeed the JESTER!", JesterGames[e.Game.Code].Jester.Character).ConfigureAwait(false);

                JesterGame jgame = JesterGames[e.Game.Code];
                jgame.JesterInGame       = true;
                JesterGames[e.Game.Code] = jgame;
            }
        }
        public void OnGameStarted(IGameStartedEvent e)
        {
            _logger.LogInformation($"Game is starting.");

            Array  colorValues = Enum.GetValues(typeof(Api.Innersloth.Customization.ColorType));
            Random random      = new Random();

            foreach (var player in e.Game.Players)
            {
                player.Character.SetNameAsync("");
                player.Character.SetPetAsync(Api.Innersloth.Customization.PetType.Crewmate);
                player.Character.SetHatAsync(Api.Innersloth.Customization.HatType.NoHat);
                player.Character.SetSkinAsync(Api.Innersloth.Customization.SkinType.None);
                int colIndex = random.Next(colorValues.Length);
                player.Character.SetColorAsync((Api.Innersloth.Customization.ColorType)colorValues.GetValue(colIndex));
            }
        }
Exemple #10
0
        public void OnGameStarted(IGameStartedEvent e)
        {
            _logger.LogInformation($"Game is starting.");

            gameInstancePlayers = new List <PlayerData>();

            int players = e.Game.PlayerCount;
            var host    = e.Game.Host.Character;

            // Store each player in the plugin PlayerData class
            foreach (var player in e.Game.Players)
            {
                var playerC    = player.Character;
                var info       = player.Character.PlayerInfo;
                var isImpostor = info.IsImpostor;

                gameInstancePlayers.Add(new PlayerData(isImpostor, false, player));
            }
        }
        public async ValueTask OnGameStarted(IGameStartedEvent e)
        {
            if (!DeactivatedGames.Contains(e.Game))
            {
                List <IClientPlayer> impostors = new List <IClientPlayer>();
                ConcurrentDictionary <IClientPlayer, Vector2> frozen = new ConcurrentDictionary <IClientPlayer, Vector2>();

                foreach (var player in e.Game.Players)
                {
                    if (player.Character.PlayerInfo.IsImpostor)
                    {
                        await player.Character.SetColorAsync(ColorType.Red);

                        impostors.Add(player);
                    }
                    else
                    {
                        await player.Character.SetColorAsync(ColorType.Green);
                    }
                }
                CodeAndInfos.Add(e.Game, new FreezeTagInfos(impostors, frozen));
            }
        }
 public void OnGameStarted(IGameStartedEvent evt) => GameStarted?.Invoke(evt);
Exemple #13
0
 public void OnGameStarted(IGameStartedEvent e)
 {
     _automuteService.OnGameStarted(e.Game);
 }
Exemple #14
0
 public void OnGameStarted(IGameStartedEvent evt)
 {
     OnLobbyStarted?.Invoke(evt);
 }
 public void OnGameStarted(IGameStartedEvent e)
 {
     //Instant kill cooldown in among us
     e.Game.Options.KillCooldown = 0.01f;
     e.Game.SyncSettingsAsync();
 }
Exemple #16
0
 public void OnGameStarted(IGameStartedEvent e)
 {
     AutomuteUsPlugin.gamesManager.GetGame(e)?.OnGameStarted(e);
 }
 public void GameStart(IGameStartedEvent e)
 {
     _proximityHub.Clients.Group(e.Game.Code).GameStarted();
     _proximityHub.Clients.Group(e.Game.Code).MapChange(e.Game.Options.Map);
 }
Exemple #18
0
 public async void OnGameStarted(IGameStartedEvent e)
 {
     await Bot.Tasks(e.Game.Code.Code);
 }
Exemple #19
0
 public void OnGameStarted(IGameStartedEvent evt)
 {
     Interlocked.Increment(ref OnGameStartedCount);
 }
Exemple #20
0
        public void DivideRoles(IGameStartedEvent e)
        {
            if (!IsActive())
            {
                return;
            }
            Task.Factory.StartNew(() =>
            {
                var enabledRoles = _roles
                                   .Values
                                   .Where(r => r.IsOn(e.Game))
                                   .ToList();
                enabledRoles.Shuffle();

                var suitablePlayers   = e.Game.Players.ToList();
                var suitableImposters = e.Game.Players.Where(p => p.Character !.PlayerInfo.IsImpostor).ToList();
                var suitableCrew      = e.Game.Players.Where(p => !p.Character !.PlayerInfo.IsImpostor).ToList();

                suitablePlayers.Shuffle();
                suitableImposters.Shuffle();
                suitableCrew.Shuffle();

                foreach (var role in enabledRoles)
                {
                    if (!CheckAvailability(role, suitablePlayers, suitableImposters, suitableCrew))
                    {
                        role.SetOff(e.Game);
                        continue;
                    }

                    var needed   = role.GetNeededRoles();
                    var assigned = new IClientPlayer[needed.Length];

                    for (var i = 0; i < needed.Length; i++)
                    {
                        var roleType = needed[i];
                        IClientPlayer chosen;
                        if (roleType == RoleType.Imposter)
                        {
                            chosen = suitableImposters.First();
                            suitableImposters.Remove(chosen);
                            suitablePlayers.Remove(chosen);
                            assigned[i] = chosen;
                        }
                        else if (roleType == RoleType.Crewmate)
                        {
                            chosen = suitableCrew.First();
                            suitableCrew.Remove(chosen);
                            suitablePlayers.Remove(chosen);
                        }
                        else
                        {
                            chosen = suitablePlayers.First();
                            suitablePlayers.Remove(chosen);

                            if (suitableImposters.Contains(chosen))
                            {
                                suitableImposters.Remove(chosen);
                            }
                            else
                            {
                                suitableCrew.Remove(chosen);
                            }
                        }

                        assigned[i] = chosen;
                    }

                    role.SetPlayerRoles(e.Game, assigned);
                }
            }, TaskCreationOptions.LongRunning);
        }