&& (entity.getDestroyedCriticals(CriticalSlot.TYPE_SYSTEM, Mech.SYSTEM_GYRO, Mech.LOC_CT) > 0
&& (entity.getBadCriticals(CriticalSlot.TYPE_SYSTEM, Mech.SYSTEM_GYRO, Mech.LOC_CT) > 0
    public MovePath addStep(int step_type) {        super.addStep(step_type);        MoveStep current = getLastStep();        // running with gyro or hip hit is dangerous!        if (current.getMovementType() == Entity.MOVE_RUN            && (entity.getDestroyedCriticals(CriticalSlot.TYPE_SYSTEM, Mech.SYSTEM_GYRO, Mech.LOC_CT) > 0                || entity.hasHipCrit())) {            this.getStep(0).setDanger(true);            current.setDanger(true);        }        if (current.isDanger()) {            if (getCEntity().base_psr_odds < .1) {                current.setMovementType(Entity.MOVE_ILLEGAL);            } else {                double cur_threat =                    getCEntity().getThreatUtility(.2 * this.entity.getWeight(), CEntity.SIDE_REAR)                        * (1 - Math.pow(getCEntity().base_psr_odds, 2));                this.movement_threat += cur_threat;                this.tv.add(cur_threat + " Movement Threat \n");            }        }        return this;    }