b451f83174
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>
84 lines
2.8 KiB
JSON
84 lines
2.8 KiB
JSON
{
|
|
"id": "generic_guard",
|
|
"root": "intro",
|
|
"nodes": [
|
|
{
|
|
"id": "intro",
|
|
"speaker": "npc",
|
|
"text": "Halt. State your business in {npc.role}.",
|
|
"options": [
|
|
{ "text": "Just passing through. Travelling to learn the country.", "next": "passes" },
|
|
{
|
|
"text": "I'm here on business with the magistrate.",
|
|
"next": "passes",
|
|
"conditions": [
|
|
{ "kind": "rep_at_least", "faction": "covenant_enforcers", "value": 0 }
|
|
]
|
|
},
|
|
{
|
|
"text": "[Persuasion DC 13] Come now, friend — do I look like trouble?",
|
|
"skill_check": { "skill": "persuasion", "dc": 13 },
|
|
"next_on_success": "passes_warmly",
|
|
"next_on_failure": "guard_suspicious",
|
|
"effects_on_success": [
|
|
{ "kind": "rep_event", "event": { "kind": "Dialogue", "magnitude": 2, "faction": "covenant_enforcers", "note": "smooth talker" } }
|
|
]
|
|
},
|
|
{
|
|
"text": "[Intimidate DC 16] Stand aside.",
|
|
"skill_check": { "skill": "intimidation", "dc": 16 },
|
|
"next_on_success": "guard_steps_aside",
|
|
"next_on_failure": "guard_calls_for_help",
|
|
"effects_on_success": [
|
|
{ "kind": "rep_event", "event": { "kind": "Dialogue", "magnitude": -3, "faction": "covenant_enforcers", "note": "intimidated a guard" } }
|
|
],
|
|
"effects_on_failure": [
|
|
{ "kind": "rep_event", "event": { "kind": "Crime", "magnitude": -8, "faction": "covenant_enforcers", "note": "tried to bully a guard" } }
|
|
]
|
|
},
|
|
{ "text": "Apologies. Goodbye.", "next": "<end>" }
|
|
]
|
|
},
|
|
{
|
|
"id": "passes",
|
|
"speaker": "npc",
|
|
"text": "On your way then. Mind the curfew. Stranger faces have come through this season; we're keeping count.",
|
|
"options": [
|
|
{ "text": "Thank you.", "next": "<end>" }
|
|
]
|
|
},
|
|
{
|
|
"id": "passes_warmly",
|
|
"speaker": "npc",
|
|
"text": "Hah — alright, alright, on with you. Mind yourself out there.",
|
|
"options": [
|
|
{ "text": "Thank you, friend.", "next": "<end>" }
|
|
]
|
|
},
|
|
{
|
|
"id": "guard_suspicious",
|
|
"speaker": "npc",
|
|
"text": "Mm. I'll be remembering your face. Move along.",
|
|
"options": [
|
|
{ "text": "Thank you.", "next": "<end>" }
|
|
]
|
|
},
|
|
{
|
|
"id": "guard_steps_aside",
|
|
"speaker": "npc",
|
|
"text": "(They step aside, jaw tight.) Pass. Don't make me regret it.",
|
|
"options": [
|
|
{ "text": "(Walk past.)", "next": "<end>" }
|
|
]
|
|
},
|
|
{
|
|
"id": "guard_calls_for_help",
|
|
"speaker": "npc",
|
|
"text": "(They reach for a whistle.) That's enough. Constable! Constable, here!",
|
|
"options": [
|
|
{ "text": "(Back away.)", "next": "<end>" }
|
|
]
|
|
}
|
|
]
|
|
}
|