Example #1
0
 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;
 }
Example #4
0
 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;
 }