protected function _runSetup(setup $setup) { $fits = $setup->getFits(); $types = array(); foreach ($fits as $fit) { $types[$fit->getPointCategoryName()] = $fit->getQuantity(); } // Check qty if (isset($types['Tech 1 Support Cruiser']) && $types['Tech 1 Support Cruiser'] > 1) { return false; } if (isset($types['Logistics Cruiser']) && $types['Logistics Cruiser'] > 1) { return false; } if (isset($types['Tech 1 support frigate']) && $types['Tech 1 support frigate'] > 2) { return false; } // check only 1 of the 3 types $typeNames = array_keys($types); $logiCount = 0; if (in_array('Tech 1 Support Cruiser', $typeNames)) { $logiCount++; } if (in_array('Logistics Cruiser', $typeNames)) { $logiCount++; } if (in_array('Tech 1 support frigate', $typeNames)) { $logiCount++; } if ($logiCount > 1) { return false; } return true; }
public function runSetup(setup $setup) { $ships = []; foreach ($setup->getFits() as $ship) { $ships[$ship->getType()] = isset($ships[$ship->getType()]) ? $ships[$ship->getType()] + $ship->getQuantity() : $ship->getQuantity(); if ($ships[$ship->getType()] > 2) { return false; } } return true; }
protected function _runSetup(setup $setup) { $factionFits = 0; /** @var fit $fit */ foreach ($setup->getFits() as $fit) { $modules = $fit->getModuleNames(); if (!in_array($fit->getPointCategoryName(), array('Battleship', 'Battleship, Navy Faction', 'Battleship, Pirate Faction', 'Dominix'))) { continue; } foreach ($modules as $module) { $row = $this->model->getModel('item')->getItemMetaGroupByName($module); if (in_array($row['metaGroupName'], array('Deadspace', 'Officer', 'Faction', 'Storyline'))) { $fit->setFlagship(); $factionFits += $fit->getQuantity(); break; } } } return $factionFits <= 1; }
public function checkSetup(setup $setup) { $points = 0; // check fits $fits = $setup->getFits(); /** @var fit $fit */ foreach ($fits as &$fit) { $fit = $this->checkFit($fit); $points += $fit->getPoints() * $fit->getQuantity(); } $setup->setPoints($points); foreach ($this->rules as $rule) { if (!$rule->runSetup($setup)) { $setup->setWarning($this->getName(), $rule->getWarning()); } } return $setup; }