private bool TryWord(AIWords _aiWord) { if (aiWords[(int)_aiWord].WordAvailable()) { currentWord = aiWords[(int)_aiWord].word; lastWord = _aiWord; return(true); } return(false); }
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; }