Story
Quests
All Act 1 quests are (Idea). They follow Data/Quests/prologue.json: ids, text and completeWhen, with startWhen where the quest shouldn't show from the start.
sallow_road: The Sallow Road (main)
{
"id": "sallow_road",
"title": "The Sallow Road",
"description": "Aske has turned back for home. You carry two letters, one for Twinhold and one for Lanternfall, and the road runs on along the Sallow.",
"startWhen": { "all": [
{ "flag": "prologue.stage", "op": ">=", "value": 7 },
{ "flag": "spell.learned.coil", "op": "!=", "value": 0 } ] },
"stages": [
{ "id": "road_to_halfway",
"text": "Follow the Sallow Road on to Halfway, where the roads to Twinhold and Lanternfall meet.",
"completeWhen": { "flag": "act1.stage", "op": ">=", "value": 2 } },
{ "id": "halfway_truce",
"text": "Halfway runs under truce: no casting inside the walls. Look round, then take a bed at the Split Loaf.",
"completeWhen": { "flag": "act1.stage", "op": ">=", "value": 3 } },
{ "id": "whoever_rang",
"text": "Two strangers are asking after whoever rang the Glass. One is on the Pale Row, one on the Amber Row.",
"completeWhen": { "all": [
{ "flag": "met.tamsin", "op": "!=", "value": 0 },
{ "flag": "met.rook", "op": "!=", "value": 0 },
{ "flag": "act1.stage", "op": ">=", "value": 4 } ] } },
{ "id": "proving_ring",
"text": "Tamsin and Rook want to see your hands. Meet them at the Proving Ring.",
"completeWhen": { "flag": "act1.stage", "op": ">=", "value": 5 } },
{ "id": "back_to_steps",
"text": "Something has risen out of the Sallow at the Drowned Steps. Go back along the road.",
"completeWhen": { "any": [
{ "flag": "wyrm.seen", "op": "!=", "value": 0 },
{ "flag": "act1.stage", "op": ">=", "value": 6 } ] } },
{ "id": "sallow_wyrm",
"text": "Drive the Sallow Wyrm back under the river. Its plates turn spells aside until Repel knocks it open.",
"completeWhen": { "flag": "act1.stage", "op": ">=", "value": 6 } },
{ "id": "report_halfway",
"text": "The river is still. Go back to Halfway and tell the Reeve.",
"completeWhen": { "flag": "act1.stage", "op": ">=", "value": 7 } },
{ "id": "choose_road",
"text": "Tamsin waits at the Pale Gate, Rook at the Amber Gate. Choose which letter to deliver first.",
"completeWhen": { "all": [
{ "flag": "act2.first", "op": "!=", "value": 0 },
{ "flag": "act1.stage", "op": ">=", "value": 8 } ] } }
]
}
mend_lesson: Sister Orla's Errand (side)
{
"id": "mend_lesson",
"title": "Sister Orla's Errand",
"description": "A Tender healer at Halfway needs tonics carried to the bargefolk, and has a glyph for a pair of good hands.",
"startWhen": { "flag": "orla.stage", "op": ">=", "value": 1 },
"stages": [
{ "id": "carry_tonics", "text": "Take Sister Orla's tonics to Dorrit's crew at the Barge Landing.",
"completeWhen": { "flag": "orla.stage", "op": ">=", "value": 2 } },
{ "id": "back_to_orla", "text": "Go back to Sister Orla on the Pale Row.",
"completeWhen": { "flag": "orla.stage", "op": ">=", "value": 3 } },
{ "id": "learn_mend", "text": "Trace Mend with Sister Orla.",
"completeWhen": { "flag": "spell.learned.mend", "op": "!=", "value": 0 } }
]
}
still_water: Still Water (side)
{
"id": "still_water",
"title": "Still Water",
"description": "A plate from the Sallow Wyrm still holds a sky that isn't this one. Halfway's craftsmen could make something of it, if they'd work together.",
"startWhen": { "flag": "wyrm.defeated", "op": "!=", "value": 0 },
"stages": [
{ "id": "cut", "text": "Ask Quill on the Amber Row to cut the wyrm plate.",
"completeWhen": { "flag": "still_water.stage", "op": ">=", "value": 1 } },
{ "id": "set", "text": "Take the cut plate to Harl on the Pale Row to be set in a locket.",
"completeWhen": { "flag": "still_water.stage", "op": ">=", "value": 2 } }
]
}
aske_brace: Hand over Hand (side)
{
"id": "aske_brace",
"title": "Hand over Hand",
"description": "Aske is back at the ferry. She won't cast, but she might teach.",
"startWhen": { "flag": "act1.stage", "op": ">=", "value": 2 },
"stages": [
{ "id": "visit_aske", "text": "Go home to Sallowbank and see Aske at the ferry.",
"completeWhen": { "flag": "aske.brace", "op": "!=", "value": 0 } },
{ "id": "learn_brace", "text": "Trace Brace with Aske, hand over hand.",
"completeWhen": { "flag": "spell.learned.brace", "op": "!=", "value": 0 } }
]
}