public function getMaterials($bpTypeID, $typeID, $pe = 0, $me = 0, $peSkill = 5) { //Get the blueprint details $blueprint = InvBlueprintTypes::Model()->findByPk($bpTypeID); //Get the invType material base requirements $requirements = InvTypeMaterials::Model()->findAll('typeID=:typeID', array(':typeID' => $typeID)); //Loop through each mineral or part foreach ($requirements as $requirement) { //Get the invType details for each material $invType = Invtypes::Model()->findByPk($requirement->materialTypeID); $adjustedRequirements[] = array('typeName' => $invType->typeName, 'typeID' => $requirement->materialTypeID, 'quantity' => round($requirement->quantity * (1 + $blueprint->wasteFactor / (1 + $me) + (0.25 - 0.05 * $peSkill)))); } return $adjustedRequirements; }
public function getTotalMineralRequirements($getMaterialsArray) { foreach ($getMaterialsArray as $part) { //Get the invType material base requirements $requirements = InvTypeMaterials::Model()->findAll('typeID=:typeID', array(':typeID' => $part['typeID'])); foreach ($requirements as $requirement) { //Get the invType details for each material $invType = Invtypes::Model()->findByPk($requirement->materialTypeID); $mineralName = $invType->typeName; $minerals[$mineralName]['typeID'] = $requirement->materialTypeID; $minerals[$mineralName]['quantity'] += $requirement->quantity * $part['quantity']; } } return $minerals; }