The Velan Codex

Story

Twinhold and Greenvault

Pale stone, mirrored streets and a rule for everything, with the terraces downriver where everything grows and dies. Work comes from the two bulletin boards (Board_near, Board_far), the recruits' yard and the Warden court, and after Act 4 from Ondine and the Hall of Measure. Yarn file: Dialogue/Side/lowlands.yarn.

The Recruits' Yard (side_tally_drill)

{
  "id": "side_tally_drill",
  "title": "The Recruits' Yard",
  "description": "Tamsin's offer stands: join the recruits' drill for a morning and learn the Wardens' counting glyph.",
  "category": "side",
  "giver": "garrick",
  "startWhen": { "flag": "offer.tally", "op": "!=", "value": 0 },
  "stages": [
    { "id": "tally", "text": "Trace the Tally glyph on the drill stone.",
      "completeWhen": { "flag": "spell.learned.tally", "op": "!=", "value": 0 } },
    { "id": "spar", "text": "Spar with the drill golem.",
      "completeWhen": { "flag": "side.tally_drill.stage", "op": ">=", "value": 1 } }
  ]
}

Grain for the Terraces (side_valley_grain)

{
  "id": "side_valley_grain",
  "title": "Grain for the Terraces",
  "description": "A cart of Warden grain for Greenvault needs a guard down the valley road. The notice doesn't say who asked for it.",
  "category": "side",
  "giver": "rell",
  "board": "twinhold_board_near",
  "postWhen": { "flag": "twinhold.stage", "op": ">=", "value": 1 },
  "startWhen": { "flag": "side.valley_grain.stage", "op": ">=", "value": 1 },
  "stages": [
    { "id": "road", "text": "Guard the grain cart down the valley road to Greenvault.",
      "completeWhen": { "flag": "side.valley_grain.stage", "op": ">=", "value": 2 } },
    { "id": "gate", "text": "Hand over the grain at Greenvault's lower gate.",
      "completeWhen": { "flag": "side.valley_grain.choice", "op": "!=", "value": 0 } },
    { "id": "pay", "text": "Go back to Quartermaster Rell in Twinhold.",
      "completeWhen": { "flag": "side.valley_grain.stage", "op": ">=", "value": 3 } }
  ]
}

Chalk on the Far Hand (side_far_hand_roofs)

{
  "id": "side_far_hand_roofs",
  "title": "Chalk on the Far Hand",
  "description": "The Far Hand watch wants the unregistered caster who has been seen on the roofs at night.",
  "category": "side",
  "giver": "orme",
  "board": "twinhold_board_far",
  "postWhen": { "flag": "twinhold.stage", "op": ">=", "value": 1 },
  "startWhen": { "flag": "side.far_hand_roofs.stage", "op": ">=", "value": 1 },
  "stages": [
    { "id": "watch", "text": "Watch the Far Hand roofs after dark.",
      "completeWhen": { "flag": "side.far_hand_roofs.stage", "op": ">=", "value": 2 } },
    { "id": "glints", "text": "Deal with whatever is flashing on the chimneys.",
      "completeWhen": { "flag": "side.far_hand_roofs.stage", "op": ">=", "value": 3 } },
    { "id": "verdict", "text": "Tell Watch-captain Orme who the caster was.",
      "completeWhen": { "flag": "side.far_hand_roofs.choice", "op": "!=", "value": 0 } }
  ]
}

The Court Sits (side_court_summons)

{
  "id": "side_court_summons",
  "title": "The Court Sits",
  "description": "A Warden court in Twinhold has summoned you over a Facet spell cast in Greenvault's vine hall.",
  "category": "side",
  "giver": "amsel",
  "startWhen": { "all": [
    { "flag": "crime.table_mend", "op": "==", "value": 1 },
    { "flag": "act2.done", "op": "!=", "value": 0 } ] },
  "stages": [
    { "id": "answer", "text": "Answer the summons at the Bridge Court in Twinhold.",
      "completeWhen": { "any": [
        { "flag": "side.court_summons.stage", "op": ">=", "value": 1 },
        { "flag": "act3.done", "op": "!=", "value": 0 } ] } },
    { "id": "verdict", "text": "Stand before the court.",
      "completeWhen": { "any": [
        { "flag": "side.court_summons.choice", "op": "!=", "value": 0 },
        { "flag": "act3.done", "op": "!=", "value": 0 } ] } }
  ]
}

Iver's Trial (side_iver_trial)

{
  "id": "side_iver_trial",
  "title": "Iver's Trial",
  "description": "Iver Kest is on trial in the Hall of Measure, and the court wants to hear from someone who was at the Pane.",
  "category": "side",
  "giver": "amsel",
  "startWhen": { "all": [
    { "flag": "act4.stage", "op": ">=", "value": 8 },
    { "flag": "act4.outcome", "op": "==", "value": 1 } ] },
  "stages": [
    { "id": "court", "text": "Go to the Bridge Court in Twinhold for Iver Kest's trial.",
      "completeWhen": { "flag": "side.iver_trial.stage", "op": ">=", "value": 1 } },
    { "id": "speak", "text": "Speak when the court calls you.",
      "completeWhen": { "flag": "side.iver_trial.choice", "op": "!=", "value": 0 } }
  ]
}

Ondine's Hands (side_ondine_hands)

{
  "id": "side_ondine_hands",
  "title": "Ondine's Hands",
  "description": "Ondine can't cast any more. She wants to know, privately, whether a Tender can give her hands back.",
  "category": "side",
  "giver": "ondine",
  "startWhen": { "all": [
    { "flag": "act4.stage", "op": ">=", "value": 8 },
    { "flag": "act4.outcome", "op": "==", "value": 1 } ] },
  "stages": [
    { "id": "bramble", "text": "Ask Mother Bramble at Greenvault whether a Tender can give Ondine's hands back.",
      "completeWhen": { "flag": "side.ondine_hands.stage", "op": ">=", "value": 1 } },
    { "id": "tell", "text": "Go back to Ondine with what you found.",
      "completeWhen": { "flag": "side.ondine_hands.choice", "op": "!=", "value": 0 } }
  ]
}

Letters from Twinhold (side_twinhold_letters)

{
  "id": "side_twinhold_letters",
  "title": "Letters from Twinhold",
  "description": "An unsigned letter, in a hand you know, names a place where a mending crew failed.",
  "category": "side",
  "giver": "ondine",
  "startWhen": { "all": [
    { "flag": "act4.stage", "op": ">=", "value": 8 },
    { "flag": "act4.outcome", "op": "==", "value": 2 } ] },
  "stages": [
    { "id": "letter", "text": "Read the unsigned letter and go to Greenvault's decay terrace.",
      "completeWhen": { "flag": "side.twinhold_letters.stage", "op": ">=", "value": 1 } },
    { "id": "warp", "text": "Clear the warp on the decay terrace.",
      "completeWhen": { "flag": "side.twinhold_letters.stage", "op": ">=", "value": 2 } },
    { "id": "ondine", "text": "Talk to Ondine at the rope line.",
      "completeWhen": { "flag": "side.twinhold_letters.choice", "op": "!=", "value": 0 } }
  ]
}

From Side Quests › Twinhold and Greenvault