@Override public void setAlphaStrikeMovement(Map<String, Integer> moves) { moves.put(getMovementModeAsBattleForceString(), getWalkMP()); }
@Override public boolean canRam() { return !isImmobile() && (getWalkMP() > 0); }
@Override public int getRunMP(boolean gravity, boolean ignoreheat, boolean ignoremodulararmor) { // if aeros are on the ground, they can only move at cruising speed if (!isAirborne()) { return getWalkMP(gravity, ignoreheat, ignoremodulararmor); } return super.getRunMP(gravity, ignoreheat, ignoremodulararmor); }
float fuelPerTurn; if (aero.hasETypeFlag(Entity.ETYPE_CONV_FIGHTER)) { fuelPerTurn = aero.getWalkMP() * 0.5f; if(aero.hasEngine()) { if(aero.getEngine().isFusion()) { fuelPerTurn += (aero.getRunMP()-aero.getWalkMP()) * 2; } else { fuelPerTurn += (aero.getRunMP()-aero.getWalkMP()); } else if (aero.getWalkMP() == 0) { fuelPerTurn = 0.2f; } else { fuelPerTurn = aero.getWalkMP() + (aero.getRunMP()-aero.getWalkMP()) * 2;
/** * Computes and returns the maximum number of turns the given unit could * fly at safe thrust given its fuel payload. Aerospace fighters consume * 1 fuel point per thrust point spent up the the maximum safe thrust, * whereas conventional fighters with turbine engines consume 0.5 fuel * points per thrust point spent up to the maximum safe thrust. * See Strategic Operations pg 34. * * @param aero * @return */ public static float calculateMaxTurnsAtSafe(Aero aero){ int fuelPoints = aero.getFuel(); float fuelPerTurn; if (aero.hasETypeFlag(Entity.ETYPE_CONV_FIGHTER) && aero.hasEngine() && (aero.getEngine().getEngineType() == Engine.COMBUSTION_ENGINE)) { fuelPerTurn = aero.getWalkMP() * 0.5f; } else if (aero.getWalkMP() == 0) { fuelPerTurn = 0.2f; } else { fuelPerTurn = aero.getWalkMP(); } return fuelPoints/fuelPerTurn; }
setModelData("engineName", stripNotes(aero.getEngine().getEngineName())); setModelData("engineMass", NumberFormat.getInstance().format(testAero.getWeightEngine())); setModelData("safeThrust", aero.getWalkMP()); setModelData("maxThrust", aero.getRunMP()); setModelData("si", aero.get0SI());
int vmod = vel - (2 * getWalkMP()); if (!getGame().getBoard().inSpace() && (vmod > 0)) { prd.addModifier(vmod, "Velocity greater than 2x safe thrust");