We could not synchronize checks via GitHub's checks API since Scrutinizer's GitHub App is not installed for this repository.
| @@ -89,12 +89,10 @@ discard block | ||
| 89 | 89 | |
| 90 | 90 |  	try { | 
| 91 | 91 | changeNPCLogin(); | 
| 92 | - } | |
| 93 | -	catch (ForwardException $e) {} | |
| 92 | +	} catch (ForwardException $e) {} | |
| 94 | 93 | |
| 95 | 94 | NPCStuff(); | 
| 96 | -} | |
| 97 | -catch (Throwable $e) { | |
| 95 | +} catch (Throwable $e) { | |
| 98 | 96 | logException($e); | 
| 99 | 97 | // Try to shut down cleanly | 
| 100 | 98 | exitNPC(); | 
| @@ -157,8 +155,7 @@ discard block | ||
| 157 | 155 | $fedContainer = null; | 
| 158 | 156 |  			if ($var['url'] == 'shop_ship_processing.php' && ($fedContainer = plotToFed($player, true)) !== true) { //We just bought a ship, we should head back to our trade gal/uno - we use HQ for now as it's both in our gal and a UNO, plus it's safe which is always a bonus | 
| 159 | 157 | processContainer($fedContainer); | 
| 160 | - } | |
| 161 | - else if ($player->getShip()->isUnderAttack() === true | |
| 158 | + } else if ($player->getShip()->isUnderAttack() === true | |
| 162 | 159 | &&($player->hasPlottedCourse() === false || $player->getPlottedCourse()->getEndSector()->offersFederalProtection() === false) | 
| 163 | 160 |  				&&($fedContainer == null ? $fedContainer = plotToFed($player, true) : $fedContainer) !== true) { //We're under attack and need to plot course to fed. | 
| 164 | 161 | // Get the lock, remove under attack and update. | 
| @@ -171,20 +168,16 @@ discard block | ||
| 171 | 168 |  				debug('Under Attack'); | 
| 172 | 169 | $underAttack = true; | 
| 173 | 170 | processContainer($fedContainer); | 
| 174 | - } | |
| 175 | -			else if ($player->hasPlottedCourse() === true && $player->getPlottedCourse()->getEndSector()->offersFederalProtection()) { //We have a route to fed to follow, figure it's probably a damned sensible thing to follow. | |
| 171 | +			} else if ($player->hasPlottedCourse() === true && $player->getPlottedCourse()->getEndSector()->offersFederalProtection()) { //We have a route to fed to follow, figure it's probably a damned sensible thing to follow. | |
| 176 | 172 |  				debug('Follow Course: ' . $player->getPlottedCourse()->getNextOnPath()); | 
| 177 | 173 | processContainer(moveToSector($player, $player->getPlottedCourse()->getNextOnPath())); | 
| 178 | - } | |
| 179 | -			else if (($container = canWeUNO($player, true)) !== false) { //We have money and are at a uno, let's uno! | |
| 174 | +			} else if (($container = canWeUNO($player, true)) !== false) { //We have money and are at a uno, let's uno! | |
| 180 | 175 |  				debug('We\'re UNOing'); | 
| 181 | 176 | processContainer($container); | 
| 182 | - } | |
| 183 | -			else if ($player->hasPlottedCourse() === true) { //We have a route to follow, figure it's probably a sensible thing to follow. | |
| 177 | +			} else if ($player->hasPlottedCourse() === true) { //We have a route to follow, figure it's probably a sensible thing to follow. | |
| 184 | 178 |  				debug('Follow Course: ' . $player->getPlottedCourse()->getNextOnPath()); | 
| 185 | 179 | processContainer(moveToSector($player, $player->getPlottedCourse()->getNextOnPath())); | 
| 186 | - } | |
| 187 | -			else if ($player->getTurns() < NPC_LOW_TURNS || ($player->getTurns() < $player->getMaxTurns() / 2 && $player->getNewbieTurns() < NPC_LOW_NEWBIE_TURNS) || $underAttack) { //We're low on turns or have been under attack and need to plot course to fed | |
| 180 | +			} else if ($player->getTurns() < NPC_LOW_TURNS || ($player->getTurns() < $player->getMaxTurns() / 2 && $player->getNewbieTurns() < NPC_LOW_NEWBIE_TURNS) || $underAttack) { //We're low on turns or have been under attack and need to plot course to fed | |
| 188 | 181 |  				if ($player->getTurns() < NPC_LOW_TURNS) { | 
| 189 | 182 |  					debug('Low Turns:' . $player->getTurns()); | 
| 190 | 183 | } | 
| @@ -201,16 +194,13 @@ discard block | ||
| 201 | 194 | } | 
| 202 | 195 | $ship = $player->getShip(); | 
| 203 | 196 | processContainer(plotToFed($player, !$ship->hasMaxShields() || !$ship->hasMaxArmour() || !$ship->hasMaxCargoHolds())); | 
| 204 | - } | |
| 205 | -			else if (($container = checkForShipUpgrade($player)) !== false) { //We have money and are at a uno, let's uno! | |
| 197 | +			} else if (($container = checkForShipUpgrade($player)) !== false) { //We have money and are at a uno, let's uno! | |
| 206 | 198 |  				debug('We\'re reshipping!'); | 
| 207 | 199 | processContainer($container); | 
| 208 | - } | |
| 209 | -			else if (($container = canWeUNO($player, false)) !== false) { //We need to UNO and have enough money to do it properly so let's do it sooner rather than later. | |
| 200 | +			} else if (($container = canWeUNO($player, false)) !== false) { //We need to UNO and have enough money to do it properly so let's do it sooner rather than later. | |
| 210 | 201 |  				debug('We need to UNO, so off we go!'); | 
| 211 | 202 | processContainer($container); | 
| 212 | - } | |
| 213 | -			else if ($TRADE_ROUTE instanceof \Routes\Route) { | |
| 203 | +			} else if ($TRADE_ROUTE instanceof \Routes\Route) { | |
| 214 | 204 |  				debug('Trade Route'); | 
| 215 | 205 | $forwardRoute = $TRADE_ROUTE->getForwardRoute(); | 
| 216 | 206 | $returnRoute = $TRADE_ROUTE->getReturnRoute(); | 
| @@ -218,8 +208,7 @@ discard block | ||
| 218 | 208 |  					if ($forwardRoute->getBuySectorId() == $player->getSectorID()) { | 
| 219 | 209 | $buyRoute = $forwardRoute; | 
| 220 | 210 | $sellRoute = $returnRoute; | 
| 221 | - } | |
| 222 | -					else if ($returnRoute->getBuySectorId() == $player->getSectorID()) { | |
| 211 | +					} else if ($returnRoute->getBuySectorId() == $player->getSectorID()) { | |
| 223 | 212 | $buyRoute = $returnRoute; | 
| 224 | 213 | $sellRoute = $forwardRoute; | 
| 225 | 214 | } | 
| @@ -236,30 +225,25 @@ discard block | ||
| 236 | 225 | //Sell goods | 
| 237 | 226 |  								debug('Sell Goods'); | 
| 238 | 227 | processContainer(tradeGoods($goodID, $player, $port)); | 
| 239 | - } | |
| 240 | -							else { | |
| 228 | +							} else { | |
| 241 | 229 | //Move to next route or fed. | 
| 242 | 230 |  								if (($TRADE_ROUTE =& changeRoute($TRADE_ROUTES)) === false) { | 
| 243 | 231 |  									debug('Changing Route Failed'); | 
| 244 | 232 | processContainer(plotToFed($player)); | 
| 245 | - } | |
| 246 | -								else { | |
| 233 | +								} else { | |
| 247 | 234 |  									debug('Route Changed'); | 
| 248 | 235 | continue; | 
| 249 | 236 | } | 
| 250 | 237 | } | 
| 251 | - } | |
| 252 | -						else if ($ship->hasCargo($buyRoute->getGoodID()) === true) { //We've bought goods, plot to sell | |
| 238 | +						} else if ($ship->hasCargo($buyRoute->getGoodID()) === true) { //We've bought goods, plot to sell | |
| 253 | 239 |  							debug('Plot To Sell: ' . $buyRoute->getSellSectorId()); | 
| 254 | 240 | processContainer(plotToSector($player, $buyRoute->getSellSectorId())); | 
| 255 | - } | |
| 256 | -						else { | |
| 241 | +						} else { | |
| 257 | 242 | //Dump goods | 
| 258 | 243 |  							debug('Dump Goods'); | 
| 259 | 244 | processContainer(dumpCargo($player)); | 
| 260 | 245 | } | 
| 261 | - } | |
| 262 | -					else { //Buy goods | |
| 246 | +					} else { //Buy goods | |
| 263 | 247 | $goodID = $buyRoute->getGoodID(); | 
| 264 | 248 | |
| 265 | 249 | $port = $player->getSector()->getPort(); | 
| @@ -268,26 +252,22 @@ discard block | ||
| 268 | 252 |  						if ($tradeable === true && $port->getGoodAmount($goodID) >= $ship->getEmptyHolds()) { //Buy goods | 
| 269 | 253 |  							debug('Buy Goods'); | 
| 270 | 254 | processContainer(tradeGoods($goodID, $player, $port)); | 
| 271 | - } | |
| 272 | -						else { | |
| 255 | +						} else { | |
| 273 | 256 | //Move to next route or fed. | 
| 274 | 257 |  							if (($TRADE_ROUTE =& changeRoute($TRADE_ROUTES)) === false) { | 
| 275 | 258 |  								debug('Changing Route Failed'); | 
| 276 | 259 | processContainer(plotToFed($player)); | 
| 277 | - } | |
| 278 | -							else { | |
| 260 | +							} else { | |
| 279 | 261 |  								debug('Route Changed'); | 
| 280 | 262 | continue; | 
| 281 | 263 | } | 
| 282 | 264 | } | 
| 283 | 265 | } | 
| 284 | - } | |
| 285 | -				else { | |
| 266 | +				} else { | |
| 286 | 267 |  					debug('Plot To Buy: ' . $forwardRoute->getBuySectorId()); | 
| 287 | 268 | processContainer(plotToSector($player, $forwardRoute->getBuySectorId())); | 
| 288 | 269 | } | 
| 289 | - } | |
| 290 | -			else { //Something weird is going on.. Let's fed and wait. | |
| 270 | +			} else { //Something weird is going on.. Let's fed and wait. | |
| 291 | 271 |  				debug('No actual action? Wtf?'); | 
| 292 | 272 | processContainer(plotToFed($player)); | 
| 293 | 273 | } | 
| @@ -299,8 +279,7 @@ discard block | ||
| 299 | 279 | processContainer(moveToSector($player,$moveTo)); | 
| 300 | 280 | } | 
| 301 | 281 | */ | 
| 302 | - } | |
| 303 | -		catch (ForwardException $e) { | |
| 282 | +		} catch (ForwardException $e) { | |
| 304 | 283 | global $lock; | 
| 305 | 284 |  			if ($lock) { //only save if we have the lock. | 
| 306 | 285 | SmrSector::saveSectors(); | 
| @@ -308,8 +287,9 @@ discard block | ||
| 308 | 287 | SmrPlayer::savePlayers(); | 
| 309 | 288 | SmrForce::saveForces(); | 
| 310 | 289 | SmrPort::savePorts(); | 
| 311 | -				if (class_exists('WeightedRandom', false)) | |
| 312 | - WeightedRandom::saveWeightedRandoms(); | |
| 290 | +				if (class_exists('WeightedRandom', false)) { | |
| 291 | + WeightedRandom::saveWeightedRandoms(); | |
| 292 | + } | |
| 313 | 293 | release_lock(); | 
| 314 | 294 | } | 
| 315 | 295 | //Clean up the caches as the data may get changed by other players | 
| @@ -448,11 +428,13 @@ discard block | ||
| 448 | 428 | } | 
| 449 | 429 | |
| 450 | 430 |  function canWeUNO(AbstractSmrPlayer $player, $oppurtunisticOnly) { | 
| 451 | - if ($player->getCredits() < MINUMUM_RESERVE_CREDITS) | |
| 452 | - return false; | |
| 431 | +	if ($player->getCredits() < MINUMUM_RESERVE_CREDITS) { | |
| 432 | + return false; | |
| 433 | + } | |
| 453 | 434 | $ship = $player->getShip(); | 
| 454 | - if ($ship->hasMaxShields() && $ship->hasMaxArmour() && $ship->hasMaxCargoHolds()) | |
| 455 | - return false; | |
| 435 | +	if ($ship->hasMaxShields() && $ship->hasMaxArmour() && $ship->hasMaxCargoHolds()) { | |
| 436 | + return false; | |
| 437 | + } | |
| 456 | 438 | $sector = $player->getSector(); | 
| 457 | 439 | |
| 458 | 440 | // We buy armour in preference to shields as it's cheaper. | 
| @@ -466,8 +448,7 @@ discard block | ||
| 466 | 448 | $hardwareSold = $location->getHardwareSold(); | 
| 467 | 449 |  			if ($player->getNewbieTurns() > MIN_NEWBIE_TURNS_TO_BUY_CARGO && !$ship->hasMaxCargoHolds() && isset($hardwareSold[HARDWARE_CARGO]) && ($amount = floor(($player->getCredits() - MINUMUM_RESERVE_CREDITS) / Globals::getHardwareCost(HARDWARE_CARGO))) > 0) { // Buy cargo holds first if we have plenty of newbie turns left. | 
| 468 | 450 | $hardwareID = HARDWARE_CARGO; | 
| 469 | - } | |
| 470 | -			else { | |
| 451 | +			} else { | |
| 471 | 452 |  				foreach ($hardwareArray as $hardwareArrayID) { | 
| 472 | 453 |  					if (!$ship->hasMaxHardware($hardwareArrayID) && isset($hardwareSold[$hardwareArrayID]) && ($amount = floor(($player->getCredits() - MINUMUM_RESERVE_CREDITS) / Globals::getHardwareCost($hardwareArrayID))) > 0) { | 
| 473 | 454 | $hardwareID = $hardwareArrayID; | 
| @@ -481,11 +462,14 @@ discard block | ||
| 481 | 462 | } | 
| 482 | 463 | } | 
| 483 | 464 | |
| 484 | - if ($oppurtunisticOnly === true) | |
| 485 | - return false; | |
| 465 | +	if ($oppurtunisticOnly === true) { | |
| 466 | + return false; | |
| 467 | + } | |
| 486 | 468 | |
| 487 | - if ($player->getCredits() - $ship->getCostToUNO() < MINUMUM_RESERVE_CREDITS) | |
| 488 | - return false; //Only do non-oppurtunistic UNO if we have the money to do it properly! | |
| 469 | +	if ($player->getCredits() - $ship->getCostToUNO() < MINUMUM_RESERVE_CREDITS) { | |
| 470 | + return false; | |
| 471 | + } | |
| 472 | + //Only do non-oppurtunistic UNO if we have the money to do it properly! | |
| 489 | 473 | |
| 490 | 474 |  	foreach ($hardwareArray as $hardwareArrayID) { | 
| 491 | 475 |  		if (!$ship->hasMaxHardware($hardwareArrayID)) { | 
| @@ -574,8 +558,10 @@ discard block | ||
| 574 | 558 | |
| 575 | 559 |  function checkForShipUpgrade(AbstractSmrPlayer $player) { | 
| 576 | 560 |  	foreach (SHIP_UPGRADE_PATH[$player->getRaceID()] as $upgradeShipID) { | 
| 577 | - if ($player->getShipTypeID() == $upgradeShipID) //We can't upgrade, only downgrade. | |
| 561 | +		if ($player->getShipTypeID() == $upgradeShipID) { | |
| 562 | + //We can't upgrade, only downgrade. | |
| 578 | 563 | return false; | 
| 564 | + } | |
| 579 | 565 | $cost = $player->getShip()->getCostToUpgrade($upgradeShipID); | 
| 580 | 566 |  		if ($cost <= 0 || $player->getCredits() - $cost > MINUMUM_RESERVE_CREDITS) { | 
| 581 | 567 | return doShipUpgrade($player, $upgradeShipID); | 
| @@ -597,8 +583,9 @@ discard block | ||
| 597 | 583 | |
| 598 | 584 |  function &changeRoute(array &$tradeRoutes) { | 
| 599 | 585 | $false = false; | 
| 600 | - if (count($tradeRoutes) == 0) | |
| 601 | - return $false; | |
| 586 | +	if (count($tradeRoutes) == 0) { | |
| 587 | + return $false; | |
| 588 | + } | |
| 602 | 589 | $routeKey = array_rand($tradeRoutes); | 
| 603 | 590 | $tradeRoute =& $tradeRoutes[$routeKey]; | 
| 604 | 591 | unset($tradeRoutes[$routeKey]); | 
| @@ -612,10 +599,11 @@ discard block | ||
| 612 | 599 | |
| 613 | 600 | $tradeGoods = array(GOOD_NOTHING => false); | 
| 614 | 601 |  	foreach (Globals::getGoods() as $goodID => $good) { | 
| 615 | - if ($player->meetsAlignmentRestriction($good['AlignRestriction'])) | |
| 616 | - $tradeGoods[$goodID] = true; | |
| 617 | - else | |
| 618 | - $tradeGoods[$goodID] = false; | |
| 602 | +		if ($player->meetsAlignmentRestriction($good['AlignRestriction'])) { | |
| 603 | + $tradeGoods[$goodID] = true; | |
| 604 | +		} else { | |
| 605 | + $tradeGoods[$goodID] = false; | |
| 606 | + } | |
| 619 | 607 | } | 
| 620 | 608 | |
| 621 | 609 | // Only allow NPCs to trade at ports of their race and neutral ports | 
| @@ -642,8 +630,7 @@ discard block | ||
| 642 | 630 |  		$routes = unserialize(gzuncompress($db->getField('routes'))); | 
| 643 | 631 |  		debug('Using Cached Routes: #' . count($routes)); | 
| 644 | 632 | return $routes; | 
| 645 | - } | |
| 646 | -	else { | |
| 633 | +	} else { | |
| 647 | 634 |  		debug('Generating Routes'); | 
| 648 | 635 | $allSectors = array(); | 
| 649 | 636 |  		foreach (SmrGalaxy::getGameGalaxies($player->getGameID()) as $galaxy) { | 
| @@ -652,10 +639,11 @@ discard block | ||
| 652 | 639 | |
| 653 | 640 | $distances = Plotter::calculatePortToPortDistances($allSectors, $maxDistance, $startSectorID, $endSectorID); | 
| 654 | 641 | |
| 655 | - if ($maxNumberOfPorts == 1) | |
| 656 | - $allRoutes = \Routes\RouteGenerator::generateOneWayRoutes($allSectors, $distances, $tradeGoods, $tradeRaces, $routesForPort); | |
| 657 | - else | |
| 658 | - $allRoutes = \Routes\RouteGenerator::generateMultiPortRoutes($maxNumberOfPorts, $allSectors, $tradeGoods, $tradeRaces, $distances, $routesForPort, $numberOfRoutes); | |
| 642 | +		if ($maxNumberOfPorts == 1) { | |
| 643 | + $allRoutes = \Routes\RouteGenerator::generateOneWayRoutes($allSectors, $distances, $tradeGoods, $tradeRaces, $routesForPort); | |
| 644 | +		} else { | |
| 645 | + $allRoutes = \Routes\RouteGenerator::generateMultiPortRoutes($maxNumberOfPorts, $allSectors, $tradeGoods, $tradeRaces, $distances, $routesForPort, $numberOfRoutes); | |
| 646 | + } | |
| 659 | 647 | |
| 660 | 648 | unset($distances); | 
| 661 | 649 | |