Skip to content

Commit

Permalink
Merge pull request #5407 from Scoppio/ac-autoresolve
Browse files Browse the repository at this point in the history
chore: following naming convention inside the I18n class
  • Loading branch information
IllianiCBT authored Dec 17, 2024
2 parents f11207b + d477005 commit 927c3d8
Show file tree
Hide file tree
Showing 9 changed files with 119 additions and 140 deletions.
26 changes: 13 additions & 13 deletions MekHQ/src/mekhq/MekHQ.java
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@
import mekhq.gui.utilities.ObservableString;
import mekhq.service.AutosaveService;
import mekhq.service.IAutosaveService;
import mekhq.utilities.I18n;
import mekhq.utilities.Internationalization;
import org.apache.commons.lang3.time.StopWatch;

import javax.swing.*;
Expand Down Expand Up @@ -538,8 +538,8 @@ public void gameVictory(PostGameResolution gve) {

try {
boolean control = yourSideControlsTheBattlefieldDialogAsk(
I18n.t("ResolveDialog.control.message"),
I18n.t("ResolveDialog.control.title"));
Internationalization.getText("ResolveDialog.control.message"),
Internationalization.getText("ResolveDialog.control.title"));
ResolveScenarioTracker tracker = new ResolveScenarioTracker(currentScenario, getCampaign(), control);
tracker.setClient(gameThread.getClient());
tracker.setEvent(gve);
Expand Down Expand Up @@ -570,8 +570,8 @@ public void resolveScenario(Scenario selectedScenario) {
return;
}
boolean control = yourSideControlsTheBattlefieldDialogAsk(
I18n.t("ResolveDialog.control.message"),
I18n.t("ResolveDialog.control.title"));
Internationalization.getText("ResolveDialog.control.message"),
Internationalization.getText("ResolveDialog.control.title"));

ResolveScenarioTracker tracker = new ResolveScenarioTracker(selectedScenario, getCampaign(), control);

Expand Down Expand Up @@ -645,7 +645,7 @@ public IconPackage getIconPackage() {
* @param units The list of player units involved in the scenario
*/
public void startAutoResolve(AtBScenario scenario, List<Unit> units) {
String message = I18n.t("AutoResolveDialog.message");
String message = Internationalization.getText("AutoResolveDialog.message");

var numberOfSimulations = NUMBER_OF_COMBAT_SIMULATIONS;
if (getCampaign().getCampaignOptions().isAutoResolveVictoryChanceEnabled()) {
Expand All @@ -654,7 +654,7 @@ public void startAutoResolve(AtBScenario scenario, List<Unit> units) {
var simulatedVictories = calculateNumberOfVictories(numberOfSimulations, scenario, units);
stopWatch.stop();
if (simulatedVictories.getRuns() == 0 && simulatedVictories.getRuns() < numberOfSimulations) {
message = I18n.t("AutoResolveDialog.messageFailedCalc");
message = Internationalization.getText("AutoResolveDialog.messageFailedCalc");
logger.debug("No combat scenarios were simulated, possible error!");
} else {
var timePerRun = stopWatch.getTime() / (numberOfSimulations / Runtime.getRuntime().availableProcessors());
Expand All @@ -666,7 +666,7 @@ public void startAutoResolve(AtBScenario scenario, List<Unit> units) {
timePerRun,
stopWatch.toString());

message = I18n.ft("AutoResolveDialog.messageSimulated",
message = Internationalization.getFormattedText("AutoResolveDialog.messageSimulated",
simulatedVictories.getRuns(),
simulatedVictories.getVictories(),
simulatedVictories.getLosses(),
Expand All @@ -675,7 +675,7 @@ public void startAutoResolve(AtBScenario scenario, List<Unit> units) {
}
}

String title = I18n.t("AutoResolveDialog.title");
String title = Internationalization.getText("AutoResolveDialog.title");
boolean proceed = JOptionPane.showConfirmDialog(campaignGUI.getFrame(),
message, title,
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION;
Expand All @@ -694,11 +694,11 @@ public void startAutoResolve(AtBScenario scenario, List<Unit> units) {
public void autoResolveConcluded(AutoResolveConcludedEvent autoResolveConcludedEvent) {
try {
String message = autoResolveConcludedEvent.controlledScenario() ?
I18n.t("AutoResolveDialog.message.victory") :
I18n.t("AutoResolveDialog.message.defeat");
Internationalization.getText("AutoResolveDialog.message.victory") :
Internationalization.getText("AutoResolveDialog.message.defeat");
String title = autoResolveConcludedEvent.controlledScenario() ?
I18n.t("AutoResolveDialog.victory") :
I18n.t("AutoResolveDialog.defeat");
Internationalization.getText("AutoResolveDialog.victory") :
Internationalization.getText("AutoResolveDialog.defeat");
boolean control = yourSideControlsTheBattlefieldDialogAsk(message, title);
var scenario = autoResolveConcludedEvent.getScenario();

Expand Down
6 changes: 3 additions & 3 deletions MekHQ/src/mekhq/campaign/autoresolve/AutoResolveMethod.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
package mekhq.campaign.autoresolve;


import mekhq.utilities.I18n;
import mekhq.utilities.Internationalization;

import java.util.Optional;

Expand All @@ -34,8 +34,8 @@ public enum AutoResolveMethod {
private final String toolTipText;

AutoResolveMethod(final String name, final String toolTipText) {
this.name = I18n.t("AutoResolveMethod", name);
this.toolTipText = I18n.t("AutoResolveMethod", toolTipText);
this.name = Internationalization.getTextAt("AutoResolveMethod", name);
this.toolTipText = Internationalization.getTextAt("AutoResolveMethod", toolTipText);
}

public String getToolTipText() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
import megamek.common.strategicBattleSystems.SBFUnit;
import mekhq.campaign.autoresolve.acar.SimulationContext;
import mekhq.campaign.autoresolve.component.Formation;
import mekhq.utilities.I18n;
import mekhq.utilities.Internationalization;

import java.util.List;

Expand All @@ -36,12 +36,12 @@ public AttackToHitData(int value, String desc) {

public static AttackToHitData compileToHit(SimulationContext game, StandardUnitAttack attack) {
if (!attack.isDataValid(game)) {
return new AttackToHitData(TargetRoll.IMPOSSIBLE, I18n.t("acar.invalid_attack"));
return new AttackToHitData(TargetRoll.IMPOSSIBLE, Internationalization.getText("acar.invalid_attack"));
}

var attackingFormation = game.getFormation(attack.getEntityId()).orElseThrow();
var unit = attackingFormation.getUnits().get(attack.getUnitNumber());
var toHit = new AttackToHitData(attackingFormation.getSkill(), I18n.t("acar.skill"));
var toHit = new AttackToHitData(attackingFormation.getSkill(), Internationalization.getText("acar.skill"));

processCriticalDamage(toHit, attackingFormation, attack);
processRange(toHit, attack);
Expand All @@ -56,68 +56,68 @@ public static AttackToHitData compileToHit(SimulationContext game, StandardUnitA
private static void processCriticalDamage(AttackToHitData toHit, Formation formation, StandardUnitAttack attack) {
SBFUnit combatUnit = formation.getUnits().get(attack.getUnitNumber());
if (combatUnit.getTargetingCrits() > 0) {
toHit.addModifier(combatUnit.getTargetingCrits(), I18n.t("acar.critical_target_damage"));
toHit.addModifier(combatUnit.getTargetingCrits(), Internationalization.getText("acar.critical_target_damage"));
}
}

private static void processCombatUnit(AttackToHitData toHit, SBFUnit unit) {
switch (unit.getSkill()) {
case 7 -> toHit.addModifier(+4, I18n.t("acar.skill_7"));
case 6 -> toHit.addModifier(+3, I18n.t("acar.skill_6"));
case 5 -> toHit.addModifier(+2, I18n.t("acar.skill_5"));
case 4 -> toHit.addModifier(+1, I18n.t("acar.skill_4"));
case 3 -> toHit.addModifier(0, I18n.t("acar.skill_3"));
case 2 -> toHit.addModifier(-1, I18n.t("acar.skill_2"));
case 1 -> toHit.addModifier(-2, I18n.t("acar.skill_1"));
case 0 -> toHit.addModifier(-3, I18n.t("acar.skill_0"));
default -> toHit.addModifier(TargetRoll.IMPOSSIBLE, I18n.t("acar.invalid_skill"));
case 7 -> toHit.addModifier(+4, Internationalization.getText("acar.skill_7"));
case 6 -> toHit.addModifier(+3, Internationalization.getText("acar.skill_6"));
case 5 -> toHit.addModifier(+2, Internationalization.getText("acar.skill_5"));
case 4 -> toHit.addModifier(+1, Internationalization.getText("acar.skill_4"));
case 3 -> toHit.addModifier(0, Internationalization.getText("acar.skill_3"));
case 2 -> toHit.addModifier(-1, Internationalization.getText("acar.skill_2"));
case 1 -> toHit.addModifier(-2, Internationalization.getText("acar.skill_1"));
case 0 -> toHit.addModifier(-3, Internationalization.getText("acar.skill_0"));
default -> toHit.addModifier(TargetRoll.IMPOSSIBLE, Internationalization.getText("acar.invalid_skill"));
}
}

private static void processRange(AttackToHitData toHit, StandardUnitAttack attack) {
var range = attack.getRange();
switch (range) {
case SHORT -> toHit.addModifier(-1, I18n.t( "acar.short_range"));
case MEDIUM -> toHit.addModifier(+2, I18n.t("acar.medium_range"));
case LONG -> toHit.addModifier(+4, I18n.t("acar.long_range"));
case EXTREME -> toHit.addModifier(TargetRoll.IMPOSSIBLE, I18n.t( "acar.extreme_range"));
case SHORT -> toHit.addModifier(-1, Internationalization.getText( "acar.short_range"));
case MEDIUM -> toHit.addModifier(+2, Internationalization.getText("acar.medium_range"));
case LONG -> toHit.addModifier(+4, Internationalization.getText("acar.long_range"));
case EXTREME -> toHit.addModifier(TargetRoll.IMPOSSIBLE, Internationalization.getText( "acar.extreme_range"));
}
}

private static void processTMM(AttackToHitData toHit, SimulationContext game, StandardUnitAttack attack) {
var target = game.getFormation(attack.getTargetId()).orElseThrow();
if (target.getTmm() > 0) {
toHit.addModifier(target.getTmm(), I18n.t( "acar.TMM"));
toHit.addModifier(target.getTmm(), Internationalization.getText( "acar.TMM"));
}
}

private static void processJUMP(AttackToHitData toHit, SimulationContext game, StandardUnitAttack attack) {
var attacker = game.getFormation(attack.getEntityId()).orElseThrow();
var target = game.getFormation(attack.getTargetId()).orElseThrow();
if (attacker.getJumpUsedThisTurn() > 0) {
toHit.addModifier(attacker.getJumpUsedThisTurn(), I18n.t("acar.attacker_JUMP"));
toHit.addModifier(attacker.getJumpUsedThisTurn(), Internationalization.getText("acar.attacker_JUMP"));
}
if (target.getJumpUsedThisTurn() > 0) {
toHit.addModifier(attacker.getJumpUsedThisTurn(), I18n.t("acar.target_JUMP"));
toHit.addModifier(attacker.getJumpUsedThisTurn(), Internationalization.getText("acar.target_JUMP"));
}
}

private static void processMorale(AttackToHitData toHit, SimulationContext game, StandardUnitAttack attack) {
var target = game.getFormation(attack.getTargetId()).orElseThrow();
switch (target.moraleStatus()) {
case SHAKEN -> toHit.addModifier(1, I18n.t("acar.shaken"));
case UNSTEADY -> toHit.addModifier(2, I18n.t("acar.unsteady"));
case BROKEN -> toHit.addModifier(3, I18n.t("acar.broken"));
case ROUTED -> toHit.addModifier(4, I18n.t("acar.routed"));
case SHAKEN -> toHit.addModifier(1, Internationalization.getText("acar.shaken"));
case UNSTEADY -> toHit.addModifier(2, Internationalization.getText("acar.unsteady"));
case BROKEN -> toHit.addModifier(3, Internationalization.getText("acar.broken"));
case ROUTED -> toHit.addModifier(4, Internationalization.getText("acar.routed"));
}
}

private static void processSecondaryTarget(AttackToHitData toHit, SimulationContext game, StandardUnitAttack attack) {
var attacker = game.getFormation(attack.getEntityId()).orElseThrow();
if (targetsOfFormation(attacker, game).size() > 2) {
toHit.addModifier(TargetRoll.IMPOSSIBLE, I18n.t("acar.more_than_two_targets"));
toHit.addModifier(TargetRoll.IMPOSSIBLE, Internationalization.getText("acar.more_than_two_targets"));
} else if (targetsOfFormation(attacker, game).size() == 2) {
toHit.addModifier(+1, I18n.t("acar.two_targets"));
toHit.addModifier(+1, Internationalization.getText("acar.two_targets"));
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
import megamek.common.TargetRoll;
import mekhq.campaign.autoresolve.acar.SimulationContext;
import mekhq.campaign.autoresolve.component.Formation;
import mekhq.utilities.I18n;
import mekhq.utilities.Internationalization;

public class EngagementControlToHitData extends TargetRoll {

Expand All @@ -32,15 +32,15 @@ public EngagementControlToHitData(int value, String desc) {

public static EngagementControlToHitData compileToHit(SimulationContext game, EngagementControlAction engagementControl) {
if (engagementControl.isInvalid(game)) {
return new EngagementControlToHitData(TargetRoll.IMPOSSIBLE, I18n.t("acar.invalid_engagement_control"));
return new EngagementControlToHitData(TargetRoll.IMPOSSIBLE, Internationalization.getText("acar.invalid_engagement_control"));
}
var attackingFormationOpt = game.getFormation(engagementControl.getEntityId());
if (attackingFormationOpt.isEmpty()) {
return new EngagementControlToHitData(TargetRoll.IMPOSSIBLE, I18n.t("acar.invalid_attacking_formation"));
return new EngagementControlToHitData(TargetRoll.IMPOSSIBLE, Internationalization.getText("acar.invalid_attacking_formation"));
}

var attackingFormation = attackingFormationOpt.get();
var toHit = new EngagementControlToHitData(attackingFormation.getTactics(), I18n.t("acar.formation_tactics"));
var toHit = new EngagementControlToHitData(attackingFormation.getTactics(), Internationalization.getText("acar.formation_tactics"));
processFormationModifiers(toHit, game, engagementControl);
processMorale(toHit, game, engagementControl);
processEngagementAndControlChosen(toHit, game, engagementControl);
Expand All @@ -53,10 +53,10 @@ private static void processEngagementAndControlChosen(
EngagementControlToHitData toHit, SimulationContext game, EngagementControlAction engagementControl) {
switch (engagementControl.getEngagementControl()) {
case FORCED_ENGAGEMENT:
toHit.addModifier(-3, I18n.t("acar.force_engagement"));
toHit.addModifier(-3, Internationalization.getText("acar.force_engagement"));
break;
case EVADE:
toHit.addModifier(-3, I18n.t("acar.evade"));
toHit.addModifier(-3, Internationalization.getText("acar.evade"));
break;
case OVERRUN:
processSizeDifference(toHit, game, engagementControl);
Expand All @@ -68,14 +68,14 @@ private static void processEngagementAndControlChosen(

private static void processPlayerSkill(EngagementControlToHitData toHit, SimulationContext game, Formation formation) {
switch (game.getPlayerSkill(formation.getOwnerId())) {
case NONE -> toHit.addModifier(4, I18n.t("acar.skill_7"));
case ULTRA_GREEN -> toHit.addModifier(3, I18n.t("acar.skill_6"));
case GREEN -> toHit.addModifier(2, I18n.t("acar.skill_5"));
case REGULAR -> toHit.addModifier(1, I18n.t("acar.skill_4"));
case VETERAN -> toHit.addModifier(0, I18n.t("acar.skill_3"));
case ELITE -> toHit.addModifier(-1, I18n.t("acar.skill_2"));
case HEROIC -> toHit.addModifier(-2, I18n.t("acar.skill_1"));
case LEGENDARY -> toHit.addModifier(-3, I18n.t("acar.skill_0"));
case NONE -> toHit.addModifier(4, Internationalization.getText("acar.skill_7"));
case ULTRA_GREEN -> toHit.addModifier(3, Internationalization.getText("acar.skill_6"));
case GREEN -> toHit.addModifier(2, Internationalization.getText("acar.skill_5"));
case REGULAR -> toHit.addModifier(1, Internationalization.getText("acar.skill_4"));
case VETERAN -> toHit.addModifier(0, Internationalization.getText("acar.skill_3"));
case ELITE -> toHit.addModifier(-1, Internationalization.getText("acar.skill_2"));
case HEROIC -> toHit.addModifier(-2, Internationalization.getText("acar.skill_1"));
case LEGENDARY -> toHit.addModifier(-3, Internationalization.getText("acar.skill_0"));
}
}

Expand All @@ -91,10 +91,10 @@ private static void processFormationModifiers(
var formationIsVehicleOnly = formation.isVehicle();

if (formationIsInfantryOnly) {
toHit.addModifier(2, I18n.t("acar.formation_is_infantry_only"));
toHit.addModifier(2, Internationalization.getText("acar.formation_is_infantry_only"));
}
if (formationIsVehicleOnly) {
toHit.addModifier(1, I18n.t("acar.formation_is_vehicle_only"));
toHit.addModifier(1, Internationalization.getText("acar.formation_is_vehicle_only"));
}
}

Expand All @@ -106,7 +106,7 @@ private static void processSizeDifference(
return;
}
int sizeDifference = attackerOpt.get().getSize() - targetOpt.get().getSize();
toHit.addModifier(sizeDifference, I18n.t("acar.size_difference"));
toHit.addModifier(sizeDifference, Internationalization.getText("acar.size_difference"));
}

private static void processMorale(EngagementControlToHitData toHit, SimulationContext game, EngagementControlAction engagementControl) {
Expand All @@ -115,10 +115,10 @@ private static void processMorale(EngagementControlToHitData toHit, SimulationCo
return;
}
switch (targetOpt.get().moraleStatus()) {
case SHAKEN -> toHit.addModifier(+1, I18n.t("acar.shaken_morale"));
case UNSTEADY -> toHit.addModifier(+2, I18n.t("acar.unsteady_morale"));
case BROKEN -> toHit.addModifier(+3, I18n.t("acar.broken_morale"));
case ROUTED -> toHit.addModifier(TargetRoll.AUTOMATIC_FAIL, I18n.t("acar.routed_morale"));
case SHAKEN -> toHit.addModifier(+1, Internationalization.getText("acar.shaken_morale"));
case UNSTEADY -> toHit.addModifier(+2, Internationalization.getText("acar.unsteady_morale"));
case BROKEN -> toHit.addModifier(+3, Internationalization.getText("acar.broken_morale"));
case ROUTED -> toHit.addModifier(TargetRoll.AUTOMATIC_FAIL, Internationalization.getText("acar.routed_morale"));
}
}
}
Loading

0 comments on commit 927c3d8

Please sign in to comment.