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:
phyzical 2022-03-21 23:17:36 +08:00
parent e7e52663bc
commit 7d647c0b1b
3 changed files with 136 additions and 120 deletions

@ -394,6 +394,9 @@ export class Augmentation {
// Initial cost. Doesn't change when you purchase multiple Augmentation
startingCost = 0;
// Initial rep requirement. Doesn't change when you purchase multiple Augmentation
startingRepRequirement = 0
// Factions that offer this aug.
factions: string[] = [];
@ -413,6 +416,7 @@ export class Augmentation {
this.baseRepRequirement = params.repCost * BitNodeMultipliers.AugmentationRepCost;
this.baseCost = params.moneyCost * BitNodeMultipliers.AugmentationMoneyCost;
this.startingCost = this.baseCost;
this.startingRepRequirement = this.baseRepRequirement;
this.factions = params.factions;
if (params.isSpecial) {

@ -112,6 +112,126 @@ function getRandomBonus(): any {
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 {
for (const name of Object.keys(Factions)) {
if (Factions.hasOwnProperty(name)) {
@ -1600,123 +1720,7 @@ function initAugmentations(): void {
),
factions: [FactionNames.TianDiHui],
}),
new Augmentation({
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],
}),
...infiltratorsAugmentations
];
// Special Bladeburner Augmentations
@ -2120,9 +2124,17 @@ function initAugmentations(): void {
CONSTANTS.MultipleAugMultiplier * [1, 0.96, 0.94, 0.93][SourceFileFlags[11]],
Player.queuedAugmentations.length,
);
const purchasedOrQueuedInfiltratorAugmentationCount = infiltratorsAugmentations.filter(augmentation => Player.hasAugmentation(augmentation.name)).length
for (const name of Object.keys(Augmentations)) {
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;
ReverseDictionary: string;
AmuletOfPersuasian: string;
GameSharkRepository: string;
LameSharkRepository: string;
CyberDecoder: string;
MineDetector: string;
WireCuttingManual: string;
@ -238,7 +238,7 @@ export const AugmentationNames: {
IntellisenseModule: "Intellisense Module",
ReverseDictionary: "Reverse Dictionary",
AmuletOfPersuasian: "Amulet of Persuasian",
GameSharkRepository: "Game Shark Repository",
LameSharkRepository: "Lame Shark Repository",
CyberDecoder: "CyberDecoder",
MineDetector: "MineDetector",
WireCuttingManual: "WireCuttingManual",