52
52
import mekhq .campaign .personnel .PersonnelOptions ;
53
53
import mekhq .campaign .personnel .enums .GenderDescriptors ;
54
54
import mekhq .campaign .personnel .skills .SkillType ;
55
+ import mekhq .campaign .personnel .skills .enums .SkillAttribute ;
55
56
import mekhq .campaign .randomEvents .personalities .enums .Aggression ;
56
57
import mekhq .campaign .randomEvents .personalities .enums .Ambition ;
57
58
import mekhq .campaign .randomEvents .personalities .enums .Greed ;
@@ -144,7 +145,14 @@ public enum PersonnelTableModelColumn {
144
145
AMBITION ("PersonnelTableModelColumn.AMBITION.text" ),
145
146
GREED ("PersonnelTableModelColumn.GREED.text" ),
146
147
SOCIAL ("PersonnelTableModelColumn.SOCIAL.text" ),
147
- REASONING ("PersonnelTableModelColumn.REASONING.text" );
148
+ REASONING ("PersonnelTableModelColumn.REASONING.text" ),
149
+ STRENGTH ("PersonnelTableModelColumn.STRENGTH.text" ),
150
+ BODY ("PersonnelTableModelColumn.BODY.text" ),
151
+ REFLEXES ("PersonnelTableModelColumn.REFLEXES.text" ),
152
+ DEXTERITY ("PersonnelTableModelColumn.DEXTERITY.text" ),
153
+ INTELLIGENCE ("PersonnelTableModelColumn.INTELLIGENCE.text" ),
154
+ WILLPOWER ("PersonnelTableModelColumn.WILLPOWER.text" ),
155
+ CHARISMA ("PersonnelTableModelColumn.CHARISMA.text" );
148
156
149
157
// endregion Enum Declarations
150
158
@@ -464,6 +472,8 @@ public boolean isSocial() {
464
472
}
465
473
466
474
/**
475
+ * When this is removed {@link #isATOWIntelligence()} should be renamed to just 'isIntelligence()'
476
+ *
467
477
* @deprecated replaced by {@link #isReasoning()}
468
478
*/
469
479
@ Deprecated (since = "0.50.05" , forRemoval = true )
@@ -475,6 +485,45 @@ public boolean isReasoning() {
475
485
return this == REASONING ;
476
486
}
477
487
488
+ public boolean isStrength () {
489
+ return this == STRENGTH ;
490
+ }
491
+
492
+ public boolean isBody () {
493
+ return this == BODY ;
494
+ }
495
+
496
+ public boolean isReflexes () {
497
+ return this == REFLEXES ;
498
+ }
499
+
500
+ public boolean isDexterity () {
501
+ return this == DEXTERITY ;
502
+ }
503
+
504
+ public boolean isATOWIntelligence () {
505
+ return this == INTELLIGENCE ;
506
+ }
507
+
508
+ public boolean isWillpower () {
509
+ return this == WILLPOWER ;
510
+ }
511
+
512
+ public boolean isCharisma () {
513
+ return this == CHARISMA ;
514
+ }
515
+
516
+ public boolean isATOWAttribute () {
517
+ return isStrength () ||
518
+ isBody () ||
519
+ isReflexes () ||
520
+ isDexterity () ||
521
+ isATOWIntelligence () ||
522
+ isWillpower () ||
523
+ isCharisma ();
524
+ }
525
+
526
+
478
527
public boolean isPersonality () {
479
528
return isAggression () || isAmbition () || isGreed () || isSocial () || isReasoning ();
480
529
}
@@ -845,6 +894,20 @@ public String getCellValue(final Campaign campaign, final PersonnelMarket person
845
894
Reasoning reasoning = person .getReasoning ();
846
895
847
896
return String .valueOf (reasoning .ordinal ());
897
+ case STRENGTH :
898
+ return String .valueOf (person .getAttributeScore (SkillAttribute .STRENGTH ));
899
+ case BODY :
900
+ return String .valueOf (person .getAttributeScore (SkillAttribute .BODY ));
901
+ case REFLEXES :
902
+ return String .valueOf (person .getAttributeScore (SkillAttribute .REFLEXES ));
903
+ case DEXTERITY :
904
+ return String .valueOf (person .getAttributeScore (SkillAttribute .DEXTERITY ));
905
+ case INTELLIGENCE :
906
+ return String .valueOf (person .getAttributeScore (SkillAttribute .INTELLIGENCE ));
907
+ case WILLPOWER :
908
+ return String .valueOf (person .getAttributeScore (SkillAttribute .WILLPOWER ));
909
+ case CHARISMA :
910
+ return String .valueOf (person .getAttributeScore (SkillAttribute .CHARISMA ));
848
911
default :
849
912
return "UNIMPLEMENTED" ;
850
913
}
@@ -1026,6 +1089,19 @@ yield switch (this) {
1026
1089
case EDGE -> campaign .getCampaignOptions ().isUseEdge ();
1027
1090
default -> false ;
1028
1091
};
1092
+ case ATTRIBUTES -> switch (this ) {
1093
+ case RANK ,
1094
+ FIRST_NAME ,
1095
+ LAST_NAME ,
1096
+ STRENGTH ,
1097
+ BODY ,
1098
+ REFLEXES ,
1099
+ DEXTERITY ,
1100
+ INTELLIGENCE ,
1101
+ WILLPOWER ,
1102
+ CHARISMA -> true ;
1103
+ default -> false ;
1104
+ };
1029
1105
case OTHER -> switch (this ) {
1030
1106
case RANK , FIRST_NAME , LAST_NAME -> true ;
1031
1107
case TOUGHNESS -> campaign .getCampaignOptions ().isUseToughness ();
@@ -1080,7 +1156,14 @@ public Comparator<?> getComparator(final Campaign campaign) {
1080
1156
SPA_COUNT ,
1081
1157
IMPLANT_COUNT ,
1082
1158
LOYALTY ,
1083
- REASONING -> new IntegerStringSorter ();
1159
+ REASONING ,
1160
+ STRENGTH ,
1161
+ BODY ,
1162
+ REFLEXES ,
1163
+ DEXTERITY ,
1164
+ INTELLIGENCE ,
1165
+ WILLPOWER ,
1166
+ CHARISMA -> new IntegerStringSorter ();
1084
1167
case SALARY -> new FormattedNumberSorter ();
1085
1168
default -> new NaturalOrderComparator ();
1086
1169
};
0 commit comments