diff --git a/app/Library/MoonCalc.php b/app/Library/MoonCalc.php index a7fb8fbcc..65abfbac2 100644 --- a/app/Library/MoonCalc.php +++ b/app/Library/MoonCalc.php @@ -228,6 +228,79 @@ class MoonCalc { return $rentalPrice; } + public function SpatialMoonsOutOfAllianceOnlyRares($firstOre, $firstQuan, $secondOre, $secondQuan, $thirdOre, $thirdQuan, $fourthOre, $fourthQuan) { + //Always assume a 1 month pull which equates to 5.55m3 per second or 2,592,000 seconds + //Total pull size is 14,385,600 m3 + $totalPull = 5.55 * (3600.00 * 24.00 * 30.00); + //Get the configuration for pricing calculations + $config = DB::table('Config')->get(); + if($firstQuan >= 1.00) { + $firstPerc = $this->ConvertToPercentage($firstQuan); + } else { + $firstPerc = $firstQuan; + } + if($secondQuan >= 1.00) { + $secondPerc = $this->ConvertToPercentage($secondQuan); + } else { + $secondPerc = $secondQuan; + } + if($thirdQuan >= 1.00) { + $thirdPerc = $this->ConvertToPercentage($thirdQuan); + } else { + $thirdPerc = $thirdQuan; + } + if($fourthQuan >= 1.00) { + $fourthPerc = $this->ConvertToPercentage($fourthQuan); + } else { + $fourthPerc = $fourthQuan; + } + if($firstOre != "None") { + if($this->IsRMoon($firstOre)) { + $firstTotal = $this->CalcPrice($firstOre, $firstPerc); + } else { + $firstTotal = 0.00; + } + } else { + $firstTotal = 0.00; + } + if($secondOre != "None") { + if($this->IsRMoon($secondOre)) { + $secondTotal = $this->CalcPrice($secondOre, $secondPerc); + } else { + $secondTotal = 0.00; + } + } else { + $secondTotal = 0.00; + } + if($thirdOre != "None") { + if($this->IsRMoon($thirdOre)) { + $thirdTotal = $this->CalcPrice($thirdOre, $thirdPerc); + } else { + $thirdTotal = 0.00; + } + } else { + $thirdTotal = 0.00; + } + if($fourthOre != "None") { + if($this->IsRMoon($fourthOre)) { + $fourthTotal = $this->CalcPrice($fourthOre, $fourthPerc); + } else { + $fourthTotal = 0.00; + } + } else { + $fourthTotal = 0.00; + } + //Calculate the total to price to be mined in one month + $totalPriceMined = $firstTotal + $secondTotal + $thirdTotal + $fourthTotal; + //Calculate the rental price. Refined rate is already included in the price from rental composition + $rentalPrice = $totalPriceMined * ($config[0]->AllyRentalTax / 100.00); + //Format the rental price to the appropriate number + $rentalPrice = number_format($rentalPrice, "2", ".", ","); + + //Return the rental price to the caller + return $rentalPrice; + } + public function FetchNewPrices() { $ItemIDs = array( "Tritanium" => 34,