Esempio n. 1
0
 //Замена игрока
 private void PlayerSubstitution(PlayerController playerController)
 {
     if (Team.SubstitutionsCount == 0)
     {
         return;
     }
     --Team.SubstitutionsCount;
     playerController.Create(new PlayerControllerData(playerController.Player.PlayerNumber, Team.Trainer.Competency));
     TeamNotify?.Invoke(this, new TeamEventArgs($"player <{playerController.Player.PlayerNumber}> has been replaced"));
 }
Esempio n. 2
0
        //Фанатская поддержка
        private void FanSupport()
        {
            PlayerController playerToSupport = PlayerControllers.ElementAt(random.Next(0, PlayerControllers.Length));

            if (!playerToSupport.CanPlay())
            {
                return;
            }
            int support = random.Next(1, 10);

            playerToSupport.IncreasSkill(support);

            TeamNotify?.Invoke(this, new TeamEventArgs($"player <{playerToSupport.Player.PlayerNumber}> had fan support"));
        }
Esempio n. 3
0
        //Попытка забить гол
        private void TryScoreGoal()
        {
            PlayerController playerController = PlayerControllers.ElementAt(random.Next(0, PlayerControllers.Length));

            if (!playerController.CanPlay())
            {
                return;
            }

            int chance = random.Next(1, 200);

            if (chance <= playerController.PlayerPower)
            {
                Team.TeamScore++;
                TeamNotify?.Invoke(this, new TeamEventArgs($"player <{playerController.Player.PlayerNumber}> scored goal | Team score:{Team.TeamScore}"));
            }
            else
            {
                TeamNotify?.Invoke(this, new TeamEventArgs($"player <{playerController.Player.PlayerNumber}> missed"));
            }
        }
Esempio n. 4
0
        //Травма игрока
        private void PlayerInjure()
        {
            PlayerController playerToInjure = PlayerControllers.ElementAt(random.Next(0, PlayerControllers.Length));

            if (!playerToInjure.CanPlay())
            {
                return;
            }

            int injure = random.Next(1, 15);

            playerToInjure.ReduceSkill(injure);

            if (!playerToInjure.CanPlay())
            {
                TeamNotify?.Invoke(this, new TeamEventArgs($"player <{playerToInjure.Player.PlayerNumber}> injured and cannot continue"));
                PlayerSubstitution(playerToInjure);
            }
            else
            {
                TeamNotify?.Invoke(this, new TeamEventArgs($"player <{playerToInjure.Player.PlayerNumber}> injured "));
            }
        }