/** * @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(); }