Skip to content

Commit d9eb3ea

Browse files
committed
Allow salvage when contract >= 100%.
Conflicts: MekHQ/src/mekhq/gui/dialog/ResolveScenarioWizardDialog.java
1 parent 66d1a98 commit d9eb3ea

File tree

2 files changed

+23
-16
lines changed

2 files changed

+23
-16
lines changed

MekHQ/docs/history.txt

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ v0.46.0-SNAPSHOT
55
+ Issue #1224: Scenario templates no longer fail to generate forces when the 'use vehicles' AtB setting is turned off
66
+ Issue #1238: Fix bug where self crewed units could not be activated after being mothballed
77
+ PR #1239: Add GM Mothball/Activate to unit menu in hangar
8+
+ Issue #1240: Cannot Salvage at 100%
89

910
v0.46.0-rc.1 (2019-07-23 0300 UTC)
1011
+ PR #1163: Fix vast overvaluing of opfor BV in the briefing tab

MekHQ/src/mekhq/gui/dialog/ResolveScenarioWizardDialog.java

+22-16
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,7 @@ private void initComponents() {
407407
miaBtns.add(miaCheck);
408408
kiaCheck = new JCheckBox("");
409409
kiaBtns.add(kiaCheck);
410-
410+
411411
hitSlider = new JSlider(JSlider.HORIZONTAL, 0, 5, Math.min(status.getHits(),5));
412412
hitSlider.setMajorTickSpacing(1);
413413
hitSlider.setPaintTicks(true);
@@ -418,9 +418,12 @@ private void initComponents() {
418418
if(status.isMissing()) {
419419
miaCheck.setSelected(true);
420420
}
421+
422+
kiaCheck.addItemListener(new CheckBoxKIAListener(hitSlider, miaCheck, null));
421423
if(status.isDead()) {
422424
kiaCheck.setSelected(true);
423425
}
426+
424427
gridBagConstraints = new java.awt.GridBagConstraints();
425428
gridBagConstraints.gridx = 0;
426429
gridBagConstraints.gridy = i;
@@ -440,8 +443,6 @@ private void initComponents() {
440443
gridBagConstraints.weightx = 1.0;
441444
pnlPilotStatus.add(kiaCheck, gridBagConstraints);
442445
i++;
443-
444-
kiaCheck.addItemListener(new CheckBoxKIAListener(hitSlider, miaCheck, null));
445446
}
446447
pnlMain.add(pnlPilotStatus, PILOTPANEL);
447448

@@ -480,7 +481,7 @@ private void initComponents() {
480481
j++;
481482
prstatuses.add(status);
482483
nameLbl = new JLabel("<html>" + status.getName() + "<br><i> " + status.getUnitName() + "</i></html>");
483-
miaCheck = new JCheckBox("");
484+
484485
hitSlider = new JSlider(JSlider.HORIZONTAL, 0, 5, Math.min(status.getHits(),5));
485486
hitSlider.setMajorTickSpacing(1);
486487
hitSlider.setPaintTicks(true);
@@ -492,7 +493,7 @@ private void initComponents() {
492493
hitSlider.setEnabled(false);
493494
}
494495
pr_hitSliders.add(hitSlider);
495-
miaCheck.setSelected(status.isMissing());
496+
496497
gridBagConstraints = new java.awt.GridBagConstraints();
497498
gridBagConstraints.gridx = 0;
498499
gridBagConstraints.gridy = i;
@@ -522,9 +523,9 @@ private void initComponents() {
522523
gridBagConstraints.weightx = 1.0;
523524
pnlPrisonerStatus.add(btnViewPrisoner, gridBagConstraints);
524525
i++;
525-
526+
526527
kiaCheck.addItemListener(new CheckBoxKIAListener(hitSlider, prisonerCheck, btnViewPrisoner));
527-
528+
528529
// if the person is dead, set the checkbox and skip all this captured stuff
529530
if(status.getHits() > 5 || status.isDead()) {
530531
kiaCheck.setSelected(true);
@@ -1220,21 +1221,23 @@ private void finish() {
12201221
//now personnel
12211222
for(int i = 0; i < pstatuses.size(); i++) {
12221223
PersonStatus status = pstatuses.get(i);
1223-
status.setMissing(miaBtns.get(i).isSelected());
1224-
status.setDead(kiaBtns.get(i).isSelected());
1224+
12251225
if (hitSliders.get(i).isEnabled()) {
12261226
status.setHits(hitSliders.get(i).getValue());
12271227
}
1228+
status.setMissing(miaBtns.get(i).isSelected());
1229+
status.setDead(kiaBtns.get(i).isSelected());
12281230
}
12291231

12301232
//now prisoners
12311233
for(int i = 0; i < prstatuses.size(); i++) {
12321234
PrisonerStatus status = prstatuses.get(i);
1233-
status.setDead(prisonerKiaBtns.get(i).isSelected());
1235+
12341236
if (pr_hitSliders.get(i).isEnabled()) {
12351237
status.setHits(pr_hitSliders.get(i).getValue());
12361238
}
12371239
status.setCaptured(prisonerBtns.get(i).isSelected());
1240+
status.setDead(prisonerKiaBtns.get(i).isSelected());
12381241
}
12391242

12401243
//now salvage
@@ -1354,7 +1357,10 @@ private void checkSalvageRights() {
13541357
}
13551358

13561359
for(JCheckBox box : salvageBoxes) {
1357-
if(!box.isSelected() && currentSalvagePct >= maxSalvagePct) {
1360+
1361+
if(!box.isSelected() && currentSalvagePct >= maxSalvagePct
1362+
// always eligible with 100% salvage rights even when current == max
1363+
&& maxSalvagePct < 100) {
13581364
box.setEnabled(false);
13591365
} else {
13601366
box.setEnabled(true);
@@ -1561,26 +1567,26 @@ private class CheckBoxKIAListener implements ItemListener {
15611567
private JSlider slider;
15621568
private JCheckBox checkbox;
15631569
private JButton button;
1564-
1570+
15651571
public CheckBoxKIAListener(JSlider slider, JCheckBox checkBox, JButton button) {
15661572
this.slider = slider;
15671573
this.checkbox = checkBox;
15681574
this.button = button;
15691575
}
1570-
1576+
15711577
@Override
15721578
public void itemStateChanged(ItemEvent e) {
15731579
JCheckBox kiaChk = (JCheckBox)e.getSource();
15741580
boolean enable = !kiaChk.isSelected();
1575-
1581+
15761582
if(slider != null) {
15771583
slider.setEnabled(enable);
15781584
}
1579-
1585+
15801586
if(checkbox != null) {
15811587
checkbox.setEnabled(enable);
15821588
}
1583-
1589+
15841590
if(button != null) {
15851591
button.setEnabled(enable);
15861592
}

0 commit comments

Comments
 (0)