if ( ((BipedMech)entity).hasClaw(armLoc) ) damage = (int)Math.ceil(entity.getWeight() / 7.0);
    public static int getDamageFor(Entity entity, int arm) {        final int armLoc = (arm == PunchAttackAction.RIGHT)                           ? Mech.LOC_RARM : Mech.LOC_LARM;        int damage = (int)Math.ceil(entity.getWeight() / 10.0);        float multiplier = 1.0f;        if (!entity.hasWorkingSystem(Mech.ACTUATOR_UPPER_ARM, armLoc)) {            multiplier /= 2.0f;        }        if (!entity.hasWorkingSystem(Mech.ACTUATOR_LOWER_ARM, armLoc)) {            multiplier /= 2.0f;        }        if (!entity.hasWorkingSystem(Mech.ACTUATOR_SHOULDER, armLoc)) {            damage = 0;        }        if (entity.heat >= 9 && ((Mech)entity).hasTSM()) {            multiplier *= 2.0f;        }        int toReturn = (int)Math.floor(damage * multiplier) + entity.getCrew().modifyPhysicalDamagaForMeleeSpecialist();        // underwater damage is half, round up (see bug 1110692)        if (entity.getLocationStatus(armLoc) == ILocationExposureStatus.WET) {            toReturn = (int)Math.ceil(toReturn * 0.5f);        }        return toReturn;    }