/** * Calculates average item level * @todo should be rewrited "Total Item level" part (Equipped IL is ok) */ private static function CalculateAverageItemLevel() { if (!self::IsInventoryLoaded()) { if (!self::LoadInventory(true)) { self::$item_level = array('avgEquipped' => 0, 'avg' => 0); return true; } } $total_iLvl = 0; $maxLvl = 0; $minLvl = 500; $i = 0; self::$item_level = array('avgEquipped' => 0, 'avg' => 0); foreach (self::$m_items as $item) { if (!in_array($item->GetSlot(), array(EQUIPMENT_SLOT_BODY, EQUIPMENT_SLOT_TABARD))) { if ($item->GetItemLevel() > 0) { $total_iLvl += $item->GetItemLevel(); if ($item->GetItemLevel() < $minLvl) { $minLvl = $item->GetItemLevel(); } if ($item->GetItemLevel() > $maxLvl) { $maxLvl = $item->GetItemLevel(); } $i++; } } } if ($i == 0) { // Prevent divison by zero. return true; } self::$item_level['avgEquipped'] = round(($maxLvl + $minLvl) / 2); self::$item_level['avg'] = round($total_iLvl / $i); return true; }