diff --git a/MekHQ/src/mekhq/campaign/io/CampaignXmlParser.java b/MekHQ/src/mekhq/campaign/io/CampaignXmlParser.java index 309dc39d00a..c90df5ff939 100644 --- a/MekHQ/src/mekhq/campaign/io/CampaignXmlParser.java +++ b/MekHQ/src/mekhq/campaign/io/CampaignXmlParser.java @@ -442,6 +442,7 @@ public Campaign parse() throws CampaignXmlParseException, NullEntityException { person, refundAllDeprecatedSkills); skipAllDeprecationChecks = deprecationTool.isSkipAll(); + refundAllDeprecatedSkills = deprecationTool.isRefundAll(); } } diff --git a/MekHQ/src/mekhq/campaign/personnel/SkillDeprecationTool.java b/MekHQ/src/mekhq/campaign/personnel/SkillDeprecationTool.java index 92a3f4a15f2..e7fefa8032b 100644 --- a/MekHQ/src/mekhq/campaign/personnel/SkillDeprecationTool.java +++ b/MekHQ/src/mekhq/campaign/personnel/SkillDeprecationTool.java @@ -52,6 +52,7 @@ public class SkillDeprecationTool { private final String RESOURCE_BUNDLE = "mekhq.resources." + getClass().getSimpleName(); private final int SKIP_ALL_DIALOG_OPTION_INDEX = 1; + private final int REFUND_DIALOG_OPTION_INDEX = 2; private final int REFUND_ALL_DIALOG_OPTION_INDEX = 3; /** * A list of deprecated skills. @@ -179,14 +180,16 @@ private void triggerDialog(final Skills skills, final String skillName, final in getButtonLabels(), getOutOfCharacterMessage(skillName, refundValue), null, - true); - } + false); - if (dialog != null && dialog.getDialogChoice() == SKIP_ALL_DIALOG_OPTION_INDEX) { - skipAll = true; + if (dialog.getDialogChoice() == SKIP_ALL_DIALOG_OPTION_INDEX) { + skipAll = true; + } else if (dialog.getDialogChoice() == REFUND_ALL_DIALOG_OPTION_INDEX) { + refundAll = true; + } } - if (isRefundAll() || (dialog != null && dialog.getDialogChoice() == REFUND_ALL_DIALOG_OPTION_INDEX)) { + if (isRefundAll() || (dialog != null && dialog.getDialogChoice() == REFUND_DIALOG_OPTION_INDEX)) { skills.removeSkill(skillName); int currentXp = person.getXP(); // We use 'setXPDirect' here as the xp gain has already been factored into the tracking of xp gain, so we