@@ -102,6 +102,7 @@ public class GeneralTab {
102
102
private MMComboBox <UnitRatingMethod > unitRatingMethodCombo ;
103
103
private JLabel lblManualUnitRatingModifier ;
104
104
private JSpinner manualUnitRatingModifier ;
105
+ private JCheckBox chkResetCriminalRecord ;
105
106
private JCheckBox chkClampReputationPayMultiplier ;
106
107
private JCheckBox chkReduceReputationPerformanceModifier ;
107
108
private JCheckBox chkReputationPerformanceModifierCutOff ;
@@ -198,6 +199,7 @@ public AbstractMHQScrollablePanel createGeneralTab() {
198
199
resources .getString ("lblReputation.tooltip" )));
199
200
lblManualUnitRatingModifier = new CampaignOptionsLabel ("ManualUnitRatingModifier" );
200
201
manualUnitRatingModifier = new CampaignOptionsSpinner ("ManualUnitRatingModifier" , 0 , -1000 , 1000 , 1 );
202
+ chkResetCriminalRecord = new CampaignOptionsCheckBox ("ResetCriminalRecord" );
201
203
chkClampReputationPayMultiplier = new CampaignOptionsCheckBox ("ClampReputationPayMultiplier" );
202
204
chkReduceReputationPerformanceModifier = new CampaignOptionsCheckBox ("ReduceReputationPerformanceModifier" );
203
205
chkReputationPerformanceModifierCutOff = new CampaignOptionsCheckBox ("ReputationPerformanceModifierCutOff" );
@@ -273,6 +275,8 @@ public AbstractMHQScrollablePanel createGeneralTab() {
273
275
panel .add (manualUnitRatingModifier , layout );
274
276
layout .gridy ++;
275
277
layout .gridwidth = 3 ;
278
+ panel .add (chkResetCriminalRecord , layout );
279
+ layout .gridy ++;
276
280
panel .add (chkClampReputationPayMultiplier , layout );
277
281
layout .gridy ++;
278
282
panel .add (chkReduceReputationPerformanceModifier , layout );
@@ -366,6 +370,7 @@ private void initialize() {
366
370
lblManualUnitRatingModifier = new JLabel ();
367
371
manualUnitRatingModifier = new JSpinner ();
368
372
373
+ chkResetCriminalRecord = new JCheckBox ();
369
374
chkClampReputationPayMultiplier = new JCheckBox ();
370
375
chkReduceReputationPerformanceModifier = new JCheckBox ();
371
376
chkReputationPerformanceModifierCutOff = new JCheckBox ();
@@ -546,7 +551,7 @@ public void loadValuesFromCampaignOptions() {
546
551
* the campaign's default faction is used.
547
552
*/
548
553
public void loadValuesFromCampaignOptions (@ Nullable CampaignOptions presetCampaignOptions ,
549
- @ Nullable LocalDate presetDate , @ Nullable Faction presetFaction ) {
554
+ @ Nullable LocalDate presetDate , @ Nullable Faction presetFaction ) {
550
555
CampaignOptions options = presetCampaignOptions ;
551
556
if (presetCampaignOptions == null ) {
552
557
options = this .campaignOptions ;
@@ -587,7 +592,7 @@ public void loadValuesFromCampaignOptions(@Nullable CampaignOptions presetCampai
587
592
* @param isSaveAction A boolean indicating if this is a save action.
588
593
*/
589
594
public void applyCampaignOptionsToCampaign (@ Nullable CampaignOptions presetCampaignOptions , boolean isStartUp ,
590
- boolean isSaveAction ) {
595
+ boolean isSaveAction ) {
591
596
// First, we apply any updates to the campaign
592
597
if (!isSaveAction ) {
593
598
campaign .setName (txtName .getText ());
@@ -622,6 +627,13 @@ public void applyCampaignOptionsToCampaign(@Nullable CampaignOptions presetCampa
622
627
623
628
options .setUnitRatingMethod (unitRatingMethodCombo .getSelectedItem ());
624
629
options .setManualUnitRatingModifier ((int ) manualUnitRatingModifier .getValue ());
630
+
631
+ if (chkResetCriminalRecord .isSelected ()) {
632
+ campaign .setDateOfLastCrime (null );
633
+ campaign .setCrimeRating (0 );
634
+ campaign .setCrimePirateModifier (0 );
635
+ }
636
+
625
637
options .setClampReputationPayMultiplier (chkClampReputationPayMultiplier .isSelected ());
626
638
options .setReduceReputationPerformanceModifier (chkReduceReputationPerformanceModifier .isSelected ());
627
639
options .setReputationPerformanceModifierCutOff (chkReputationPerformanceModifierCutOff .isSelected ());
0 commit comments