Merge pull request #2591 from nickofolas/improvement/singularity-focus-args

Add focus arg to Singularity functions
This commit is contained in:
hydroflame
2022-01-15 18:25:56 -05:00
committed by GitHub
3 changed files with 39 additions and 9 deletions

View File

@@ -267,9 +267,10 @@ export function NetscriptSingularity(
player.gainIntelligenceExp(CONSTANTS.IntelligenceSingFnBaseExpGain / 500);
return true;
},
universityCourse: function (universityName: any, className: any): any {
universityCourse: function (universityName: any, className: any, focus = true): any {
helper.updateDynamicRam("universityCourse", getRamCost(player, "universityCourse"));
helper.checkSingularityAccess("universityCourse");
const wasFocusing = player.focus;
if (player.isWorking) {
const txt = player.singularityStopWork();
workerScript.log("universityCourse", () => txt);
@@ -343,13 +344,21 @@ export function NetscriptSingularity(
return false;
}
player.startClass(Router, costMult, expMult, task);
if (focus) {
player.startFocusing();
Router.toWork();
} else if (wasFocusing) {
player.stopFocusing();
Router.toTerminal();
}
workerScript.log("universityCourse", () => `Started ${task} at ${universityName}`);
return true;
},
gymWorkout: function (gymName: any, stat: any): any {
gymWorkout: function (gymName: any, stat: any, focus = true): any {
helper.updateDynamicRam("gymWorkout", getRamCost(player, "gymWorkout"));
helper.checkSingularityAccess("gymWorkout");
const wasFocusing = player.focus;
if (player.isWorking) {
const txt = player.singularityStopWork();
workerScript.log("gymWorkout", () => txt);
@@ -442,6 +451,13 @@ export function NetscriptSingularity(
workerScript.log("gymWorkout", () => `Invalid stat: ${stat}.`);
return false;
}
if (focus) {
player.startFocusing();
Router.toWork();
} else if (wasFocusing) {
player.stopFocusing();
Router.toTerminal();
}
workerScript.log("gymWorkout", () => `Started training ${stat} at ${gymName}`);
return true;
},
@@ -1215,10 +1231,11 @@ export function NetscriptSingularity(
);
return true;
},
createProgram: function (name: any): any {
createProgram: function (name: any, focus = true): any {
helper.updateDynamicRam("createProgram", getRamCost(player, "createProgram"));
helper.checkSingularityAccess("createProgram");
const wasFocusing = player.focus;
if (player.isWorking) {
const txt = player.singularityStopWork();
workerScript.log("createProgram", () => txt);
@@ -1253,6 +1270,13 @@ export function NetscriptSingularity(
}
player.startCreateProgramWork(Router, p.name, create.time, create.level);
if (focus) {
player.startFocusing();
Router.toWork();
} else if (wasFocusing) {
player.stopFocusing();
Router.toTerminal();
}
workerScript.log("createProgram", () => `Began creating program: '${name}'`);
return true;
},