mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2025-01-03 11:57:34 +01:00
Character,Augmentations now display by how much the stats will increase.
This commit is contained in:
parent
6cd6f28820
commit
79a06dd91c
@ -59,10 +59,16 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#character-hp-wrapper { color: $my-stat-hp-color; }
|
#character-hp-wrapper { color: $my-stat-hp-color; }
|
||||||
|
.character-hp-cell { color: $my-stat-hp-color; }
|
||||||
#character-money-wrapper { color: $my-stat-money-color; }
|
#character-money-wrapper { color: $my-stat-money-color; }
|
||||||
|
.character-money-cell { color: $my-stat-money-color; }
|
||||||
#character-hack-wrapper { color: $my-stat-hack-color; }
|
#character-hack-wrapper { color: $my-stat-hack-color; }
|
||||||
|
.character-hack-cell { color: $my-stat-hack-color; }
|
||||||
#character-cha-wrapper { color: $my-stat-cha-color; }
|
#character-cha-wrapper { color: $my-stat-cha-color; }
|
||||||
|
.character-cha-cell { color: $my-stat-cha-color; }
|
||||||
#character-int-wrapper { color: $my-stat-int-color; }
|
#character-int-wrapper { color: $my-stat-int-color; }
|
||||||
|
.character-int-cell { color: $my-stat-int-color; }
|
||||||
|
.character-combat-cell { color: $my-stat-physical; }
|
||||||
|
|
||||||
.character-overview-btn {
|
.character-overview-btn {
|
||||||
@include borderRadius(12px);
|
@include borderRadius(12px);
|
||||||
|
@ -17,7 +17,8 @@ body {
|
|||||||
p,
|
p,
|
||||||
pre,
|
pre,
|
||||||
h2,
|
h2,
|
||||||
.text {
|
.text,
|
||||||
|
td {
|
||||||
color: var(--my-font-color);
|
color: var(--my-font-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,92 +5,104 @@ import * as React from "react";
|
|||||||
|
|
||||||
import { Player } from "../../Player";
|
import { Player } from "../../Player";
|
||||||
import { numeralWrapper } from "../../ui/numeralFormat";
|
import { numeralWrapper } from "../../ui/numeralFormat";
|
||||||
|
import { Augmentations} from "../Augmentations";
|
||||||
|
|
||||||
|
function calculateAugmentedStats() {
|
||||||
|
const augP: any = {};
|
||||||
|
for(const aug of Player.queuedAugmentations) {
|
||||||
|
const augObj = Augmentations[aug.name];
|
||||||
|
for (const mult in augObj.mults) {
|
||||||
|
const v = augP[mult] ? augP[mult] : 1;
|
||||||
|
augP[mult] = v * augObj.mults[mult];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return augP;
|
||||||
|
}
|
||||||
|
|
||||||
export function PlayerMultipliers(): React.ReactElement {
|
export function PlayerMultipliers(): React.ReactElement {
|
||||||
|
const mults = calculateAugmentedStats();
|
||||||
|
function MultiplierTable(rows: any[]): React.ReactElement {
|
||||||
|
function improvements(r: number) {
|
||||||
|
let elems: any[] = [];
|
||||||
|
if(r) {
|
||||||
|
elems = [
|
||||||
|
<td key='2'> => </td>,
|
||||||
|
<td key='3'>{numeralWrapper.formatPercentage(r)}</td>
|
||||||
|
];
|
||||||
|
}
|
||||||
|
return elems;
|
||||||
|
}
|
||||||
|
|
||||||
|
return <table>
|
||||||
|
<tbody>
|
||||||
|
{rows.map((r: any) => <tr key={r[0]}>
|
||||||
|
<td key='0'><span>{r[0]} multiplier: </span></td>
|
||||||
|
<td key='1' style={{textAlign: 'right'}}>{numeralWrapper.formatPercentage(r[1])}</td>
|
||||||
|
{improvements(r[2])}
|
||||||
|
</tr>)}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<p><strong><u>Total Multipliers:</u></strong></p>
|
<p><strong><u>Multipliers:</u></strong></p><br />
|
||||||
|
{MultiplierTable([
|
||||||
|
['Hacking Chance ', Player.hacking_chance_mult, Player.hacking_chance_mult*mults.hacking_chance_mult],
|
||||||
|
['Hacking Speed ', Player.hacking_speed_mult, Player.hacking_speed_mult*mults.hacking_speed_mult],
|
||||||
|
['Hacking Money ', Player.hacking_money_mult, Player.hacking_money_mult*mults.hacking_money_mult],
|
||||||
|
['Hacking Growth ', Player.hacking_grow_mult, Player.hacking_grow_mult*mults.hacking_grow_mult]
|
||||||
|
])}<br />
|
||||||
|
|
||||||
<pre>
|
{MultiplierTable([
|
||||||
{'Hacking Chance multiplier: ' + numeralWrapper.formatPercentage(Player.hacking_chance_mult)}
|
['Hacking Level ', Player.hacking_mult, Player.hacking_mult*mults.hacking_mult],
|
||||||
</pre>
|
['Hacking Experience ', Player.hacking_exp_mult, Player.hacking_exp_mult*mults.hacking_exp_mult]
|
||||||
<pre>
|
])}<br />
|
||||||
{'Hacking Speed multiplier: ' + numeralWrapper.formatPercentage(Player.hacking_speed_mult)}
|
|
||||||
</pre>
|
|
||||||
<pre>
|
{MultiplierTable([
|
||||||
{'Hacking Money multiplier: ' + numeralWrapper.formatPercentage(Player.hacking_money_mult)}
|
['Strength Level ', Player.strength_mult, Player.strength_mult*mults.strength_mult],
|
||||||
</pre>
|
['Strength Experience ', Player.strength_exp_mult, Player.strength_exp_mult*mults.strength_exp_mult]
|
||||||
<pre>
|
])}<br />
|
||||||
{'Hacking Growth multiplier: ' + numeralWrapper.formatPercentage(Player.hacking_grow_mult)}
|
|
||||||
</pre><br />
|
{MultiplierTable([
|
||||||
<pre>
|
['Defense Level ', Player.defense_mult, Player.defense_mult*mults.defense_mult],
|
||||||
{'Hacking Level multiplier: ' + numeralWrapper.formatPercentage(Player.hacking_mult)}
|
['Defense Experience ', Player.defense_exp_mult, Player.defense_exp_mult*mults.defense_exp_mult]
|
||||||
</pre>
|
])}<br />
|
||||||
<pre>
|
|
||||||
{'Hacking Experience multiplier: ' + numeralWrapper.formatPercentage(Player.hacking_exp_mult)}
|
{MultiplierTable([
|
||||||
</pre>
|
['Dexterity Level ', Player.dexterity_mult, Player.dexterity_mult*mults.dexterity_mult],
|
||||||
<br />
|
['Dexterity Experience ', Player.dexterity_exp_mult, Player.dexterity_exp_mult*mults.dexterity_exp_mult]
|
||||||
<pre>
|
])}<br />
|
||||||
{'Strength Level multiplier: ' + numeralWrapper.formatPercentage(Player.strength_mult)}
|
|
||||||
</pre>
|
{MultiplierTable([
|
||||||
<pre>
|
['Agility Level ', Player.agility_mult, Player.agility_mult*mults.agility_mult],
|
||||||
{'Strength Experience multiplier: ' + numeralWrapper.formatPercentage(Player.strength_exp_mult)}
|
['Agility Experience ', Player.agility_exp_mult, Player.agility_exp_mult*mults.agility_exp_mult]
|
||||||
</pre>
|
])}<br />
|
||||||
<br />
|
|
||||||
<pre>
|
{MultiplierTable([
|
||||||
{'Defense Level multiplier: ' + numeralWrapper.formatPercentage(Player.defense_mult)}
|
['Charisma Level ', Player.charisma_mult, Player.charisma_mult*mults.charisma_mult],
|
||||||
</pre>
|
['Charisma Experience ', Player.charisma_exp_mult, Player.charisma_exp_mult*mults.charisma_exp_mult]
|
||||||
<pre>
|
])}<br />
|
||||||
{'Defense Experience multiplier: ' + numeralWrapper.formatPercentage(Player.defense_exp_mult)}
|
|
||||||
</pre><br />
|
{MultiplierTable([
|
||||||
<pre>
|
['Hacknet Node production ', Player.hacknet_node_money_mult, Player.hacknet_node_money_mult*mults.hacknet_node_money_mult],
|
||||||
{'Dexterity Level multiplier: ' + numeralWrapper.formatPercentage(Player.dexterity_mult)}
|
['Hacknet Node purchase cost ', Player.hacknet_node_purchase_cost_mult, Player.hacknet_node_purchase_cost_mult*mults.hacknet_node_purchase_cost_mult],
|
||||||
</pre>
|
['Hacknet Node RAM upgrade cost ', Player.hacknet_node_ram_cost_mult, Player.hacknet_node_ram_cost_mult*mults.hacknet_node_ram_cost_mult],
|
||||||
<pre>
|
['Hacknet Node Core purchase cost ', Player.hacknet_node_core_cost_mult, Player.hacknet_node_core_cost_mult*mults.hacknet_node_core_cost_mult],
|
||||||
{'Dexterity Experience multiplier: ' + numeralWrapper.formatPercentage(Player.dexterity_exp_mult)}
|
['Hacknet Node level upgrade cost ', Player.hacknet_node_level_cost_mult, Player.hacknet_node_level_cost_mult*mults.hacknet_node_level_cost_mult]
|
||||||
</pre><br />
|
])}<br />
|
||||||
<pre>
|
|
||||||
{'Agility Level multiplier: ' + numeralWrapper.formatPercentage(Player.agility_mult)}
|
{MultiplierTable([
|
||||||
</pre>
|
['Company reputation gain ', Player.company_rep_mult, Player.company_rep_mult*mults.company_rep_mult],
|
||||||
<pre>
|
['Faction reputation gain ', Player.faction_rep_mult, Player.faction_rep_mult*mults.faction_rep_mult],
|
||||||
{'Agility Experience multiplier: ' + numeralWrapper.formatPercentage(Player.agility_exp_mult)}
|
['Salary ', Player.work_money_mult, Player.work_money_mult*mults.work_money_mult]
|
||||||
</pre><br />
|
])}<br />
|
||||||
<pre>
|
|
||||||
{'Charisma Level multiplier: ' + numeralWrapper.formatPercentage(Player.charisma_mult)}
|
{MultiplierTable([
|
||||||
</pre>
|
['Crime success ', Player.crime_success_mult, Player.crime_success_mult*mults.crime_success_mult],
|
||||||
<pre>
|
['Crime money ', Player.crime_money_mult, Player.crime_money_mult*mults.crime_money_mult],
|
||||||
{'Charisma Experience multiplier: ' + numeralWrapper.formatPercentage(Player.charisma_exp_mult)}
|
])}<br />
|
||||||
</pre><br />
|
|
||||||
<pre>
|
|
||||||
{'Hacknet Node production multiplier: ' + numeralWrapper.formatPercentage(Player.hacknet_node_money_mult)}
|
|
||||||
</pre>
|
|
||||||
<pre>
|
|
||||||
{'Hacknet Node purchase cost multiplier: ' + numeralWrapper.formatPercentage(Player.hacknet_node_purchase_cost_mult)}
|
|
||||||
</pre>
|
|
||||||
<pre>
|
|
||||||
{'Hacknet Node RAM upgrade cost multiplier: ' + numeralWrapper.formatPercentage(Player.hacknet_node_ram_cost_mult)}
|
|
||||||
</pre>
|
|
||||||
<pre>
|
|
||||||
{'Hacknet Node Core purchase cost multiplier: ' + numeralWrapper.formatPercentage(Player.hacknet_node_core_cost_mult)}
|
|
||||||
</pre>
|
|
||||||
<pre>
|
|
||||||
{'Hacknet Node level upgrade cost multiplier: ' + numeralWrapper.formatPercentage(Player.hacknet_node_level_cost_mult)}
|
|
||||||
</pre><br />
|
|
||||||
<pre>
|
|
||||||
{'Company reputation gain multiplier: ' + numeralWrapper.formatPercentage(Player.company_rep_mult)}
|
|
||||||
</pre>
|
|
||||||
<pre>
|
|
||||||
{'Faction reputation gain multiplier: ' + numeralWrapper.formatPercentage(Player.faction_rep_mult)}
|
|
||||||
</pre>
|
|
||||||
<pre>
|
|
||||||
{'Salary multiplier: ' + numeralWrapper.formatPercentage(Player.work_money_mult)}
|
|
||||||
</pre><br />
|
|
||||||
<pre>
|
|
||||||
{'Crime success multiplier: ' + numeralWrapper.formatPercentage(Player.crime_success_mult)}
|
|
||||||
</pre>
|
|
||||||
<pre>
|
|
||||||
{'Crime money multiplier: ' + numeralWrapper.formatPercentage(Player.crime_money_mult)}
|
|
||||||
</pre>
|
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -74,7 +74,6 @@ for (const md of codingContractTypesMetadata) {
|
|||||||
// tslint:disable-next-line
|
// tslint:disable-next-line
|
||||||
CodingContractTypes[md.name] = new CodingContractType(md.name, md.desc, md.gen, md.solver, md.difficulty, md.numTries);
|
CodingContractTypes[md.name] = new CodingContractType(md.name, md.desc, md.gen, md.solver, md.difficulty, md.numTries);
|
||||||
}
|
}
|
||||||
console.info(`${Object.keys(CodingContractTypes).length} Coding Contract Types loaded`);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enum representing the different types of rewards a Coding Contract can give
|
* Enum representing the different types of rewards a Coding Contract can give
|
||||||
|
@ -258,5 +258,7 @@ export let CONSTANTS: IMap<any> = {
|
|||||||
* BN12 now reduces contract money
|
* BN12 now reduces contract money
|
||||||
* Character>Stats percentages are aligned, server and hacknet limit are
|
* Character>Stats percentages are aligned, server and hacknet limit are
|
||||||
displayed, if the player has SF5 the reduces stats are shown.
|
displayed, if the player has SF5 the reduces stats are shown.
|
||||||
|
* Character>Augmentations now displays by how much the player stats will
|
||||||
|
increase.
|
||||||
`
|
`
|
||||||
}
|
}
|
||||||
|
@ -500,7 +500,6 @@ export function createAndAddWorkerScript(runningScriptObj, server) {
|
|||||||
// the script from being cleaned up twice
|
// the script from being cleaned up twice
|
||||||
if (!w.running) { return; }
|
if (!w.running) { return; }
|
||||||
|
|
||||||
console.log("Stopping script " + w.name + " because it finished running naturally");
|
|
||||||
killWorkerScript(s);
|
killWorkerScript(s);
|
||||||
w.log("Script finished running");
|
w.log("Script finished running");
|
||||||
}).catch(function(w) {
|
}).catch(function(w) {
|
||||||
@ -512,8 +511,8 @@ export function createAndAddWorkerScript(runningScriptObj, server) {
|
|||||||
if (isScriptErrorMessage(w.errorMessage)) {
|
if (isScriptErrorMessage(w.errorMessage)) {
|
||||||
var errorTextArray = w.errorMessage.split("|");
|
var errorTextArray = w.errorMessage.split("|");
|
||||||
if (errorTextArray.length != 4) {
|
if (errorTextArray.length != 4) {
|
||||||
console.log("ERROR: Something wrong with Error text in evaluator...");
|
console.error("ERROR: Something wrong with Error text in evaluator...");
|
||||||
console.log("Error text: " + errorText);
|
console.error("Error text: " + errorText);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var serverIp = errorTextArray[1];
|
var serverIp = errorTextArray[1];
|
||||||
@ -532,11 +531,11 @@ export function createAndAddWorkerScript(runningScriptObj, server) {
|
|||||||
w.env.stopFlag = true;
|
w.env.stopFlag = true;
|
||||||
} else if (isScriptErrorMessage(w)) {
|
} else if (isScriptErrorMessage(w)) {
|
||||||
dialogBoxCreate("Script runtime unknown error. This is a bug please contact game developer");
|
dialogBoxCreate("Script runtime unknown error. This is a bug please contact game developer");
|
||||||
console.log("ERROR: Evaluating workerscript returns only error message rather than WorkerScript object. THIS SHOULDN'T HAPPEN: " + w.toString());
|
console.error("ERROR: Evaluating workerscript returns only error message rather than WorkerScript object. THIS SHOULDN'T HAPPEN: " + w.toString());
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
dialogBoxCreate("An unknown script died for an unknown reason. This is a bug please contact game dev");
|
dialogBoxCreate("An unknown script died for an unknown reason. This is a bug please contact game dev");
|
||||||
console.log(w);
|
console.error(w);
|
||||||
}
|
}
|
||||||
|
|
||||||
killWorkerScript(s);
|
killWorkerScript(s);
|
||||||
|
@ -411,7 +411,7 @@ export function recordMoneySource(amt, source) {
|
|||||||
|
|
||||||
export function gainHackingExp(exp) {
|
export function gainHackingExp(exp) {
|
||||||
if (isNaN(exp)) {
|
if (isNaN(exp)) {
|
||||||
console.log("ERR: NaN passed into Player.gainHackingExp()"); return;
|
console.error("ERR: NaN passed into Player.gainHackingExp()"); return;
|
||||||
}
|
}
|
||||||
this.hacking_exp += exp;
|
this.hacking_exp += exp;
|
||||||
if(this.hacking_exp < 0) {
|
if(this.hacking_exp < 0) {
|
||||||
@ -421,7 +421,7 @@ export function gainHackingExp(exp) {
|
|||||||
|
|
||||||
export function gainStrengthExp(exp) {
|
export function gainStrengthExp(exp) {
|
||||||
if (isNaN(exp)) {
|
if (isNaN(exp)) {
|
||||||
console.log("ERR: NaN passed into Player.gainStrengthExp()"); return;
|
console.error("ERR: NaN passed into Player.gainStrengthExp()"); return;
|
||||||
}
|
}
|
||||||
this.strength_exp += exp;
|
this.strength_exp += exp;
|
||||||
if(this.strength_exp < 0) {
|
if(this.strength_exp < 0) {
|
||||||
@ -431,7 +431,7 @@ export function gainStrengthExp(exp) {
|
|||||||
|
|
||||||
export function gainDefenseExp(exp) {
|
export function gainDefenseExp(exp) {
|
||||||
if (isNaN(exp)) {
|
if (isNaN(exp)) {
|
||||||
console.log("ERR: NaN passed into player.gainDefenseExp()"); return;
|
console.error("ERR: NaN passed into player.gainDefenseExp()"); return;
|
||||||
}
|
}
|
||||||
this.defense_exp += exp;
|
this.defense_exp += exp;
|
||||||
if(this.defense_exp < 0) {
|
if(this.defense_exp < 0) {
|
||||||
@ -441,7 +441,7 @@ export function gainDefenseExp(exp) {
|
|||||||
|
|
||||||
export function gainDexterityExp(exp) {
|
export function gainDexterityExp(exp) {
|
||||||
if (isNaN(exp)) {
|
if (isNaN(exp)) {
|
||||||
console.log("ERR: NaN passed into Player.gainDexterityExp()"); return;
|
console.error("ERR: NaN passed into Player.gainDexterityExp()"); return;
|
||||||
}
|
}
|
||||||
this.dexterity_exp += exp;
|
this.dexterity_exp += exp;
|
||||||
if(this.dexterity_exp < 0) {
|
if(this.dexterity_exp < 0) {
|
||||||
@ -451,7 +451,7 @@ export function gainDexterityExp(exp) {
|
|||||||
|
|
||||||
export function gainAgilityExp(exp) {
|
export function gainAgilityExp(exp) {
|
||||||
if (isNaN(exp)) {
|
if (isNaN(exp)) {
|
||||||
console.log("ERR: NaN passed into Player.gainAgilityExp()"); return;
|
console.error("ERR: NaN passed into Player.gainAgilityExp()"); return;
|
||||||
}
|
}
|
||||||
this.agility_exp += exp;
|
this.agility_exp += exp;
|
||||||
if(this.agility_exp < 0) {
|
if(this.agility_exp < 0) {
|
||||||
@ -461,7 +461,7 @@ export function gainAgilityExp(exp) {
|
|||||||
|
|
||||||
export function gainCharismaExp(exp) {
|
export function gainCharismaExp(exp) {
|
||||||
if (isNaN(exp)) {
|
if (isNaN(exp)) {
|
||||||
console.log("ERR: NaN passed into Player.gainCharismaExp()"); return;
|
console.error("ERR: NaN passed into Player.gainCharismaExp()"); return;
|
||||||
}
|
}
|
||||||
this.charisma_exp += exp;
|
this.charisma_exp += exp;
|
||||||
if(this.charisma_exp < 0) {
|
if(this.charisma_exp < 0) {
|
||||||
@ -471,7 +471,7 @@ export function gainCharismaExp(exp) {
|
|||||||
|
|
||||||
export function gainIntelligenceExp(exp) {
|
export function gainIntelligenceExp(exp) {
|
||||||
if (isNaN(exp)) {
|
if (isNaN(exp)) {
|
||||||
console.log("ERROR: NaN passed into Player.gainIntelligenceExp()"); return;
|
console.error("ERROR: NaN passed into Player.gainIntelligenceExp()"); return;
|
||||||
}
|
}
|
||||||
if (SourceFileFlags[5] > 0 || this.intelligence > 0) {
|
if (SourceFileFlags[5] > 0 || this.intelligence > 0) {
|
||||||
this.intelligence_exp += exp;
|
this.intelligence_exp += exp;
|
||||||
@ -1827,7 +1827,6 @@ export function isQualified(company, position) {
|
|||||||
|
|
||||||
/********** Reapplying Augmentations and Source File ***********/
|
/********** Reapplying Augmentations and Source File ***********/
|
||||||
export function reapplyAllAugmentations(resetMultipliers=true) {
|
export function reapplyAllAugmentations(resetMultipliers=true) {
|
||||||
console.log("Re-applying augmentations");
|
|
||||||
if (resetMultipliers) {
|
if (resetMultipliers) {
|
||||||
this.resetMultipliers();
|
this.resetMultipliers();
|
||||||
}
|
}
|
||||||
@ -1856,7 +1855,6 @@ export function reapplyAllAugmentations(resetMultipliers=true) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function reapplyAllSourceFiles() {
|
export function reapplyAllSourceFiles() {
|
||||||
console.log("Re-applying source files");
|
|
||||||
//Will always be called after reapplyAllAugmentations() so multipliers do not have to be reset
|
//Will always be called after reapplyAllAugmentations() so multipliers do not have to be reset
|
||||||
//this.resetMultipliers();
|
//this.resetMultipliers();
|
||||||
|
|
||||||
|
@ -112,7 +112,7 @@ BitburnerSaveObject.prototype.saveGame = function(db) {
|
|||||||
var request = objectStore.put(saveString, "save");
|
var request = objectStore.put(saveString, "save");
|
||||||
|
|
||||||
request.onerror = function(e) {
|
request.onerror = function(e) {
|
||||||
console.log("Error saving game to IndexedDB: " + e);
|
console.error("Error saving game to IndexedDB: " + e);
|
||||||
}
|
}
|
||||||
|
|
||||||
request.onsuccess = function(e) {
|
request.onsuccess = function(e) {
|
||||||
@ -124,7 +124,7 @@ BitburnerSaveObject.prototype.saveGame = function(db) {
|
|||||||
} catch(e) {
|
} catch(e) {
|
||||||
if (e.code == 22) {
|
if (e.code == 22) {
|
||||||
createStatusText("Save failed for localStorage! Check console(F12)");
|
createStatusText("Save failed for localStorage! Check console(F12)");
|
||||||
console.log("Failed to save game to localStorage because the size of the save file " +
|
console.error("Failed to save game to localStorage because the size of the save file " +
|
||||||
"is too large. However, the game will still be saved to IndexedDb if your browser " +
|
"is too large. However, the game will still be saved to IndexedDb if your browser " +
|
||||||
"supports it. If you would like to save to localStorage as well, then " +
|
"supports it. If you would like to save to localStorage as well, then " +
|
||||||
"consider killing several of your scripts to " +
|
"consider killing several of your scripts to " +
|
||||||
@ -247,7 +247,7 @@ function loadGame(saveString) {
|
|||||||
try {
|
try {
|
||||||
Settings.load(saveObj.SettingsSave);
|
Settings.load(saveObj.SettingsSave);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
console.log("ERROR: Failed to parse Settings. Re-initing default values");
|
console.error("ERROR: Failed to parse Settings. Re-initing default values");
|
||||||
Settings.init();
|
Settings.init();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -257,7 +257,7 @@ function loadGame(saveString) {
|
|||||||
try {
|
try {
|
||||||
loadFconf(saveObj.FconfSettingsSave);
|
loadFconf(saveObj.FconfSettingsSave);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
console.log("ERROR: Failed to parse .fconf Settings.");
|
console.error("ERROR: Failed to parse .fconf Settings.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (saveObj.hasOwnProperty("VersionSave")) {
|
if (saveObj.hasOwnProperty("VersionSave")) {
|
||||||
@ -281,7 +281,7 @@ function loadGame(saveString) {
|
|||||||
try {
|
try {
|
||||||
loadAllGangs(saveObj.AllGangsSave);
|
loadAllGangs(saveObj.AllGangsSave);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
console.log("ERROR: Failed to parse AllGangsSave: " + e);
|
console.error("ERROR: Failed to parse AllGangsSave: " + e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -439,7 +439,7 @@ function loadImportedGame(saveObj, saveString) {
|
|||||||
try {
|
try {
|
||||||
loadFconf(saveObj.FconfSettingsSave);
|
loadFconf(saveObj.FconfSettingsSave);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
console.log("ERROR: Failed to load .fconf settings when importing");
|
console.error("ERROR: Failed to load .fconf settings when importing");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (saveObj.hasOwnProperty("VersionSave")) {
|
if (saveObj.hasOwnProperty("VersionSave")) {
|
||||||
@ -460,7 +460,7 @@ function loadImportedGame(saveObj, saveString) {
|
|||||||
try {
|
try {
|
||||||
loadAllGangs(saveObj.AllGangsSave);
|
loadAllGangs(saveObj.AllGangsSave);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
console.log("ERROR: Failed to parse AllGangsSave: " + e);
|
console.error("ERROR: Failed to parse AllGangsSave: " + e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -592,7 +592,7 @@ const Engine = {
|
|||||||
factionsList.appendChild(createElement("a", {
|
factionsList.appendChild(createElement("a", {
|
||||||
class:"a-link-button", innerText:factionName, padding:"4px", margin:"4px",
|
class:"a-link-button", innerText:factionName, padding:"4px", margin:"4px",
|
||||||
display:"inline-block",
|
display:"inline-block",
|
||||||
clickListener:()=>{
|
clickListener: () => {
|
||||||
Engine.loadFactionContent();
|
Engine.loadFactionContent();
|
||||||
displayFactionContent(factionName);
|
displayFactionContent(factionName);
|
||||||
return false;
|
return false;
|
||||||
@ -1536,19 +1536,18 @@ window.onload = function() {
|
|||||||
indexedDbRequest = window.indexedDB.open("bitburnerSave", 1);
|
indexedDbRequest = window.indexedDB.open("bitburnerSave", 1);
|
||||||
|
|
||||||
indexedDbRequest.onerror = function(e) {
|
indexedDbRequest.onerror = function(e) {
|
||||||
console.log("Error opening indexedDB: ");
|
console.error("Error opening indexedDB: ");
|
||||||
console.log(e);
|
console.error(e);
|
||||||
return Engine.load(null); // Try to load from localstorage
|
return Engine.load(null); // Try to load from localstorage
|
||||||
};
|
};
|
||||||
|
|
||||||
indexedDbRequest.onsuccess = function(e) {
|
indexedDbRequest.onsuccess = function(e) {
|
||||||
console.log("Opening bitburnerSave database successful!");
|
|
||||||
indexedDb = e.target.result;
|
indexedDb = e.target.result;
|
||||||
var transaction = indexedDb.transaction(["savestring"]);
|
var transaction = indexedDb.transaction(["savestring"]);
|
||||||
var objectStore = transaction.objectStore("savestring");
|
var objectStore = transaction.objectStore("savestring");
|
||||||
var request = objectStore.get("save");
|
var request = objectStore.get("save");
|
||||||
request.onerror = function(e) {
|
request.onerror = function(e) {
|
||||||
console.log("Error in Database request to get savestring: " + e);
|
console.error("Error in Database request to get savestring: " + e);
|
||||||
return Engine.load(null); // Try to load from localstorage
|
return Engine.load(null); // Try to load from localstorage
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -42,7 +42,6 @@ document.addEventListener("keydown", function (event) {
|
|||||||
let dialogBoxOpened = false;
|
let dialogBoxOpened = false;
|
||||||
|
|
||||||
function dialogBoxCreate(txt, preformatted=false) {
|
function dialogBoxCreate(txt, preformatted=false) {
|
||||||
console.log(`dialogBoxCreate() called`)
|
|
||||||
var container = document.createElement("div");
|
var container = document.createElement("div");
|
||||||
container.setAttribute("class", "dialog-box-container");
|
container.setAttribute("class", "dialog-box-container");
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user