Example #1
0
 /**
  * @see ProductionSpec::getProduction()
  */
 public function getProduction(ResourceProduction $prodObj)
 {
     global $game_config;
     $planet = $prodObj->getPlanet();
     $energyProduction = $prodObj->getProduction('energy');
     $unusedEnergy = $energyProduction[0] - $energyProduction[1];
     $unusedEnergy *= 3600;
     $unusedEnergy = min($unusedEnergy, 260000);
     if ($unusedEnergy > 0) {
         $bonus = pow(pow(1.03, $planet->refinery) * (1 / (15 * pow(1.01, $unusedEnergy / 2600)) * $unusedEnergy), 0.5 + pow(1.005, $planet->refinery) - 1) / (20 * pow(0.995, $planet->refinery)) + $planet->getOwner()->energy_tech * 0.15 * (1 - pow(0, $unusedEnergy));
         $bonus /= 100;
         $resourceType = $planet->refineryProduction;
         $currentProduction = $prodObj->getProduction($resourceType);
         return array($resourceType => $bonus * $currentProduction / $game_config['resource_multiplier'] * 3600);
     }
     return array();
 }