Public feed
#529343
public double calcArmorWastage(L2Character attacker, L2PcInstance target, double mobDamage, boolean shield)
{
double wastage = 0;
double armorShield = shield ? 1 : 0;
int[] slots = { L2Item.SLOT_HEAD,
L2Item.SLOT_LEGS,
L2Item.SLOT_FEET,
L2Item.SLOT_GLOVES,
L2Item.SLOT_FULL_ARMOR,
L2Item.SLOT_L_HAND };
for (int slotId = 0; slotId < slots.length; slotId++)
{
L2ItemInstance item = target.getInventory().getPaperdollItem(slots[slotId]);
if (item != null)
{
if (slots[slotId] == L2Item.SLOT_L_HAND &&
item.getItemType() != L2WeaponType.NONE)
{
continue;
}
L2ItemInstance weaponItem = attacker.getActiveWeaponInstance();
double weaponMaterial = 0;
double weaponTyp = 0;
if (weaponItem != null)
{
weaponMaterial = Util.getMaterialValue(weaponItem);
weaponTyp = Util.getWeaponType(weaponItem);
}
double armorMaterial = Util.getMaterialValue(item);
wastage += (item.getPDef() * (0.1 + armorShield + armorMaterial)) / (mobDamage * (weaponMaterial + weaponTyp));
}
}
return wastage;
}