Began attempting to implement a multi-upgrade function for bb

This commit is contained in:
Undeemiss 2022-05-28 14:12:07 -05:00
parent 6f017bf4f6
commit 709fc3ab63
3 changed files with 9 additions and 5 deletions

@ -17,7 +17,7 @@ import { IAction } from "./IAction";
import { IPlayer } from "../PersonObjects/IPlayer"; import { IPlayer } from "../PersonObjects/IPlayer";
import { createTaskTracker, ITaskTracker } from "../PersonObjects/ITaskTracker"; import { createTaskTracker, ITaskTracker } from "../PersonObjects/ITaskTracker";
import { IPerson } from "../PersonObjects/IPerson"; import { IPerson } from "../PersonObjects/IPerson";
import { IRouter, Page } from "../ui/Router"; import { IRouter } from "../ui/Router";
import { ConsoleHelpText } from "./data/Help"; import { ConsoleHelpText } from "./data/Help";
import { exceptionAlert } from "../utils/helpers/exceptionAlert"; import { exceptionAlert } from "../utils/helpers/exceptionAlert";
import { getRandomInt } from "../utils/helpers/getRandomInt"; import { getRandomInt } from "../utils/helpers/getRandomInt";
@ -35,7 +35,6 @@ import { getTimestamp } from "../utils/helpers/getTimestamp";
import { joinFaction } from "../Faction/FactionHelpers"; import { joinFaction } from "../Faction/FactionHelpers";
import { WorkerScript } from "../Netscript/WorkerScript"; import { WorkerScript } from "../Netscript/WorkerScript";
import { FactionNames } from "../Faction/data/FactionNames"; import { FactionNames } from "../Faction/data/FactionNames";
import { BlackOperationNames } from "./data/BlackOperationNames";
import { KEY } from "../utils/helpers/keyCodes"; import { KEY } from "../utils/helpers/keyCodes";
interface BlackOpsAttempt { interface BlackOpsAttempt {

@ -292,13 +292,18 @@ export function NetscriptBladeburner(player: IPlayer, workerScript: WorkerScript
}, },
upgradeSkill: upgradeSkill:
(ctx: NetscriptContext) => (ctx: NetscriptContext) =>
(_skillName: unknown): boolean => { (_skillName: unknown, count = 1): number => {
const skillName = ctx.helper.string("skillName", _skillName); const skillName = ctx.helper.string("skillName", _skillName);
checkBladeburnerAccess(ctx); checkBladeburnerAccess(ctx);
const bladeburner = player.bladeburner; const bladeburner = player.bladeburner;
if (bladeburner === null) throw new Error("Should not be called without Bladeburner"); if (bladeburner === null) throw new Error("Should not be called without Bladeburner");
try { try {
return bladeburner.upgradeSkillNetscriptFn(skillName, workerScript); for(let i=0; i<count; i++){
if(!bladeburner.upgradeSkillNetscriptFn(skillName, workerScript)){
return i;
}
}
return count;
} catch (e: any) { } catch (e: any) {
throw ctx.makeRuntimeErrorMsg(e); throw ctx.makeRuntimeErrorMsg(e);
} }

@ -3101,7 +3101,7 @@ export interface Bladeburner {
* @param skillName - Name of skill to be upgraded. Case-sensitive and must be an exact match * @param skillName - Name of skill to be upgraded. Case-sensitive and must be an exact match
* @returns true if the skill is successfully upgraded, and false otherwise. * @returns true if the skill is successfully upgraded, and false otherwise.
*/ */
upgradeSkill(name: string): boolean; upgradeSkill(name: string, count: number): number;
/** /**
* Get team size. * Get team size.