- Enable Route 29, its Route 46 gate, Cherrygrove City and its buildings. - Run item balls through FindItemInBallScript and fruit trees through FruitTreeScript, with a native daily reset of the daily engine flags. - Port the Pokémon Center nurse (HealParty with the PP Up clamp, CheckPokerus, phone-call checks) and record the whiteout spawn on entering a Pokémon Center, as EnterMapWarp does. - Port standard Poké Marts with keyboard, D-pad and pointer menus. - Add the recoil battle command (Struggle) and VAR_BOXSPACE. - Save fruit trees, the daily reset day and the last spawn map; older version-3 backups migrate by absence. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
11d1153802
commit
796fe8f6d5
24 files changed
+1549
-59
No files matched your search
@@ -0,0 +1,31 @@
|
||||
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();
|
||||
}
|
||||
Reference in new issue
Block a user