Initial commit: Theriapolis baseline at port/godot branch point
Captures the pre-Godot-port state of the codebase. This is the rollback anchor for the Godot port (M0 of theriapolis-rpg-implementation-plan-godot-port.md). All Phase 0 through Phase 6.5 work is included; Phase 7 is in flight. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
{
|
||||
"id": "millhaven_constable",
|
||||
"root": "intro",
|
||||
"nodes": [
|
||||
{
|
||||
"id": "intro",
|
||||
"speaker": "npc",
|
||||
"text": "\"Constable Aldous Fenn. Magistrate told me to expect you.\"\n\nThe coyote-folk constable has the worn calm of someone who has already had two long days this week. His Covenant brassard is impeccable; his cuffs are not. \"I'm sorry for your loss. Anything you need from the office, you ask me first.\"",
|
||||
"options": [
|
||||
{ "text": "Show me your file on my parents.", "next": "case_file" },
|
||||
{ "text": "What's the Old Howl mine?", "next": "old_howl" },
|
||||
{ "text": "I heard there's some kind of dispute on the south fence.", "next": "fence_dispute" },
|
||||
{ "text": "I'll come back later.", "next": "<end>" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "case_file",
|
||||
"speaker": "npc",
|
||||
"text": "He pulls a thin folder. \"Open-field rawfang attack. No witnesses, no print pattern, no one missing from the local population. I closed it as such. Magistrate disagreed. He didn't tell me what he disagreed with.\"\n\nA pause. \"If you find something my eyes missed, I want to know. I'd rather rewrite a closed case than work the wrong one.\"",
|
||||
"options": [
|
||||
{ "text": "I will. Thank you.", "next": "intro" },
|
||||
{ "text": "Why didn't the magistrate tell you?", "next": "magistrate_split" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "magistrate_split",
|
||||
"speaker": "npc",
|
||||
"text": "He almost smiles. \"Because the magistrate is older than me, and he learned policing in a generation that didn't trust paperwork. He's careful with what he writes down. I am too, when I have to be.\"",
|
||||
"options": [
|
||||
{ "text": "Understood.", "next": "intro" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "old_howl",
|
||||
"speaker": "npc",
|
||||
"text": "\"Collapsed mine, due south. Used to ship copper. The shaft fell in fifty years ago. Officially closed. Unofficially, somebody's been camping in the entrance — campfire ash and a path beaten in the brush. Brigands, I expect. Take care if you go.\"",
|
||||
"options": [
|
||||
{ "text": "Brigands? On their own, this close to town?", "next": "brigand_concern" },
|
||||
{ "text": "Good to know.", "next": "intro" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "brigand_concern",
|
||||
"speaker": "npc",
|
||||
"text": "\"On their own, no. Some of them work to a contract. I would like to know who pays for camp ash this close to town. If you find out and choose to tell me, the office will remember.\"",
|
||||
"options": [
|
||||
{ "text": "I'll look.", "next": "intro" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "fence_dispute",
|
||||
"speaker": "npc",
|
||||
"text": "\"Cervid farmer named Mira and a Canid rancher named Voss. Same fence line for thirty years. This summer it became a war. Both sides are right about something. Neither will speak to me without the other in the room. I am very tired of fences.\"\n\n\"If you can mediate, I will accept any honest outcome.\"",
|
||||
"options": [
|
||||
{
|
||||
"text": "I'll go talk to them.",
|
||||
"next": "fence_accept",
|
||||
"effects": [
|
||||
{ "kind": "start_quest", "quest": "side_act_i_fence_lines" }
|
||||
]
|
||||
},
|
||||
{ "text": "Not my problem.", "next": "intro" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "fence_accept",
|
||||
"speaker": "npc",
|
||||
"text": "\"Mira's farm is the second left out the south gate. Voss runs his herd along the eastern ridge. Pick a side, pick a compromise — I'll back any solution that holds for a season.\"",
|
||||
"options": [
|
||||
{ "text": "Understood.", "next": "<end>" }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user