public void addStandingPenalties(PilotingRollData roll) { if (hasQuirk(OptionsConstants.QUIRK_NEG_NO_ARMS)) { roll.addModifier(2, "no/minimal arms"); return; } if (game.getOptions().booleanOption(OptionsConstants.ADVGRNDMOV_TACOPS_ATTEMPTING_STAND)) { int[] locsToCheck = new int[2]; locsToCheck[0] = Mech.LOC_RARM; locsToCheck[1] = Mech.LOC_LARM; for (int i = 0; i < locsToCheck.length; i++) { int loc = locsToCheck[i]; if (isLocationBad(loc)) { roll.addModifier(2, getLocationName(loc) + " destroyed"); } else { // check for damaged hip actuators if (!hasWorkingSystem(Mech.ACTUATOR_HAND, loc)) { roll.addModifier(1, getLocationName(loc) + " hand Actuator missing/destroyed"); } else if (!hasWorkingSystem(Mech.ACTUATOR_LOWER_ARM, loc)) { roll.addModifier(1, getLocationName(loc) + " lower Actuator missing/destroyed"); } else if (!hasWorkingSystem(Mech.ACTUATOR_UPPER_ARM, loc)) { roll.addModifier(1, getLocationName(loc) + " upper ctuator missing/destroyed"); } else if (!hasWorkingSystem(Mech.ACTUATOR_SHOULDER, loc)) { roll.addModifier(1, getLocationName(loc) + " shoulder Actuator missing/destroyed"); } } } } }
roll.addModifier(5, getLocationName(loc) + " destroyed"); } else { roll.addModifier(2, getLocationName(loc) + " Hip Actuator destroyed"); if (!game.getOptions().booleanOption(OptionsConstants.ADVGRNDMOV_TACOPS_LEG_DAMAGE)) { continue; roll.addModifier(1, getLocationName(loc) + " Upper Leg Actuator destroyed"); roll.addModifier(1, getLocationName(loc) + " Lower Leg Actuator destroyed"); roll.addModifier(1, getLocationName(loc) + " Foot Actuator destroyed");