Fixed bug with new Bladeburner skills. Added faction reputation increaser in Dev Menu

This commit is contained in:
danielyxie 2019-02-11 00:21:14 -08:00
parent 0d43ed9c61
commit 00e8655ef9
4 changed files with 78 additions and 2 deletions

@ -2199,6 +2199,12 @@ Bladeburner.prototype.createSkillsContent = function() {
case "stamina": case "stamina":
DomElems.actionsAndSkillsDesc.innerHTML += "Stamina: x" + mult + "<br>"; DomElems.actionsAndSkillsDesc.innerHTML += "Stamina: x" + mult + "<br>";
break; break;
case "money":
DomElems.actionsAndSkillsDesc.innerHTML += "Contract Money: x" + mult + "<br>";
break;
case "expGain":
DomElems.actionsAndSkillsDesc.innerHTML += "Exp Gain: x" + mult + "<br>";
break;
case "weaponAbility": case "weaponAbility":
//DomElems.actionsAndSkillsDesc.innerHTML += //DomElems.actionsAndSkillsDesc.innerHTML +=
break; break;
@ -3852,11 +3858,11 @@ function initBladeburner() {
name: SkillNames.HandsOfMidas, name: SkillNames.HandsOfMidas,
desc: "Each level of this skill increases the amount of money you receive from Contracts by 5%", desc: "Each level of this skill increases the amount of money you receive from Contracts by 5%",
baseCost: 2, costInc: 2.5, baseCost: 2, costInc: 2.5,
money: 2, money: 5,
}); });
Skills[SkillNames.Hyperdrive] = new Skill({ Skills[SkillNames.Hyperdrive] = new Skill({
name: SkillNames.Hyperdrive, name: SkillNames.Hyperdrive,
esc: "Each level of this skill increases the experience earned from Contracts, Operations, and BlackOps by 4%", desc: "Each level of this skill increases the experience earned from Contracts, Operations, and BlackOps by 4%",
baseCost: 1, costInc: 3, baseCost: 1, costInc: 3,
expGain: 4, expGain: 4,
}); });

@ -229,6 +229,24 @@ export function createDevMenu() {
innerText: "Receive Invite to Faction", innerText: "Receive Invite to Faction",
}); });
const factionsReputationInput = createElement("input", {
placeholder: "Rep to add to faction",
type: "number",
});
const factionsReputationButton = createElement("button", {
class: "std-button",
innerText: "Add rep to faction",
clickListener: () => {
const facName = getSelectText(factionsDropdown);
const fac = Factions[facName];
const rep = parseFloat(factionsReputationInput.value);
if (fac != null && !isNaN(rep)) {
fac.playerReputation += rep;
}
},
});
// Augmentations // Augmentations
const augmentationsHeader = createElement("h2", {innerText: "Augmentations"}); const augmentationsHeader = createElement("h2", {innerText: "Augmentations"});
@ -563,6 +581,9 @@ export function createDevMenu() {
devMenuContainer.appendChild(factionsHeader); devMenuContainer.appendChild(factionsHeader);
devMenuContainer.appendChild(factionsDropdown); devMenuContainer.appendChild(factionsDropdown);
devMenuContainer.appendChild(factionsAddButton); devMenuContainer.appendChild(factionsAddButton);
devMenuContainer.appendChild(createElement("br"));
devMenuContainer.appendChild(factionsReputationInput);
devMenuContainer.appendChild(factionsReputationButton);
devMenuContainer.appendChild(augmentationsHeader); devMenuContainer.appendChild(augmentationsHeader);
devMenuContainer.appendChild(augmentationsDropdown); devMenuContainer.appendChild(augmentationsDropdown);
devMenuContainer.appendChild(augmentationsQueueButton); devMenuContainer.appendChild(augmentationsQueueButton);

@ -24,6 +24,7 @@ export interface IPlayer {
queuedAugmentations: IPlayerOwnedAugmentation[]; queuedAugmentations: IPlayerOwnedAugmentation[];
resleeves: Resleeve[]; resleeves: Resleeve[];
sleeves: Sleeve[]; sleeves: Sleeve[];
sleevesFromCovenant: number;
sourceFiles: IPlayerOwnedSourceFile[]; sourceFiles: IPlayerOwnedSourceFile[];
// Stats // Stats

@ -0,0 +1,48 @@
/**
* Implements the purchasing of extra Duplicate Sleeves from The Covenant
*/
import { Sleeve } from "./Sleeve";
import { IPlayer } from "../IPlayer";
import { numeralWrapper } from "../../ui/numeralFormat";
import { dialogBoxCreate } from "../../../utils/DialogBox";
import { yesNoBoxCreate,
yesNoBoxClose,
yesNoBoxGetYesButton,
yesNoBoxGetNoButton } from "../../../utils/YesNoBox";
export const MaxSleevesFromCovenant: number = 5;
export function createPurchaseSleevesFromCovenantPopup(p: IPlayer) {
if (p.sleevesFromCovenant >= MaxSleevesFromCovenant) { return; }
// First sleeve purchased costs the base amount. Then, the price of
// each successive one increases by the same amount
const baseCostPerExtraSleeve: number = 10e12;
const cost: number = (p.sleevesFromCovenant + 1) * baseCostPerExtraSleeve;
const yesBtn = yesNoBoxGetYesButton();
const noBtn = yesNoBoxGetNoButton();
yesBtn!.addEventListener("click", () => {
if (p.canAfford(cost)) {
p.loseMoney(cost);
p.sleevesFromCovenant += 1;
p.sleeves.push(new Sleeve());
yesNoBoxClose();
} else {
dialogBoxCreate("You cannot afford to purchase a Duplicate Sleeve", false);
}
});
noBtn!.addEventListener("click", () => {
yesNoBoxClose();
});
const txt = `Would you like to purchase an additional Duplicate Sleeve from The Covenant for ` +
`${numeralWrapper.formatMoney(cost)}?<br><br>` +
`These Duplicate Sleeves are permanent. You can purchase a total of 5 Duplicate ` +
`Sleeves from The Covenant`;
yesNoBoxCreate(txt);
}