Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Beast mounted infantry #1331

Merged
merged 20 commits into from
Nov 16, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
5df587f
Added tech advancement for beast-mounted infantry.
neoancient Sep 7, 2023
9389892
Added beast-mounted as a motive option for conventional infantry.
neoancient Sep 7, 2023
cbd4e2f
Added tab for mounts.
neoancient Sep 7, 2023
7bafe65
Merge branch 'master' into beast_mounted_infantry
neoancient Nov 5, 2023
5deb83a
Improvements to mount table.
neoancient Nov 5, 2023
8e5c474
Update mount when selected
neoancient Nov 5, 2023
fc78455
Use horse as default when beast-mounted motive type is selected.
neoancient Nov 5, 2023
cf35818
Added custom mount fields.
neoancient Nov 6, 2023
ed291cd
Fixed custom field sizing.
neoancient Nov 6, 2023
1829242
Apply custom mount settings.
neoancient Nov 6, 2023
adb4572
Set spinner minimum values
neoancient Nov 6, 2023
d1a4dc1
Hide custom fields that don't apply to motive type.
neoancient Nov 6, 2023
4347803
Disable set mount button when data is invalid.
neoancient Nov 6, 2023
c6c0c55
Only enable mount tab when motive type is set to beast-mounted.
neoancient Nov 6, 2023
fb932d0
Add mount-related notes to record sheets.
neoancient Nov 6, 2023
8799dba
Apply rules clarification about vehicle damage.
neoancient Nov 7, 2023
9df9a21
Show attacker to-hit mod due to size on the TRO view and record sheet.
neoancient Nov 9, 2023
26d34ab
Add surface naval as a possible movement mode for custom infantry bea…
neoancient Nov 10, 2023
568ec61
Update megameklab/resources/megameklab/resources/Views.properties
neoancient Nov 14, 2023
60ef87c
Update megameklab/resources/megameklab/resources/Views.properties
neoancient Nov 14, 2023
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
43 changes: 43 additions & 0 deletions megameklab/resources/megameklab/resources/Views.properties
Original file line number Diff line number Diff line change
Expand Up @@ -284,8 +284,10 @@ PlatoonTypeView.cbMotiveType.microlite=VTOL (Microlite)
PlatoonTypeView.cbMotiveType.umu=SCUBA (Foot)
PlatoonTypeView.cbMotiveType.umu_motorized=SCUBA (Motorized)
PlatoonTypeView.cbMotiveType.submarine=SCUBA (Submarine)
PlatoonTypeView.cbMotiveType.beast_mounted=Beast-Mounted
PlatoonTypeView.cbMotiveType.text=Motive Type:
PlatoonTypeView.cbMotiveType.tooltip=Determines MP, movement mode, and maximum platoon and squad size.
PlatoonTypeView.lblBeastMountLabel.text=Mount Type:
PlatoonTypeView.spnNumSquads.text=# Squads:
PlatoonTypeView.spnNumSquads.tooltip=The number of squads in the platoon.
PlatoonTypeView.spnSquadSize.text=Squad Size:
Expand All @@ -310,6 +312,47 @@ InfantryWeaponView.cbNumGuns.tooltip=The number of field guns deployed by the un
InfantryWeaponView.chkAntiMek.text=Anti-Mek Training:
InfantryWeaponView.chkAntiMek.tooltip=A unit with anti-mek training has a higher platoon tonnage due to special equipment.

CIMountView.colType=Creature Type
CIMountView.colType.tooltip=The common name of the creature
CIMountView.colSize=Creature Size
CIMountView.colSize.tooltip=The size class of the creature
CIMountView.colWeight=Weight
CIMountView.colWeight.tooltip=The weight of each creature in tons. This does not include any mounted soldiers.
CIMountView.colMP=MP (Type)
CIMountView.colMP.tooltip=The number of movement points and movement type.
CIMountView.colBonusDamage=Bonus vs. Infantry (Vehicles)
CIMountView.colBonusDamage.tooltip=Bonus damage against infantry or vehicles in the same hex.
CIMountView.colDivisor=Damage Divisor
CIMountView.colDivisor.tooltip=Reduces incoming damage like an infantry armor kit.
CIMountView.colTerrain=Terrain Restrictions
CIMountView.colTerrain.tooltip=The mounted infantry unit cannot enter restricted terrain.
CIMountView.1groundMP=1 Ground MP on Land
CIMountView.asSubmarines=As Submarines
CIMountView.asVTOL=As VTOLs
CIMountView.waterDepth.format=Water (Depth %d+)
CIMountView.txtMountName.text=Type:
CIMountView.txtMountName.tooltip=The name of the species used as a mount
CIMountView.cbSize.text=Size:
CIMountView.cbSize.tooltip=The mount's size class
CIMountView.txtWeight.text=Weight:
CIMountView.txtWeight.tooltip=The weight of a single creature in tons
CIMountView.spnMovementPoints.text=Movement Points
CIMountView.spnMovementPoints.tooltip=The mount's speed using its primary movment mode
CIMountView.cbMovementMode.text=Movement Mode:
CIMountView.cbMovementMode.tooltip=The mount's primary movement mode
CIMountView.spnInfantryBonus.text=Infantry Bonus (D6):
CIMountView.spnInfantryBonus.tooltip=The number of dice of additional damage dealt against a conventional infantry target in the same hex
CIMountView.spnVehicleBonus.text=Vehicle Bonus:
CIMountView.spnVehicleBonus.tooltip=The amount of additional damage done to a vehicle target in the same hex
CIMountView.spnDamageDivisor.text=Damage Divisor:
CIMountView.spnDamageDivisor.tooltip=The armor protection provided by the mount
CIMountView.spnSecondaryGround.text=Secondary Ground MP:
CIMountView.spnSecondaryGround.tooltip=Movement points when using ground movement
CIMountView.spnMaxWaterDepth.text=Max Water Depth:
CIMountView.spnMaxWaterDepth.tooltip=The maximum depth of water that the unit can enter
CIMountView.spnUWEndurance.text=Endurance:
CIMountView.spnUWEndurance.tooltip=The number of turns the mount can spend underwater

BAEnhancementView.chkPartialWing.text=Partial Wing
BAEnhancementView.chkPartialWing.tooltip=Increases jump MP when used in an atmosphere. IS tech base only.
BAEnhancementView.chkJumpBooster.text=Jump Booster
Expand Down
17 changes: 16 additions & 1 deletion megameklab/src/megameklab/printing/PrintInfantry.java
Original file line number Diff line number Diff line change
Expand Up @@ -190,9 +190,24 @@ private String generateNotesText(InfantryWeapon rangeWeapon) {
if (infantry.hasSpaceSuit()) {
sj.add("Can operate in vacuum.");
}
int burst = 0;
if (rangeWeapon.hasFlag(WeaponType.F_INF_BURST) ||
infantry.primaryWeaponDamageCapped()) {
sj.add("+1D6 damage vs. conventional infantry.");
burst = 1;
}
if (infantry.getMount() != null) {
burst += infantry.getMount().getBurstDamageDice();
}
if (burst > 0) {
sj.add(String.format("+%dD6 damage vs. conventional infantry.", burst));
}
if (infantry.getMount() != null) {
if (infantry.getMount().getVehicleDamage() > 0) {
sj.add(String.format("+%d damage vs. vehicles and 'Mechs", infantry.getMount().getVehicleDamage()));
}
if (infantry.getMount().getSize().toHitMod != 0) {
sj.add(String.format("%d attacker to-hit", infantry.getMount().getSize().toHitMod));
}
}
if (rangeWeapon.hasFlag(WeaponType.F_INF_NONPENETRATING)) {
sj.add("Can only damage conventional infantry units.");
Expand Down
Loading
Loading