Skip to content
Draft
Show file tree
Hide file tree
Changes from 8 commits
Commits
Show all changes
99 commits
Select commit Hold shift + click to select a range
8bf97da
Create the deployment step and wire it so that it sets the moved hexe…
TenkawaBC Aug 20, 2026
3bcd4a8
Merge branch 'MegaMek:main' into walk-on-deployment
TenkawaBC Aug 20, 2026
8ac357c
When determining turn order, exclude items from deployment if they ar…
TenkawaBC Aug 20, 2026
2cea2a0
Tell entity only to do things when it is the right phase.
TenkawaBC Aug 20, 2026
9e6a003
Deployment and movement working
TenkawaBC Aug 20, 2026
d1a5538
Deployment zone limited to 1 hex
TenkawaBC Aug 21, 2026
a58cf94
Merge branch 'MegaMek:main' into walk-on-deployment
TenkawaBC Aug 24, 2026
a269ff5
Adding server packet logic to handle movepath with deployment
TenkawaBC Aug 24, 2026
655b6b7
Fixing method names to say deployment not initiative.
TenkawaBC Aug 24, 2026
dd90ed5
Adding null checks to guard against NPEs.
TenkawaBC Aug 24, 2026
809e917
Merge branch 'MegaMek:main' into walk-on-deployment
TenkawaBC Aug 24, 2026
ed3a08f
Princess deploys correctly
TenkawaBC Aug 25, 2026
7d467c9
Merge remote-tracking branch 'origin/walk-on-deployment' into walk-on…
TenkawaBC Aug 25, 2026
6251f31
Correct MP used for first hex when not jumping.
TenkawaBC Aug 25, 2026
04201c4
Add Option for enabling walk-on deployment with TW.
TenkawaBC Aug 25, 2026
e5ca205
Add Pre-game deployment (-1) to the lobby menu when walkOnDeployment …
TenkawaBC Aug 26, 2026
2c1dd17
Merge branch 'main' into walk-on-deployment
HammerGS Aug 26, 2026
6f17df8
Merge branch 'main' into walk-on-deployment
HammerGS Aug 26, 2026
77ac96d
Walk on not skipped.
TenkawaBC Aug 26, 2026
1c241fe
Merge remote-tracking branch 'origin/walk-on-deployment' into walk-on…
TenkawaBC Aug 26, 2026
255f107
Changes for starting Width amounts
TenkawaBC Aug 26, 2026
7c269cd
Set positioning of the deployment at the first step.
TenkawaBC Aug 26, 2026
b4f7fdd
Renamed walkOnDeployment to isWalkOnDeployment
TenkawaBC Aug 27, 2026
a95173f
String compares are now .equals instead of ==
TenkawaBC Aug 27, 2026
34d2d4e
Starting to move common deployment code to DeploymentHelper from Depl…
TenkawaBC Aug 27, 2026
2bf7b6c
Moved helper into clientGUI. Updated DeploymentDisplay to use helper,…
TenkawaBC Aug 27, 2026
282850f
Deployment facing now working on deployment with shift.
TenkawaBC Aug 27, 2026
fa59836
Fixing Lobby to display pregame properly, and deployment zone when wi…
TenkawaBC Aug 27, 2026
82b5fbc
Update logic
TenkawaBC Aug 27, 2026
08646f4
Updating for movement
TenkawaBC Aug 27, 2026
cf9e0b7
Merge branch 'main' into walk-on-deployment
TenkawaBC Aug 27, 2026
a26c251
Removing a forbidden word.
TenkawaBC Aug 27, 2026
ffeb861
Fix player list to show proper deployment zone.
TenkawaBC Aug 27, 2026
9757cb1
Trying to fix the starting width to display 1 when the deployment is …
TenkawaBC Aug 27, 2026
0284467
Revert "Trying to fix the starting width to display 1 when the deploy…
TenkawaBC Aug 28, 2026
3693a7a
Reapply "Trying to fix the starting width to display 1 when the deplo…
TenkawaBC Aug 28, 2026
9e177bd
Back to not taking movement commands properly with deployment. my cle…
TenkawaBC Aug 28, 2026
a5ba994
Merge branch 'main' into walk-on-deployment
HammerGS Aug 28, 2026
b4a0f20
Moving deployment of loaded entities to a shared helper class on the …
TenkawaBC Aug 28, 2026
6e1911f
Merge remote-tracking branch 'origin/walk-on-deployment' into walk-on…
TenkawaBC Aug 28, 2026
d652dac
Moving common code to DeploymentHelper
TenkawaBC Aug 29, 2026
668c2bb
Making several fixes.
TenkawaBC Aug 29, 2026
0ba5685
Merge branch 'main' into walk-on-deployment
HammerGS Aug 29, 2026
0723a51
AI assisted.
TenkawaBC Aug 30, 2026
f883377
Merge remote-tracking branch 'origin/walk-on-deployment' into walk-on…
TenkawaBC Aug 30, 2026
963888a
Fixing deployment processor test and helper
TenkawaBC Aug 30, 2026
89f44e5
Fixing width getter to use common code, and ignore bots
TenkawaBC Aug 31, 2026
35509cc
Board selections are working.
TenkawaBC Aug 31, 2026
b48beb5
Adding unit tests for the movement display.
TenkawaBC Aug 31, 2026
9561e97
Merge branch 'main' into walk-on-deployment
TenkawaBC Aug 31, 2026
7811358
Merge branch 'main' into walk-on-deployment
TenkawaBC Sep 2, 2026
932c26c
New deployment facing code. It now faces the enemy rather than just a…
TenkawaBC Sep 2, 2026
1e02132
Fixing AI identified issues.
TenkawaBC Sep 3, 2026
f6a909c
Something is broken in the mainline on this file. made minor change a…
TenkawaBC Sep 3, 2026
62c8012
Removing old code
TenkawaBC Sep 3, 2026
01017c1
removing unused variable
TenkawaBC Sep 3, 2026
ea629c5
Merge branch 'main' into walk-on-deployment
TenkawaBC Sep 3, 2026
7a23c82
AI Assisted updates to the MovementDisplay tests to cover updates to …
TenkawaBC Sep 3, 2026
82dd936
AI Created testing added for all the Rules classes
TenkawaBC Sep 3, 2026
fb5d024
tests(rules): add behavior-focused rules tests and headers\n\nCo-auth…
TenkawaBC Sep 3, 2026
bba428b
Updating to remove unused elements added by copilot
TenkawaBC Sep 3, 2026
2eba672
Changing deployment width design to make it clear when walkon is occu…
TenkawaBC Sep 3, 2026
57a4b57
Update the deployment elevation
TenkawaBC Sep 3, 2026
fc0114d
Clearing unused variable added by Copilot
TenkawaBC Sep 3, 2026
ed20269
Fixing test constructor
TenkawaBC Sep 3, 2026
3896605
Dropship walk on now works without NPE.
TenkawaBC Sep 4, 2026
9d7cb0b
Fixing Messages.properties
TenkawaBC Sep 5, 2026
0e6513d
Merge branch 'main' into walk-on-deployment
TenkawaBC Sep 5, 2026
a402334
Gradle Spotless application and update to board starting position.
TenkawaBC Sep 5, 2026
904dcb3
Allowing accelerate/decelerate with walk-on deployment
TenkawaBC Sep 5, 2026
029244d
Add new movement button to clear the deployment (including elevation)
TenkawaBC Sep 5, 2026
72786ed
Fixing issue from gradle spotlessApply
TenkawaBC Sep 5, 2026
9263595
Switching from System.copyarray to Arrays.copyOf
TenkawaBC Sep 5, 2026
6e2d5c9
Adding button to reset the deployment, handling the deployment with b…
TenkawaBC Sep 6, 2026
c61c4e8
Merge branch 'main' into walk-on-deployment
TenkawaBC Sep 10, 2026
f0444b7
Switching to a restrict deployment check that all the calls can use, …
TenkawaBC Sep 10, 2026
9e7b5db
Spotless update
TenkawaBC Sep 10, 2026
a03c502
Changes to avoid NPEs on double-escape with dropships
TenkawaBC Sep 10, 2026
6e92141
Changes to avoid NPEs on double-escape with dropships
TenkawaBC Sep 10, 2026
3468e1a
Changes to avoid NPEs
TenkawaBC Sep 11, 2026
5b50bb8
Merge remote-tracking branch 'megamek/main' into walk-on-deployment
TenkawaBC Sep 11, 2026
1d63225
Spotless
TenkawaBC Sep 11, 2026
bed1a03
Merge remote-tracking branch 'megamek/main' into walk-on-deployment
TenkawaBC Sep 11, 2026
5d0cd89
Adding back in walk-on-deployment code
TenkawaBC Sep 11, 2026
fa581ea
Removing unused variable
TenkawaBC Sep 11, 2026
2eab127
spotless
TenkawaBC Sep 11, 2026
20a0a56
Adding clear deployment to DeploymentDisplay. No NPE with dropships
TenkawaBC Sep 11, 2026
843ceea
Due to NPEs around Dropship deployment in movement, and issues with m…
TenkawaBC Sep 11, 2026
45f665d
Some guards. shouldn't be needed, but being careful
TenkawaBC Sep 11, 2026
38ff20f
spotless
TenkawaBC Sep 11, 2026
3b4b7ec
New method for figuring out the facing for deployment, and focus on s…
TenkawaBC Sep 12, 2026
ca94400
More null guards and removing an unused variable
TenkawaBC Sep 12, 2026
96be27e
NPE now fixed. Dropships can return to walk-on deployment.
TenkawaBC Sep 12, 2026
2290790
Merge branch 'main' into walk-on-deployment
TenkawaBC Sep 12, 2026
82b6f16
Confirmed aerospace can move now.
TenkawaBC Sep 13, 2026
77f2350
Starting facing now evaluated from the entity when the hex is clicked…
TenkawaBC Sep 13, 2026
a7ac8a3
Merge branch 'main' into walk-on-deployment
TenkawaBC Sep 13, 2026
df60f82
Deployment now says deploy on the hex
TenkawaBC Sep 13, 2026
bcf2255
Merge remote-tracking branch 'origin/walk-on-deployment' into walk-on…
TenkawaBC Sep 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions megamek/src/megamek/client/commands/MoveCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,10 @@ private void clearAllMoves() {
} else if (currentEntity().getMovementMode().isQuadSwim()) {
currentEntity().setMovementMode(EntityMovementMode.QUAD);
}
if (cmd.contains(MoveStepType.DEPLOY)) {
Comment thread
TenkawaBC marked this conversation as resolved.
Outdated
currentEntity().setDeployed(false);
currentEntity().setPosition(null);
}

cmd = new MovePath(getClient().getGame(), currentEntity());
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -615,6 +615,11 @@
if ((selectedEntity instanceof Mek climbingMek) && climbingMek.isClimbing()) {
SwingUtilities.invokeLater(() -> promptContinueClimbing(climbingMek));
}

// If it has not deployed yet, draw the deployment
if (Game.rulesManager.getRulesGame().walkOnInitiative() && !selectedEntity.isDeployed()) {
clientgui.boardViews().forEach(bv -> ((BoardView) bv).markDeploymentHexesFor(selectedEntity));
}
}

/**
Expand Down Expand Up @@ -1683,6 +1688,7 @@
}

startTimer();

}

/**
Expand Down Expand Up @@ -1843,6 +1849,12 @@
currentlySelectedEntity.setMovementMode(EntityMovementMode.QUAD);
}

// If it was walk-on deployment, invalidate the deployment
if ((cmd != null) && cmd.contains(MoveStepType.DEPLOY)) {
currentEntity().setDeployed(false);
currentEntity().setPosition(null);
}

// create new current and considered paths
cmd = new MovePath(game, currentlySelectedEntity);
clientgui.updateFiringArc(currentlySelectedEntity);
Expand Down Expand Up @@ -2565,6 +2577,23 @@
return;
}

if (Game.rulesManager.getRulesGame().walkOnInitiative()) {
if (!currentlySelectedEntity.isDeployed() && boardViewEvent.getType() == BoardViewEvent.BOARD_HEX_DRAGGED) {
Comment thread
github-advanced-security[bot] marked this conversation as resolved.
Fixed
if (game.getBoard(boardViewEvent.getBoardId())
.isLegalDeployment(boardViewEvent.getCoords(), currentlySelectedEntity)) {
currentlySelectedEntity.setPosition(boardViewEvent.getCoords());
cmd.addStep(MoveStepType.DEPLOY);
Comment thread
github-advanced-security[bot] marked this conversation as resolved.
Fixed
Hex hex = game.getBoard(boardViewEvent.getBoardId()).getHex(boardViewEvent.getCoords());
Comment thread
github-advanced-security[bot] marked this conversation as resolved.
Fixed
currentlySelectedEntity.setDeployed(true);
clientgui.boardViews().forEach(bv -> ((BoardView) bv).redrawEntity(currentlySelectedEntity));
Comment thread
TenkawaBC marked this conversation as resolved.
Outdated
} else {
// Message about choosing a legal deployment area
}
return;

}
}

// check for shifty goodness
if (shiftHeld == ((boardViewEvent.getModifiers() & InputEvent.SHIFT_DOWN_MASK) == 0)) {
shiftHeld = (boardViewEvent.getModifiers() & InputEvent.SHIFT_DOWN_MASK) != 0;
Expand Down
11 changes: 9 additions & 2 deletions megamek/src/megamek/common/board/Board.java
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@
import megamek.common.equipment.FuelTank;
import megamek.common.event.board.BoardEvent;
import megamek.common.event.board.BoardListener;
import megamek.common.game.Game;
import megamek.common.hexArea.HexArea;
import megamek.common.loaders.MapSettings;
import megamek.common.units.AbstractBuildingEntity;
Expand Down Expand Up @@ -941,6 +942,12 @@ public boolean isLegalDeployment(Coords c, int zoneType, int startingWidth, int
int maxX = width - startingOffset;
int maxy = height - startingOffset;

// Walk on initiative only allows for 1 hex width deployment zones
if (Game.rulesManager.getRulesGame().walkOnInitiative()) {
startingWidth = 1;
}


return switch (zoneType) {
case START_ANY -> (((startingAnyNWx == Entity.STARTING_ANY_NONE) || (c.getX() >= startingAnyNWx))
&& ((startingAnySEx == Entity.STARTING_ANY_NONE) || (c.getX() <= startingAnySEx))
Expand Down Expand Up @@ -1379,8 +1386,8 @@ public void removeInfernoFrom(Coords coords) {
}

/**
* Record that a fire at the given coordinates was started by a fuel-fed flamer (TO:AuE p.153). Such fires are harder
* for firefighting engineers to extinguish.
* Record that a fire at the given coordinates was started by a fuel-fed flamer (TO:AuE p.153). Such fires are
* harder for firefighting engineers to extinguish.
*
* @param coords the <code>Coords</code> of the flamer-started fire
*/
Expand Down
3 changes: 2 additions & 1 deletion megamek/src/megamek/common/enums/MoveStepType.java
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,8 @@ public enum MoveStepType {
CHAFF(false, "Chaff"),
PICKUP_CARGO(false, "Pickup Cargo"),
DROP_CARGO(false, "Drop Cargo"),
CHANGE_BOARD(true, "Change Board");
CHANGE_BOARD(true, "Change Board"),
DEPLOY(false, "Deploy");

private final boolean entersNewHex;
private final String humanReadableLabel;
Expand Down
59 changes: 59 additions & 0 deletions megamek/src/megamek/common/moves/DeployStep.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
package megamek.common.moves;

/*
* Copyright (C) 2026 The MegaMek Team. All Rights Reserved.
*
* This file is part of MegaMek.
*
* MegaMek is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License (GPL),
* version 3 or (at your option) any later version,
* as published by the Free Software Foundation.
*
* MegaMek is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
* A copy of the GPL should have been included with this project;
* if not, see <https://www.gnu.org/licenses/>.
*
* NOTICE: The MegaMek organization is a non-profit group of volunteers
* creating free software for the BattleTech community.
*
* MechWarrior, BattleMech, `Mech and AeroTech are registered trademarks
* of The Topps Company, Inc. All Rights Reserved.
*
* Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of
* InMediaRes Productions, LLC.
*
* MechWarrior Copyright Microsoft Corporation. MegaMek was created under
* Microsoft's "Game Content Usage Rules"
* <https://www.xbox.com/en-US/developers/rules> and it is not endorsed by or
* affiliated with Microsoft.
*/

import java.util.EnumSet;
import java.util.Set;

import megamek.common.enums.MoveStepType;
import megamek.common.game.Game;
import megamek.common.pathfinder.CachedEntityState;
import megamek.common.units.Entity;

public class DeployStep implements PhasePass {
private static final EnumSet<MoveStepType> TYPES = EnumSet.of(MoveStepType.DEPLOY);

@Override
public Set<MoveStepType> getTypesOfInterest() {
return TYPES;
}

@Override
public PhasePassResult preCompilation(final MoveStep moveStep, final Game game, final Entity entity, MoveStep prev,
final CachedEntityState cachedEntityState) {
moveStep.setDeploying(true);
moveStep.setDistance(1);
return PhasePassResult.BREAK;
}
}
26 changes: 21 additions & 5 deletions megamek/src/megamek/common/moves/MoveStep.java
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@
import megamek.common.pathfinder.CachedEntityState;
import megamek.common.planetaryConditions.Atmosphere;
import megamek.common.planetaryConditions.PlanetaryConditions;
import megamek.common.rules.core.CoreRulesManager;
import megamek.common.units.*;
import megamek.logging.MMLogger;

Expand Down Expand Up @@ -167,6 +166,7 @@ public class MoveStep implements Serializable {
private boolean isHittingDeck = false;
private boolean isClearingRubble = false;
private boolean isClimbing = false;
private boolean isDeploying = false;
private int climbingTotalLevels = 0;
private int climbingChargedLevels = 0;
private boolean isTakingCover = false;
Expand Down Expand Up @@ -706,7 +706,7 @@ void compileMove(final Game game, final Entity entity, MoveStep prev, CachedEnti
}
// check for water
if (Game.rulesManager.getRulesMovement().cannotRunInWater(entity.getMovementMode(),
cachedEntityState.hasWorkingMisc(MiscType.F_FULLY_AMPHIBIOUS))
cachedEntityState.hasWorkingMisc(MiscType.F_FULLY_AMPHIBIOUS))
&& !isPavementStep()
&& (destHex.terrainLevel(Terrains.WATER) > 0)
&& !(destHex.containsTerrain(Terrains.ICE) && (elevation >= 0))
Expand Down Expand Up @@ -3726,7 +3726,7 @@ public boolean isMovementPossible(Game game, Coords src, int srcEl, CachedEntity
(movementType == EntityMovementType.MOVE_VTOL_WALK) ||
(movementType == EntityMovementType.MOVE_VTOL_RUN) ||
(movementType == EntityMovementType.MOVE_VTOL_SPRINT);

if ((movementType != EntityMovementType.MOVE_JUMP) && !isVTOLFlight) {
int maxDown = Game.rulesManager.getRulesTerrain().getMaxElevationChangeAllowed(srcHex, destHex,
entity.getMaxElevationDown(srcAlt));
Expand Down Expand Up @@ -3789,7 +3789,7 @@ public boolean isMovementPossible(Game game, Coords src, int srcEl, CachedEntity
boolean isDownCliff = !src.equals(dest) &&
srcHex.hasCliffTopTowards(destHex) &&
(stepHeight == -1 || stepHeight == -2);

// For vehicles exc. VTOL, WIGE, upward Sheer Cliffs is forbidden
// QuadVees in vehicle mode drive as vehicles, IO p.133
if ((vehicleAffectedByCliff || quadVeeVehicleMode) && isUpCliff && !isPavementStep) {
Expand Down Expand Up @@ -3859,7 +3859,7 @@ public boolean isMovementPossible(Game game, Coords src, int srcEl, CachedEntity
(movementType == EntityMovementType.MOVE_VTOL_RUN) ||
(movementType == EntityMovementType.MOVE_VTOL_SPRINT)) &&
Game.rulesManager.getRulesMovement().cannotRunInWater(nMove,
cachedEntityState.hasWorkingMisc(MiscType.F_FULLY_AMPHIBIOUS)) &&
cachedEntityState.hasWorkingMisc(MiscType.F_FULLY_AMPHIBIOUS)) &&
(destHex.terrainLevel(Terrains.WATER) > 0) &&
!(destHex.containsTerrain(Terrains.ICE) && (elevation >= 0)) &&
!dest.equals(entity.getPosition()) &&
Expand Down Expand Up @@ -4649,4 +4649,20 @@ public int getBoardId() {
public boolean isClimbMode() {
return (type == MoveStepType.CLIMB_MODE_ON) || (type == MoveStepType.CLIMB_MODE_OFF);
}

/**
* Set it is deployment
*
* @param isDeploying
*/
public void setDeploying(boolean isDeploying) {
this.isDeploying = isDeploying;
}

/**
* get deployment state of this step
*
* @return isDeploying
*/
public boolean isDeploying() {return isDeploying;}
}
2 changes: 2 additions & 0 deletions megamek/src/megamek/common/moves/PhasePassSelector.java
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ class PhasePassSelector {
private static final PhasePass BOOTLEGGER_STEP = new BootleggerStep();
private static final PhasePass BRACE_STEP = new BraceStep();
private static final PhasePass DEFAULT_STEP = new DefaultStep();
private static final PhasePass DEPLOY_STEP = new DeployStep();

/**
* Returns the correct phase pass for {@link MoveStep} compilation based on the move step type.
Expand Down Expand Up @@ -124,6 +125,7 @@ static PhasePass getPhasePass(MoveStepType moveStepType) {
case CONVERT_MODE -> CONVERT_MODE_STEP;
case BOOTLEGGER -> BOOTLEGGER_STEP;
case BRACE -> BRACE_STEP;
case DEPLOY -> DEPLOY_STEP;
default -> DEFAULT_STEP;
};
}
Expand Down
39 changes: 29 additions & 10 deletions megamek/src/megamek/common/rules/RulesGame.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,10 @@ public abstract class RulesGame {

/**
* Is an entity eligible for a phase
*
* @param entity the unit being considered
* @param phase what phase it is in
* @param phase what phase it is in
*
* @return is it eligible
*/
public abstract boolean eligibleForPhase(Entity entity, @Nullable GamePhase phase);
Expand All @@ -63,37 +65,43 @@ public abstract class RulesGame {
* Return the number of units to move.
*
* @param num_normal_turns array of normal turns
* @param index the current index
* @param min the minimum value
* @param frontLoadOption true if front load option is enabled
* @param index the current index
* @param min the minimum value
* @param frontLoadOption true if front load option is enabled
*
* @return the initiative order
*/
public abstract int getInitiativeOrder(int[] num_normal_turns, int index, int min, boolean frontLoadOption);

/**
* Is there a BV bump for tag?
*
* @param entity The entity being considered
* @param bvReport the report
*
* @param entity The entity being considered
* @param bvReport the report
* @param adjustedBV the adjusted BV so far
* @param tagCount how many tags in the force
* @param hasGuided does it have guided? (default false)
* @param tagCount how many tags in the force
* @param hasGuided does it have guided? (default false)
*
* @return adjusted BV value with bump if applicable
*/
public abstract double tagBVBump(Entity entity, CalculationReport bvReport, double adjustedBV,
long tagCount, boolean hasGuided);

/**
* Allow minefields or not
*
* @param toMinefields OptionsConstants.ADVANCED_MINEFIELDS
*
* @return
*/
public abstract boolean allowMinefields(boolean toMinefields);

/**
* Helped function for tagBVBump to get the equipment descriptor for a mounted item.
*
* @param mounted
* @param entity
*
* @return
*/
public String equipmentDescriptor(Mounted<?> mounted, Entity entity) {
Expand All @@ -105,7 +113,9 @@ public String equipmentDescriptor(Mounted<?> mounted, Entity entity) {
if (mounted.isMekTurretMounted()) {
descriptor += " (T)";
}
if (mounted.isRearMounted() || (mounted.getType().hasFlag(WeaponType.F_VGL) && (mounted.getFacing() >= 2) && (mounted.getFacing() <= 4))) {
if (mounted.isRearMounted() || (mounted.getType().hasFlag(WeaponType.F_VGL)
&& (mounted.getFacing() >= 2)
&& (mounted.getFacing() <= 4))) {
descriptor += " (R)";
}
return descriptor;
Expand All @@ -118,4 +128,13 @@ public String equipmentDescriptor(Mounted<?> mounted, Entity entity) {
return mounted.getType().getShortName();
}
}

/**
* Is walk on initiative supported?
*
* @return Default to false.
*/
public boolean walkOnInitiative() {
return false;
}
}
Loading
Loading