Story
The Long Road
Wind, sails and a windmill on every ridge: the caravan road over the pass between the two courts. Work comes from Dace and Ness, from the drivers and windmillers along the road, and from the Choir's notice on Twinhold's Far Hand board. Yarn file: Dialogue/Side/long_road.yarn.
Ribbons First (side_ness_ribbons)
- Giver / where: Ness (Evane, Waymakers, Dace's outrider),
long_road, the camp below the pass,Event_camp. - Available from: Act 2, during the caravan job: Ness asks at the camp (
long_road.stage >= 2), which setsside.ness_ribbons.stage1. If the caravan moves on first, Ness waits at either yard. - Story: Detailed in walkthrough-act-2.md, scene 2.3. Ness marks the ridge route with ribbons on posts and lost three in last week's wind. She'll teach Drift, the Waymaker dodge, to whoever finds them. It is a short field search along the ridge, and the ribbons go back on Ness's wrist before the lesson.
{
"id": "side_ness_ribbons",
"title": "Ribbons First",
"description": "Ness lost three ribbons on the ridge in last week's wind. Ribbons first, questions later.",
"category": "side",
"giver": "ness",
"startWhen": { "flag": "side.ness_ribbons.stage", "op": ">=", "value": 1 },
"stages": [
{ "id": "ribbons", "text": "Find Ness's three lost ribbons along the ridge.",
"completeWhen": { "flag": "side.ness_ribbons.found", "op": ">=", "value": 3 } },
{ "id": "drift", "text": "Trace Drift with Ness.",
"completeWhen": { "flag": "spell.learned.drift", "op": "!=", "value": 0 } }
]
}
- Rewards: spell
drift(taught);rep.waymakers+5 (the walkthrough's move for joining in at the camp). The 3waymaker_ribbonare handed back. - Yarn:
Act2_Camp_Ness(walkthrough). New:Side_Ridge_Ribbon(one pickup node, three markersRibbon_1toRibbon_3),Side_LongRoad_NessDrift.
Wheel Before Dark (side_first_job)
- Giver / where: Caravan-master Dace (Evane, Waymakers), the caravan yard at either end of
long_road,Event_caravan_yard. The wagon is on the ridge road under the Quiet Fork,Event_stranded_wagon. - Available from: Act 2,
invite.waymaker_job != 0(Dace's offer at the summit, or at the courting on route B). This is the first Waymaker side job. - Story: A Waymaker wagon has thrown a wheel on the ridge road, and gale hounds hunt that ridge after dark. Dace has a spare wheel and nobody to roll it up there, and the light is going: the in-game clock matters, and arriving after dusk starts the fight with the wagon already hurt. The stranded driver is Pim, who offered the protagonist a lift to Halfway in Act 1 (he remembers if
met.pim). One of the hounds is a half-grown pup with glass in its paw, and the protagonist can pull it out instead of fighting it. Back at the yard Dace says the player ran it like the wind owed them money, and teaches Tailwind hand over hand so that next time it does.
{
"id": "side_first_job",
"title": "Wheel Before Dark",
"description": "A wagon has thrown a wheel on the ridge road, and the hounds hunt there after dark. Dace has a spare wheel and nobody to take it.",
"category": "side",
"giver": "dace",
"startWhen": { "flag": "invite.waymaker_job", "op": "!=", "value": 0 },
"stages": [
{ "id": "wheel", "text": "Take Dace's spare wheel from the caravan yard.",
"completeWhen": { "flag": "side.first_job.stage", "op": ">=", "value": 1 } },
{ "id": "ridge", "text": "Get the wheel to the stranded wagon on the ridge road before dark.",
"completeWhen": { "flag": "side.first_job.stage", "op": ">=", "value": 2 } },
{ "id": "back", "text": "Bring the wagon down and tell Dace.",
"completeWhen": { "flag": "side.first_job.stage", "op": ">=", "value": 3 } },
{ "id": "tailwind", "text": "Trace Tailwind with Dace.",
"completeWhen": { "flag": "spell.learned.tailwind", "op": "!=", "value": 0 } }
]
}
- Fight:
pass_hounds(3gale_hound, the bestiary's), with the wagon as a protect objective after dusk. - Rewards: 80 copper; spell
tailwind(taught by Dace);rep.waymakers+5. The pup (side.first_job.choice1):morality+5. Prop:spare_wheel. - Yarn:
Side_LongRoad_DaceWheel,Side_Ridge_StrandedWagon,Side_Ridge_Pup,Side_LongRoad_DaceTailwind.
The Last Known Camp (side_last_camp)
- Giver / where: Dace, at the yard. The camp is on the highest ridge above the last windmill, the storm shrine,
long_road,Event_last_camp. - Available from: Act 2, after the first job.
side.first_job.stage >= 3. - Story: The Waymakers keep a book of every camp the Endless Caravan is said to have made. The last entry is two hundred years old: a ring of stones on the highest ridge, above the storm line, and Dace has never had the time to go. Winged glints ride the storm wind at the shrine. Nailed to the cairn is a sail-patch with two peaks stitched in green, the Squall glyph, and round the cairn wagon ruts are cut into the stone, fresh: someone camped here this year. Waymaker custom says you leave a camp as you found it, so the protagonist can take the patch or trace it there and leave it for whoever comes next, and then tell Dace about the ruts or keep them.
{
"id": "side_last_camp",
"title": "The Last Known Camp",
"description": "The Waymakers' book of the Endless Caravan's camps ends at a ring of stones above the storm line. Dace has never had time to go.",
"category": "side",
"giver": "dace",
"startWhen": { "flag": "side.first_job.stage", "op": ">=", "value": 3 },
"stages": [
{ "id": "climb", "text": "Climb past the last windmill to the Endless Caravan's last known camp.",
"completeWhen": { "flag": "side.last_camp.stage", "op": ">=", "value": 1 } },
{ "id": "shrine", "text": "Clear the storm shrine at the camp.",
"completeWhen": { "flag": "side.last_camp.stage", "op": ">=", "value": 2 } },
{ "id": "squall", "text": "Trace the sail-patch on the cairn.",
"completeWhen": { "flag": "spell.learned.squall", "op": "!=", "value": 0 } },
{ "id": "dace", "text": "Go back down and tell Dace what you found.",
"completeWhen": { "flag": "side.last_camp.stage", "op": ">=", "value": 3 } }
]
}
- Fight:
ridge_winged(2winged_glint+ 2dust_glint, the bestiary's). - Rewards: 120 copper; spell
squall(whole glyph). Choice 1, take the patch: key itemfragment_squall(item.fragment_squall1),rep.waymakers+5. Choice 2, trace it and leave it:rep.waymakers+10, no key item (the patch stays at the cairn for relearning). Either way the Long Road fast-travel stops open (travel.long_road_stops1, Act 2's hook). Telling Dace about the ruts setsside.last_camp.ruts1, whichside_endless_caravanreads. - Yarn:
Side_LongRoad_DaceCampBook,Side_Ridge_StormShrine,Side_Ridge_Cairn,Side_Ridge_Ruts,Side_LongRoad_DaceRuts.
The Quiet Courier (side_quiet_courier)
- Giver / where: Sister Ise (Evane, Still Choir), a notice on Twinhold's Far Hand board (
Board_far, boardtwinhold_board_far). The search is onlong_roadat the Quiet Fork ravine,Event_courier_ravine. - Available from: Act 2. Posted when
twinhold.stage >= 1(Act 2's "find a missing Choir courier on the Long Road"). - Story: Brother Teague, a Still Choir courier, left Hushfold for Lanternfall eleven days ago and never reached the Sand Gate. The protagonist finds his tracks at the Quiet Fork below the snow line, and frost glints in the ravine. Teague is alive under a rock shelf with a broken ankle, and he signs that his satchel is not to be opened: in it is one letter, amber wax over Choir silver, Wen's to Lanternfall. The protagonist can carry it on to Lanternfall, take Teague and the letter back up to Hushfold, or take it to the Twinhold watch, which pays for "letters to the Shattered". If asked why he walked alone, Teague signs that Wen sends one courier at a time, so only one can be caught.
{
"id": "side_quiet_courier",
"title": "The Quiet Courier",
"description": "A Still Choir courier left Hushfold for Lanternfall eleven days ago and never arrived. The notice says only: missing on the Long Road.",
"category": "side",
"giver": "ise",
"board": "twinhold_board_far",
"postWhen": { "flag": "twinhold.stage", "op": ">=", "value": 1 },
"startWhen": { "flag": "side.quiet_courier.stage", "op": ">=", "value": 1 },
"stages": [
{ "id": "tracks", "text": "Look for Brother Teague on the Long Road, towards the Quiet Fork.",
"completeWhen": { "flag": "side.quiet_courier.stage", "op": ">=", "value": 2 } },
{ "id": "ravine", "text": "Clear the frost glints from the ravine.",
"completeWhen": { "flag": "side.quiet_courier.stage", "op": ">=", "value": 3 } },
{ "id": "letter", "text": "Decide what happens to the letter in Teague's satchel.",
"completeWhen": { "flag": "side.quiet_courier.choice", "op": "!=", "value": 0 } },
{ "id": "warm", "text": "Get Teague somewhere warm.",
"completeWhen": { "flag": "side.quiet_courier.stage", "op": ">=", "value": 4 } }
]
}
- Fight:
fork_frost_glints(new): 3frost_glint, Act 2, difficulty about 1.6, 30 XP. - Rewards: 100 copper from the Choir's house in Twinhold. Choice 1, on to Lanternfall:
rep.choir+5,rep.facets+5. Choice 2, back to Hushfold:rep.choir+5. Choice 3, the Twinhold watch: 50 copper bounty on top,rep.wardens+10,rep.choir−10,morality−5.side_wen_lettersreads the choice. Prop:courier_letter. - Yarn:
Side_Twinhold_ChoirNotice,Side_Fork_Tracks,Side_Fork_Ravine,Side_Fork_Teague,Side_Fork_LetterChoice,Side_Twinhold_WatchBounty.
Glass in the Antlers (side_glass_stag)
- Giver / where: Hesper, a windmiller (Evane, Waymakers),
long_road, the windmill ridge,Mark_hesper. The stag is in the misty highland meadow below her mill,Event_meadow. - Available from: Act 2, once the caravan has crossed.
long_road.stage >= 5. - Story: A glasshorn stag has charged three wagons on the meadow below Hesper's mill, and she wants it dead before it kills a driver. In the meadow the protagonist sees why: glass from the pass warp has grown into its antlers and keeps growing, and every charge is the stag trying to rub it off on something. They can fight it, or Calm it (Hushfold's spell, as a field cast), crack the glass off with Repel and close the wound with Mend. Hesper doesn't believe the stag is done until the next wagon goes through untouched. Then she sends a sack of flour and an apology she clearly wrote three times.
{
"id": "side_glass_stag",
"title": "Glass in the Antlers",
"description": "A glasshorn stag keeps charging wagons below Hesper's mill. She wants it dead before it kills a driver.",
"category": "side",
"giver": "hesper",
"startWhen": { "flag": "long_road.stage", "op": ">=", "value": 5 },
"stages": [
{ "id": "find", "text": "Find the glasshorn stag in the misty meadow below Hesper's mill.",
"completeWhen": { "flag": "side.glass_stag.stage", "op": ">=", "value": 1 } },
{ "id": "stop", "text": "Stop the stag charging the wagons.",
"completeWhen": { "flag": "side.glass_stag.choice", "op": "!=", "value": 0 } },
{ "id": "hesper", "text": "Tell Hesper.",
"completeWhen": { "flag": "side.glass_stag.stage", "op": ">=", "value": 2 } }
]
}
- Fight:
meadow_stag(glasshorn_stag, the bestiary's), choice 1. - Field casts: choice 2 needs
spell.learned.calm:<<prompt_cast calm>>, then<<prompt_cast repel>>, then<<prompt_cast mend>>if known. - Rewards: 90 copper;
rep.waymakers+5. Choice 1, fought: the bestiary's drops. Choice 2, calmed:morality+5 and abreath_tonicfrom Hesper. It answers the bestiary's wildlife question one way for one animal; the Lead can make it the rule. - Yarn:
Side_LongRoad_HesperMill,Side_Meadow_Stag,Side_Meadow_StagCalm,Side_LongRoad_HesperAfter.
The Outrider's Ribbon (side_outrider_ribbon)
- Giver / where: Dace, at either yard; the route is the ridge, past the three ribbon posts from
side_ness_ribbons(Ribbon_1toRibbon_3). - Available from: Act 3, if Ness was hurt at the pass and the Greenvault patient's fate is settled.
all[act2.done != 0, ness.hurt == 1, bramble.patient != 0]. - Story: Act 2's "Dace remembers" hook, in two versions on one route. If Ness didn't make it (
bramble.patient == 1, Bramble's word accepted), Dace has Ness's own ribbon and asks the protagonist to tie it at the last ribbon post, because Waymakers leave a ribbon where a rider stopped moving; Dace says once that it isn't the protagonist's fault, which is how they know Dace remembers. If Ness lived (bramble.patient2, 3 or 4), she rides again with a glass scar on her forearm and wants to race the protagonist over her ribbon route once, for the scar's sake. Dust glints are on the pass either way.
{
"id": "side_outrider_ribbon",
"title": "The Outrider's Ribbon",
"description": "Dace wants to talk about Ness.",
"category": "side",
"giver": "dace",
"startWhen": { "all": [
{ "flag": "act2.done", "op": "!=", "value": 0 },
{ "flag": "ness.hurt", "op": "==", "value": 1 },
{ "flag": "bramble.patient", "op": "!=", "value": 0 } ] },
"stages": [
{ "id": "meet", "text": "Talk to Dace at the caravan yard about Ness.",
"completeWhen": { "flag": "side.outrider_ribbon.stage", "op": ">=", "value": 1 } },
{ "id": "route", "text": "Run Ness's ribbon route along the ridge, past the three ribbon posts.",
"completeWhen": { "flag": "side.outrider_ribbon.stage", "op": ">=", "value": 2 } },
{ "id": "back", "text": "Ride back down to Dace.",
"completeWhen": { "flag": "side.outrider_ribbon.stage", "op": ">=", "value": 3 } }
]
}
- Fight:
pass_dust_glints(4dust_glint, the bestiary's). - Rewards:
rep.waymakers+5. Ness alive: 150 copper (Dace pays the run, win or lose the race) and awaymaker_bandfrom Ness. Ness gone: Dace gives Ness'swaymaker_bandand offers 150 copper "for the walk"; turning the copper down ismorality+5. Prop:ness_ribbon(the second version only). - Yarn:
Side_LongRoad_DaceNess,Side_Ridge_NessRace,Side_Ridge_NessRibbon,Side_LongRoad_DaceAfterNess.
The Endless Caravan (side_endless_caravan)
- Giver / where: Dace, at either yard; the night is at the last known camp,
Event_last_camp. - Available from: the world after Act 4.
act4.stage >= 8. - Story: The first Waymakers swore to keep moving until the Mere was whole again, and since the Pane every Waymaker is arguing about the oath. Mended: the Mere is still, so is the oath kept, and do they stop? Shattered: they mean to swear it again. Held: they argue whether a cracked Pane that stands counts. Dace calls a camp at the cairn and asks the protagonist to keep the night there and say their piece. At dawn new ruts run past the cairn that nobody heard being made, and Dace looks at them a long time before telling the wagons to roll.
{
"id": "side_endless_caravan",
"title": "The Endless Caravan",
"description": "The Waymakers swore to keep moving until the Mere was whole. Since the Pane, nobody agrees what that means now.",
"category": "side",
"giver": "dace",
"startWhen": { "flag": "act4.stage", "op": ">=", "value": 8 },
"stages": [
{ "id": "ride", "text": "Ride with Dace's wagons up to the last known camp.",
"completeWhen": { "flag": "side.endless_caravan.stage", "op": ">=", "value": 1 } },
{ "id": "night", "text": "Keep the night with the Waymakers at the cairn.",
"completeWhen": { "flag": "side.endless_caravan.stage", "op": ">=", "value": 2 } },
{ "id": "speak", "text": "Say your piece about the oath.",
"completeWhen": { "flag": "side.endless_caravan.choice", "op": "!=", "value": 0 } },
{ "id": "dawn", "text": "See what the morning shows.",
"completeWhen": { "flag": "side.endless_caravan.stage", "op": ">=", "value": 3 } }
]
}
- Fight:
ridge_wingedduring the night, Shattered and Held only (the Mended night is quiet). - Rewards:
windbreak_coatfrom Dace (unique.windbreak_coat1);rep.waymakers+10. Choice 1, keep moving:waymaker.oath1. Choice 2, stop:waymaker.oath2 (in Mended, the yards start building houses). Choice 3, it isn't mine to say:waymaker.oath3,morality+5. Ifside.last_camp.rutsis 1, Dace brings the player as "the one who found the ruts". - Yarn:
Side_LongRoad_DaceOath,Side_Ridge_OathCamp,Side_Ridge_OathSpeak,Side_Ridge_NewRuts.






