Example #1
0
 public static function eftarray($md5, $items, $victimID = 0)
 {
     $Cache = Cache::get($md5 . 'eftarray');
     if ($Cache) {
         return $Cache;
     }
     // EFT / Fitting Wheel
     $eftarray['high'] = array();
     // high
     $eftarray['mid'] = array();
     // mid
     $eftarray['low'] = array();
     // low
     $eftarray['rig'] = array();
     // rig
     $eftarray['drone'] = array();
     // drone
     $eftarray['sub'] = array();
     // sub
     $eftammo['high'] = array();
     // high ammo
     $eftammo['mid'] = array();
     // mid ammo
     foreach ($items as $itm) {
         if (!isset($itm['inContainer'])) {
             $itm['inContainer'] = 0;
         }
         if ($victimID >= 2100000000 && $victimID <= 2999999999.0) {
             $itm['flagName'] = Info::getGroupName(Info::getGroupID($itm['typeID']));
         } elseif (!isset($itm['flagName'])) {
             $itm['flagName'] = Info::getFlagName($itm['flag']);
         }
         if ($itm['flagName'] == 'Infantry Modules') {
             $itm['flagName'] = 'Mid Slots';
         }
         if ($itm['flagName'] == 'Infantry Weapons') {
             $itm['flagName'] = 'High Slots';
         }
         if ($itm['flagName'] == 'Infantry Equipment') {
             $itm['flagName'] = 'Low Slots';
         }
         if ($itm['flag'] == 89) {
             $slot = Db::queryField('select coalesce(valueInt, valueFloat) slot from ccp_dgmTypeAttributes where typeID = :typeID and attributeID = 331', 'slot', array(':typeID' => $itm['typeID']));
             if ($slot <= 5 && $slot >= 1) {
                 $itm['flagName'] = 'High Slots';
                 $itm['flag'] = 27 + ($slot - 1);
             } elseif ($slot > 5 && $slot <= 10) {
                 $itm['flagName'] = 'Low Slots';
                 $itm['flag'] = 11 + ($slot - 6);
             }
             $itm['fittable'] = 1;
         }
         if (!isset($itm['flag']) || $itm['flag'] == 0) {
             if ($itm['flagName'] == 'High Slots') {
                 $itm['flag'] = 27;
             }
             if ($itm['flagName'] == 'Mid Slots') {
                 $itm['flag'] = 19;
             }
             if ($itm['flagName'] == 'Low Slots') {
                 $itm['flag'] = 11;
             }
         }
         $key = $itm['typeName'] . '|' . $itm['flagName'];
         if (isset($itm['flagName'])) {
             if ($itm['fittable'] && $itm['inContainer'] == 0) {
                 // not ammo or whatever
                 $repeats = @$itm['quantityDropped'] + @$itm['quantityDestroyed'];
                 $i = 0;
                 while ($i < $repeats) {
                     if ($itm['flagName'] == 'High Slots') {
                         high:
                         if (isset($eftarray['high'][$itm['flag']])) {
                             $itm['flag'] = $itm['flag'] + 1;
                             goto high;
                         }
                         $eftarray['high'][$itm['flag']][] = array('typeName' => $itm['typeName'], 'typeID' => $itm['typeID']);
                     }
                     if ($itm['flagName'] == 'Mid Slots') {
                         mid:
                         if (isset($eftarray['mid'][$itm['flag']])) {
                             $itm['flag'] = $itm['flag'] + 1;
                             goto mid;
                         }
                         $eftarray['mid'][$itm['flag']][] = array('typeName' => $itm['typeName'], 'typeID' => $itm['typeID']);
                     }
                     if ($itm['flagName'] == 'Low Slots') {
                         low:
                         if (isset($eftarray['low'][$itm['flag']])) {
                             $itm['flag'] = $itm['flag'] + 1;
                             goto low;
                         }
                         $eftarray['low'][$itm['flag']][] = array('typeName' => $itm['typeName'], 'typeID' => $itm['typeID']);
                     }
                     if ($itm['flagName'] == 'Rigs') {
                         rigs:
                         if (isset($eftarray['rig'][$itm['flag']])) {
                             $itm['flag'] = $itm['flag'] + 1;
                             goto rigs;
                         }
                         $eftarray['rig'][$itm['flag']][] = array('typeName' => $itm['typeName'], 'typeID' => $itm['typeID']);
                     }
                     if ($itm['flagName'] == 'SubSystems') {
                         subs:
                         if (isset($eftarray['sub'][$itm['flag']])) {
                             $itm['flag'] = $itm['flag'] + 1;
                             goto subs;
                         }
                         $eftarray['sub'][$itm['flag']][] = array('typeName' => $itm['typeName'], 'typeID' => $itm['typeID']);
                     }
                     ++$i;
                 }
             } else {
                 if ($itm['flagName'] == 'Drone Bay') {
                     $eftarray['drone'][$itm['flag']][] = array('typeName' => $itm['typeName'], 'typeID' => $itm['typeID'], 'qty' => @$itm['quantityDropped'] + @$itm['quantityDestroyed']);
                 }
             }
         }
     }
     // Ammo shit
     foreach ($items as $itm) {
         if (!isset($itm['inContainer'])) {
             $itm['inContainer'] = 0;
         }
         if ($itm['inContainer'] == 0 && !$itm['fittable'] && isset($itm['flagName'])) {
             // possibly ammo
             if ($itm['flagName'] == 'High Slots') {
                 // high slot ammo
                 $eftarray['high'][$itm['flag']][] = array('typeName' => $itm['typeName'], 'typeID' => $itm['typeID'], 'charge' => true);
             }
             if ($itm['flagName'] == 'Mid Slots') {
                 // mid slot ammo
                 $eftarray['mid'][$itm['flag']][] = array('typeName' => $itm['typeName'], 'typeID' => $itm['typeID'], 'charge' => true);
             }
             if ($itm['flagName'] == 'Low Slots') {
                 // mid slot ammo
                 $eftarray['low'][$itm['flag']][] = array('typeName' => $itm['typeName'], 'typeID' => $itm['typeID'], 'charge' => true);
             }
         }
     }
     foreach ($eftarray as $key => $value) {
         if (sizeof($value)) {
             asort($value);
             $eftarray[$key] = $value;
         } else {
             unset($eftarray[$key]);
         }
     }
     Cache::set($md5 . 'eftarray', $eftarray);
     return $eftarray;
 }
Example #2
0
function eftarray($md5, $items, $victimID = 0)
{
    $Cache = Cache::get($md5 . "eftarray");
    if ($Cache) {
        return $Cache;
    }
    // EFT / Fitting Wheel
    $eftarray["high"] = array();
    // high
    $eftarray["mid"] = array();
    // mid
    $eftarray["low"] = array();
    // low
    $eftarray["rig"] = array();
    // rig
    $eftarray["drone"] = array();
    // drone
    $eftarray["sub"] = array();
    // sub
    $eftammo["high"] = array();
    // high ammo
    $eftammo["mid"] = array();
    // mid ammo
    foreach ($items as $itm) {
        if ($victimID >= 2100000000 && $victimID <= 2999999999) {
            $itm["flagName"] = Info::getGroupName(Info::getGroupID($itm["typeID"]));
        } else {
            if (!isset($itm["flagName"])) {
                $itm["flagName"] = Info::getFlagName($itm["flag"]);
            }
        }
        if ($itm["flagName"] == "Infantry Modules") {
            $itm["flagName"] = "Mid Slots";
        }
        if ($itm["flagName"] == "Infantry Weapons") {
            $itm["flagName"] = "High Slots";
        }
        if ($itm["flagName"] == "Infantry Equipment") {
            $itm["flagName"] = "Low Slots";
        }
        if (!isset($itm["flag"]) || $itm["flag"] == 0) {
            if ($itm["flagName"] == "High Slots") {
                $itm["flag"] = 27;
            }
            if ($itm["flagName"] == "Mid Slots") {
                $itm["flag"] = 19;
            }
            if ($itm["flagName"] == "Low Slots") {
                $itm["flag"] = 11;
            }
        }
        $key = $itm["typeName"] . "|" . $itm["flagName"];
        if (isset($itm["flagName"])) {
            if ($itm["fittable"] && $itm["inContainer"] == 0) {
                $repeats = $itm["qtyDropped"] + $itm["qtyDestroyed"];
                $i = 0;
                while ($i < $repeats) {
                    if ($itm["flagName"] == "High Slots") {
                        high:
                        if (isset($eftarray["high"][$itm["flag"]])) {
                            $itm["flag"] = $itm["flag"] + 1;
                            goto high;
                        }
                        $eftarray["high"][$itm["flag"]][] = array("typeName" => $itm["typeName"], "typeID" => $itm["typeID"]);
                    }
                    if ($itm["flagName"] == "Mid Slots") {
                        mid:
                        if (isset($eftarray["mid"][$itm["flag"]])) {
                            $itm["flag"] = $itm["flag"] + 1;
                            goto mid;
                        }
                        $eftarray["mid"][$itm["flag"]][] = array("typeName" => $itm["typeName"], "typeID" => $itm["typeID"]);
                    }
                    if ($itm["flagName"] == "Low Slots") {
                        low:
                        if (isset($eftarray["low"][$itm["flag"]])) {
                            $itm["flag"] = $itm["flag"] + 1;
                            goto low;
                        }
                        $eftarray["low"][$itm["flag"]][] = array("typeName" => $itm["typeName"], "typeID" => $itm["typeID"]);
                    }
                    if ($itm["flagName"] == "Rigs") {
                        rigs:
                        if (isset($eftarray["rig"][$itm["flag"]])) {
                            $itm["flag"] = $itm["flag"] + 1;
                            goto rigs;
                        }
                        $eftarray["rig"][$itm["flag"]][] = array("typeName" => $itm["typeName"], "typeID" => $itm["typeID"]);
                    }
                    if ($itm["flagName"] == "SubSystems") {
                        subs:
                        if (isset($eftarray["sub"][$itm["flag"]])) {
                            $itm["flag"] = $itm["flag"] + 1;
                            goto subs;
                        }
                        $eftarray["sub"][$itm["flag"]][] = array("typeName" => $itm["typeName"], "typeID" => $itm["typeID"]);
                    }
                    $i++;
                }
            } else {
                if ($itm["flagName"] == "Drone Bay") {
                    $eftarray["drone"][$itm["flag"]][] = array("typeName" => $itm["typeName"], "typeID" => $itm["typeID"], "qty" => $itm["qtyDropped"] + $itm["qtyDestroyed"]);
                }
            }
        }
    }
    // Ammo shit
    foreach ($items as $itm) {
        if ($itm["inContainer"] == 0 && !$itm["fittable"] && isset($itm["flagName"])) {
            if ($itm["flagName"] == "High Slots") {
                // high slot ammo
                $eftarray["high"][$itm["flag"]][] = array("typeName" => $itm["typeName"], "typeID" => $itm["typeID"], "charge" => true);
            }
            if ($itm["flagName"] == "Mid Slots") {
                // mid slot ammo
                $eftarray["mid"][$itm["flag"]][] = array("typeName" => $itm["typeName"], "typeID" => $itm["typeID"], "charge" => true);
            }
        }
    }
    foreach ($eftarray as $key => $value) {
        if (sizeof($value)) {
            asort($value);
            $eftarray[$key] = $value;
        } else {
            unset($eftarray[$key]);
        }
    }
    Cache::set($md5 . "eftarray", $eftarray);
    return $eftarray;
}