if ($count % 100000 == 0) { echo 'Iteration ' . number_format($count, 0, '.', ' ') . ", used combinations " . number_format(count($combinations), 0, '.', ' ') . PHP_EOL; } $boss = new Boss(71, 10); $player = new Player(50, 500); $playersTurn = true; $usedSpells = []; $spentMana = 0; // spells $poison = false; $poisonTimer = 0; $shield = false; $shieldTimer = 0; $recharge = false; $rechargeTimer = 0; while ($boss->isAlive() && $player->isAlive()) { // hard mode (part 2) if ($playersTurn) { $player->decreaseHitpoints(1); if (!$player->isAlive()) { continue; } } // tick active effects if ($poison) { $poisonTimer--; $boss->decreaseHitpoints(3); if ($poisonTimer == 0) { $poison = false; } }