Fixed bug that casued bot skills to lack an Id, this could be the cause of Cultists having footsteps
This commit is contained in:
parent
2073efcfce
commit
f08ac4d2ac
@ -4,7 +4,12 @@ import { BotDifficultyHelper } from "../helpers/BotDifficultyHelper";
|
|||||||
import { BotHelper } from "../helpers/BotHelper";
|
import { BotHelper } from "../helpers/BotHelper";
|
||||||
import { ProfileHelper } from "../helpers/ProfileHelper";
|
import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||||
import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper";
|
import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper";
|
||||||
import { Health as PmcHealth, IBaseJsonSkills, IBaseSkill, IBotBase, Info, Skills as botSkills } from "../models/eft/common/tables/IBotBase";
|
import {
|
||||||
|
Common,
|
||||||
|
IBaseJsonSkills, IBaseSkill, IBotBase, Info,
|
||||||
|
Health as PmcHealth,
|
||||||
|
Skills as botSkills
|
||||||
|
} from "../models/eft/common/tables/IBotBase";
|
||||||
import { Health, IBotType } from "../models/eft/common/tables/IBotType";
|
import { Health, IBotType } from "../models/eft/common/tables/IBotType";
|
||||||
import { Item, Upd } from "../models/eft/common/tables/IItem";
|
import { Item, Upd } from "../models/eft/common/tables/IItem";
|
||||||
import { BaseClasses } from "../models/enums/BaseClasses";
|
import { BaseClasses } from "../models/enums/BaseClasses";
|
||||||
@ -303,8 +308,8 @@ export class BotGenerator
|
|||||||
protected generateSkills(botSkills: IBaseJsonSkills): botSkills
|
protected generateSkills(botSkills: IBaseJsonSkills): botSkills
|
||||||
{
|
{
|
||||||
const skillsToReturn: botSkills = {
|
const skillsToReturn: botSkills = {
|
||||||
Common: this.getSkillsWithRandomisedProgressValue(Object.values(botSkills.Common ?? [])),
|
Common: this.getSkillsWithRandomisedProgressValue(botSkills.Common, true),
|
||||||
Mastering: this.getSkillsWithRandomisedProgressValue(Object.values(botSkills.Mastering ?? [])),
|
Mastering: this.getSkillsWithRandomisedProgressValue(botSkills.Mastering, false),
|
||||||
Points: 0
|
Points: 0
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -314,20 +319,40 @@ export class BotGenerator
|
|||||||
/**
|
/**
|
||||||
* Randomise the progress value of passed in skills based on the min/max value
|
* Randomise the progress value of passed in skills based on the min/max value
|
||||||
* @param skills Skills to randomise
|
* @param skills Skills to randomise
|
||||||
|
* @param isCommonSkills Are the skills 'common' skills
|
||||||
* @returns Skills with randomised progress values as an array
|
* @returns Skills with randomised progress values as an array
|
||||||
*/
|
*/
|
||||||
protected getSkillsWithRandomisedProgressValue(skills: IBaseSkill[]): IBaseSkill[]
|
protected getSkillsWithRandomisedProgressValue(skills: Record<string, IBaseSkill>, isCommonSkills: boolean): IBaseSkill[]
|
||||||
{
|
{
|
||||||
if (Object.keys(skills ?? []).length === 0)
|
if (Object.keys(skills ?? []).length === 0)
|
||||||
{
|
{
|
||||||
return;
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create a new array of skills with randomised progress value
|
return Object.keys(skills).map((skillKey): IBaseSkill =>
|
||||||
return skills.map((skill) => ({
|
{
|
||||||
Id: skill.Id,
|
// Get skill from dict, skip if not found
|
||||||
|
const skill = skills[skillKey];
|
||||||
|
if (!skill)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// All skills have id and progress props
|
||||||
|
const skillToAdd: IBaseSkill = {
|
||||||
|
Id: skillKey,
|
||||||
Progress: this.randomUtil.getInt(skill.min, skill.max)
|
Progress: this.randomUtil.getInt(skill.min, skill.max)
|
||||||
}));
|
};
|
||||||
|
|
||||||
|
// Common skills have additional props
|
||||||
|
if (isCommonSkills)
|
||||||
|
{
|
||||||
|
(skillToAdd as Common).PointsEarnedDuringSession = 0;
|
||||||
|
(skillToAdd as Common).LastAccess = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return skillToAdd;
|
||||||
|
}).filter(x => x !== null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user