Mechanic now properly save/load

This commit is contained in:
Olivier Gagnon 2024-06-11 19:34:33 -04:00
parent e83f91de6e
commit 37c9dcfa57
No known key found for this signature in database
GPG Key ID: 0018772EA86FA03F
3 changed files with 10 additions and 4 deletions

@ -1,6 +1,6 @@
import { Device, DeviceType, Component, DeviceID, Glitch } from "@nsdefs";
import { glitchMult } from "./formulas/glitches";
import { pickOne } from "./utils";
import { isDeviceISocket, pickOne } from "./utils";
import { componentTiers } from "./formulas/components";
import { NewBattery, NewBus, NewCache, NewISocket, NewLock, NewOSocket, NewReducer } from "./NewDevices";
import { startRoaming } from "./glitches/roaming";
@ -33,8 +33,10 @@ export const loadMyrian = (save: string) => {
startRust();
startSegmentation();
if (!save) return;
// const savedMyrian = JSON.parse(save);
// Object.assign(myrian, savedMyrian);
const savedMyrian = JSON.parse(save);
Object.assign(myrian, savedMyrian);
myrian.devices.forEach((d) => (d.isBusy = false));
myrian.devices.filter(isDeviceISocket).forEach((d) => (d.content = new Array(d.maxContent).fill(d.emitting)));
};
export const inMyrianBounds = (x: number, y: number) => x >= 0 && x < myrianSize && y >= 0 && y < myrianSize;

@ -28,6 +28,7 @@ import { initCircadianModulator } from "./Augmentation/Augmentations";
import { Go } from "./Go/Go";
import { calculateExp } from "./PersonObjects/formulas/skill";
import { currentNodeMults } from "./BitNode/BitNodeMultipliers";
import { resetMyrian } from "./Myrian/Myrian";
const BitNode8StartingMoney = 250e6;
function delayedDialog(message: string) {
@ -318,6 +319,9 @@ export function prestigeSourceFile(isFlume: boolean): void {
}
staneksGift.prestigeSourceFile();
Player.myrianConnection = false;
resetMyrian();
// Gain int exp
if (Player.sourceFileLvl(5) !== 0 && !isFlume) Player.gainIntelligenceExp(300);

@ -355,7 +355,7 @@ export function SidebarRoot(props: { page: Page }): React.ReactElement {
canCorporation && { key_: Page.Corporation, icon: BusinessIcon },
canGang && { key_: Page.Gang, icon: SportsMmaIcon },
canIPvGO && { key_: Page.Go, icon: BorderInnerSharp },
(true || Player.myrianConnection) && { key_: Page.MyrianOS, icon: SettingsInputComponentIcon },
Player.myrianConnection && { key_: Page.MyrianOS, icon: SettingsInputComponentIcon },
]}
/>
<Divider />