BUGFIX: Check Corp Research pre-reqs in research api call (#884)

This commit is contained in:
TheAimMan
2023-10-30 03:09:34 -04:00
committed by GitHub
parent bc5789af60
commit ca12bddaf5

View File

@ -464,7 +464,16 @@ export function Research(researchingDivision: Division, researchName: CorpResear
const researchTree = IndustryResearchTrees[researchingDivision.type];
if (researchTree === undefined) throw new Error(`No research tree for industry '${researchingDivision.type}'`);
const research = ResearchMap[researchName];
const researchNode = researchTree.findNode(researchName);
const researchPreReq = researchNode?.parent?.researchName;
//Check to see if the research request has any pre-reqs that need to be researched first.
if (researchPreReq) {
if (!researchingDivision.researched?.has(researchPreReq)) {
throw new Error(
`Division ${researchingDivision.name} requires ${researchPreReq} before researching ${research.name}`,
);
}
}
if (researchingDivision.researched.has(researchName)) return;
if (researchingDivision.researchPoints < research.cost) {
throw new Error(`You do not have enough Scientific Research for ${research.name}`);