Exact source used by this build. SHA-256: f6d4bc2b17a7b4c0dcef07271f74331124fede14981fb9f9f5ba8ff191d4d81f.

1 import type { Intent, IntentResult, SimEvent, SimRules, WorldState } from "./types";
2 import { systemRegistry } from "./systems";
3 export { setWalletMode, transferMoney } from "./systems/wallet";
4 export { passOut } from "./systems/energy";
5 export function applyIntent(state: WorldState, playerId: string, intent: Intent, options: { elapsedMs?: number; rules?: SimRules } = {}): IntentResult {
6   return systemRegistry.dispatch(state, playerId, intent, options);
7 }
8 /** Executes registered hooks in registry order. */
9 export function overnight(state: WorldState, rules: SimRules = { crops: {} }, suppliedEvents: SimEvent[] = [], preserveRemainder = false): IntentResult {
10   const result = systemRegistry.runHook("onOvernight", state, rules, { preserveRemainder });
11   return { ...result, events: [...suppliedEvents, ...result.events] };
12 }
13