Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions data/story/frlg-authored/frlg-00.01.plan.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"format": "pokesim-authored-checkpoint/1",
"game": "frlg",
"checkpoint": {
"id": "00.01",
"title": "new game to the bedroom",
"sections": [
{
"id": "new_game",
"title": "Title screen to the bedroom",
"events": [
{
"id": "intro",
"kind": "new_game",
"declared_after": {"certainty": "tile", "map": "PalletTown_PlayersHouse_2F", "where": {"facing": "north", "kind": "tiles", "tiles": [[6, 6]]}},
"why": "Oak's speech, BOY, the player's name (default if none is set), rival GREEN",
"notes": [
"new_game.c: the bedroom at (6, 6), facing the TV."
]
},
{
"id": "options",
"kind": "options",
"why": "fast text; no switch prompt between a trainer's Pokemon"
}
]
}
]
},
"execution": {"handoff": "sid_helper", "menu": "before_pokemon"}
}
33 changes: 33 additions & 0 deletions data/story/frlg-authored/frlg-00.01b.plan.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"format": "pokesim-authored-checkpoint/1",
"game": "frlg",
"checkpoint": {
"id": "00.01b",
"title": "after SID Helper: close the Trainer Card, save in the bedroom",
"notes": [
"SID Helper confirms the name, finishes the intro and reads the Trainer Card from the START menu, without moving the player or saving."
],
"start": {"certainty": "tile", "map": "PalletTown_PlayersHouse_2F", "where": {"facing": "north", "kind": "tiles", "tiles": [[6, 6]]}},
"sections": [
{
"id": "bedroom",
"title": "Back from SID Helper in the bedroom",
"events": [
{
"id": "close_trainer_card",
"kind": "game_action",
"variant": "close_trainer_card",
"declared_after": {"certainty": "tile", "map": "PalletTown_PlayersHouse_2F", "where": {"facing": "north", "kind": "tiles", "tiles": [[6, 6]]}},
"why": "the Trainer Card SID Helper left open, or HOME"
},
{
"id": "options",
"kind": "options",
"why": "fast text; no switch prompt between a trainer's Pokemon"
}
]
}
]
},
"execution": {"live_start": true, "menu": "before_pokemon"}
}
24 changes: 24 additions & 0 deletions data/story/frlg-authored/frlg-00.02.plan.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"format": "pokesim-authored-checkpoint/1",
"game": "frlg",
"checkpoint": {
"id": "00.02",
"title": "bedroom to Pallet Town",
"start": {"certainty": "tile", "map": "PalletTown_PlayersHouse_2F", "where": {"facing": "north", "kind": "tiles", "tiles": [[6, 6]]}},
"sections": [
{
"id": "players_house",
"title": "Down the stairs and out",
"events": [
{
"id": "front_door",
"kind": "route",
"target": {"certainty": "tile", "map": "PalletTown", "where": {"kind": "tiles", "tiles": [[6, 8]]}},
"why": "down the stairs and out of the house"
}
]
}
]
},
"execution": {"menu": "before_pokemon"}
}
39 changes: 39 additions & 0 deletions data/story/frlg-authored/frlg-00.03.plan.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
"format": "pokesim-authored-checkpoint/1",
"game": "frlg",
"checkpoint": {
"id": "00.03",
"title": "Oak stops the player and walks them to the lab",
"start": {"certainty": "tile", "map": "PalletTown", "where": {"facing": "south", "kind": "tiles", "tiles": [[6, 8]]}},
"sections": [
{
"id": "pallet_north",
"title": "Pallet Town's north exit to Oak's lab",
"events": [
{
"id": "below_oaks_trigger",
"kind": "route",
"target": {"certainty": "tile", "map": "PalletTown", "where": {"facing": "north", "kind": "tiles", "tiles": [[12, 2]]}},
"why": "below the north exit, short of Oak's trigger at (12, 1)"
},
{
"id": "oaks_trigger",
"kind": "step",
"direction": "north",
"why": "the trigger: \"Don't go out!\""
},
{
"id": "to_the_lab",
"kind": "scene",
"declared_after": {"certainty": "tile", "map": "PalletTown_ProfessorOaksLab", "where": {"facing": "north", "kind": "tiles", "tiles": [[6, 4]]}},
"why": "Oak walks the player into the lab; the scene ends at the table",
"notes": [
"PlayerEnter walks the player up 8 tiles from the lab's door."
]
}
]
}
]
},
"execution": {"menu": "before_pokemon"}
}
27 changes: 27 additions & 0 deletions data/story/frlg-authored/frlg-00.04.plan.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"format": "pokesim-authored-checkpoint/1",
"game": "frlg",
"checkpoint": {
"id": "00.04",
"title": "to Squirtle's ball, south of the table",
"notes": [
"Starter RNG starts from a save south of the table, facing the ball."
],
"start": {"certainty": "tile", "map": "PalletTown_ProfessorOaksLab", "where": {"facing": "north", "kind": "tiles", "tiles": [[6, 4]]}},
"sections": [
{
"id": "lab_table",
"title": "Oak's lab, below Squirtle's ball",
"events": [
{
"id": "below_squirtle",
"kind": "route",
"target": {"certainty": "tile", "map": "PalletTown_ProfessorOaksLab", "where": {"facing": "north", "kind": "tiles", "tiles": [[9, 5]]}},
"why": "under Squirtle's ball (9, 4)"
}
]
}
]
},
"execution": {"handoff": "starter_rng", "menu": "before_pokemon"}
}
68 changes: 68 additions & 0 deletions data/story/frlg-authored/frlg-00.04b.plan.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
{
"format": "pokesim-authored-checkpoint/1",
"game": "frlg",
"checkpoint": {
"id": "00.04b",
"title": "Squirtle, then the rival's battle",
"start": {"certainty": "tile", "map": "PalletTown_ProfessorOaksLab", "where": {"facing": "north", "kind": "tiles", "tiles": [[9, 5]]}},
"sections": [
{
"id": "starter",
"title": "Squirtle from the table",
"events": [
{
"id": "squirtle_ball",
"kind": "talk",
"why": "\"So, you want the WATER POKEMON SQUIRTLE?\""
},
{
"id": "choose_squirtle",
"kind": "answer",
"why": "take Squirtle"
},
{
"id": "no_nickname",
"kind": "answer",
"yes": false,
"why": "\"give a nickname?\" NO"
},
{
"id": "rival_takes_bulbasaur",
"kind": "scene",
"declared_after": {"certainty": "tile", "map": "PalletTown_ProfessorOaksLab", "where": {"facing": "north", "kind": "tiles", "tiles": [[9, 5]]}},
"why": "the rival picks his ball; the player still faces the table (console B, 2026-11-01)"
}
]
},
{
"id": "rival_lab",
"title": "The rival's first battle",
"events": [
{
"id": "above_rival_trigger",
"kind": "route",
"target": {"certainty": "tile", "map": "PalletTown_ProfessorOaksLab", "where": {"facing": "south", "kind": "tiles", "tiles": [[7, 7]]}},
"why": "short of the rival's trigger row 8"
},
{
"id": "rival_trigger",
"kind": "step",
"direction": "south",
"why": "\"Wait, let's check out our POKEMON!\""
},
{
"id": "rival_battle",
"kind": "battle",
"may_lose": true,
"declared_after": {"certainty": "tile", "map": "PalletTown_ProfessorOaksLab", "where": {"facing": "south", "kind": "tiles", "tiles": [[7, 8]]}},
"why": "the tutorial battle; losing goes on too",
"notes": [
"The rival leaves; PlayerWatchRivalExitAfterBattleRight ends facing down."
]
}
]
}
]
},
"execution": {"menu": "before_pokedex"}
}
35 changes: 35 additions & 0 deletions data/story/frlg-authored/frlg-00.06.plan.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"format": "pokesim-authored-checkpoint/1",
"game": "frlg",
"checkpoint": {
"id": "00.06",
"title": "Oak's Parcel to the Pokedex",
"start": {"certainty": "tile", "map": "ViridianCity_Mart", "where": {"facing": "west", "kind": "tiles", "tiles": [[4, 3]]}},
"sections": [
{
"id": "route1_to_oak",
"title": "Route 1 back to Oak",
"events": [
{
"id": "below_oak",
"kind": "route",
"target": {"certainty": "tile", "map": "PalletTown_ProfessorOaksLab", "where": {"facing": "north", "kind": "tiles", "tiles": [[6, 4]]}},
"why": "back down Route 1 to Oak"
},
{
"id": "give_parcel",
"kind": "talk",
"why": "Oak takes the parcel"
},
{
"id": "pokedex_scene",
"kind": "scene",
"declared_after": {"certainty": "tile", "map": "PalletTown_ProfessorOaksLab", "where": {"facing": "south", "kind": "tiles", "tiles": [[6, 4]]}},
"why": "the rival comes in, Pokedexes from the desk; the player ends facing south (console B, 2026-11-01)"
}
]
}
]
},
"execution": {"menu": "full"}
}
101 changes: 101 additions & 0 deletions data/story/frlg-authored/frlg-00.07.plan.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
{
"format": "pokesim-authored-checkpoint/1",
"game": "frlg",
"checkpoint": {
"id": "00.07",
"title": "Viridian shopping, then into Viridian Forest",
"start": {"certainty": "tile", "map": "PalletTown_ProfessorOaksLab", "where": {"facing": "south", "kind": "tiles", "tiles": [[6, 4]]}},
"sections": [
{
"id": "viridian_mart",
"title": "Viridian Mart",
"events": [
{
"id": "mart_clerk",
"kind": "route",
"target": {"certainty": "tile", "map": "ViridianCity_Mart", "where": {"facing": "west", "kind": "tiles", "tiles": [[4, 3]]}},
"why": "Route 1 again"
},
{
"id": "potions_and_antidotes",
"kind": "shop",
"items": [{"item": "potion", "quantity": 5}, {"item": "antidote", "quantity": 3}, {"item": "parlyz_heal", "quantity": 1}],
"why": "5 Potions, 3 Antidotes, 1 Parlyz Heal",
"notes": [
"2000 of the 3000 a new game starts with, plus the rival's prize."
]
}
]
},
{
"id": "viridian_center",
"title": "Viridian's Pokemon Center",
"events": [
{
"id": "viridian_nurse",
"kind": "route",
"target": {"certainty": "tile", "map": "ViridianCity_PokemonCenter_1F", "where": {"facing": "north", "kind": "tiles", "tiles": [[7, 4]]}},
"why": "heal before the forest"
},
{
"id": "heal_viridian",
"kind": "heal",
"why": "full HP"
}
]
},
{
"id": "old_man",
"title": "The old man's catching tutorial",
"events": [
{
"id": "below_old_man_trigger",
"kind": "route",
"target": {"certainty": "tile", "map": "ViridianCity", "where": {"facing": "north", "kind": "tiles", "tiles": [[20, 9]]}},
"why": "short of the tutorial trigger (20, 8)"
},
{
"id": "old_man_trigger",
"kind": "step",
"direction": "north",
"why": "the old man's catching tutorial can't be walked around"
},
{
"id": "old_man_tutorial",
"kind": "scene",
"declared_after": {"certainty": "tile", "map": "ViridianCity", "where": {"facing": "east", "kind": "tiles", "tiles": [[20, 8]]}},
"why": "about 60 lines and his demo battle; TEACHY TV",
"notes": [
"TutorialTriggerLeft turns the player right, to the old man."
]
},
{
"id": "past_old_man",
"kind": "route",
"target": {"certainty": "tile", "map": "ViridianCity", "where": {"facing": "north", "kind": "tiles", "tiles": [[20, 5]]}},
"why": "north along column 20, clear of the old man",
"notes": [
"After his demo the old man stands east of the player, beside (20, 8), where the map doesn't have him: \"east 2\" from there didn't move, and the walk north ended under Route 2's ledge in column 8 (console B, 2026-11-01). Go north first."
]
}
]
},
{
"id": "route2",
"title": "Route 2 to Viridian Forest",
"events": [
{
"id": "forest_entrance",
"kind": "route",
"target": {"certainty": "tile", "map": "ViridianForest", "where": {"facing": "north", "kind": "tiles", "tiles": [[29, 62]]}},
"why": "Route 2 and the south gate, running from wild battles",
"notes": [
"The gate's north warp lands on the forest's exit mat (29, 62), facing north. The save there keeps a forest failure from going back to Pallet."
]
}
]
}
]
},
"execution": {"menu": "full"}
}
Loading
Loading