Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Class for converting minerals to ore
- *
- * Uses mathmatical functions to convert minerals into ore
- *
- * @author AliasXNeo
- * @package IndyPal
- */
- class Conversion
- {
- public static $isLeftover = FALSE;
- public static $leftOver = array();
- public static function convert($minerals)
- {
- $ore = array();
- $leftOver = array();
- foreach ($minerals as $mineral)
- {
- $keys = array_keys($mineral);
- $name = $keys[0];
- $amount = $mineral[$name];
- $sql = "SELECT * FROM `conversion` WHERE `{$name}` > 0 ORDER BY `{$name}` DESC";
- $oResult = mysql_query($sql);
- $result = mysql_fetch_assoc($oResult);
- //$batches = intval($amount / $result[$name]);
- $batches = ceil($amount / $result[$name]);
- $res1=intval($batches * $result['batch']);
- if (($res1 > $ore[$result['name']])) {
- $ore[$result['name']] = $res1;
- }
- if ($ore[$result['name']] == 0)
- {
- $ore[$result['name']] = 1;
- }
- //echo $result['name']."<br>";
- /*echo "ore:<br>";
- print_r($ore);
- echo "<br>";*/
- $mins = array_keys($result);
- //print_r($mins);
- //echo "<br>";
- unset($mins[0]);
- unset($mins[1]);
- unset($mins[2]);
- /*print_r($mins);
- echo "<br>";
- echo "name: ".$name."<br>";*/
- foreach($mins as $min)
- {
- /*echo "min: ".$min."<br>";
- echo "result[$min]: ".$result[$min]."<br>";*/
- if (intval($result[$min]) > 0 && $min != $name)
- {
- /*echo "leftover: ".intval($result[$min])."<br>";*/
- //$leftOver[$min] += intval($result[$min]);
- $leftOver[$min] = intval($result[$min]);
- }
- /*echo "<br><br>";*/
- }
- }
- $mins = array_keys($leftOver);
- /*print_r($mins);
- echo "<br>";*/
- /*print_r($leftOver);
- echo "<br>";*/
- foreach($mins as $min)
- {
- foreach($minerals as $mineral)
- {
- if (in_array($min, array_keys($mineral)))
- {
- $sql = "SELECT * FROM `conversion` WHERE `{$min}` > 0 ORDER BY `{$min}` DESC";
- $oResult = mysql_query($sql);
- $result = mysql_fetch_assoc($oResult);
- /*echo "leftover: ";
- var_dump($leftOver[$min]);
- echo "<br>";*/
- /*echo "result['batch']: ";
- var_dump($result['batch']);
- echo "<br>";*/
- /*echo "intval: ";
- var_dump(intval($leftOver[$min] / $result[$min]));
- echo "<br>";*/
- //$ore[$result['name']] += intval($leftOver[$min] / $result['batch']);
- //$ore[$result['name']] += intval($leftOver[$min] / $result[$min]);
- unset($leftOver[$min]);
- }
- }
- }
- if (sizeof($leftOver) > 0)
- {
- self::$isLeftover = TRUE;
- self::$leftOver = $leftOver;
- }
- return $ore;
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement