Skip to content

Commit

Permalink
Merge pull request #1331 from MegaMek/beast_mounted_infantry
Browse files Browse the repository at this point in the history
Beast mounted infantry
  • Loading branch information
neoancient authored Nov 16, 2023
2 parents 2e67362 + 60ef87c commit 0cf702f
Show file tree
Hide file tree
Showing 5 changed files with 644 additions and 22 deletions.
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

0 comments on commit 0cf702f

Please sign in to comment.