$startSector = 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]);
 if (!isset($allUnits)) {
     $allUnitsArr = $unitConn->getAllUnits();
     $allUnits = array();
     $trainingTimes = array();
     foreach ($allUnitsArr 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]);
         $allUnits[$unit->getId()] = $unit;
     }
 }
 $unit = $allUnits[$unitId];
 $capitolSectorArr = $sectorConn->getCapitolSector($playerId);
 if ($capitolSectorArr) {
     $capitolSector = new Sector($capitolSectorArr[0], $capitolSectorArr[1], $capitolSectorArr[2], $capitolSectorArr[3], $capitolSectorArr[4], $capitolSectorArr[5], $capitolSectorArr[6], $capitolSectorArr[7], explode(",", $capitolSectorArr[8]), explode(",", $capitolSectorArr[9]), $capitolSectorArr[10]);
     $capitolX = $capitolSector->getCoordinateX();
     $capitolY = $capitolSector->getCoordinateY();
     $distanceFromCapitol = $startSector->getDistanceFrom($capitolX, $capitolY);
     //var_dump($distanceFromCapitol);
 } else {
     $ownedSectors = Sector::getOwnedSectors($allSectors, $playerId);
     $distanceFromCapitol = Sector::getMaxDistance($ownedSectors);
 }
 $unitStartCosts = $unit->getEfectiveManteinanceCosts($distanceFromCapitol);
 for ($j = 0; $j < count($unitStartCosts); $j++) {
     $unitStartCosts[$j] = $unitStartCosts[$j] * $quantityList[$i];
 }
 if ($capitolSectorArr) {
     $distanceFromCapitol = $endSector->getDistanceFrom($capitolX, $capitolY);
 }
 $unitEndCosts = $unit->getEfectiveManteinanceCosts($distanceFromCapitol);
 for ($j = 0; $j < count($unitEndCosts); $j++) {
Example #2
0
<?php

$allUnits = $staticData->getUnits();
$allPlayers = $staticData->getPlayers();
$allBuildings = $staticData->getBuildings();
$coordinateX = $_POST['coordinateX'];
$coordinateY = $_POST['coordinateY'];
$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]));
$battleArr = $battleConn->getBattleBySectorId($sector->getId());
$battle = new Battle($battleArr[0], 0, 0, $battleArr[2], $battleArr[3], $battleArr[4], $battleArr[5]);
$attackingDivisions = array();
$defendingDivisions = array();
$sectorNameString = $sector->getName() . "(" . $sector->getCoordinateX() . "," . $sector->getCoordinateY() . ")";
$isPlayerDefending = $battle->getDefenderId() == $player->getId();
$owner = $sector->getOwner();
if (empty($owner)) {
    $defendingPlayer = new Player();
} else {
    $defendingPlayer = $allPlayers[$sector->getOwner()];
}
$isPlayerInvolved = true;
$divisionsArr = $divisionConn->getDivisionsBySector($sector->getId());
foreach ($divisionsArr as $divisionArr) {
    $quantity = $divisionArr[4];
    $ownerId = $divisionArr[1];
    if ($battle->getDefenderId() != $ownerId && $player->getId() != $battle->getDefenderId() && $player->getId() != $ownerId) {
        $isPlayerInvolved = false;
        $attackingPlayer = $allPlayers[$ownerId];
        break;
    }
Example #3
0
 public function getDistanceFromCapitolSector($playerId, $connection)
 {
     $capitolSectorArr = $connection->getCapitolSector($playerId);
     if ($capitolSectorArr) {
         $capitolSector = new Sector($capitolSectorArr[0], $capitolSectorArr[1], $capitolSectorArr[2], $capitolSectorArr[3], $capitolSectorArr[4], $capitolSectorArr[5], $capitolSectorArr[6], $capitolSectorArr[7], explode(",", $capitolSectorArr[8]), explode(",", $capitolSectorArr[9]), $capitolSectorArr[10]);
         return $this->getDistanceFrom($capitolSector->getCoordinateX(), $capitolSector->getCoordinateY());
     } else {
         return false;
     }
 }