void FixedUpdate() { if (!activeBattle && !startingBattle) { if (battleCounter >= 1000000) { startingBattle = true; battleCounter = 0; } } if (startingBattle) { startTimer++; cameraRef.BattleCameraMovement(); if (startTimer >= 30) { cameraRef.BattleCameraSet(); startingBattle = false; activeBattle = true; LoadBattle(2); } } if (activeBattle) { if (NeedInput()) { } if (!activeFighter) { for (int i = 0; i < players.Count; i++) { players[i].Tick(); if (players[i].getActive()) { activePlayer = i; activeFighter = true; string temp1 = abilityList[players[activePlayer].getAbility(0)].getname(); string temp2 = abilityList[players[activePlayer].getAbility(1)].getname(); string temp3 = abilityList[players[activePlayer].getAbility(2)].getname(); string temp4 = abilityList[players[activePlayer].getAbility(3)].getname(); Debug.Log(temp1 + ", " + temp2 + ", " + temp3 + ", " + temp4); break; } else { activePlayer = -1; } } if (!activeFighter) { foreach (Enemy enemy in enemies) { enemy.Tick(); if (enemy.getActive()) { currentAction = new Action(abilityList[enemy.PickAbility()], enemy, players[Random.Range(0, players.Count)]); } } } } if (currentAction != null) { ExecuteAction(); } CheckKO(); if (AllEnemyKO()) { activeBattle = false; int expGained = 0; for (int i = 0; i < enemies.Count; i++) { expGained += enemies[i].getEXP(); } expGained *= Oplayer.getClosestCity().getLevel(); int bonus = (int)((float)exp * 0.10f); exp += expGained + bonus; Oplayer.addExpToCity(expGained); Oplayer.addGold(expGained * Oplayer.getClosestCity().getLevel()); cameraRef.ResetCamera(); enemies.Clear(); enemyPrefabs.Clear(); } } }