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,109 @@
|
||||
{
|
||||
"id": "generic_merchant",
|
||||
"root": "intro",
|
||||
"nodes": [
|
||||
{
|
||||
"id": "intro",
|
||||
"speaker": "npc",
|
||||
"text": "{disposition_label} face today. What brings you to my counter, friend?",
|
||||
"options": [
|
||||
{
|
||||
"text": "Show me what you have for sale.",
|
||||
"next": "shop_open",
|
||||
"effects": [{ "kind": "open_shop" }]
|
||||
},
|
||||
{
|
||||
"text": "What's the news?",
|
||||
"next": "lore"
|
||||
},
|
||||
{
|
||||
"text": "[Persuasion DC 12] Surely a regular customer earns better prices?",
|
||||
"skill_check": { "skill": "persuasion", "dc": 12 },
|
||||
"next_on_success": "shopkeeper_warmed",
|
||||
"next_on_failure": "shopkeeper_unmoved",
|
||||
"effects_on_success": [
|
||||
{ "kind": "rep_event", "event": { "kind": "Dialogue", "magnitude": 2, "note": "polite haggle" } }
|
||||
],
|
||||
"effects_on_failure": [
|
||||
{ "kind": "rep_event", "event": { "kind": "Dialogue", "magnitude": -1, "note": "weak pitch" } }
|
||||
]
|
||||
},
|
||||
{
|
||||
"text": "[Intimidate DC 14] Discount, or I tell people about the rats in your stockroom.",
|
||||
"skill_check": { "skill": "intimidation", "dc": 14 },
|
||||
"next_on_success": "shopkeeper_caves",
|
||||
"next_on_failure": "shopkeeper_dismisses",
|
||||
"conditions": [
|
||||
{ "kind": "not_has_flag", "flag": "intimidation_used_at_npc" }
|
||||
],
|
||||
"effects_on_success": [
|
||||
{ "kind": "set_flag", "flag": "shopkeeper_intimidated" },
|
||||
{ "kind": "set_flag", "flag": "intimidation_used_at_npc" }
|
||||
],
|
||||
"effects_on_failure": [
|
||||
{ "kind": "rep_event", "event": { "kind": "Dialogue", "magnitude": -3, "note": "tried to bully" } },
|
||||
{ "kind": "set_flag", "flag": "intimidation_used_at_npc" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"text": "Goodbye.",
|
||||
"next": "<end>"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "shop_open",
|
||||
"speaker": "npc",
|
||||
"text": "Take a look. Quality goods, fair prices.",
|
||||
"options": [
|
||||
{ "text": "[Browse]", "next": "intro", "effects": [{ "kind": "open_shop" }] },
|
||||
{ "text": "Actually, never mind.", "next": "intro" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "lore",
|
||||
"speaker": "npc",
|
||||
"text": "Times are uneasy. Rumours of strange scents on the wind. Travellers come through asking after old names. Don't ask me which. I trade in goods, not gossip. (Well — mostly.)",
|
||||
"options": [
|
||||
{ "text": "Back to business.", "next": "intro" },
|
||||
{ "text": "Goodbye.", "next": "<end>" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "shopkeeper_warmed",
|
||||
"speaker": "npc",
|
||||
"text": "Hah. You've a tongue, that's certain. Tell you what — pick something out, I'll knock a bit off.",
|
||||
"options": [
|
||||
{ "text": "Show me what you have.", "next": "shop_open", "effects": [{ "kind": "open_shop" }] },
|
||||
{ "text": "Goodbye.", "next": "<end>" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "shopkeeper_unmoved",
|
||||
"speaker": "npc",
|
||||
"text": "Heard better lines from the rats in my stockroom. Prices are prices.",
|
||||
"options": [
|
||||
{ "text": "Show me what you have anyway.", "next": "shop_open", "effects": [{ "kind": "open_shop" }] },
|
||||
{ "text": "Goodbye.", "next": "<end>" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "shopkeeper_caves",
|
||||
"speaker": "npc",
|
||||
"text": "Easy. Easy. There's no need for that. Tell you what — take a look, I'll be reasonable.",
|
||||
"options": [
|
||||
{ "text": "Show me what you have.", "next": "shop_open", "effects": [{ "kind": "open_shop" }] },
|
||||
{ "text": "Goodbye.", "next": "<end>" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "shopkeeper_dismisses",
|
||||
"speaker": "npc",
|
||||
"text": "I've heard better threats from a wet matchstick. Buy something or get out.",
|
||||
"options": [
|
||||
{ "text": "Show me what you have.", "next": "shop_open", "effects": [{ "kind": "open_shop" }] },
|
||||
{ "text": "Goodbye.", "next": "<end>" }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user