$sectorArr = $sectorConn->getSectorByCoordinates($coordinateX, $coordinateY); $sector = new Sector($sectorArr[0], $sectorArr[1], $sectorArr[2], $sectorArr[3], $sectorArr[4], $sectorArr[5], $sectorArr[6], $sectorArr[7], explode(",", $sectorArr[8]), explode(",", $sectorArr[9]), $sectorArr[10]); $distanceFromCapitol = $sector->getDistanceFromCapitolSector($playerId, $sectorConn); if (!$distanceFromCapitol) { if (!isset($staticData)) { require_once HOME . 'controllers/StaticData/initStaticData.php'; } if (!$staticData->getSectors()) { $sectorsArr = $sectorConn->getAllSectors(); foreach ($sectorsArr as $sectorArr) { $allSectors[] = new Sector($sectorArr[0], $sectorArr[1], $sectorArr[2], $sectorArr[3], $sectorArr[4], $sectorArr[5], $sectorArr[6], $sectorArr[7], explode(",", $sectorArr[8]), explode(",", $sectorArr[9]), $sectorArr[10]); } $staticData->setSectors($allSectors); } $ownedSectors = Sector::getOwnedSectors($staticData->getSectors(), $playerId); $distanceFromCapitol = Sector::getMaxDistance($ownedSectors); } if (!isset($allManteinances)) { $unitsArr = $unitConn->getAllUnits(); $allManteinances = array(); foreach ($unitsArr as $unitArr) { $unit = new Unit($unitArr[0], $unitArr[1], $unitArr[2], $unitArr[3], $unitArr[4], $unitArr[5], $unitArr[6], $unitArr[7], $unitArr[8], explode(",", $unitArr[9]), explode(",", $unitArr[10]), explode(",", $unitArr[11]), $unitArr[12], $unitArr[13], $unitArr[14], $unitArr[15]); $unitId = $unitArr[0]; $manteinance = $unit->getEfectiveManteinanceCosts($distanceFromCapitol); $allManteinances[$unitId] = $manteinance; } } $unitQueueArr = $sectorConn->getUnitQueueLists($coordinateX, $coordinateY, $playerId); $queuedUnits = explode(",", $unitQueueArr[0]); $queuedTimes = explode(",", $unitQueueArr[1]); $startTime = $unitQueueArr[2];
$defenderSectors = Sector::getOwnedSectors($staticData->getSectors(), $battle->getDefenderId()); $maxDistance = Sector::getMaxDistance($defenderSectors); $playerId = $battle->getDefenderId(); require HOME . 'controllers/batch/recalculate_manteinances.php'; } $capitolSectorArr = $sectorConn->getCapitolSector($battle->getAttackerId()); if (!$capitolSectorArr) { if (!$staticData->getSectors()) { $sectorsArr = $sectorConn->getAllSectors(); foreach ($sectorsArr as $sectorArr) { $allSectors[] = new Sector($sectorArr[0], $sectorArr[1], $sectorArr[2], $sectorArr[3], $sectorArr[4], $sectorArr[5], $sectorArr[6], $sectorArr[7], explode(",", $sectorArr[8]), explode(",", $sectorArr[9]), $sectorArr[10]); } $staticData->setSectors($allSectors); } $attackerSectors = Sector::getOwnedSectors($staticData->getSectors(), $battle->getAttackerId()); $maxDistance = Sector::getMaxDistance($attackerSectors); $playerId = $battle->getAttackerId(); require HOME . 'controllers/batch/recalculate_manteinances.php'; } } else { //$attacker = $allPlayers[array_shift($aux1)->getOwnerId()]; //$defender = $allPlayers[array_shift($aux2)->getOwnerId()]; $battle->setSector($sector); $battle->setAttackingDivisions($attackingDivisions); $battle->setDefendingDivisions($defendingDivisions); $attackDivisions = $battle->getAttackingDivisions(); $defendDivisions = $battle->getDefendingDivisions(); $passed = $now - $battle->getLastUpdate(); $roundsMissed = floor($passed / ($round_time / 1000)); $remainingTime = $passed % ($round_time / 1000); if ($roundsMissed >= 1) {