/** * @return if this mech cannot stand up from hulldown */ @Override public boolean cannotStandUpFromHullDown() { int i = 0; if (isLocationBad(LOC_LLEG)) { i++; } if (isLocationBad(LOC_RLEG)) { i++; } return (i >= 1) || isGyroDestroyed(); }
/** * * @return true if this unit is capable of Zweihandering (melee attack with both hands) */ public boolean canZweihander() { return (getCrew() != null) && hasAbility(OptionsConstants.PILOT_ZWEIHANDER) && hasWorkingSystem(Mech.ACTUATOR_HAND, Mech.LOC_RARM) && hasWorkingSystem(Mech.ACTUATOR_HAND, Mech.LOC_LARM) && !isLocationBad(Mech.LOC_RARM) && !isLocationBad(Mech.LOC_LARM) && !isProne(); }
@Override public boolean canGoHullDown() { // check the option boolean retVal = game.getOptions().booleanOption(OptionsConstants.ADVGRNDMOV_TACOPS_HULL_DOWN); if (!retVal) { return false; } // check the locations retVal = (!isLocationBad(Mech.LOC_LLEG) && !isLocationBad(Mech.LOC_RLEG) && !isLocationDoomed(Mech.LOC_LLEG) && !isLocationDoomed(Mech.LOC_RLEG)); if (!retVal) { return false; } // check the Gyro return !isGyroDestroyed(); }
Mockito.when(mockTarget.isLocationBad(Mockito.anyInt())).thenReturn(false); Mockito.when(mockTarget.getId()).thenReturn(TARGET_ID); Mockito.when(mockTarget.getTargetType()).thenReturn(Targetable.TYPE_ENTITY);
for (Mounted m : getMisc()) { if (m.getType().hasFlag(MiscType.F_TRACKS)) { if (m.isHit() || isLocationBad(m.getLocation())) { legsDestroyed++; for (int i = 0; i < locations(); i++) { if (locationIsLeg(i)) { if (!isLocationBad(i)) { if (legHasHipCrit(i)) { hipHits++;
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"); } } } } }
int loc = locsToCheck[i]; if (isLocationBad(loc)) { roll.addModifier(5, getLocationName(loc) + " destroyed"); } else {