import { CrystalAssets } from "../src/game/rom/assets"; import { GameWorld } from "../src/game/world/world"; /** Places the player at the Cherrygrove Mart counter (facing the clerk * behind it at 1,3 through the counter tile at 2,3) so `interact()` talks * to them without walking the overworld from New Bark Town. */ export function martFixtureWorld(assets: CrystalAssets) { let seed = 1; const world = new GameWorld( assets, () => new Date("2026-09-22T12:00:00"), () => { seed = (seed * 1103515245 + 12345) >>> 0; return (seed >>> 16) & 255; }, ); const save = world.save(); save.map = "26:4"; save.x = 3; save.y = 3; save.direction = "left"; world.restore(save); // The first idle tick runs the new game's daily reset. world.tick(); return world; } /** Talk to the clerk and let the mart's welcome screen present. */ export function talkToClerk(world: GameWorld) { world.interact(); }