/** * Helper function to determine whether sprint is available as a game option to the entity */ public boolean canUseSprint(IGame game) { if (!game.getOptions().booleanOption(OptionsConstants.ADVGRNDMOV_TACOPS_SPRINT)) { return false; } if (entity instanceof Tank || (entity instanceof QuadVee && entity.getConversionMode() == QuadVee.CONV_MODE_VEHICLE)) { return game.getOptions().booleanOption(OptionsConstants.ADVGRNDMOV_VEHICLE_ADVANCED_MANEUVERS); } if (entity instanceof LandAirMech) { return entity.getConversionMode() == LandAirMech.CONV_MODE_MECH || (entity.getConversionMode() == LandAirMech.CONV_MODE_AIRMECH && getClearance() <= 0); } return entity instanceof Mech; } }
&& (((LandAirMech)getEntity()).getConversionModeFor(getFinalConversionMode()) == LandAirMech.CONV_MODE_MECH)){ if (getLastStep() != null) { return getLastStep().getClearance() > 0; } else { return getEntity().isAirborneVTOLorWIGE(); return getLastStep().getClearance() > 0; } else { return getEntity().isAirborneVTOLorWIGE();
/** * get final elevation relative to the tops of any buildings in the hex * @return */ public int getFinalClearance() { if (getLastStep() != null) { return getLastStep().getClearance(); } IHex hex = entity.getGame().getBoard().getHex(getEntity().getPosition()); if (hex.containsTerrain(Terrains.BLDG_ELEV)) { return getEntity().getElevation() - hex.terrainLevel(Terrains.BLDG_ELEV); } return getEntity().getElevation(); }
private void updateBombButton() { MoveStep lastStep = cmd.getLastStep(); if ((lastStep == null) && !ce().isAirborneVTOLorWIGE()) { setBombEnabled(false); return; } if (lastStep != null && lastStep.getClearance() <= 0) { setBombEnabled(false); return; } if (ce().isBomber() && ((ce() instanceof LandAirMech) || clientgui.getClient().getGame().getOptions() .booleanOption(OptionsConstants.ADVCOMBAT_TACOPS_VTOL_ATTACKS)) && ((IBomber)ce()).getBombPoints() > 0) { setBombEnabled(true); } }
|| (type == MoveStepType.TURN_LEFT) || (type == MoveStepType.TURN_RIGHT)) { if (getClearance() == 0) {// can't move on the ground. return false; && getClearance() > 0 && ((type == MoveStepType.BACKWARDS) || (type == MoveStepType.FORWARDS) || (type == MoveStepType.LATERAL_LEFT) || (type == MoveStepType.LATERAL_LEFT_BACKWARDS)
&& (prev.getClearance() == 0)) { if (firstStep && (entity.getRunMP() >= mp)) { movementType = EntityMovementType.MOVE_VTOL_WALK; && getClearance() < prev.getClearance()) { // landing if (prev.getMovementType(false) == EntityMovementType.MOVE_VTOL_RUN || prev.getMovementType(false) == EntityMovementType.MOVE_VTOL_SPRINT) { || (entity.getMovementMode() == EntityMovementMode.WIGE && (entity instanceof LandAirMech || entity instanceof Protomech) && getClearance() > 0)) { movementType = EntityMovementType.MOVE_ILLEGAL; return; if (getClearance() <= 0 && type != MoveStepType.UP) { if (entity instanceof LandAirMech) { && getClearance() < 0) { movementType = EntityMovementType.MOVE_ILLEGAL; if (!getEntity().isBomber() || getClearance() <= 0) { movementType = EntityMovementType.MOVE_ILLEGAL; } else if (isFirstStep()) { && getClearance() > 0 && !(getEntity() instanceof VTOL)) { tmpWalkMP = entity.getJumpMP(); && getClearance() == 0) {
&& getClearance() > 0 && game.getOptions().booleanOption(OptionsConstants.ADVGRNDMOV_VEHICLE_ADVANCED_MANEUVERS)) {
&& getClearance() == 0) { mp += destHex.movementCost(getEntity()); if (entity.getMovementMode() == EntityMovementMode.WIGE && distance > 0 && (getClearance() > 1 || (destHex.containsTerrain(Terrains.BLDG_ELEV) && destHex.ceiling() > srcHex.ceiling()))) {
|| (entity.getMovementMode() == EntityMovementMode.HOVER) || (entity.getMovementMode() == EntityMovementMode.WIGE && step.getClearance() > 0)) { rollTarget = entity.checkSideSlip(moveType, prevHex, overallMoveType, prevStep, prevFacing, curFacing,
if (getClearance() == 0) { setMp((entity instanceof Protomech)? 4 : 5); } else {