Ejemplo n.º 1
0
 private bool TryWord(AIWords _aiWord)
 {
     if (aiWords[(int)_aiWord].WordAvailable())
     {
         currentWord = aiWords[(int)_aiWord].word;
         lastWord    = _aiWord;
         return(true);
     }
     return(false);
 }
Ejemplo n.º 2
0
    private void ChooseWord()
    {
        currentIndex = 0;
        if (Player.instance.ActorHealthPercent() < 0.1f && Player.instance.numLives == 1)
        {
            if (TryWord(AIWords.RESET))
            {
                return;
            }
        }
        if (Player.instance.ActorHealthPercent() < 0.4f)
        {
            if (TryWord(AIWords.REPAIR))
            {
                return;
            }
        }
        if (BossWord.instance.GetBossHealth() < 0.175f)
        {
            if (TryWord(AIWords.BOSS))
            {
                return;
            }
        }
        if (AdManager.instance.numActiveAds > 0)
        {
            if (TryWord(AIWords.CLOSE))
            {
                return;
            }
        }
        if (Player.instance.ActorHealthPercent() < 0.8f)
        {
            if (Enemy.numAliveEnemies > 2 || BossWord.instance.WordAvailable())
            {
                if ((!aiWords[(int)AIWords.FILTER].isBehaviourActive) && (!aiWords[(int)AIWords.ENCRYPT].isBehaviourActive) && (!aiWords[(int)AIWords.FIREWALL].isBehaviourActive))
                {
                    if (aiWords[(int)AIWords.FILTER].WordAvailable() && Random.Range(0, 2) == 0)
                    {
                        if (TryWord(AIWords.FILTER))
                        {
                            return;
                        }
                    }
                    else if (aiWords[(int)AIWords.ENCRYPT].WordAvailable())
                    {
                        if (TryWord(AIWords.ENCRYPT))
                        {
                            return;
                        }
                    }
                }
            }
        }
        if (UpdateBehavior.instance.updatesAvailable > 4)
        {
            if (TryWord(AIWords.UPDATE))
            {
                return;
            }
        }
        if (lastWord == AIWords.SCAN)
        {
            if (TryWord(AIWords.ANTIVIRUS))
            {
                return;
            }
        }
        if (TryWord(AIWords.FIREWALL))
        {
            return;
        }
        if (Enemy.numAliveEnemies > 9 || BossWord.instance.WordAvailable())
        {
            if (TryWord(AIWords.AUTH))
            {
                return;
            }
        }
        if (lastWord != AIWords.AUTH)
        {
            if (Enemy.numAliveEnemies > 4 || BossWord.instance.WordAvailable())
            {
                if (TryWord(AIWords.ANTIVIRUS))
                {
                    return;
                }
            }
            if (Enemy.numAliveEnemies > 2 || BossWord.instance.WordAvailable())
            {
                if (TryWord(AIWords.SCAN))
                {
                    return;
                }
            }
        }
        if (TryWord(AIWords.BACKUP))
        {
            return;
        }

        if (Player.instance.ActorHealthPercent() < 0.95f && Enemy.numAliveEnemies < 2 && (!BossWord.instance.WordAvailable()))
        {
            if (TryWord(AIWords.REPAIR))
            {
                return;
            }
        }

        if (UpdateBehavior.instance.updatesAvailable > 1)
        {
            if (TryWord(AIWords.UPDATE))
            {
                return;
            }
        }

        lastWord    = AIWords.COUNT;
        currentWord = string.Empty;
        waitRate    = waitRateNoWord;
    }