Skip to content

Commit 3708261

Browse files
authored
Merge pull request #4151 from IllianiCBT/vehicleGunnerSkillLevel
Updated Vehicle Gunner's Experience Level Calculation to Optionally Include Artillery Skill
2 parents e45d4a5 + 41de96b commit 3708261

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

Diff for: MekHQ/resources/mekhq/resources/CampaignOptionsDialog.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ chkUseInitiativeBonus.toolTipText=Give each pilot an individual initiative bonus
223223
chkUseToughness.text=Use Toughness
224224
chkUseToughness.toolTipText=Give each pilot a toughness bonus to KO checks
225225
chkUseArtillery.text=Use Artillery Skill
226-
chkUseArtillery.toolTipText=Give each pilot an artillery skill which is separate from the gunnery skill
226+
chkUseArtillery.toolTipText=Give each pilot an artillery skill which is separate from the gunnery skill. For vehicle gunners, experience level is based on Gunnery/Vehicle or Artillery (whichever is better).
227227
chkUseAbilities.text=Allow Special Abilities
228228
chkUseAbilities.toolTipText=Allow personnel to have special abilities
229229
chkUseEdge.text=Use Edge

Diff for: MekHQ/src/mekhq/campaign/personnel/Person.java

+13-1
Original file line numberDiff line numberDiff line change
@@ -2577,7 +2577,19 @@ public int getExperienceLevel(final Campaign campaign, final boolean secondary)
25772577
case VTOL_PILOT:
25782578
return hasSkill(SkillType.S_PILOT_VTOL) ? getSkill(SkillType.S_PILOT_VTOL).getExperienceLevel() : SkillType.EXP_NONE;
25792579
case VEHICLE_GUNNER:
2580-
return hasSkill(SkillType.S_GUN_VEE) ? getSkill(SkillType.S_GUN_VEE).getExperienceLevel() : SkillType.EXP_NONE;
2580+
if (!campaign.getCampaignOptions().isUseArtillery()) {
2581+
return hasSkill(SkillType.S_GUN_VEE) ? getSkill(SkillType.S_GUN_VEE).getExperienceLevel() : SkillType.EXP_NONE;
2582+
} else {
2583+
if ((hasSkill(SkillType.S_GUN_VEE)) && (hasSkill(SkillType.S_ARTILLERY))) {
2584+
return Math.max((getSkill(SkillType.S_GUN_VEE).getExperienceLevel()), (getSkill(SkillType.S_ARTILLERY).getExperienceLevel()));
2585+
} else if (hasSkill(SkillType.S_GUN_VEE)) {
2586+
return getSkill(SkillType.S_GUN_VEE).getExperienceLevel();
2587+
} else if (hasSkill(SkillType.S_ARTILLERY)) {
2588+
return getSkill(SkillType.S_ARTILLERY).getExperienceLevel();
2589+
} else {
2590+
return SkillType.EXP_NONE;
2591+
}
2592+
}
25812593
case VEHICLE_CREW:
25822594
return hasSkill(SkillType.S_TECH_MECHANIC) ? getSkill(SkillType.S_TECH_MECHANIC).getExperienceLevel() : SkillType.EXP_NONE;
25832595
case AEROSPACE_PILOT:

0 commit comments

Comments
 (0)