public void printAllSteps() { System.out.println("*Steps*"); for (int i = 0; i < steps.size(); i++) { System.out.println(" " + i + ": " + getStep(i) + ", " + getStep(i).getMovementType(i == (steps.size() - 1))); } }
boolean stepMatch = this.equals(step); if (lastStep) { lastStep &= step.getMovementType(true) == EntityMovementType.MOVE_ILLEGAL; if ((step.getMovementType(lastStep) != EntityMovementType.MOVE_ILLEGAL) && !stepMatch) { return false;
public EntityMovementType getLastStepMovementType() { if (getLastStep() == null) { return EntityMovementType.MOVE_NONE; } return getLastStep().getMovementType(true); }
/** * Removes impossible steps. */ public void clipToPossible() { if (steps.size() == 0) { // nothing to clip return; } // Do final check for bad moves, and clip movement after first bad one // also clear and re-constitute "contained steps" cache containedStepTypes = new HashSet<>(); final Vector<MoveStep> goodSteps = new Vector<>(); for (MoveStep step : steps) { if (step.getMovementType(isEndStep(step)) != EntityMovementType.MOVE_ILLEGAL) { containedStepTypes.add(step.getType()); goodSteps.addElement(step); } else { break; } } steps = goodSteps; }
EntityMovementType moveType = step.getMovementType(isLastStep); if ((moveType == EntityMovementType.MOVE_VTOL_WALK) || (moveType == EntityMovementType.MOVE_VTOL_RUN)
public int getMovementheatBuildup() { MoveStep last = getLastStep(); if (last == null) { return 0; } int heat = last.getTotalHeat(); int move = 0; switch (last.getMovementType(true)) { case MOVE_WALK: case MOVE_VTOL_WALK: move = 1; break; case MOVE_RUN: case MOVE_VTOL_RUN: move = 2; break; case MOVE_SPRINT: case MOVE_VTOL_SPRINT: move = 3; break; case MOVE_JUMP: move = getEntity().getJumpHeat(last.getMpUsed()); break; default: move = 1000; } return heat + move; // illegal? }
for (final Enumeration<MoveStep> i = md.getSteps(); i.hasMoreElements();) { final MoveStep step = i.nextElement(); if (step.getMovementType(md.isEndStep(step)) == EntityMovementType.MOVE_ILLEGAL) { break; return toHit(game, target, ramSrc, ramEl, priorSrc, ramStep.getMovementType(true));
for (final Enumeration<MoveStep> i = md.getSteps(); i.hasMoreElements(); ) { final MoveStep step = i.nextElement(); if (step.getMovementType(md.isEndStep(step)) == EntityMovementType.MOVE_ILLEGAL) { break; ramSrc, ramEl, ramStep.getMovementType(true));
if ((min.getLastStep().getMovementType(true) == EntityMovementType.MOVE_WALK) || (min.getLastStep().getMovementType(true) == EntityMovementType.MOVE_VTOL_WALK) || (min.getLastStep().getMovementType(true) == EntityMovementType.MOVE_NONE)) {
if ((min.getLastStep().getMovementType(true) == EntityMovementType.MOVE_WALK) || (min.getLastStep().getMovementType(true) == EntityMovementType.MOVE_VTOL_WALK) || (min.getLastStep().getMovementType(true) == EntityMovementType.MOVE_NONE)) {
switch (md.getLastStep().getMovementType(true)) { case MOVE_RUN: case MOVE_VTOL_RUN:
for (final Enumeration<MoveStep> i = md.getSteps(); i.hasMoreElements(); ) { final MoveStep step = i.nextElement(); if (step.getMovementType(md.isEndStep(step)) == EntityMovementType.MOVE_ILLEGAL) { break; chargeSrc, chargeEl, chargeStep.getMovementType(true), false, md.contains(MoveStepType.GET_UP)
@Override public boolean shouldStay(MovePath edge) { if (edge.getEntity().isAero()) { /* * isMovemementPossible is currently not working for aero units, * so we have to use a substitute. */ if (edge.length() == 0) { return true; } else { MoveStep lastStep = edge.getLastStep(); return (lastStep == null) || lastStep.getMovementType(true) != EntityMovementType.MOVE_ILLEGAL; } } Coords previousPosition; int previousElevation; if (edge.length() > 1) { MoveStep previousStep = edge.getSecondLastStep(); previousElevation = previousStep.getElevation(); previousPosition = previousStep.getPosition(); } else { Entity entity = edge.getEntity(); previousElevation = entity.getElevation(); previousPosition = entity.getPosition(); } return (edge.getLastStep().isMovementPossible( game, previousPosition, previousElevation)); } }
MoveStep current = getLastStep(); PilotingRollData rollTarget = getEntity().checkRunningWithDamage(current.getMovementType(true)); if (rollTarget.getValue() != TargetRoll.CHECK_FALSE) { getStep(0).setDanger(true);
public PilotingRollData checkBogDown(MoveStep step, IHex curHex, Coords lastPos, Coords curPos, boolean isPavementStep) { PilotingRollData roll = new PilotingRollData(getId(), 4, "entering boggy terrain"); int bgMod = curHex.getBogDownModifier(getMovementMode(), false); final boolean onBridge = (curHex.terrainLevel(Terrains.BRIDGE) > 0) && (getElevation() == curHex.terrainLevel(Terrains.BRIDGE_ELEV)); if (!lastPos.equals(curPos) && (bgMod != TargetRoll.AUTOMATIC_SUCCESS) && (step.getMovementType(false) != EntityMovementType.MOVE_JUMP) && (getMovementMode() != EntityMovementMode.HOVER) && (getMovementMode() != EntityMovementMode.VTOL) && (getMovementMode() != EntityMovementMode.WIGE) && (step.getElevation() == 0) && !isPavementStep && !onBridge) { roll.append(new PilotingRollData(getId(), bgMod, "avoid bogging down")); } else { roll.addModifier(TargetRoll.CHECK_FALSE, "Check false: Not entering bog-down terrain, " + "or jumping/hovering over such terrain"); } return roll; }
if (step.getMovementType(md.isEndStep(step)) == EntityMovementType.MOVE_ILLEGAL) { break; moveType = step.getMovementType(md.isEndStep(step));
&& (step.getMovementType(false) != EntityMovementType.MOVE_JUMP)) { return 0; && (prevStep.getMovementType(false) == EntityMovementType.MOVE_JUMP)) { return 0; .terrainLevel(Terrains.BLDG_ELEV)) || (step.getElevation() == curHex .terrainLevel(Terrains.BRIDGE_ELEV))) && (step.getMovementType(false) != EntityMovementType.MOVE_JUMP)) { rv += 4;
IHex hex = game.getBoard().getHex(step.getPosition()); if ((hex != null) && isJumping() && step.isEndPos(this)) { PilotingRollData psr = entity.checkLandingInHeavyWoods(step.getMovementType(false), hex); if (psr.getValue() != PilotingRollData.CHECK_FALSE) { step.setDanger(true); MoveStep prevStep = steps.get(0); for (MoveStep s : steps) { if (s.getMovementType(false) == EntityMovementType.MOVE_ILLEGAL) { break; prevStep.getPosition(), s.getPosition(), lastStep.getMovementType(true), prevStep.isTurning(), prevStep.isPavementStep(), prevStep.getElevation(), s.getElevation(), s));
|| (last.getMovementType(true) == EntityMovementType.MOVE_ILLEGAL)) { return false;
&& !((getMovementType(false) == EntityMovementType.MOVE_VTOL_WALK) || (getMovementType(false) == EntityMovementType.MOVE_VTOL_RUN))) || ((moveMode == EntityMovementMode.TRACKED) || (moveMode == EntityMovementMode.WHEELED)