if ( !entity.hasWorkingSystem(Mech.ACTUATOR_SHOULDER, location) )
if ( entity.hasSystem(Mech.ACTUATOR_SHOULDER, location) && !entity.hasWorkingSystem(Mech.ACTUATOR_SHOULDER, location) )
    public int getDamageAbsorption(Entity entity, int location){        //Shields can only be used in arms so if you've got a shield in a location        //other then an arm your SOL --Torren.        if ( location != Mech.LOC_RARM && location != Mech.LOC_LARM )            return 0;                int base = baseDamageAbsorptionRate;                for ( int slot = 0; slot < entity.getNumberOfCriticals(location); slot++){            CriticalSlot cs = entity.getCritical(location,slot);                        if ( cs == null )                continue;                        if ( cs.getType() != CriticalSlot.TYPE_EQUIPMENT )                continue;                        Mounted m = entity.getEquipment(cs.getIndex());            EquipmentType type = m.getType();            if (type instanceof MiscType &&((MiscType)type).isShield()) {                if ( cs.isDamaged() )                    base--;            }        }                    if ( !entity.hasWorkingSystem(Mech.ACTUATOR_SHOULDER, location) )            base -= 2;        if ( !entity.hasWorkingSystem(Mech.ACTUATOR_LOWER_ARM, location) )            base--;        if ( !entity.hasWorkingSystem(Mech.ACTUATOR_UPPER_ARM, location) )            base--;                return Math.max(0,base);    }