From 9d181182084e71cd7f1cd5604fa4717692774f69 Mon Sep 17 00:00:00 2001 From: rderfler <44448965+rderfler@users.noreply.github.com> Date: Thu, 14 Apr 2022 12:00:17 -0400 Subject: [PATCH] Format, but git forgot this last time --- src/NetscriptFunctions/Bladeburner.ts | 4 +- src/PersonObjects/IPerson.ts | 104 +++++++++---------- src/PersonObjects/ITaskTracker.ts | 42 ++++---- src/PersonObjects/Player/PlayerObject.ts | 4 +- src/PersonObjects/Sleeve/Sleeve.ts | 82 ++++++++------- src/PersonObjects/Sleeve/ui/SleeveElem.tsx | 19 ++-- src/PersonObjects/Sleeve/ui/TaskSelector.tsx | 23 ++-- 7 files changed, 146 insertions(+), 132 deletions(-) diff --git a/src/NetscriptFunctions/Bladeburner.ts b/src/NetscriptFunctions/Bladeburner.ts index e3bc2281e..8d9598496 100644 --- a/src/NetscriptFunctions/Bladeburner.ts +++ b/src/NetscriptFunctions/Bladeburner.ts @@ -138,7 +138,7 @@ export function NetscriptBladeburner( if (bladeburner === null) throw new Error("Should not be called without Bladeburner"); try { const time = bladeburner.getActionTimeNetscriptFn(player, type, name); - if(typeof time === 'string'){ + if (typeof time === "string") { const errorLogText = `Invalid action: type='${type}' name='${name}'`; workerScript.log("bladeburner.getActionTime", () => errorLogText); return -1; @@ -158,7 +158,7 @@ export function NetscriptBladeburner( if (bladeburner === null) throw new Error("Should not be called without Bladeburner"); try { const chance = bladeburner.getActionEstimatedSuccessChanceNetscriptFn(player, type, name); - if(typeof chance === 'string'){ + if (typeof chance === "string") { const errorLogText = `Invalid action: type='${type}' name='${name}'`; workerScript.log("bladeburner.getActionTime", () => errorLogText); return [-1, -1]; diff --git a/src/PersonObjects/IPerson.ts b/src/PersonObjects/IPerson.ts index fbafd3505..25cb9b9cc 100644 --- a/src/PersonObjects/IPerson.ts +++ b/src/PersonObjects/IPerson.ts @@ -4,61 +4,61 @@ import { ITaskTracker } from "./ITaskTracker"; export interface IPerson { - // Stats - hacking: number; - strength: number; - defense: number; - dexterity: number; - agility: number; - charisma: number; - intelligence: number; - hp: number; - max_hp: number; - money: number; + // Stats + hacking: number; + strength: number; + defense: number; + dexterity: number; + agility: number; + charisma: number; + intelligence: number; + hp: number; + max_hp: number; + money: number; - // Experience - hacking_exp: number; - strength_exp: number; - defense_exp: number; - dexterity_exp: number; - agility_exp: number; - charisma_exp: number; - intelligence_exp: number; + // Experience + hacking_exp: number; + strength_exp: number; + defense_exp: number; + dexterity_exp: number; + agility_exp: number; + charisma_exp: number; + intelligence_exp: number; - // Multipliers - hacking_exp_mult: number; - strength_exp_mult: number; - defense_exp_mult: number; - dexterity_exp_mult: number; - agility_exp_mult: number; - charisma_exp_mult: number; - hacking_mult: number; - strength_mult: number; - defense_mult: number; - dexterity_mult: number; - agility_mult: number; - charisma_mult: number; + // Multipliers + hacking_exp_mult: number; + strength_exp_mult: number; + defense_exp_mult: number; + dexterity_exp_mult: number; + agility_exp_mult: number; + charisma_exp_mult: number; + hacking_mult: number; + strength_mult: number; + defense_mult: number; + dexterity_mult: number; + agility_mult: number; + charisma_mult: number; - company_rep_mult: number; - faction_rep_mult: number; + company_rep_mult: number; + faction_rep_mult: number; - crime_money_mult: number; - crime_success_mult: number; + crime_money_mult: number; + crime_success_mult: number; - bladeburner_analysis_mult: number; + bladeburner_analysis_mult: number; - getIntelligenceBonus(weight: number): number; - gainHackingExp(exp: number): void; - gainStrengthExp(exp: number): void; - gainDefenseExp(exp: number): void; - gainDexterityExp(exp: number): void; - gainAgilityExp(exp: number): void; - gainCharismaExp(exp: number): void; - gainIntelligenceExp(exp: number): void; - gainStats(retValue: ITaskTracker): void; - calculateSkill(exp: number, mult?: number): number; - takeDamage(amt: number): boolean; - regenerateHp: (amt: number) => void; - queryStatFromString: (str: string) => number; - whoAmI: () => string; - } + getIntelligenceBonus(weight: number): number; + gainHackingExp(exp: number): void; + gainStrengthExp(exp: number): void; + gainDefenseExp(exp: number): void; + gainDexterityExp(exp: number): void; + gainAgilityExp(exp: number): void; + gainCharismaExp(exp: number): void; + gainIntelligenceExp(exp: number): void; + gainStats(retValue: ITaskTracker): void; + calculateSkill(exp: number, mult?: number): number; + takeDamage(amt: number): boolean; + regenerateHp: (amt: number) => void; + queryStatFromString: (str: string) => number; + whoAmI: () => string; +} diff --git a/src/PersonObjects/ITaskTracker.ts b/src/PersonObjects/ITaskTracker.ts index 91bbad453..f6acc8799 100644 --- a/src/PersonObjects/ITaskTracker.ts +++ b/src/PersonObjects/ITaskTracker.ts @@ -1,25 +1,25 @@ // Interface that defines a generic object used to track experience/money // earnings for tasks export interface ITaskTracker { - hack: number; - str: number; - def: number; - dex: number; - agi: number; - cha: number; - int: number; - money: number; - } + hack: number; + str: number; + def: number; + dex: number; + agi: number; + cha: number; + int: number; + money: number; +} - export function createTaskTracker(): ITaskTracker { - return { - hack: 0, - str: 0, - def: 0, - dex: 0, - agi: 0, - cha: 0, - int: 0, - money: 0, - }; - } +export function createTaskTracker(): ITaskTracker { + return { + hack: 0, + str: 0, + def: 0, + dex: 0, + agi: 0, + cha: 0, + int: 0, + money: 0, + }; +} diff --git a/src/PersonObjects/Player/PlayerObject.ts b/src/PersonObjects/Player/PlayerObject.ts index fec5ae596..b2c089c6b 100644 --- a/src/PersonObjects/Player/PlayerObject.ts +++ b/src/PersonObjects/Player/PlayerObject.ts @@ -304,8 +304,8 @@ export class PlayerObject implements IPlayer { graftAugmentationWork: (numCycles: number) => boolean; finishGraftAugmentationWork: (cancelled: boolean) => string; applyEntropy: (stacks?: number) => void; - whoAmI(): string{ - return 'Player'; + whoAmI(): string { + return "Player"; } constructor() { diff --git a/src/PersonObjects/Sleeve/Sleeve.ts b/src/PersonObjects/Sleeve/Sleeve.ts index 6de0e5c49..9d80e01e2 100644 --- a/src/PersonObjects/Sleeve/Sleeve.ts +++ b/src/PersonObjects/Sleeve/Sleeve.ts @@ -225,7 +225,7 @@ export class Sleeve extends Person { const bb = p.bladeburner; if (bb === null) { const errorLogText = `bladeburner is null`; - console.error(`Function: sleeves.finishTask; Message: '${errorLogText}'`) + console.error(`Function: sleeves.finishTask; Message: '${errorLogText}'`); this.resetTaskStatus(p); return retValue; } @@ -240,25 +240,25 @@ export class Sleeve extends Person { let type: string; let name: string; if (this.bbAction === "Take on Contracts") { - type = 'Contracts'; + type = "Contracts"; name = this.bbContract; } else { - type = 'General'; + type = "General"; name = this.bbAction; } const actionIdent = bb.getActionIdFromTypeAndName(type, name); - if(actionIdent === null) { + if (actionIdent === null) { const errorLogText = `Invalid action: type='${type}' name='${name}'`; - console.error(`Function: sleeves.finishTask; Message: '${errorLogText}'`) + console.error(`Function: sleeves.finishTask; Message: '${errorLogText}'`); this.resetTaskStatus(p); return retValue; } const action = bb.getActionObject(actionIdent); - if((action?.count ?? 0) > 0) { + if ((action?.count ?? 0) > 0) { const bbRetValue = bb.completeAction(p, this, actionIdent); - if(bbRetValue) { + if (bbRetValue) { retValue = this.gainExperience(p, bbRetValue); this.gainMoney(p, bbRetValue); @@ -633,13 +633,13 @@ export class Sleeve extends Person { * Resets all parameters used to keep information about the current task */ resetTaskStatus(p: IPlayer): void { - if (this.bbAction == 'Support main sleeve') { + if (this.bbAction == "Support main sleeve") { p.bladeburner?.sleeveSupport(false); } if (this.currentTask == SleeveTaskType.Class) { const retVal = createTaskTracker(); retVal.int = CONSTANTS.IntelligenceClassBaseExpGain * Math.round(this.currentTaskTime / 1000); - this.gainExperience(p, retVal);//Wont be shared with other sleeves + this.gainExperience(p, retVal); //Wont be shared with other sleeves } this.earningsForTask = createTaskTracker(); this.gainRatesForTask = createTaskTracker(); @@ -1080,23 +1080,23 @@ export class Sleeve extends Person { this.gainRatesForTask.agi = 0; this.gainRatesForTask.cha = 0; this.gainRatesForTask.money = 0; - this.currentTaskLocation = ''; + this.currentTaskLocation = ""; let time = 0; switch (action) { case "Field Analysis": - time = this.getBladeburnerActionTime(p, 'General', action); + time = this.getBladeburnerActionTime(p, "General", action); this.gainRatesForTask.hack = 20 * this.hacking_exp_mult; this.gainRatesForTask.cha = 20 * this.charisma_exp_mult; break; case "Recruitment": - time = this.getBladeburnerActionTime(p, 'General', action); + time = this.getBladeburnerActionTime(p, "General", action); const recruitTime = (p.bladeburner?.getRecruitmentTime(this) ?? 0) * 1000; this.gainRatesForTask.cha = 2 * BladeburnerConstants.BaseStatGain * recruitTime; - this.currentTaskLocation = (p.bladeburner?.getRecruitmentSuccessChance(this) ?? 0).toString() + '%'; + this.currentTaskLocation = (p.bladeburner?.getRecruitmentSuccessChance(this) ?? 0).toString() + "%"; break; case "Diplomacy": - time = this.getBladeburnerActionTime(p, 'General', action); + time = this.getBladeburnerActionTime(p, "General", action); break; case "Infiltrate synthoids": time = 60000; @@ -1106,9 +1106,9 @@ export class Sleeve extends Person { time = 0; break; case "Take on Contracts": - time = this.getBladeburnerActionTime(p, 'Contracts', contract); - this.contractGainRates(p, 'Contracts', contract); - this.currentTaskLocation = this.contractSuccessChance(p, 'Contracts', contract); + time = this.getBladeburnerActionTime(p, "Contracts", contract); + this.contractGainRates(p, "Contracts", contract); + this.currentTaskLocation = this.contractSuccessChance(p, "Contracts", contract); break; } @@ -1121,41 +1121,41 @@ export class Sleeve extends Person { contractSuccessChance(p: IPlayer, type: string, name: string): string { const bb = p.bladeburner; - if(bb === null){ + if (bb === null) { const errorLogText = `bladeburner is null`; - console.error(`Function: sleeves.contractSuccessChance; Message: '${errorLogText}'`) - return '0%'; + console.error(`Function: sleeves.contractSuccessChance; Message: '${errorLogText}'`); + return "0%"; } const chances = bb.getActionEstimatedSuccessChanceNetscriptFn(this, type, name); - if(typeof chances === 'string'){ - console.error(`Function: sleeves.contractSuccessChance; Message: '${chances}'`) - return '0%'; + if (typeof chances === "string") { + console.error(`Function: sleeves.contractSuccessChance; Message: '${chances}'`); + return "0%"; } - if(chances[0] >= 1) { - return '100%'; + if (chances[0] >= 1) { + return "100%"; } else { - return `${chances[0]*100}% - ${chances[1]*100}%`; + return `${chances[0] * 100}% - ${chances[1] * 100}%`; } } contractGainRates(p: IPlayer, type: string, name: string): void { const bb = p.bladeburner; - if(bb === null){ + if (bb === null) { const errorLogText = `bladeburner is null`; - console.error(`Function: sleeves.contractGainRates; Message: '${errorLogText}'`) + console.error(`Function: sleeves.contractGainRates; Message: '${errorLogText}'`); return; } const actionIdent = bb.getActionIdFromTypeAndName(type, name); - if(actionIdent === null) { + if (actionIdent === null) { const errorLogText = `Invalid action: type='${type}' name='${name}'`; - console.error(`Function: sleeves.contractGainRates; Message: '${errorLogText}'`) + console.error(`Function: sleeves.contractGainRates; Message: '${errorLogText}'`); this.resetTaskStatus(p); return; } const action = bb.getActionObject(actionIdent); - if(action === null) { + if (action === null) { const errorLogText = `Invalid action: type='${type}' name='${name}'`; - console.error(`Function: sleeves.contractGainRates; Message: '${errorLogText}'`) + console.error(`Function: sleeves.contractGainRates; Message: '${errorLogText}'`); this.resetTaskStatus(p); return; } @@ -1167,28 +1167,30 @@ export class Sleeve extends Person { this.gainRatesForTask.agi = retValue.agi; this.gainRatesForTask.cha = retValue.cha; const rewardMultiplier = Math.pow(action.rewardFac, action.level - 1); - this.gainRatesForTask.money = BladeburnerConstants.ContractBaseMoneyGain * rewardMultiplier * bb.skillMultipliers.money; + this.gainRatesForTask.money = + BladeburnerConstants.ContractBaseMoneyGain * rewardMultiplier * bb.skillMultipliers.money; } - getBladeburnerActionTime(p: IPlayer, type: string, name: string): number{//Maybe find workerscript and use original + getBladeburnerActionTime(p: IPlayer, type: string, name: string): number { + //Maybe find workerscript and use original const bb = p.bladeburner; - if(bb === null){ + if (bb === null) { const errorLogText = `bladeburner is null`; - console.error(`Function: sleeves.getBladeburnerActionTime; Message: '${errorLogText}'`) + console.error(`Function: sleeves.getBladeburnerActionTime; Message: '${errorLogText}'`); return -1; } const time = bb.getActionTimeNetscriptFn(this, type, name); - if(typeof time === 'string'){ + if (typeof time === "string") { const errorLogText = `Invalid action: type='${type}' name='${name}'`; - console.error(`Function: sleeves.getBladeburnerActionTime; Message: '${errorLogText}'`) + console.error(`Function: sleeves.getBladeburnerActionTime; Message: '${errorLogText}'`); return -1; } else { return time; } } - takeDamage(amt: number):boolean { + takeDamage(amt: number): boolean { if (typeof amt !== "number") { console.warn(`Player.takeDamage() called without a numeric argument: ${amt}`); return false; @@ -1205,7 +1207,7 @@ export class Sleeve extends Person { } whoAmI(): string { - return 'Sleeve'; + return "Sleeve"; } /** diff --git a/src/PersonObjects/Sleeve/ui/SleeveElem.tsx b/src/PersonObjects/Sleeve/ui/SleeveElem.tsx index ec288ff34..355f17f43 100644 --- a/src/PersonObjects/Sleeve/ui/SleeveElem.tsx +++ b/src/PersonObjects/Sleeve/ui/SleeveElem.tsx @@ -114,11 +114,16 @@ export function SleeveElem(props: IProps): React.ReactElement { desc = <>This sleeve is currently working out at {props.sleeve.currentTaskLocation}.; break; case SleeveTaskType.Bladeburner: - let contract = ''; - if (props.sleeve.bbContract !== '------') { + let contract = ""; + if (props.sleeve.bbContract !== "------") { contract = ` - ${props.sleeve.bbContract} (Success Rate: ${props.sleeve.currentTaskLocation})`; } - desc = <>This sleeve is currently attempting to {props.sleeve.bbAction}{contract} + desc = ( + <> + This sleeve is currently attempting to {props.sleeve.bbAction} + {contract} + + ); break; case SleeveTaskType.Recovery: desc = ( @@ -186,10 +191,10 @@ export function SleeveElem(props: IProps): React.ReactElement { {desc} - {(props.sleeve.currentTask === SleeveTaskType.Crime - || props.sleeve.currentTask === SleeveTaskType.Bladeburner) - && props.sleeve.currentTaskMaxTime > 0 - && createProgressBarText({ + {(props.sleeve.currentTask === SleeveTaskType.Crime || + props.sleeve.currentTask === SleeveTaskType.Bladeburner) && + props.sleeve.currentTaskMaxTime > 0 && + createProgressBarText({ progress: props.sleeve.currentTaskTime / props.sleeve.currentTaskMaxTime, totalTicks: 25, })} diff --git a/src/PersonObjects/Sleeve/ui/TaskSelector.tsx b/src/PersonObjects/Sleeve/ui/TaskSelector.tsx index 7d8086817..0e81213f5 100644 --- a/src/PersonObjects/Sleeve/ui/TaskSelector.tsx +++ b/src/PersonObjects/Sleeve/ui/TaskSelector.tsx @@ -22,7 +22,14 @@ const universitySelectorOptions: string[] = [ const gymSelectorOptions: string[] = ["Train Strength", "Train Defense", "Train Dexterity", "Train Agility"]; -const bladeburnerSelectorOptions: string[] = ["Field Analysis", "Recruitment", "Diplomacy", "Infiltrate synthoids", "Support main sleeve", "Take on Contracts"]; +const bladeburnerSelectorOptions: string[] = [ + "Field Analysis", + "Recruitment", + "Diplomacy", + "Infiltrate synthoids", + "Support main sleeve", + "Take on Contracts", +]; interface IProps { sleeve: Sleeve; @@ -86,7 +93,7 @@ function possibleFactions(player: IPlayer, sleeve: Sleeve): string[] { function possibleContracts(player: IPlayer, sleeve: Sleeve): string[] { const bb = player.bladeburner; - if(bb === null){ + if (bb === null) { return ["------"]; } let contracts = bb.getContractNamesNetscriptFn(); @@ -94,12 +101,11 @@ function possibleContracts(player: IPlayer, sleeve: Sleeve): string[] { if (sleeve === otherSleeve) { continue; } - if (otherSleeve.currentTask === SleeveTaskType.Bladeburner - && otherSleeve.bbAction == 'Take on Contracts') { - contracts = contracts.filter(x => x != otherSleeve.bbContract); + if (otherSleeve.currentTask === SleeveTaskType.Bladeburner && otherSleeve.bbAction == "Take on Contracts") { + contracts = contracts.filter((x) => x != otherSleeve.bbContract); } } - if(contracts.length === 0){ + if (contracts.length === 0) { return ["------"]; } return contracts; @@ -194,12 +200,13 @@ const tasks: { return { first: bladeburnerSelectorOptions, second: (s1: string) => { - if(s1 === "Take on Contracts"){ + if (s1 === "Take on Contracts") { return possibleContracts(player, sleeve); } else { return ["------"]; } - } }; + }, + }; }, "Shock Recovery": (): ITaskDetails => { return { first: ["------"], second: () => ["------"] };