The Velan Codex

Location

The Long Road

Caravan route over a highland wind pass

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 sets side.ness_ribbons.stage 1. 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 3 waymaker_ribbon are handed back.
  • Yarn: Act2_Camp_Ness (walkthrough). New: Side_Ridge_Ribbon (one pickup node, three markers Ribbon_1 to Ribbon_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 (3 gale_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.choice 1): 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 (2 winged_glint + 2 dust_glint, the bestiary's).
  • Rewards: 120 copper; spell squall (whole glyph). Choice 1, take the patch: key item fragment_squall (item.fragment_squall 1), 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_stops 1, Act 2's hook). Telling Dace about the ruts sets side.last_camp.ruts 1, which side_endless_caravan reads.
  • 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, board twinhold_board_far). The search is on long_road at 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): 3 frost_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_letters reads 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 a breath_tonic from 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_1 to Ribbon_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.patient 2, 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 (4 dust_glint, the bestiary's).
  • Rewards: rep.waymakers +5. Ness alive: 150 copper (Dace pays the run, win or lose the race) and a waymaker_band from Ness. Ness gone: Dace gives Ness's waymaker_band and offers 150 copper "for the walk"; turning the copper down is morality +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_winged during the night, Shattered and Held only (the Mended night is quiet).
  • Rewards: windbreak_coat from Dace (unique.windbreak_coat 1); rep.waymakers +10. Choice 1, keep moving: waymaker.oath 1. Choice 2, stop: waymaker.oath 2 (in Mended, the yards start building houses). Choice 3, it isn't mine to say: waymaker.oath 3, morality +5. If side.last_camp.ruts is 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.

From Side Quests › The Long Road

Act 2: Dace's caravan run between the two courts (main line), and Dace's caravan jobs after it (a side activity). Roster: dust_glint, gale_hound, glasshorn_stag, winged_glint, windglass_kite, glint_brute, and the raiders forsworn_mender and hollow_cut. The set piece is the wind pass defence, three fights in a row ending with the Windglass Kite.

This is where parallel spells pay off. Gale is learned on the ridge just before the pass. Fliers and fast packs make Gale (and later Squall) the obvious answers, and Drift, from Ness at the night camp, teaches dodging the stag's sweep.

Encounter idEnemiesWhereActDifficultyXP
road_raidersforsworn_mender + hollow_cut (Long Road kits)A cutting below the pass (scene 2.4)Act 22.450
pass_kites_1, pass_kites_23 winged_glint each (the walkthrough's kite glints); protect 1, then 2 wagonsThe wind pass (scene 2.5)Act 21.8, 2.240, 45
pass_windglasswindglass_kite; protect 3 wagonsThe wind pass, the last wave (scene 2.5)Act 23.270
thread_practice_dacesail_dummy (tutorial, canLose: false)The wind pass summit (scene 4.1, Lanternfall-first route)Act 20.55
pass_dust_glints4 dust_glintThe wind passAct 21.430
pass_hounds3 gale_houndRidge roadAct 22.040
meadow_stagglasshorn_stagMisty highland meadowAct 22.445
ridge_winged2 winged_glint + 2 dust_glintWindmill ridgeAct 22.245
caravan_defenceThree waves: 4 dust_glint; 3 gale_hound; glint_brute + 2 winged_glintThe Long Road, on Dace's caravan jobs (a recurring side activity: see the side-quests tab)Act 2 on5.5 (all waves)130

From Bestiary › Regions and encounters › The Long Road (the highland wind pass)

Connected

Sides & Factions

Spells

Concept art

Elsewhere in the Codex

The Long Road. A Waymaker caravan job with Caravan-master Dace teaches Gale.

From Story Bible › Story Outline › Act 2: Two Courts

Art and audio: the caravan yard: pale-green-lit sails on the wagons, oxen, Waymaker ribbons. The Long Road theme starts here.

From Walkthrough: Act 2 › Chapter 1: Twinhold, with Tamsin › Leaving Twinhold

Art and audio: a long-shot over both slopes from the summit: Evane fields on one side, the shining Shardfield on the other. The Long Road theme resolves.

From Walkthrough: Act 2 › Chapter 2: The Long Road › The summit and the descent

[ ] 30. The Long Road between the courts. Should the caravan job always come between Halfway and the first court? Recommendation: yes; the caravan carries the player to whichever city they pick. Gale then always comes before Facet Seal in either letter order, and threading always comes after Gale. Sources: walkthrough-act-2.md Q2; spell-roadmap.md Q1, The difficulty curve.

From Walkthrough: Act 4 › Open questions for Ray, all tabs › Spells and casting

Route
The Long Road
Between
Twinhold and Lanternfall, over the wind pass
Fight on the way
caravan_defence, every run (three waves; wagon HP as the protect objective from Act 2 scene 2.5)
Pay in Act 2
150
Pay from Act 3
250

From Side Quests › Recurring world activities › Caravan jobs

Region
2. The Long Road
Site id
pass_cliff
Where
The wind pass cliff warp
Near a town
yes (the camp)

From Side Quests › Recurring world activities › Warp-born glyph hunts

Region
2. The Long Road
Encounter (new)
hunt_guardian_road
Enemies
3 dust_glint + 2 winged_glint

From Side Quests › Recurring world activities › Warp-born glyph hunts

id
dust_glint
Name
Dust glint (Idea)
Family
Glint
Region(s)
The Long Road
First act
Act 2
Model
Reuses glint
Concept
glint-ref-newt-chunky-a.png

From Bestiary › Roster at a glance

id
gale_hound
Name
Gale hound
Family
Wildlife
Region(s)
The Long Road
First act
Act 2
Model
Quadruped
Concept
gale-hounds-a.png (battle shot only)

From Bestiary › Roster at a glance

id
glasshorn_stag
Name
Glasshorn stag
Family
Wildlife
Region(s)
The Long Road
First act
Act 2
Model
Quadruped
Concept
glasshorn-stag-ref-a.png

From Bestiary › Roster at a glance

id
winged_glint
Name
Winged glint
Family
Glint
Region(s)
The Long Road, Corran, the Sallow (Act 3)
First act
Act 2
Model
Static, code (wing parts)
Concept
winged-glint-ref-a.png

From Bestiary › Roster at a glance

id
windglass_kite
Name
The Windglass Kite
Family
Glint
Region(s)
The Long Road
First act
Act 2
Model
Reuses winged_glint, scaled, with sail-wing parts
Concept
none (brief below)

From Bestiary › Roster at a glance

13 more mentions