mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-11-28 18:43:49 +01:00
Merge pull request #3387 from nickofolas/improvement/grafting-tweaks
[Improvement] Small grafting tweaks based around Congruity aug, plus some general grafting fixes
This commit is contained in:
commit
1b87628a4d
@ -5,10 +5,10 @@ Grafting
|
|||||||
Grafting is an experimental process through which you can obtain the benefits of
|
Grafting is an experimental process through which you can obtain the benefits of
|
||||||
Augmentations, without needing to reboot your body.
|
Augmentations, without needing to reboot your body.
|
||||||
|
|
||||||
In order to graft, you must first purchase a blueprint for and craft the Augmentation.
|
Grafting can be done at VitaLife in New Tokyo, where you'll find a shady researcher with
|
||||||
This can be done at VitaLife in New Tokyo, where you'll find a shady researcher with
|
questionable connections. From there, you can spend a sum of money to begin grafting
|
||||||
questionable connections. Once you purchase a blueprint, you will start crafting the
|
Augmentations. This will take some time. When done, the Augmentation will be applied to
|
||||||
Augmentation, and it will be grafted to your body once complete.
|
your character without needing to install.
|
||||||
|
|
||||||
Be warned, some who have tested grafting have reported an unidentified malware. Dubbed
|
Be warned, some who have tested grafting have reported an unidentified malware. Dubbed
|
||||||
"Entropy", this virus seems to grow in potency as more Augmentations are grafted,
|
"Entropy", this virus seems to grow in potency as more Augmentations are grafted,
|
||||||
|
@ -1488,7 +1488,7 @@ export const initGeneralAugmentations = (): Augmentation[] => [
|
|||||||
// Grafting-exclusive Augmentation
|
// Grafting-exclusive Augmentation
|
||||||
new Augmentation({
|
new Augmentation({
|
||||||
name: AugmentationNames.CongruityImplant,
|
name: AugmentationNames.CongruityImplant,
|
||||||
repCost: 0,
|
repCost: Infinity,
|
||||||
moneyCost: 50e12,
|
moneyCost: 50e12,
|
||||||
info: (
|
info: (
|
||||||
<>
|
<>
|
||||||
|
@ -276,7 +276,7 @@ export const CONSTANTS: {
|
|||||||
CodingContractBaseCompanyRepGain: 4000,
|
CodingContractBaseCompanyRepGain: 4000,
|
||||||
CodingContractBaseMoneyGain: 75e6,
|
CodingContractBaseMoneyGain: 75e6,
|
||||||
|
|
||||||
// Augmentation crafting multipliers
|
// Augmentation grafting multipliers
|
||||||
AugmentationGraftingCostMult: 3,
|
AugmentationGraftingCostMult: 3,
|
||||||
AugmentationGraftingTimeBase: 3600000,
|
AugmentationGraftingTimeBase: 3600000,
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ export function NetscriptGrafting(player: IPlayer, workerScript: WorkerScript, h
|
|||||||
if (player.city !== CityName.NewTokyo) {
|
if (player.city !== CityName.NewTokyo) {
|
||||||
throw helper.makeRuntimeErrorMsg(
|
throw helper.makeRuntimeErrorMsg(
|
||||||
"grafting.graftAugmentation",
|
"grafting.graftAugmentation",
|
||||||
"You must be in New Tokyo to begin crafting an Augmentation.",
|
"You must be in New Tokyo to begin grafting an Augmentation.",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (!getAvailableAugs(player).includes(augName)) {
|
if (!getAvailableAugs(player).includes(augName)) {
|
||||||
@ -90,7 +90,7 @@ export function NetscriptGrafting(player: IPlayer, workerScript: WorkerScript, h
|
|||||||
Router.toTerminal();
|
Router.toTerminal();
|
||||||
}
|
}
|
||||||
|
|
||||||
workerScript.log("grafting.graftAugmentation", () => `Began crafting Augmentation ${augName}.`);
|
workerScript.log("grafting.graftAugmentation", () => `Began grafting Augmentation ${augName}.`);
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -130,10 +130,14 @@ export const GraftingRoot = (): React.ReactElement => {
|
|||||||
<>
|
<>
|
||||||
Cancelling grafting will <b>not</b> save grafting progress, and the money you spend will <b>not</b>{" "}
|
Cancelling grafting will <b>not</b> save grafting progress, and the money you spend will <b>not</b>{" "}
|
||||||
be returned.
|
be returned.
|
||||||
|
{!player.hasAugmentation(AugmentationNames.CongruityImplant) && (
|
||||||
|
<>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
Additionally, grafting an Augmentation will increase the potency of the Entropy virus.
|
Additionally, grafting an Augmentation will increase the potency of the Entropy virus.
|
||||||
</>
|
</>
|
||||||
|
)}
|
||||||
|
</>
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
<Typography color={Settings.theme.info}>
|
<Typography color={Settings.theme.info}>
|
||||||
|
@ -1366,18 +1366,19 @@ export function craftAugmentationWork(this: IPlayer, numCycles: number): boolean
|
|||||||
export function finishGraftAugmentationWork(this: IPlayer, cancelled: boolean): string {
|
export function finishGraftAugmentationWork(this: IPlayer, cancelled: boolean): string {
|
||||||
const augName = this.graftAugmentationName;
|
const augName = this.graftAugmentationName;
|
||||||
if (cancelled === false) {
|
if (cancelled === false) {
|
||||||
dialogBoxCreate(
|
|
||||||
`You've finished crafting ${augName}.<br>The augmentation has been grafted to your body, but you feel a bit off.`,
|
|
||||||
);
|
|
||||||
|
|
||||||
applyAugmentation(Augmentations[augName]);
|
applyAugmentation(Augmentations[augName]);
|
||||||
|
|
||||||
if (!this.hasAugmentation(AugmentationNames.CongruityImplant)) {
|
if (!this.hasAugmentation(AugmentationNames.CongruityImplant)) {
|
||||||
this.entropy += 1;
|
this.entropy += 1;
|
||||||
this.applyEntropy(this.entropy);
|
this.applyEntropy(this.entropy);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dialogBoxCreate(
|
||||||
|
`You've finished grafting ${augName}.<br>The augmentation has been applied to your body` +
|
||||||
|
(this.hasAugmentation(AugmentationNames.CongruityImplant) ? "." : ", but you feel a bit off."),
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
dialogBoxCreate(`You cancelled the crafting of ${augName}.<br>Your money was not returned to you.`);
|
dialogBoxCreate(`You cancelled the grafting of ${augName}.<br>Your money was not returned to you.`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Intelligence gain
|
// Intelligence gain
|
||||||
|
@ -504,7 +504,7 @@ export function WorkInProgressRoot(): React.ReactElement {
|
|||||||
<Grid container direction="column" justifyContent="center" alignItems="center" style={{ minHeight: "100vh" }}>
|
<Grid container direction="column" justifyContent="center" alignItems="center" style={{ minHeight: "100vh" }}>
|
||||||
<Grid item>
|
<Grid item>
|
||||||
<Typography>
|
<Typography>
|
||||||
You are currently working on crafting {player.graftAugmentationName}.
|
You are currently working on grafting {player.graftAugmentationName}.
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
You have been working for {convertTimeMsToTimeElapsedString(player.timeWorked)}
|
You have been working for {convertTimeMsToTimeElapsedString(player.timeWorked)}
|
||||||
@ -519,7 +519,7 @@ export function WorkInProgressRoot(): React.ReactElement {
|
|||||||
</Grid>
|
</Grid>
|
||||||
<Grid item>
|
<Grid item>
|
||||||
<Button sx={{ mx: 2 }} onClick={cancel}>
|
<Button sx={{ mx: 2 }} onClick={cancel}>
|
||||||
Cancel work on crafting Augmentation
|
Cancel work on grafting Augmentation
|
||||||
</Button>
|
</Button>
|
||||||
<Button onClick={unfocus}>Do something else simultaneously</Button>
|
<Button onClick={unfocus}>Do something else simultaneously</Button>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
Loading…
Reference in New Issue
Block a user