mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-11-14 03:33:52 +01:00
added startinRepRequirement for multiplying
added logic to increase ost based on amount of infiltators augmentations purchased removed some copyright issues
This commit is contained in:
parent
e7e52663bc
commit
7d647c0b1b
@ -394,6 +394,9 @@ export class Augmentation {
|
|||||||
// Initial cost. Doesn't change when you purchase multiple Augmentation
|
// Initial cost. Doesn't change when you purchase multiple Augmentation
|
||||||
startingCost = 0;
|
startingCost = 0;
|
||||||
|
|
||||||
|
// Initial rep requirement. Doesn't change when you purchase multiple Augmentation
|
||||||
|
startingRepRequirement = 0
|
||||||
|
|
||||||
// Factions that offer this aug.
|
// Factions that offer this aug.
|
||||||
factions: string[] = [];
|
factions: string[] = [];
|
||||||
|
|
||||||
@ -413,6 +416,7 @@ export class Augmentation {
|
|||||||
this.baseRepRequirement = params.repCost * BitNodeMultipliers.AugmentationRepCost;
|
this.baseRepRequirement = params.repCost * BitNodeMultipliers.AugmentationRepCost;
|
||||||
this.baseCost = params.moneyCost * BitNodeMultipliers.AugmentationMoneyCost;
|
this.baseCost = params.moneyCost * BitNodeMultipliers.AugmentationMoneyCost;
|
||||||
this.startingCost = this.baseCost;
|
this.startingCost = this.baseCost;
|
||||||
|
this.startingRepRequirement = this.baseRepRequirement;
|
||||||
this.factions = params.factions;
|
this.factions = params.factions;
|
||||||
|
|
||||||
if (params.isSpecial) {
|
if (params.isSpecial) {
|
||||||
|
@ -112,6 +112,126 @@ function getRandomBonus(): any {
|
|||||||
return bonuses[Math.floor(bonuses.length * randomNumber.random())];
|
return bonuses[Math.floor(bonuses.length * randomNumber.random())];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const infiltratorsAugmentations = [
|
||||||
|
new Augmentation({
|
||||||
|
name: AugmentationNames.BagOfSand,
|
||||||
|
repCost: 100,
|
||||||
|
moneyCost: 1e9,
|
||||||
|
info:
|
||||||
|
"You watched a bittube video about sword fighting, " +
|
||||||
|
"it suggested the best way to win a sword fight was to play dirty " +
|
||||||
|
"so you filled a bag full of sand from outside your house.",
|
||||||
|
stats: (
|
||||||
|
<>
|
||||||
|
This augmentation makes the Slash minigame easier buy extending the time you can slash.
|
||||||
|
</>
|
||||||
|
),
|
||||||
|
factions: [FactionNames.Infiltrators],
|
||||||
|
}),
|
||||||
|
new Augmentation({
|
||||||
|
name: AugmentationNames.IntellisenseModule,
|
||||||
|
repCost: 100,
|
||||||
|
moneyCost: 1e9,
|
||||||
|
info:
|
||||||
|
"A brain implant with AI power that focuses in auto linting and intelisense, which " +
|
||||||
|
"provides the ability to perform code completion better than any exisiting " +
|
||||||
|
"IDE envronment on the market to date.",
|
||||||
|
stats: (
|
||||||
|
<>
|
||||||
|
This augmentation makes the Bracket minigame easier buy letting you get a few incorrect guesses.
|
||||||
|
</>
|
||||||
|
),
|
||||||
|
factions: [FactionNames.Infiltrators],
|
||||||
|
}),
|
||||||
|
new Augmentation({
|
||||||
|
name: AugmentationNames.ReverseDictionary,
|
||||||
|
repCost: 100,
|
||||||
|
moneyCost: 1e9,
|
||||||
|
info:
|
||||||
|
"An ancient dictionary with a thick layer of dust it looks like a differnet language, " +
|
||||||
|
"as you examine it further you relise that its actually just a normal dictonary but the words are " +
|
||||||
|
"written backwards if only you could take the book home, you think it would become like a second language.",
|
||||||
|
stats: (
|
||||||
|
<>
|
||||||
|
This augmentation makes the Backwards minigame easier by making the words no longer backwards.
|
||||||
|
</>
|
||||||
|
),
|
||||||
|
factions: [FactionNames.Infiltrators],
|
||||||
|
}),
|
||||||
|
new Augmentation({
|
||||||
|
name: AugmentationNames.AmuletOfPersuasian,
|
||||||
|
repCost: 100,
|
||||||
|
moneyCost: 1e9,
|
||||||
|
info:
|
||||||
|
"A fancy looking amulet that looks like something an Egyptian goddess would wear, " +
|
||||||
|
"you hear faint whispers that are trying to convince you to do things you wouldnt normaly do, " +
|
||||||
|
"apon touching it the voices stop how strange.",
|
||||||
|
stats: (
|
||||||
|
<>
|
||||||
|
This augmentation makes the Bribe minigame easier by TODO.
|
||||||
|
</>
|
||||||
|
),
|
||||||
|
factions: [FactionNames.Infiltrators],
|
||||||
|
}),
|
||||||
|
new Augmentation({
|
||||||
|
name: AugmentationNames.LameSharkRepository,
|
||||||
|
repCost: 100,
|
||||||
|
moneyCost: 1e9,
|
||||||
|
info:
|
||||||
|
"You stumble accross an old opensource repository for a weird defunct version of LameShark, " +
|
||||||
|
"apon studing the source code it seems to just have a bunch of arrow key cheat codes. ",
|
||||||
|
stats: (
|
||||||
|
<>
|
||||||
|
This augmentation makes the Cheat Code minigame easier by letting you see the full sequence before entering it.
|
||||||
|
</>
|
||||||
|
),
|
||||||
|
factions: [FactionNames.Infiltrators],
|
||||||
|
}),
|
||||||
|
new Augmentation({
|
||||||
|
name: AugmentationNames.CyberDecoder,
|
||||||
|
repCost: 100,
|
||||||
|
moneyCost: 1e9,
|
||||||
|
info:
|
||||||
|
"A cool looking do hickey that odly resembles Keanu Reeves face, " +
|
||||||
|
"it has a usb cable that looks like it plugs into something.",
|
||||||
|
stats: (
|
||||||
|
<>
|
||||||
|
This augmentation makes the Symbol matching minigame easier by TODO.
|
||||||
|
</>
|
||||||
|
),
|
||||||
|
factions: [FactionNames.Infiltrators],
|
||||||
|
}),
|
||||||
|
new Augmentation({
|
||||||
|
name: AugmentationNames.MineDetector,
|
||||||
|
repCost: 100,
|
||||||
|
moneyCost: 1e9,
|
||||||
|
info:
|
||||||
|
"You stumble across an old mine detector at an army surplus store, " +
|
||||||
|
"on the side is inscribed 'X(' i wonder what happend to the orginal owner, " +
|
||||||
|
"its a bit beaten up but looks like it should still do the job.",
|
||||||
|
stats: (
|
||||||
|
<>
|
||||||
|
This augmentation makes the Minesweeper minigame easier by showing the location of all mines.
|
||||||
|
</>
|
||||||
|
),
|
||||||
|
factions: [FactionNames.Infiltrators],
|
||||||
|
}),
|
||||||
|
new Augmentation({
|
||||||
|
name: AugmentationNames.WireCuttingManual,
|
||||||
|
repCost: 100,
|
||||||
|
moneyCost: 1e9,
|
||||||
|
info:
|
||||||
|
"You found an old wire cutting for dummys book in the local library, " +
|
||||||
|
"how hard can it be to cut wires, right?",
|
||||||
|
stats: (
|
||||||
|
<>
|
||||||
|
This augmentation makes the Wire Cutting minigame easier by highlighting the correct wires to cut.
|
||||||
|
</>
|
||||||
|
),
|
||||||
|
factions: [FactionNames.Infiltrators],
|
||||||
|
}),
|
||||||
|
]
|
||||||
|
|
||||||
function initAugmentations(): void {
|
function initAugmentations(): void {
|
||||||
for (const name of Object.keys(Factions)) {
|
for (const name of Object.keys(Factions)) {
|
||||||
if (Factions.hasOwnProperty(name)) {
|
if (Factions.hasOwnProperty(name)) {
|
||||||
@ -1600,123 +1720,7 @@ function initAugmentations(): void {
|
|||||||
),
|
),
|
||||||
factions: [FactionNames.TianDiHui],
|
factions: [FactionNames.TianDiHui],
|
||||||
}),
|
}),
|
||||||
new Augmentation({
|
...infiltratorsAugmentations
|
||||||
name: AugmentationNames.BagOfSand,
|
|
||||||
repCost: 100,
|
|
||||||
moneyCost: 1e9,
|
|
||||||
info:
|
|
||||||
"You watched a youtube video about sword fighting, " +
|
|
||||||
"it suggested the best way to win a sword fight was to play dirty " +
|
|
||||||
"so you filled a bag full of sand from outside your house.",
|
|
||||||
stats: (
|
|
||||||
<>
|
|
||||||
This augmentation autocompletes the Slash minigame.
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
factions: [FactionNames.Infiltrators],
|
|
||||||
}),
|
|
||||||
new Augmentation({
|
|
||||||
name: AugmentationNames.IntellisenseModule,
|
|
||||||
repCost: 100,
|
|
||||||
moneyCost: 1e9,
|
|
||||||
info:
|
|
||||||
"A brain implant with AI power that focuses in auto linting and intelisense, which " +
|
|
||||||
"provides the ability to perform code completion better than any exisiting " +
|
|
||||||
"IDE envronment on the market to date.",
|
|
||||||
stats: (
|
|
||||||
<>
|
|
||||||
This augmentation autocompletes the Bracket minigame.
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
factions: [FactionNames.Infiltrators],
|
|
||||||
}),
|
|
||||||
new Augmentation({
|
|
||||||
name: AugmentationNames.ReverseDictionary,
|
|
||||||
repCost: 100,
|
|
||||||
moneyCost: 1e9,
|
|
||||||
info:
|
|
||||||
"An ancient dictionary with a thick layer of dust it looks like a differnet language, " +
|
|
||||||
"as you examine it further you relise that its actually just a normal dictonary but the words are " +
|
|
||||||
"written backwards if only you could take the book home, you think it would become like a second language.",
|
|
||||||
stats: (
|
|
||||||
<>
|
|
||||||
This augmentation autocompletes the Backward minigame.
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
factions: [FactionNames.Infiltrators],
|
|
||||||
}),
|
|
||||||
new Augmentation({
|
|
||||||
name: AugmentationNames.AmuletOfPersuasian,
|
|
||||||
repCost: 100,
|
|
||||||
moneyCost: 1e9,
|
|
||||||
info:
|
|
||||||
"A fancy looking amulet that looks like something an Egyptian goddess would wear, " +
|
|
||||||
"you hear faint whispers that are trying to convince you to do things you wouldnt normaly do, " +
|
|
||||||
"apon touching it the voices stop how strange.",
|
|
||||||
stats: (
|
|
||||||
<>
|
|
||||||
This augmentation autocompletes the Bribe minigame.
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
factions: [FactionNames.Infiltrators],
|
|
||||||
}),
|
|
||||||
new Augmentation({
|
|
||||||
name: AugmentationNames.GameSharkRepository,
|
|
||||||
repCost: 100,
|
|
||||||
moneyCost: 1e9,
|
|
||||||
info:
|
|
||||||
"You stumble accross an old opensource repository for a weird defunct version of gameshark, " +
|
|
||||||
"apon studing the source code it seems to just have a bunch of arrow key cheat codes. ",
|
|
||||||
stats: (
|
|
||||||
<>
|
|
||||||
This augmentation autocompletes the Cheat Code minigame.
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
factions: [FactionNames.Infiltrators],
|
|
||||||
}),
|
|
||||||
new Augmentation({
|
|
||||||
name: AugmentationNames.CyberDecoder,
|
|
||||||
repCost: 100,
|
|
||||||
moneyCost: 1e9,
|
|
||||||
info:
|
|
||||||
"A cool looking do hickey that odly resembles Keanu Reeves face, " +
|
|
||||||
"it has a usb cable that looks like it plugs into something.",
|
|
||||||
stats: (
|
|
||||||
<>
|
|
||||||
This augmentation autocompletes the Cyberpunk2077 minigame.
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
factions: [FactionNames.Infiltrators],
|
|
||||||
}),
|
|
||||||
new Augmentation({
|
|
||||||
name: AugmentationNames.MineDetector,
|
|
||||||
repCost: 100,
|
|
||||||
moneyCost: 1e9,
|
|
||||||
info:
|
|
||||||
"You stumble across an old mine detector at an army surplus store, " +
|
|
||||||
"on the side is inscribed 'X(' i wonder what happend to the orginal owner, " +
|
|
||||||
"its a bit beaten up but looks like it should still do the job.",
|
|
||||||
stats: (
|
|
||||||
<>
|
|
||||||
This augmentation autocompletes the Minesweeper minigame.
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
factions: [FactionNames.Infiltrators],
|
|
||||||
}),
|
|
||||||
new Augmentation({
|
|
||||||
name: AugmentationNames.WireCuttingManual,
|
|
||||||
repCost: 100,
|
|
||||||
moneyCost: 1e9,
|
|
||||||
info:
|
|
||||||
"You found an old wire cutting for dummys book in the local library, " +
|
|
||||||
"how hard can it be to cut wires, right?",
|
|
||||||
stats: (
|
|
||||||
<>
|
|
||||||
This augmentation autocompletes the Wire Cutting minigame.
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
factions: [FactionNames.Infiltrators],
|
|
||||||
}),
|
|
||||||
];
|
];
|
||||||
|
|
||||||
// Special Bladeburner Augmentations
|
// Special Bladeburner Augmentations
|
||||||
@ -2120,9 +2124,17 @@ function initAugmentations(): void {
|
|||||||
CONSTANTS.MultipleAugMultiplier * [1, 0.96, 0.94, 0.93][SourceFileFlags[11]],
|
CONSTANTS.MultipleAugMultiplier * [1, 0.96, 0.94, 0.93][SourceFileFlags[11]],
|
||||||
Player.queuedAugmentations.length,
|
Player.queuedAugmentations.length,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const purchasedOrQueuedInfiltratorAugmentationCount = infiltratorsAugmentations.filter(augmentation => Player.hasAugmentation(augmentation.name)).length
|
||||||
for (const name of Object.keys(Augmentations)) {
|
for (const name of Object.keys(Augmentations)) {
|
||||||
if (Augmentations.hasOwnProperty(name)) {
|
if (Augmentations.hasOwnProperty(name)) {
|
||||||
Augmentations[name].baseCost *= mult;
|
const augmentationToUpdate = Augmentations[name]
|
||||||
|
if (augmentationToUpdate.factions.includes(FactionNames.Infiltrators)) {
|
||||||
|
augmentationToUpdate.baseCost = Math.pow(augmentationToUpdate.baseCost, purchasedOrQueuedInfiltratorAugmentationCount);
|
||||||
|
augmentationToUpdate.baseRepRequirement *= purchasedOrQueuedInfiltratorAugmentationCount;
|
||||||
|
} else {
|
||||||
|
augmentationToUpdate.baseCost *= mult;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -115,7 +115,7 @@ export const AugmentationNames: {
|
|||||||
IntellisenseModule: string;
|
IntellisenseModule: string;
|
||||||
ReverseDictionary: string;
|
ReverseDictionary: string;
|
||||||
AmuletOfPersuasian: string;
|
AmuletOfPersuasian: string;
|
||||||
GameSharkRepository: string;
|
LameSharkRepository: string;
|
||||||
CyberDecoder: string;
|
CyberDecoder: string;
|
||||||
MineDetector: string;
|
MineDetector: string;
|
||||||
WireCuttingManual: string;
|
WireCuttingManual: string;
|
||||||
@ -238,7 +238,7 @@ export const AugmentationNames: {
|
|||||||
IntellisenseModule: "Intellisense Module",
|
IntellisenseModule: "Intellisense Module",
|
||||||
ReverseDictionary: "Reverse Dictionary",
|
ReverseDictionary: "Reverse Dictionary",
|
||||||
AmuletOfPersuasian: "Amulet of Persuasian",
|
AmuletOfPersuasian: "Amulet of Persuasian",
|
||||||
GameSharkRepository: "Game Shark Repository",
|
LameSharkRepository: "Lame Shark Repository",
|
||||||
CyberDecoder: "CyberDecoder",
|
CyberDecoder: "CyberDecoder",
|
||||||
MineDetector: "MineDetector",
|
MineDetector: "MineDetector",
|
||||||
WireCuttingManual: "WireCuttingManual",
|
WireCuttingManual: "WireCuttingManual",
|
||||||
|
Loading…
Reference in New Issue
Block a user