&& (getBadCriticals(CriticalSlot.TYPE_SYSTEM, Mech.SYSTEM_GYRO, Mech.LOC_CT) > 0 && getGyroType() != Mech.GYRO_HEAVY_DUTY) || (getBadCriticals(CriticalSlot.TYPE_SYSTEM, Mech.SYSTEM_GYRO, Mech.LOC_CT) > 1 && getGyroType() == Mech.GYRO_HEAVY_DUTY) || hasHipCrit()) {
&& (gyroDamage > 0 || hasHipCrit())) {
    public PilotingRollData checkRunningWithDamage(int overallMoveType) {        PilotingRollData roll = getBasePilotingRoll();        if (overallMoveType == IEntityMovementType.MOVE_RUN            && !isProne()            && (getBadCriticals(CriticalSlot.TYPE_SYSTEM,                                             Mech.SYSTEM_GYRO,                                             Mech.LOC_CT) > 0                  && getGyroType() != Mech.GYRO_HEAVY_DUTY)                || (getBadCriticals(CriticalSlot.TYPE_SYSTEM,                        Mech.SYSTEM_GYRO,                        Mech.LOC_CT) > 1                     && getGyroType() == Mech.GYRO_HEAVY_DUTY)                || hasHipCrit()) {            // append the reason modifier            roll.append(new PilotingRollData(getId(), 0, "running with damaged hip actuator or gyro"));        } else {            roll.addModifier(TargetRoll.CHECK_FALSE,"Check false: Entity is not attempting to run with damage");        }        addPilotingModifierForTerrain(roll);        return roll;    }