mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-11-30 11:33:47 +01:00
added unfocus aug
This commit is contained in:
parent
14e6dd0158
commit
1fc2e6fd2a
@ -2044,6 +2044,28 @@ function initAugmentations(): void {
|
|||||||
}
|
}
|
||||||
AddToAugmentations(SNA);
|
AddToAugmentations(SNA);
|
||||||
|
|
||||||
|
const NeuroreceptorManager = new Augmentation({
|
||||||
|
name: AugmentationNames.NeuroreceptorManager,
|
||||||
|
repCost: 0.75e5,
|
||||||
|
moneyCost: 5.5e8,
|
||||||
|
info:
|
||||||
|
"A brain implant carefully assembled around the synapses, which " +
|
||||||
|
"micromanages the activity and levels of various neuroreceptor " +
|
||||||
|
"chemicals and modulates electrical acvitiy to optimize concentration, " +
|
||||||
|
"allowing the user to multitask much more effectively.",
|
||||||
|
stats: (
|
||||||
|
<>
|
||||||
|
This augmentation removes the penalty for not focusing on actions such as working in a job or working for a
|
||||||
|
faction.
|
||||||
|
</>
|
||||||
|
),
|
||||||
|
});
|
||||||
|
NeuroreceptorManager.addToFactions(["Tian Di Hui"]);
|
||||||
|
if (augmentationExists(AugmentationNames.NeuroreceptorManager)) {
|
||||||
|
delete Augmentations[AugmentationNames.NeuroreceptorManager];
|
||||||
|
}
|
||||||
|
AddToAugmentations(NeuroreceptorManager);
|
||||||
|
|
||||||
// Special Bladeburner Augmentations
|
// Special Bladeburner Augmentations
|
||||||
const BladeburnersFactionName = "Bladeburners";
|
const BladeburnersFactionName = "Bladeburners";
|
||||||
if (factionExists(BladeburnersFactionName)) {
|
if (factionExists(BladeburnersFactionName)) {
|
||||||
|
@ -41,6 +41,7 @@ export const AugmentationNames: IMap<string> = {
|
|||||||
CranialSignalProcessorsG4: "Cranial Signal Processors - Gen IV",
|
CranialSignalProcessorsG4: "Cranial Signal Processors - Gen IV",
|
||||||
CranialSignalProcessorsG5: "Cranial Signal Processors - Gen V",
|
CranialSignalProcessorsG5: "Cranial Signal Processors - Gen V",
|
||||||
NeuronalDensification: "Neuronal Densification",
|
NeuronalDensification: "Neuronal Densification",
|
||||||
|
NeuroreceptorManager: "Neuroreceptor Management Implant",
|
||||||
NuoptimalInjectorImplant: "Nuoptimal Nootropic Injector Implant",
|
NuoptimalInjectorImplant: "Nuoptimal Nootropic Injector Implant",
|
||||||
SpeechEnhancement: "Speech Enhancement",
|
SpeechEnhancement: "Speech Enhancement",
|
||||||
FocusWire: "FocusWire",
|
FocusWire: "FocusWire",
|
||||||
|
@ -9,6 +9,7 @@ export const CONSTANTS: {
|
|||||||
MaxSkillLevel: number;
|
MaxSkillLevel: number;
|
||||||
MilliPerCycle: number;
|
MilliPerCycle: number;
|
||||||
CorpFactionRepRequirement: number;
|
CorpFactionRepRequirement: number;
|
||||||
|
BaseFocusBonus: number;
|
||||||
BaseCostFor1GBOfRamHome: number;
|
BaseCostFor1GBOfRamHome: number;
|
||||||
BaseCostFor1GBOfRamServer: number;
|
BaseCostFor1GBOfRamServer: number;
|
||||||
TravelCost: number;
|
TravelCost: number;
|
||||||
@ -285,6 +286,7 @@ export const CONSTANTS: {
|
|||||||
GameCyclesPerFiveMinutes: 300000 / 200,
|
GameCyclesPerFiveMinutes: 300000 / 200,
|
||||||
|
|
||||||
// Player Work & Action
|
// Player Work & Action
|
||||||
|
BaseFocusBonus: 0.8,
|
||||||
FactionWorkHacking: "Faction Hacking Work",
|
FactionWorkHacking: "Faction Hacking Work",
|
||||||
FactionWorkField: "Faction Field Work",
|
FactionWorkField: "Faction Field Work",
|
||||||
FactionWorkSecurity: "Faction Security Work",
|
FactionWorkSecurity: "Faction Security Work",
|
||||||
|
@ -192,7 +192,7 @@ export interface IPlayer {
|
|||||||
getNextCompanyPosition(company: Company, entryPosType: CompanyPosition): CompanyPosition | null;
|
getNextCompanyPosition(company: Company, entryPosType: CompanyPosition): CompanyPosition | null;
|
||||||
getUpgradeHomeRamCost(): number;
|
getUpgradeHomeRamCost(): number;
|
||||||
gotoLocation(to: LocationName): boolean;
|
gotoLocation(to: LocationName): boolean;
|
||||||
hasAugmentation(aug: Augmentation): boolean;
|
hasAugmentation(aug: string | Augmentation): boolean;
|
||||||
hasCorporation(): boolean;
|
hasCorporation(): boolean;
|
||||||
hasGangWith(facName: string): boolean;
|
hasGangWith(facName: string): boolean;
|
||||||
hasTorRouter(): boolean;
|
hasTorRouter(): boolean;
|
||||||
|
@ -199,7 +199,7 @@ export class PlayerObject implements IPlayer {
|
|||||||
getNextCompanyPosition: (company: Company, entryPosType: CompanyPosition) => CompanyPosition | null;
|
getNextCompanyPosition: (company: Company, entryPosType: CompanyPosition) => CompanyPosition | null;
|
||||||
getUpgradeHomeRamCost: () => number;
|
getUpgradeHomeRamCost: () => number;
|
||||||
gotoLocation: (to: LocationName) => boolean;
|
gotoLocation: (to: LocationName) => boolean;
|
||||||
hasAugmentation: (aug: Augmentation) => boolean;
|
hasAugmentation: (aug: string | Augmentation) => boolean;
|
||||||
hasCorporation: () => boolean;
|
hasCorporation: () => boolean;
|
||||||
hasGangWith: (facName: string) => boolean;
|
hasGangWith: (facName: string) => boolean;
|
||||||
hasTorRouter: () => boolean;
|
hasTorRouter: () => boolean;
|
||||||
|
@ -519,7 +519,10 @@ export function resetWorkStatus(this: IPlayer, generalType?: string, group?: str
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function processWorkEarnings(this: IPlayer, numCycles = 1): void {
|
export function processWorkEarnings(this: IPlayer, numCycles = 1): void {
|
||||||
const focusBonus = this.focus ? 1 : 0.8;
|
let focusBonus = 1;
|
||||||
|
if (!this.hasAugmentation(AugmentationNames["NeuroreceptorManager"])) {
|
||||||
|
focusBonus = this.focus ? 1 : CONSTANTS.BaseFocusBonus;
|
||||||
|
}
|
||||||
const hackExpGain = focusBonus * this.workHackExpGainRate * numCycles;
|
const hackExpGain = focusBonus * this.workHackExpGainRate * numCycles;
|
||||||
const strExpGain = focusBonus * this.workStrExpGainRate * numCycles;
|
const strExpGain = focusBonus * this.workStrExpGainRate * numCycles;
|
||||||
const defExpGain = focusBonus * this.workDefExpGainRate * numCycles;
|
const defExpGain = focusBonus * this.workDefExpGainRate * numCycles;
|
||||||
|
Loading…
Reference in New Issue
Block a user