Files
TheriapolisV3/Content/Data/dialogues/generic_merchant.json
T

110 lines
3.9 KiB
JSON
Raw Normal View History

{
"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>" }
]
}
]
}