Purchased Augmentations
@@ -60,8 +78,8 @@ export class AugmentationsRoot extends React.Component
{
diff --git a/src/ExportBonus.tsx b/src/ExportBonus.tsx
new file mode 100644
index 000000000..ed33b6d24
--- /dev/null
+++ b/src/ExportBonus.tsx
@@ -0,0 +1,19 @@
+import { Factions } from "./Faction/Factions";
+import { IPlayer } from "./PersonObjects/IPlayer";
+
+export let LastExportBonus: number = 0;
+
+const bonusTimer = 24*60*60*1000; // 24h
+export function canGetBonus(): boolean {
+ const now = (new Date()).getTime()
+ if(now - LastExportBonus > bonusTimer) return true;
+ return false;
+}
+
+export function onExport(p: IPlayer): void {
+ if(!canGetBonus()) return;
+ for (const facName of p.factions) {
+ Factions[facName].favor++;
+ }
+ LastExportBonus = (new Date()).getTime();
+}
\ No newline at end of file
diff --git a/src/SaveObject.jsx b/src/SaveObject.jsx
index 5ffbb156d..884d47d02 100755
--- a/src/SaveObject.jsx
+++ b/src/SaveObject.jsx
@@ -31,6 +31,7 @@ import { loadStockMarket, StockMarket } from "./StockMarket/StockMarket";
import { createStatusText } from "./ui/createStatusText";
import { setTimeoutRef } from "./utils/SetTimeoutRef";
+import { LastExportBonus } from "./ExportBonus";
import { dialogBoxCreate } from "../utils/DialogBox";
import { gameOptionsBoxClose } from "../utils/GameOptions";
@@ -66,6 +67,7 @@ function BitburnerSaveObject() {
this.FconfSettingsSave = "";
this.VersionSave = "";
this.AllGangsSave = "";
+ this.LastExportBonus = "";
}
BitburnerSaveObject.prototype.getSaveString = function() {
@@ -94,6 +96,7 @@ BitburnerSaveObject.prototype.getSaveString = function() {
this.SettingsSave = JSON.stringify(Settings);
this.FconfSettingsSave = JSON.stringify(FconfSettings);
this.VersionSave = JSON.stringify(CONSTANTS.Version);
+ this.LastExportBonus = JSON.stringify(LastExportBonus);
if (Player.inGang()) {
this.AllGangsSave = JSON.stringify(AllGangs);
}