Exemplo n.º 1
0
        public void CrusadeConfirm() //confirm crusade squad composition and start the crusade
        {
            int r = Convert.ToInt32(inputRookie.text);
            int s = Convert.ToInt32(inputShooter.text);
            int i = Convert.ToInt32(inputInfantry.text);
            int c = Convert.ToInt32(inputCavalry.text);

            if (r != 0 || s != 0 || i != 0 || c != 0)
            {
                crusade.ConfirmCrusade(r, s, i, c);
                CrusadeButton.interactable    = false;
                EndCrusadeButton.interactable = true;
                CrusadePanel.SetActive(false);
            }
        }
Exemplo n.º 2
0
 void MakeTurn() //AI script to make actions on it's turn
 {
     if (Player.turnCount == 1)
     {
         houses.lvlUp();
         townhall.lvlUp();
     }
     if (behaviour) //if this AI is "builder" type
     {
         if (Player.turnCount % Random.Range(3, 7) == 0 && player.money > 500)
         {
             houses.lvlUp();
             townhall.lvlUp();
         }
         if (Player.turnCount % Random.Range(7, 9) == 0)
         {
             walls.lvlUp();
             barracks.lvlUp();
             for (int i = 0; i < 5; i++)
             {
                 army.HireCavalry();
                 army.HireInfantry();
                 army.HireShooter();
                 army.HireRookie();
             }
         }
         if (Player.turnCount % Random.Range(20, 30) == 0)
         {
             crusade.ConfirmCrusade(army.rookie / 2, army.shooter / 2, army.infantry / 2, army.cavalry / 2);
             rnd = Random.Range(0, 100);
         }
     }
     else //if this AI is "aggressive" type
     {
         if (player.money > 300)
         {
             barracks.lvlUp();
             for (int i = 0; i < 5; i++)
             {
                 army.HireCavalry();
                 army.HireInfantry();
                 army.HireShooter();
                 army.HireRookie();
             }
         }
         if (Player.turnCount % Random.Range(5, 9) == 0)
         {
             townhall.lvlUp();
             houses.lvlUp();
             if (!crusade.Crusade)
             {
                 crusade.ConfirmCrusade(army.rookie * 3 / 4, army.shooter, army.infantry, army.cavalry);
                 rnd = Random.Range(0, 100);
             }
         }
     }
     if (crusade.Crusade)
     {
         if (rnd <= 33 && player.Enemy1.gameObject.activeSelf)
         {
             attackPoint = player.Enemy1.crusade.CrusadeSquad.transform.localPosition;
         }
         else if (rnd > 33 && rnd <= 66 && player.Enemy2.gameObject.activeSelf)
         {
             attackPoint = player.Enemy2.crusade.CrusadeSquad.transform.localPosition;
         }
         else if (rnd > 66 && rnd <= 100 && player.Enemy3.gameObject.activeSelf)
         {
             attackPoint = player.Enemy3.crusade.CrusadeSquad.transform.localPosition;
         }
         else if (player.Enemy1.gameObject.activeSelf)
         {
             attackPoint = player.Enemy1.crusade.CrusadeSquad.transform.localPosition;
         }
         else if (player.Enemy2.gameObject.activeSelf)
         {
             attackPoint = player.Enemy2.crusade.CrusadeSquad.transform.localPosition;
         }
         else if (player.Enemy3.gameObject.activeSelf)
         {
             attackPoint = player.Enemy3.crusade.CrusadeSquad.transform.localPosition;
         }
         MoveToAttack(attackPoint);
     }
     player.EndTurn();
     army.EndTurn();
     crusade.EndTurn();
 }