void ChooseAction()
    {
        HandleTurn myAttack = new HandleTurn();

        myAttack.Attacker            = enemy.characterName;
        myAttack.Type                = "Enemy";
        myAttack.AttackersGameObject = this.gameObject;



        int num = Random.Range(0, enemy.attacks.Count);

        myAttack.chosenAttack = enemy.attacks[num];

        if (myAttack.chosenAttack.abilityType == "Stance")
        {
            myAttack.AttackersTarget = myAttack.AttackersGameObject;
        }
        else if (myAttack.chosenAttack.abilityType == "Attack")
        {
            foreach (GameObject hero in BSM.HeroesInBattle)
            {
                if (hero.GetComponent <HeroStateMachine>().taunt > 0 && hero.tag != "DeadHero")
                {
                    viableTargets.Add(hero);
                }
            }

            if (viableTargets.Count > 0)
            {
                myAttack.AttackersTarget = viableTargets[Random.Range(0, viableTargets.Count)];
                myAttack.AttackersTarget.GetComponent <HeroStateMachine>().taunt--;
            }
            else
            {
                foreach (GameObject heroNoTaunt in BSM.HeroesInBattle)
                {
                    if (heroNoTaunt.tag != "DeadHero" && (heroNoTaunt.GetComponent <HeroStateMachine>().stealth == 0))
                    {
                        viableTargets.Add(heroNoTaunt);
                    }
                }
                GameObject selectedTarget = viableTargets[Random.Range(0, viableTargets.Count)].gameObject;
                Debug.Log(selectedTarget);
                myAttack.AttackersTarget = selectedTarget;
            }
        }
        else if (myAttack.chosenAttack.abilityType == "Buff")
        {
            myAttack.AttackersTarget = BSM.EnemiesInBattle[Random.Range(0, BSM.EnemiesInBattle.Count)];
        }
        else if (myAttack.chosenAttack.abilityType == "Aura")
        {
            myAttack.AttackersTarget = myAttack.AttackersGameObject;
        }

        BSM.CollectActions(myAttack);
        viableTargets.Clear();
    }
Beispiel #2
0
    void ChooseAction()
    {
        HandleTurn myAttack = new HandleTurn();

        myAttack.Attacker           = villain.name;
        myAttack.AttackerGameObject = this.gameObject;
        myAttack.AttackerTarget     = BSM.HeroInBattle[Random.Range(0, BSM.HeroInBattle.Count)];
        BSM.CollectActions(myAttack);
    }
    void ChooseAction()
    {
        HandleTurn myAttack = new HandleTurn();

        myAttack.Attacker            = enemy.title;
        myAttack.AttackersGameObject = this.gameObject;
        myAttack.AttackersTarget     = BSM.HeroesInBattle[Random.Range(0, BSM.HeroesInBattle.Count)];
        BSM.CollectActions(myAttack);
    }
Beispiel #4
0
    void ChooseAction()
    {
        HandleTurns myAttack = new HandleTurns();

        myAttack.Attacker         = Player2.EnemyName;
        myAttack.AttackGameObject = this.gameObject;
        myAttack.AttackersTarget  = bsm.P1[(Random.Range(0, bsm.P1.Count))];
        bsm.CollectActions(myAttack);
    }
    void ChooseAction()
    {
        HandleTurns handleTurns = new HandleTurns();

        handleTurns.attacker           = unitName;
        handleTurns.attackerGameObject = this.gameObject;
        handleTurns.targetGameObject   = battleStateMachine.heroesInBattle[Random.Range(0, battleStateMachine.heroesInBattle.Count)];
        battleStateMachine.CollectActions(handleTurns);
    }
Beispiel #6
0
    void ChooseAction()
    {
        HandleTurns myAttack = new HandleTurns();

        myAttack.Attacker         = Player1.CharacterName;
        myAttack.Type             = "Player";
        myAttack.AttackGameObject = this.gameObject;
        myAttack.AttackersTarget  = bsm.P2[Random.Range(0, bsm.P2.Count)];
        bsm.CollectActions(myAttack);
    }
Beispiel #7
0
    void ChooseAction()
    {
        TurnHandler attack = new TurnHandler();

        attack.Type          = "Enemy";
        attack.AttackersName = enemy.name;
        attack.Attacker      = this.gameObject;
        attack.Target        = bsm.MinionsInBattle[Random.Range(0, bsm.MinionsInBattle.Count)];
        bsm.CollectActions(attack);
    }
Beispiel #8
0
    void ChooseAction()
    {
        HandleTurn myAttack = new HandleTurn();

        myAttack.Attacker          = enemy.name;
        myAttack.type              = "Enemy";
        myAttack.AttacksGameObject = this.gameObject;
        myAttack.AttackersTarget   = BSM.heroesinGame[Random.Range(0, BSM.heroesinGame.Count)];
        BSM.CollectActions(myAttack);
    }
Beispiel #9
0
    void ChooseAction()
    {
        HandleTurns myAttack = new HandleTurns();

        myAttack.Attacker         = enemy.name;
        myAttack.type             = "enemy";
        myAttack.AttackGameObject = this.gameObject;
        myAttack.AttackersTarget  = BSM.HerosInBattle[Random.Range(0, BSM.HerosInBattle.Count)];
        BSM.CollectActions(myAttack);
    }
    }   // VOID UPGRADEPROGRESSBAR

    void ChooseAction()
    {
        HandleTurn myAttack = new HandleTurn();

        myAttack.Type                = "Enemy";
        myAttack.Attacker            = Enemy.Name;
        myAttack.AttackersGameObject = this.gameObject;
        myAttack.AttackersTarget     = bsm.HerosInBattle[Random.Range(0, bsm.HerosInBattle.Count)];
        myAttack.Priority            = Enemy.Priority;
        bsm.CollectActions(myAttack);
    }
    void ChooseAction()
    {
        HandleTurn attackerino = new HandleTurn();

        attackerino.attackerName = enemy.Name;
        attackerino.Attacker     = this.gameObject;
        attackerino.Target       = BSM.Party[0];
        BSM.CollectActions(attackerino);
        attackerino.Target.GetComponent <PlayerStateMachine>().player.CurHP -= 10;
        //attackerino.Target = BSM.Party[Random.Range(0, BSM.Party.Count)];
        //this is for random attacks eventually ^
    }
Beispiel #12
0
    void ChooseAction()
    {
        TurnHandler myAction = new TurnHandler();

        myAction.activistName   = NPC.name;
        myAction.characterType  = "NPC";
        myAction.activistObject = this.gameObject;
        myAction.activistFocus  = battleMachine.playerList[Random.Range(0, battleMachine.playerList.Count)];
        battleMachine.CollectActions(myAction);

        currentState = TurnState.WAIT;
    }
Beispiel #13
0
    void ChooseAction()
    {
        TurnHandler myAttack = new TurnHandler();

        myAttack.attacker           = enemy.theName;
        myAttack.type               = "Enemy";
        myAttack.attackerGameObject = this.gameObject;
        myAttack.targetOfAttacker   = BSM.playersInBattle[Random.Range(0, BSM.playersInBattle.Count)];
        int num = Random.Range(0, enemy.usableAttacks.Count);

        myAttack.chosenAttack = enemy.usableAttacks[num];
        BSM.CollectActions(myAttack);
    }
 /// <summary>
 /// Lets the enemy choose a skill and a target to use on.
 /// </summary>
 private void ChooseAction()
 {
     if (bsm.herosInBattle.Count > 0)
     {
         HandleTurns chosenAction = new HandleTurns();
         chosenAction.type                = "Enemy";
         chosenAction.attacker            = baseClass.name_;
         chosenAction.attackersGameobject = this.gameObject;
         chosenAction.attackersTarget     = bsm.herosInBattle[Random.Range(0, bsm.herosInBattle.Count)];
         chosenAction.chosenAttack        = baseClass.attacks[Random.Range(0, baseClass.attacks.Count)];
         bsm.CollectActions(chosenAction);
     }
 }
    void ChooseAction()
    {
        HandleTurns myAttack = new HandleTurns();

        myAttack.Attacker           = enemy.theName;
        myAttack.Type               = "enemy";
        myAttack.AttackerGameObject = this.gameObject;
        //CHANGE THIS FOR DYANMIC AI (BASED ON LOWEST HP, HEALER, THREAT, ETC.)
        myAttack.AttackersTarget = BSM.WolvesInBattle[Random.Range(0, BSM.WolvesInBattle.Count)];


        BSM.CollectActions(myAttack);
    }
    void ChooseAction()
    {
        //battleMachine.playersToManage.Add(this.gameObject);


        TurnHandler myAction = new TurnHandler();

        myAction.activistName   = PlayerCharacter.name;
        myAction.characterType  = "Player";
        myAction.activistObject = this.gameObject;
        battleMachine.CollectActions(myAction);


        currentState = TurnState.WAIT;
    }
Beispiel #17
0
    void ChooseAction()
    {
        HandleTurns myAttack = new HandleTurns();

        myAttack.Attacker            = "Enemy"; // vietoj "Enemy" buvo  EnemyStats.theName; ti jei kokių problemų kils bandykit atkeist
        myAttack.Type                = "Enemy";
        myAttack.AttackersGameObject = this.gameObject;
        myAttack.AttackersTarget     = BSM.HerosInBattle[Random.Range(0, BSM.HerosInBattle.Count)];

        int num = Random.Range(0, EnemyStats.attacks.Count);

        myAttack.choosenAttack = EnemyStats.attacks[num];
        Debug.Log(this.gameObject.name + " has choosen" + myAttack.choosenAttack.attackName + " and do " + myAttack.choosenAttack.attackDamage + " damage!");
        BSM.CollectActions(myAttack);
    }
    void ChooseAction()                                                                                //Chooses the attack for the Enemy and sends it to the Turn Handler
    {
        TurnHandler myAttack = new TurnHandler();                                                      //Instantiation of TurnHandler Class to collect the Attacker Information

        myAttack.attacker           = enemy.name;                                                      //Sets the Attacker name
        myAttack.type               = "Enemy";                                                         //Sets the Attacker Type
        myAttack.attackerGameObject = this.gameObject;                                                 //Sets the Attacker Game Object
        myAttack.attackersTarget    = bsm.playersInBattle[Random.Range(0, bsm.playersInBattle.Count)]; //Sets the Target of the Attacker
        int attackIndex = Random.Range(0, enemy.attackList.Count);                                     //Randomly perform an attack from the available attacks the enemy has available

        myAttack.chosenAttack = enemy.attackList[attackIndex];                                         //Set the random attack
        Debug.Log(this.gameObject + " has chosen " + myAttack.chosenAttack.attackName + " and inflicts " + myAttack.chosenAttack.attackDamage + " damage");

        bsm.CollectActions(myAttack); //Send the Attacker Information to the BattleStateMachine
    }
    void ChooseAction()
    {
        HandleTurn myAttack = new HandleTurn();

        myAttack.Attacker            = enemy.theName;
        myAttack.Type                = "Enemy";
        myAttack.AttackersGameObject = this.gameObject;
        myAttack.AttackersTarget     = BSM.HerosInBattle[Random.Range(0, BSM.HerosInBattle.Count)];

        int num = Random.Range(0, enemy.attacks.Count);

        myAttack.chosenAttack = enemy.attacks[num];

        BSM.CollectActions(myAttack);
    }
Beispiel #20
0
    void ChooseAction()
    {
        HandleTurn myAttack = new HandleTurn();

        myAttack.Attacker            = Enemy.theName;
        myAttack.Type                = "Enemy";
        myAttack.AttackersGameObject = this.gameObject;
        myAttack.AttackersTarget     = BSM.HerosInBattle[Random.Range(0, BSM.HerosInBattle.Count)];
        int num = Random.Range(0, Enemy.attacks.Count);

        myAttack.choosenAttack = Enemy.attacks[num];
        Debug.Log(this.gameObject.name + " has choosen " + myAttack.choosenAttack.attackName + " and does " + myAttack.choosenAttack.attackDamage);

        BSM.CollectActions(myAttack);
    }
Beispiel #21
0
    void ChooseAction()
    {
        HandleTurn myAttack = new HandleTurn();

        myAttack.Attacker          = enemy.name;
        myAttack.Type              = "Enemy";
        myAttack.AttacksGameObject = this.gameObject;
        myAttack.AttackersTarget   = BSM.HeroesInGame[Random.Range(0, BSM.HeroesInGame.Count)];

        int num = Random.Range(0, enemy.Attacks.Count);

        myAttack.chooseAttack = enemy.Attacks [num];
        Debug.Log(this.gameObject.name + " has choosen " + myAttack.chooseAttack.attackName + " and dealt " + myAttack.chooseAttack.attackDamage + " damage"); //NOTE Remove Debug line later

        BSM.CollectActions(myAttack);
    }
    void ChooseAction()
    {
        HandleTurn myAttack = new HandleTurn();

        myAttack.Attacker          = enemy.enemyname;
        myAttack.Type              = "Enemy";
        myAttack.AttacksGameObject = this.gameObject;
        myAttack.AttackersTarget   = BSM.PlayerInBattle[Random.Range(0, BSM.PlayerInBattle.Count)];

        int num = Random.Range(0, enemy.attacks.Count);

        myAttack.choosenAttack = enemy.attacks[num];
        Debug.Log(this.gameObject.name + " used " + myAttack.choosenAttack.attackName + " dealing " + myAttack.choosenAttack.attackDamage + " damage ");

        BSM.CollectActions(myAttack);
    }
Beispiel #23
0
    void ChooseAction()
    {
        if (_bsm.heroesInBattle.Count > 0)
        {
            HandleTurn attack = new HandleTurn
            {
                Attacker       = enemy.Name,
                Type           = "Enemy",
                AttackerGO     = gameObject,
                AttackerTarget = _bsm.heroesInBattle[Random.Range(0, _bsm.heroesInBattle.Count)],
                Attack         = enemy.Attacks[Random.Range(0, enemy.Attacks.Count)]
            };

            _bsm.CollectActions(attack);
        }
    }
    public void ChooseAction()
    {
        HandleTurns myAttack = new HandleTurns();

        myAttack.Attacker            = hero.theName;
        myAttack.Type                = "Hero";
        myAttack.AttackingGameObject = this.gameObject;
        myAttack.AttackersTarget     = BSM.EnemiesInBattle[0];

        int num = Random.Range(0, hero.attacks.Count);

        myAttack.choosenAttack = hero.attacks[num];
        //  Debug.Log(this.gameObject.name + "has choosen " + myAttack.choosenAttack.attackName + "and does " + myAttack.choosenAttack.attackDamage + "Damage!");

        BSM.CollectActions(myAttack);
    }
    void ChooseAction()
    {
        HandleTurn myAttack = new HandleTurn();

        myAttack.attacker           = enemy.theName;
        myAttack.type               = "Enemy";
        myAttack.attackerGameObject = this.gameObject;
        if (battleSM.heroesInBattle.Count > 0)
        {
            myAttack.targetGameObject = battleSM.heroesInBattle[Random.Range(0, battleSM.heroesInBattle.Count)];

            int attackIndex = Random.Range(0, enemy.attacks.Count);
            myAttack.chosenAttack = enemy.attacks[attackIndex];
            battleSM.CollectActions(myAttack);
            battleSM.UpdateTurnOrder();
        }
    }
 void ChooseAction()
 {
     if (BSM.CharsInBattle.Count > 0)
     {
         HandleTurn theAttack = new HandleTurn();
         theAttack.attacker  = enemy.name;
         theAttack.type      = "Enemy";
         theAttack.AttakerGO = gameObject;
         theAttack.TargetGO  = BSM.CharsInBattle[Random.Range(0, BSM.CharsInBattle.Count)];
         int num = Random.Range(0, enemy.attacks.Count);
         theAttack.chosenAttack = enemy.attacks[num];
         ridingState            = theAttack.chosenAttack.animState;
         attackDistance         = theAttack.chosenAttack.attackDistance;
         Debug.Log(gameObject.name + " did " + theAttack.chosenAttack.name + " and did " + theAttack.chosenAttack.physicalDamage + " damage and magical " + theAttack.chosenAttack.magicalDamage);
         BSM.CollectActions(theAttack);
     }
 }
Beispiel #27
0
    void ChooseAction()
    {
        HandleTurn myAttack = new HandleTurn();

        myAttack.Type                = "Enemy";
        myAttack.AttackersName       = Enemy.Name;
        myAttack.AttackersGameObject = this.gameObject;
        myAttack.AttackersTarget     = bsm.HeroesInBattle[Random.Range(0, bsm.HeroesInBattle.Count)];
        myAttack.TurnPriority        = Enemy.TurnPriority;

        int randomAttack = Random.Range(0, Enemy.Attacks.Count);

        myAttack.ChosenAttack = Enemy.Attacks[randomAttack];
        Debug.Log(this.gameObject.name + " uses " + myAttack.ChosenAttack.AttackName + " for " + myAttack.ChosenAttack.AttackBaseDamage + " DMG!");

        bsm.CollectActions(myAttack);
    }
Beispiel #28
0
    /// <summary>
    /// Chose an action. This communicates to the specific IA of the enemy to decide the attack according to the battle.
    /// </summary>
    void ChooseAction()
    {
        //Test function to decide if the attack is gonna be an area attack or not. This must be replaced with a call to the enemy IA, returning a list with the enemies to attack.


        TurnHandler myAttack = new TurnHandler()
        {
            attacker           = enemy.stats.myName,
            type               = "Enemy",
            attackerGameObject = gameObject,
            attack             = IA(),
            targets            = heroesToAttack
        };

        isAreaAttack = myAttack.targets.Count > 1 ? true : false;

        BSM.CollectActions(myAttack);
    }
Beispiel #29
0
    void chooseAction()
    {
        HandleTurns thisAttack = new HandleTurns();

        thisAttack.attacker     = enemy.theName;
        thisAttack.type         = "Enemy";
        thisAttack.attackerGO   = this.gameObject;
        thisAttack.attackTarget = BSM.PlayerCharacters[Random.Range(0, BSM.PlayerCharacters.Count)];
        //choose attack randomly from list
        int num = Random.Range(0, enemy.attacks.Count);

        thisAttack.chosenAttack = enemy.attacks[num];
        Debug.Log(this.gameObject.name + " has chosen: " + thisAttack.chosenAttack.attackName + " and does " + thisAttack.chosenAttack.attackDmg + " damage");



        BSM.CollectActions(thisAttack);
    }
Beispiel #30
0
    void ChooseAction()
    {
        HandleTurn myAttack = new HandleTurn();

        myAttack.Attacker            = enemy.theName;
        myAttack.Type                = "Enemy";
        myAttack.AttackersGameObject = this.gameObject;
        myAttack.AttackersTarget     = BSM.HeroesInBattle[Random.Range(0, BSM.HeroesInBattle.Count)];

        //chooses random attack from enemy from ones in it's list
        int num = Random.Range(0, enemy.attacks.Count);

        myAttack.chosenAttack = enemy.attacks [num];
        Debug.Log(this.gameObject.name + " has chosen " + myAttack.chosenAttack.attackName + " and do " + myAttack.chosenAttack.attackDamage + " damage!");


        BSM.CollectActions(myAttack);
    }