public static function startBattle($battleId, $attackerId, $defenderId) { $db = mysqli_connect("localhost", "root", "1234", "ant_rpg"); $attackerRequest = mysqli_query($db, "SELECT tfb.quantity,a.ant_id,a.attack FROM troops_for_battle tfb\n \tJOIN ant a\n\t \tON tfb.ant_id=a.ant_id\n WHERE tfb.battleid = " . $battleId); $defenderRequest = mysqli_query($db, "SELECT ua.quantity,a.attack,a.ant_id FROM user_ants ua JOIN ant a ON ua.ant_id=a.ant_id\n WHERE user_id = " . $defenderId); $attackerATT = 0; while ($row = $attackerRequest->fetch_assoc()) { $attackerATT = $attackerATT + $row['quantity'] * $row['attack']; } $defendATT = 0; $attacker = User::getUserById($attackerId)['username']; $defender = User::getUserById($defenderId)['username']; while ($row = $defenderRequest->fetch_assoc()) { $defendATT = $defendATT + $row['quantity'] * $row['attack']; } if ($attackerATT > $defendATT) { $diff = $defendATT; $attackerAnts = Ants::getAntsByUserId($attackerId); for ($i = 0; $i < 2; $i++) { if ($i == count($attackerAnts) - 1) { $attackerAnts[$i] = $attackerAnts[$i] - $diff; } else { if ($diff > $attackerAnts[$i]) { $diff = $diff - $attackerAnts[$i]; $attackerAnts[$i] = 0; } } Ants::updateTroops($i + 1, $attackerAnts[$i], $battleId); } BattleReport::sendReport($attackerId, "You have won the attack versus player " . $defender . " and lost " . $defendATT . " troops", $defendATT); BattleReport::sendReport($defenderId, "You lost defence versus " . $attacker . " and lost " . $defendATT . " troops", $defendATT); Action::returnArmy($battleId); Ants::UpdateAntsToZero($defenderId); } elseif ($attackerATT == $defendATT) { BattleReport::sendReport($attackerId, "Draw you lost all your troops versus " . $defender, $defendATT); BattleReport::sendReport($attackerId, "Draw you lost all your troops versus " . $attacker, $defendATT); Ants::UpdateAntsToZero($defenderId); } else { $diff = $attackerATT; $defenderAnts = Ants::getAntsByUserId($defenderId); for ($i = 0; $i < 2; $i++) { if ($i == count($defenderAnts) - 1) { $defenderAnts[$i] = $defenderAnts[$i] - $diff; } else { if ($diff > $defenderAnts[$i]) { $diff = $diff - $defenderAnts[$i]; $defenderAnts[$i] = 0; } } Ants::updateAntsTo($i + 1, $defenderAnts[$i], $defenderId); } BattleReport::sendReport($defenderId, "You have won the defence versus player " . $attacker . " and lost " . $attackerATT . " troops", $attackerATT); BattleReport::sendReport($attackerId, "You lost the attack versus " . $defender . " and lost " . $attackerATT . " troops", $attackerATT); } mysqli_query($db, "UPDATE attack SET battled=1 WHERE idattack=" . $battleId); }