Skip to content

Commit

Permalink
Merge branch 'MegaMek:master' into remove-xstream-from-image-atlas-map
Browse files Browse the repository at this point in the history
  • Loading branch information
rjhancock authored Feb 13, 2025
2 parents 7004bf6 + 2a60fad commit 3119fb8
Show file tree
Hide file tree
Showing 109 changed files with 6,160 additions and 661 deletions.
9 changes: 9 additions & 0 deletions megamek/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -372,6 +372,15 @@ task gifWriter(type: JavaExec, dependsOn: jar) {
group = 'utility'
classpath = sourceSets.main.runtimeClasspath
mainClass = 'megamek.utilities.GifWriter'
args project.hasProperty('gifGameSummary') ? project.gifGameSummary.tokenize(' ') : []
}

task princessFineTuning(type: JavaExec, dependsOn: jar) {
description = 'Calculates the optimal Princess fine tuning for a unit'
group = 'utility'
classpath = sourceSets.main.runtimeClasspath
mainClass = 'megamek.utilities.PrincessFineTuning'
args project.hasProperty('aiArgs') ? project.aiArgs.tokenize(' ') : []
}

task entityVerifier(type: JavaExec, dependsOn: jar) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
super * "ultra_sublevel:*;" "" "ultra_sublevel/ultra_sublevel.png"
1 change: 1 addition & 0 deletions megamek/data/images/hexes/atmospheric.tileset
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ include "StandardIncludes/StandardThemes.tileinc"

include "StandardIncludes/StandardSpace.tileinc"

include "StandardIncludes/StandardUltraSublevel.tileinc"
include "StandardIncludes/StandardHazardousLiquid.tileinc"

super * "water:0" "" "transparent/blue_water_1.png"
Expand Down
1 change: 1 addition & 0 deletions megamek/data/images/hexes/bw_atmospheric.tileset
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ base -6 "" "volcano" "largeTextures/textureVolcano-6.jpg"

include "StandardIncludes/StandardThemes.tileinc"

include "StandardIncludes/StandardUltraSublevel.tileinc"
include "StandardIncludes/StandardHazardousLiquid.tileinc"

super * "water:0" "" "bloodwolf/hq_boring/blue_water_0.png;bloodwolf/hq_boring/blue_water_0.png(0,72-84,-72);bloodwolf/hq_boring/blue_water_0.png(84,0--84,72);bloodwolf/hq_boring/blue_water_0.png(84,72--84,-72)"
Expand Down
1 change: 1 addition & 0 deletions megamek/data/images/hexes/classic.tileset
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ include "StandardIncludes/StandardThemes.tileinc"

include "StandardIncludes/StandardSpace.tileinc"

include "StandardIncludes/StandardUltraSublevel.tileinc"
include "StandardIncludes/StandardHazardousLiquid.tileinc"

super * "water:0" "" "boring/blue_water_1.gif"
Expand Down
1 change: 1 addition & 0 deletions megamek/data/images/hexes/hq_atmospheric.tileset
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ include "StandardIncludes/StandardThemes.tileinc"

include "StandardIncludes/StandardSpace.tileinc"

include "StandardIncludes/StandardUltraSublevel.tileinc"
include "StandardIncludes/StandardHazardousLiquid.tileinc"

super * "water:0" "" "transparent/anim_water_1.gif"
Expand Down
1 change: 1 addition & 0 deletions megamek/data/images/hexes/hq_isometric.tileset
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ include "StandardIncludes/StandardThemes.tileinc"

include "StandardIncludes/StandardSpace.tileinc"

include "StandardIncludes/StandardUltraSublevel.tileinc"
include "StandardIncludes/StandardHazardousLiquid.tileinc"

super * "water:0" "" "transparent/anim_water_1.gif"
Expand Down
1 change: 1 addition & 0 deletions megamek/data/images/hexes/hq_saxarba.tileset
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ super 8 "sand:*" "" "saxarba/base/base_sand_8.png"
super 9 "sand:*" "" "saxarba/base/base_sand_9.png"
super 10 "sand:*" "" "saxarba/base/base_sand_10.png"

include "StandardIncludes/StandardUltraSublevel.tileinc"
include "StandardIncludes/StandardHazardousLiquid.tileinc"

#MARS THEME WATER
Expand Down
1 change: 1 addition & 0 deletions megamek/data/images/hexes/isometric.tileset
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ include "StandardIncludes/StandardThemes.tileinc"

include "StandardIncludes/StandardSpace.tileinc"

include "StandardIncludes/StandardUltraSublevel.tileinc"
include "StandardIncludes/StandardHazardousLiquid.tileinc"

super * "water:0" "" "transparent/blue_water_1.png"
Expand Down
1 change: 1 addition & 0 deletions megamek/data/images/hexes/largeTextures.tileset
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,7 @@ base -6 "" "" "Ahne/iLarge_Textures/BigPlains-6.jpg"

base 0 "space:1" "" "largeTextures/BigSpace.jpg"

include "StandardIncludes/StandardUltraSublevel.tileinc"
include "StandardIncludes/StandardHazardousLiquid.tileinc"

#base 1 "water:*" "" "Ahne/iLarge_Textures/BigWater.jpg(0,72-84,-72);Ahne/iLarge_Textures/BigWater.jpg(84,0--84,72);Ahne/iLarge_Textures/BigWater.jpg(84,72--84,-72)"
Expand Down
1 change: 1 addition & 0 deletions megamek/data/images/hexes/saxarba.tileset
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ super 8 "sand:*" "" "saxarba/base/base_sand_8.png"
super 9 "sand:*" "" "saxarba/base/base_sand_9.png"
super 10 "sand:*" "" "saxarba/base/base_sand_10.png"

include "StandardIncludes/StandardUltraSublevel.tileinc"
include "StandardIncludes/StandardHazardousLiquid.tileinc"

#MARS THEME WATER
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified megamek/data/images/units/meks/Blackjack.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified megamek/data/images/units/meks/Blackjack_1DB.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified megamek/data/images/units/meks/Blackjack_1DC.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified megamek/data/images/units/meks/Blackjack_1X.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified megamek/data/images/units/meks/Blackjack_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified megamek/data/images/units/meks/Blackjack_2R.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified megamek/data/images/units/meks/Blackjack_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified megamek/data/images/units/meks/Blackjack_4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified megamek/data/images/units/meks/Blackjack_5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified megamek/data/images/units/meks/Blackjack_Arrow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 6 additions & 1 deletion megamek/docs/RAT and Force Generator Stuff/rat-generator.txt
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,12 @@ This is required to distinguish between different unit types that have the same

'omni' attribute: can be either 'Clan' or 'IS'. For non-omnis it is absent. Needed to distinguish between omni and fixed-configuration variants, since omnis taken as salvage/isorla use the operating faction to determine which configuration is used. Clan and IS must be stated to distinguish between the Clan Battle Cobra and the ComStar copy.

'availability' node: a comma-separated list of availability codes for the current year. The format is FKEY:AV[+|-][:YEAR], in which FKEY is the faction key, AV is the rating from 1-10, + or - (optional) adjusts av based on rating, and :YEAR optionally provides an introduction year for the faction. If given, the designated unit will not appear in the year range before the one given. This is used frequently for the reformation of the Free Worlds League. Units that were in use by one or more of the former Free Worlds states but not available to the former FWL independents have FWL:(av rating):3139 in 3135.xml, which prevents them from showing up for FWL during 3135-3138. A value of zero is a special case which indicates unavailable even if available to a parent faction. Sometimes a unit may be available to all IS factions except X, for example, and it is easier to add "IS:6,X:0" than to list all IS factions.
'availability' node: a comma-separated list of availability codes for the current year. The format is FKEY[!RATING]:AV[+|-][:YEAR], in which
FKEY is the faction key
!RATING is the optional specific equipment rating, typically A through F but depends on faction and factions.xml. Multiples may be used e.g. FS!A:8!B:7!C:2. Any rating not provided is considered to be 0 (unavailable). Not compatible with +/- adjustment or :YEAR modifiers.
AV is the rating from 1-10, + or - (optional) adjusts av based on rating
:YEAR optionally provides an introduction year for the faction. If given, the designated unit will not appear in the year range before the one given. This is used frequently for the reformation of the Free Worlds League. Units that were in use by one or more of the former Free Worlds states but not available to the former FWL independents have FWL:(av rating):3139 in 3131.xml, which prevents them from showing up for FWL during 3135-3138.
A value of zero is a special case which indicates unavailable even if available to a parent faction. Sometimes a unit may be available to all IS factions except X, for example, and it is easier to add "IS:6,X:0" than to list all IS factions.

'model' node: There is one model node for each variant in use during the year range.

Expand Down
22 changes: 21 additions & 1 deletion megamek/docs/history.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,19 @@ MEGAMEK VERSION HISTORY:
+ PR #6497: Action Logger
+ PR #6498: Feat: log bot actions for debugging
+ PR #6486: Piracy, new behaviors, and a new test platform to build upon
+ PR #6506: fix: bad naming for log file
+ MHQ #4985: add bounds check for unit editor dialog when number of recorded crits exceeds number of possible crits in a location
+ Fix #6127: softlock during invalid Pointblank Shot
+ PR #6503: fix: stop creating empty logs for the bot path ranker when its disabled
+ MML #1662: Fixed issue with Mek exporting to text
+ Fix #6511: Prevent cast class exception when switching Princess's ammo.
+ PR #6502: Implement Ultra Sublevel as part of RFE 6303
+ PR #1720: Fix MML Poor Sealing Quirk for Support and Combat Vehicles
+ PR #6531: More ai tools
feat/gif your game #6527
fix: check if it is a narcpod before trying to access getPosition #6529
MML #1721: legacy infantry blk files #6531
feat: hide acar on the front of the megamek lounge #6533

0.50.03 (2025-02-02 2030 UTC)
+ PR #6335: default the directory filter to Select All in Advanced Board Search
Expand Down Expand Up @@ -81,13 +94,20 @@ MEGAMEK VERSION HISTORY:
+ PR #6471: Feat: Mini-Map Improvements (Hex Border options, facing arrows, sensor range)
+ PR #6474: makes Princess move way more than she otherwise would on no-contact
+ PR #6478: fix: a couple of signs in the wrong place on the scoring equation
+ PR #6477: Fix 5590: princess firing on 13s due to intervening trees, etc
+ PR #6477, PR#6481: Fix 5590: princess firing on 13s due to intervening trees, etc
+ PR #6479: fix: removes an argument and early exit from hyperaggression
+ PR #6481: Fix 5590 part 2: stop Princess choosing zero damage attacks completely
+ PR #6488: Fix MML #1705 - update drone remote systems unit availability
+ PR #6487: Update MASH equipment to use size values
+ PR #6485: Fix: fixes html tags showing on tooltips
+ PR #6484: Fix: stop dropShadow from being calculated for force display tree
+ PR #6504: Feat/Mini-map move path
+ PR #6519: Fix MML#1487 - Unit selector redundant scrollpanes
+ PR #6522: Force generator update - individual equipment availability values
+ PR #6523: Feat: Use median of the 5 closest enemies for facing mod
+ PR #6526: Fix MML#1692 - Allow Arty correctly on DS/SC
+ Fix #6524: NullPointerException at beginning of firing phase (Unjam related)
+ Fix #5429, #6493: Fix various Arrow IV issues

0.50.02 (2024-12-30 2130 UTC)
+ PR #6183: New GM Commands, princess commands on map menu, graphics for some explosions
Expand Down
10 changes: 9 additions & 1 deletion megamek/i18n/megamek/client/messages.properties
Original file line number Diff line number Diff line change
Expand Up @@ -667,6 +667,7 @@ ChatLounge.butPrintList.printing=Loading print dialog
ChatLounge.butShrink=<
ChatLounge.butSkills=Random Skills...
ChatLounge.butShowUnitID=Show IDs

ChatLounge.butSortableView=Sortable View
ChatLounge.BVplain=BV
ChatLounge.BV=\ BV=
Expand Down Expand Up @@ -1278,6 +1279,8 @@ CommonSettingsDialog.entityOwnerColor=Add a border to the unit label
CommonSettingsDialog.floatingIso=Floating isometric (no hex sides in isometric mode)
CommonSettingsDialog.gameSummaryBV.name=Save game summary image of board
CommonSettingsDialog.gameSummaryBV.tooltip=At the end of certain phases, save an image of the board to {0}, creating a visual summary of the progression of the game.
CommonSettingsDialog.showUnitDisplayNamesOnMinimap.name=Show unit display name on minimap
CommonSettingsDialog.showUnitDisplayNamesOnMinimap.tooltip=Useful when you want to persist the game summary with the unit names. Helps to navigate the targets at a glance on a large map.
CommonSettingsDialog.gameSummaryMM.name=Save game summary image of minimap
CommonSettingsDialog.gameSummaryMM.tooltip=At the end of certain phases, save an image of the minimap to {0}, creating a visual summary of the progression of the game.
CommonSettingsDialog.generateNames=Generate a random name for the pilots of new units.
Expand Down Expand Up @@ -1373,6 +1376,7 @@ CommonSettingsDialog.showMapsheets=Show mapsheet borders.
CommonSettingsDialog.showPilotPortraitTT=Show pilot portrait in tooltip.
CommonSettingsDialog.showReportSprites=Show Report Sprites in Report Log
CommonSettingsDialog.showUnitId=Show each unit's unique ID next to its name.
CommonSettingsDialog.showAutoResolvePanel=Show Auto Resolve Panel on the Lounge
CommonSettingsDialog.showWpsinTT=Show unit weapons in the tooltip
CommonSettingsDialog.showWpsLocinTT=Show weapon locations in the tooltip
CommonSettingsDialog.showWrecks=Show wrecks.
Expand Down Expand Up @@ -1425,7 +1429,8 @@ CommonSettingsDialog.unitDisplayMekArmorMediumFontSize=MekDisplay Armor Medium F
CommonSettingsDialog.unitDisplayMekArmorSmallFontSize=MekDisplay Armor Small Font Size
CommonSettingsDialog.unitDisplayMekLargeFontSize=MekDisplay Large Font Size
CommonSettingsDialog.unitDisplayMekMediumFontSize=MekDisplay Medium Font Size

CommonSettingsDialog.movePathPersistence=Movement path persistence on Mini Map
CommonSettingsDialog.movePathPersistence.tooltip=Number of turns the movement path of a unit will show up on the minimap. If set to 0, no new paths will be drawn.
#Nag Suppression Dialog
ConfirmDialog.dontBother=Do not bother me again

Expand Down Expand Up @@ -2714,6 +2719,7 @@ MovementDisplay.MagmaCrustMoving=Crossing magma crust will break through on 6+ o
MovementDisplay.MagmaCrustJumpLanding=Jumping onto magma crust will break through on 4+ on 1d6.\n
MovementDisplay.MagmaLiquidMoving=Red hot molten lava melts armour and destroys non-meks!\n
MovementDisplay.HazardousLiquidMoving=Caustic hazardous liquids may damage units!\n
MovementDisplay.UltraSublevel=Ultra sublevels will destroy units!\n
MovementDisplay.ManeuverDialog.title=Choose Maneuver
MovementDisplay.MicroliteMove.message=Microlite VTOL units must enter a new hex each turn to remain in flight.\n
MovementDisplay.MicroliteMove.title=Microlite VTOL movement
Expand Down Expand Up @@ -4389,6 +4395,8 @@ MegaMek.Help.UnitExport=Create a unit database csv export
MegaMek.Help.UnitValidator=Run the unit validator tool
MegaMek.Help.OfficialUnitList=Create the canon unit list
MegaMek.Help.UnitAlphastrikeConversion=Create a csv export of alpha strike converted units
MegaMek.Help.AITune=Run AI fine-tuning tool. Run '-aitune -help' for more details.

MegaMek.ServerStarted=Server Started at %s:%d : Password %s

#Overheating Effects
Expand Down
7 changes: 6 additions & 1 deletion megamek/i18n/megamek/common/messages.properties
Original file line number Diff line number Diff line change
Expand Up @@ -427,6 +427,7 @@ Terrains.editorName.incline_high_bottom=High Incline Bottom
Terrains.editorName.cliff_bottom=Cliff Bottom
Terrains.editorName.deployment_zone=Deployment Zone
Terrains.editorName.hazardous_liquid=Hazardous Liquid
Terrains.editorName.ultra_sublevel=Ultra Sublevel

Terrains.editorTooltip.woods=Woods
Terrains.editorTooltip.water=Water
Expand Down Expand Up @@ -609,8 +610,10 @@ BeastSize.monstrous=Monstrous
ArtilleryMessage.drifted=Artillery drifted here from
BombMessage.drifted=Bomb drifted here from

### Weapon Handlers
ArtilleryIndirectHomingHandler.HomingArtyMissChance=Homing shot locked on! (can miss on 3 or less)


### ACAR
acar.invalid_attack=Invalid attack
acar.invalid_skill=Invalid skill
acar.skill=Skill
Expand Down Expand Up @@ -786,3 +789,5 @@ HazardousLiquidPoolUtil.CLASS_1.text=Class 1: Slightly Hazardous
HazardousLiquidPoolUtil.CLASS_2.text=Class 2: Hazardous
HazardousLiquidPoolUtil.CLASS_3.text=Class 3: Extreme Danger
HazardousLiquidPoolUtil.DEADLY.text=Deadly

TWGameManager.report.ultra_sublevel.text=falling into a deep hole
2 changes: 1 addition & 1 deletion megamek/i18n/megamek/common/report-messages.properties
Original file line number Diff line number Diff line change
Expand Up @@ -366,7 +366,7 @@
3198=<<span class='miss'><B>misses</B></span> and is rendered ineffective by scatter.
3199=<data> rounds <span class='success'><B>hit</B></span> the intended hex <data> with <data>.
3200=<<span class='miss'><B>misses</B></span> and scatters off the board.
3201=<data> homing rounds arrive at the intended hex.
3201=<span class='miss'><B>misses</B></span> Terminal guidance failed! Missed target but hit hex.
3202=<data> round <<span class='miss'><B>misses</B></span> and scatters to hex <data>.
3205=<data> (<data>) now on fire for <data> turns.
3210=<newline>In hex <data>:
Expand Down
2 changes: 1 addition & 1 deletion megamek/resources/megamek/common/templates/tro/mek.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ ${formatBasicDataRow("Engine", engineName, engineMass)}
${qvType} Cruising MP: ${qvCruise}
${qvType} Flanking MP: ${qvFlank}
</#if>
${formatBasicDataRow(hsType, hsCount, hsMass)}<#if riscKit> w/ RISC Heat Sink Override Kit</#if>
${formatBasicDataRow(hsType, hsCount, hsMass)}<#if riscKit??> w/ RISC Heat Sink Override Kit</#if>
${formatBasicDataRow(gyroType, "", gyroMass)}
${formatBasicDataRow(cockpitType, "", cockpitMass)}
${formatBasicDataRow("Armor Factor" + armorType, armorFactor, armorMass)}
Expand Down
46 changes: 27 additions & 19 deletions megamek/src/megamek/MegaMek.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,23 +20,6 @@
*/
package megamek;

import java.io.*;
import java.lang.management.ManagementFactory;
import java.net.URL;
import java.security.DigestInputStream;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.text.NumberFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.Locale;
import java.util.jar.Attributes;
import java.util.jar.JarFile;
import java.util.jar.Manifest;

import javax.swing.*;

import io.sentry.Sentry;
import megamek.client.ui.preferences.SuitePreferences;
import megamek.client.ui.swing.ButtonOrderPreferences;
Expand All @@ -52,8 +35,25 @@
import megamek.logging.MMLogger;
import megamek.server.DedicatedServer;
import megamek.utilities.GifWriter;
import megamek.utilities.PrincessFineTuning;
import megamek.utilities.RATGeneratorEditor;

import javax.swing.*;
import java.io.*;
import java.lang.management.ManagementFactory;
import java.net.URL;
import java.security.DigestInputStream;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.text.NumberFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.Locale;
import java.util.jar.Attributes;
import java.util.jar.JarFile;
import java.util.jar.Manifest;

/**
* This is the primary MegaMek class.
*
Expand Down Expand Up @@ -141,6 +141,10 @@ public static void main(String... args) {
startGifWriter(restArgs);
return;
}
if (parser.aiFineTuning()) {
startPrincessFineTuning(restArgs);
return;
}
if (parser.ratGenEditor()) {
RATGeneratorEditor.main(restArgs);
} else {
Expand Down Expand Up @@ -352,11 +356,15 @@ private static void startClient(String... args) {
private static void startGifWriter(String... args) {
try {
GifWriter.createGifFromGameSummary(args[0]);
} catch (Exception e) {
logger.error(e, "Error creating gif");
} catch (IOException e) {
logger.error(e, "Error creating GIF");
}
}

private static void startPrincessFineTuning(String... args) {
PrincessFineTuning.main(args);
}

/**
* Starts MegaMek's splash GUI
*/
Expand Down
27 changes: 27 additions & 0 deletions megamek/src/megamek/ai/dataset/ActionAndState.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/*
* Copyright (c) 2025 - The MegaMek Team. All Rights Reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option)
* any later version.
*
* This program 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.
*
*/
package megamek.ai.dataset;


import java.util.List;

/**
* Represents an action and the state of the board after the action is performed.
* @param round
* @param unitAction
* @param boardUnitState
* @author Luana Coppio
*/
public record ActionAndState(int round, UnitAction unitAction, List<UnitState> boardUnitState){}
Loading

0 comments on commit 3119fb8

Please sign in to comment.