Skip to content

Commit e5dc495

Browse files
authored
Merge pull request #8577 from IllianiBird/wrongExperienceLevel
Fix #8567: Fixed Skill Override Incorrectly Generating Personnel at Wrong Experience Level
2 parents 9b0df93 + 4d6a8a8 commit e5dc495

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

MekHQ/src/mekhq/campaign/personnel/PersonUtility.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
import mekhq.campaign.personnel.generator.DefaultSpecialAbilityGenerator;
4949
import mekhq.campaign.personnel.skills.RandomSkillPreferences;
5050
import mekhq.campaign.personnel.skills.Skill;
51+
import mekhq.campaign.personnel.skills.SkillType;
5152

5253
/**
5354
* Utility class that provides methods for managing and modifying the skills, loyalty, and advantages of personnel in
@@ -202,16 +203,19 @@ private static void randomizeSkills(Person person, List<String> skills) {
202203
* Otherwise, the skill is added with the specified experience level.</p>
203204
*
204205
* @param person the {@link Person} to whom the skill is being added.
205-
* @param skill the name of the skill to add.
206+
* @param skillName the name of the skill to add.
206207
* @param skillLevel the {@link SkillLevel} used to set the skill's experience level.
207208
*/
208-
private static void addSkillFixedExperienceLevel(Person person, String skill, SkillLevel skillLevel) {
209-
int bonus = 0;
209+
private static void addSkillFixedExperienceLevel(Person person, String skillName, SkillLevel skillLevel) {
210+
SkillType skillType = SkillType.getType(skillName);
211+
int targetLevel = skillType.getLevelFromExperience(skillLevel.getAdjustedValue());
210212

211-
if (person.hasSkill(skill)) {
212-
bonus = person.getSkill(skill).getBonus();
213+
int bonus = 0;
214+
Skill skill = person.getSkill(skillName);
215+
if (skill != null) {
216+
bonus = skill.getBonus();
213217
}
214218

215-
addSkill(person, skill, skillLevel.getAdjustedValue(), bonus);
219+
addSkill(person, skillName, targetLevel, bonus);
216220
}
217221
}

0 commit comments

Comments
 (0)