Files
org_web/assets/games/two-rivers/data/dialogue/scenes.json
gitea-actions 2ee6575539
All checks were successful
Build Org Website / build (push) Successful in 1m4s
updates
2026-08-19 10:45:57 +01:00

200 lines
27 KiB
JSON
Executable File

{
"courtyard_preparations": {
"start": "banners",
"nodes": {
"banners": {"speaker": "lima", "expression": "curious", "text": "The indigo banners belong on the riverward arches, but three ministers have moved them because blue is apparently insufficiently regal. This is what curating means: defending colour choices against men who own ceremonial hats.", "next": "z_notices"},
"z_notices": {"speaker": "z", "expression": "wry", "text": "In Lahore, a committee once spent two meetings deciding whether a catalogue ribbon was blue or philosophically teal. I survived by bringing tea and agreeing with the eldest librarian.", "choices": [
{"text": "Offer to help restore Lima's original arrangement.", "next": "help", "effects": [{"type": "relationship", "key": "respect", "amount": 3}, {"type": "relationship", "key": "comfort", "amount": 2}]},
{"text": "Suggest hiding the ministers' hats until they surrender.", "next": "hats", "effects": [{"type": "relationship", "key": "humour", "amount": 4}]},
{"text": "Admit that the curator makes indigo look dangerously persuasive.", "next": "indigo", "effects": [{"type": "relationship", "key": "romance", "amount": 4}]}
]},
"help": {"speaker": "lima", "expression": "warm", "text": "You take the river side; I will take the palace side. If anyone objects, look scholarly and mention preservation standards. People become wonderfully obedient when afraid of footnotes.", "next": "work"},
"hats": {"speaker": "lima", "expression": "playful", "text": "Tempting. Yet Aunt Saira says diplomacy means allowing people to keep one dignity each. We shall permit the hats and reclaim the arches.", "next": "work"},
"indigo": {"speaker": "lima", "expression": "playful", "text": "That line was either shameless or culturally observant. I will decide after you carry the heavier banner stand.", "next": "work"},
"work": {"speaker": "z", "expression": "warm", "text": "They work shoulder to shoulder while musicians tune beyond the gate. Lima explains how each banner carries a different river poem; Z notices she quotes the boatwoman's verse before the king's.", "next": "founders"},
"founders": {"speaker": "lima", "expression": "thoughtful", "text": "My catalogue begins with rulers because the archive begins with rulers. But festivals are made by people who cook, mend boats, grow flowers, and stay awake arranging banners. I wish the records remembered them as clearly as the songs do.", "effects": [{"type": "relationship", "key": "trust", "amount": 3}, {"type": "discoverGift", "id": "poetry_book"}]}
}
},
"ishan_protocol": {
"start": "warning",
"nodes": {
"warning": {"speaker": "ishan", "text": "Master Z, a word of survival. At sunset you will be introduced to the council. Bow to Saira, nod to the ministers, and do not call the royal genealogist's speech 'surprisingly brief.' He considers that an insult.", "next": "reply"},
"reply": {"speaker": "z", "expression": "wry", "text": "How does he feel about 'mercifully finite'?", "choices": [
{"text": "Promise impeccable diplomatic restraint.", "next": "restraint", "effects": [{"type": "relationship", "key": "familyApproval", "amount": 3}]},
{"text": "Ask which protocol Lima ignores when nobody watches.", "next": "lima", "effects": [{"type": "relationship", "key": "humour", "amount": 2}, {"type": "relationship", "key": "romance", "amount": 2}]}
]},
"restraint": {"speaker": "ishan", "text": "Excellent. You have the solemn face for it. Keep that expression when the trumpets miss their entrance and we may all preserve our employment.", "next": "kindness"},
"lima": {"speaker": "ishan", "text": "Her Highness ignores any protocol that places a tedious person between her and a useful book. I did not tell you this. I especially did not tell you she has already asked where you are staying.", "next": "kindness"},
"kindness": {"speaker": "ishan", "text": "One serious instruction: the public pavilion is for everyone. The palace is host, not owner. Lima has fought for that distinction since she was seventeen. Stand beside her on it and the city will notice.", "effects": [{"type": "relationship", "key": "respect", "amount": 2}]}
}
},
"anwara_memory": {
"start": "dust",
"nodes": {
"dust": {"speaker": "anwara", "text": "Do not wipe that dust away. It is clean dust, which is rarer than clean politics. It tells me the eastern cabinet has not been opened since yesterday.", "next": "lesson"},
"lesson": {"speaker": "lima", "expression": "warm", "text": "Anwara taught me to read dust before she taught me the alphabet. I spent a month believing every shelf was a sentence.", "next": "z"},
"z": {"speaker": "z", "expression": "thoughtful", "text": "Perhaps it is. Absence has grammar. A moved book leaves a pale verb behind; a missing folio creates an accusation.", "choices": [
{"text": "Ask Anwara who requested access to the manuscript.", "next": "access", "effects": [{"type": "relationship", "key": "trust", "amount": 3}]},
{"text": "Ask why the final folio matters to Lima personally.", "next": "personal", "effects": [{"type": "relationship", "key": "comfort", "amount": 3}]}
]},
"access": {"speaker": "anwara", "text": "The council, the conservators, the curator, and me. Too many keys for certainty; too few for coincidence. Yesterday a minister asked whether heat could make old ink appear brighter. I disliked the question.", "next": "warning"},
"personal": {"speaker": "lima", "expression": "vulnerable", "text": "My mother read its dedication at the first festival I remember. She said a country becomes honest when ordinary names are spoken in royal rooms. After she died, the folio became the sound of her voice.", "next": "warning"},
"warning": {"speaker": "anwara", "text": "The glass case is new. Its lamps are stronger than the conservators approved. If anyone values spectacle above the page, the manuscript will not survive their admiration.", "effects": [{"type": "flag", "id": "lamp_warning"}, {"type": "relationship", "key": "respect", "amount": 2}]}
}
},
"library_balcony": {
"start": "rain",
"nodes": {
"rain": {"speaker": "lima", "expression": "thoughtful", "text": "Rain on the library roof used to frighten me. The ceiling leaked above the military histories, and I imagined every dead general swimming indignantly through the catalogue.", "next": "z"},
"z": {"speaker": "z", "expression": "wry", "text": "A useful image. Most military histories would improve if the generals had to tread water while explaining themselves.", "next": "laugh"},
"laugh": {"speaker": "lima", "expression": "playful", "text": "There. You have done it again—made irreverence sound like scholarship. Is that a visiting-scholars' technique, or are you uniquely troublesome?", "choices": [
{"text": "Say the trouble appears only around her.", "next": "around", "effects": [{"type": "relationship", "key": "romance", "amount": 5}, {"type": "relationship", "key": "humour", "amount": 2}]},
{"text": "Confess that unfamiliar places make humour feel like a bridge.", "next": "bridge", "effects": [{"type": "relationship", "key": "trust", "amount": 4}, {"type": "relationship", "key": "comfort", "amount": 3}]}
]},
"around": {"speaker": "lima", "expression": "tender", "text": "How inconvenient for us both. She leans against the balcony rail close enough that his sleeve brushes hers, then makes no effort to move.", "next": "home"},
"bridge": {"speaker": "lima", "expression": "warm", "text": "Then I am glad you crossed. A palace can make guests feel observed instead of welcomed. With you, I keep forgetting which of us is supposed to be impressive.", "next": "home"},
"home": {"speaker": "z", "expression": "thoughtful", "text": "He tells her about evenings of cardamom tea, cousins arguing over cricket, his mother's precise opinions on hospitality, and the quiet loneliness of being praised for travelling far from everyone who knows how he takes breakfast.", "next": "answer"},
"answer": {"speaker": "lima", "expression": "vulnerable", "text": "I understand the loneliness of being known publicly and guessed at privately. Stay after the festival, if you can. Not forever. Just long enough that neither of us has to guess.", "effects": [{"type": "relationship", "key": "comfort", "amount": 5}, {"type": "relationship", "key": "romance", "amount": 4}, {"type": "discoverGift", "id": "spiced_tea"}]}
}
},
"mira_garland": {
"start": "empty",
"nodes": {
"empty": {"speaker": "mira", "text": "The communal arch is bare because the palace florist sent only roses. Beautiful, expensive, and completely wrong. This garland should smell like five neighbourhoods, not one drawing room.", "next": "flowers"},
"flowers": {"speaker": "mira", "text": "Jasmine for welcome, tuberose for evening, marigold for shared work, rose for affection, and bakul for memory. None belongs to one family. Together they belong to the festival.", "next": "lima"},
"lima": {"speaker": "lima", "expression": "determined", "text": "We will find every one. Put the palace roses aside for the ministers' table; they may enjoy being arranged with their peers.", "choices": [
{"text": "Volunteer to gather the flowers with Lima.", "next": "volunteer", "effects": [{"type": "relationship", "key": "adventure", "amount": 3}, {"type": "relationship", "key": "familyApproval", "amount": 2}]},
{"text": "Tell Mira the garland is living historical evidence.", "next": "evidence", "effects": [{"type": "relationship", "key": "respect", "amount": 3}]}
]},
"volunteer": {"speaker": "mira", "text": "Good. A scholar who can identify a flower is worth three who merely classify it. Her Highness knows the garden; you carry the basket and try not to stare at her.", "next": "promise"},
"evidence": {"speaker": "mira", "text": "Exactly. History that wilts by morning still matters. Perhaps especially then. Gather carefully, scholar; the roots must remain for next year's story.", "next": "promise"},
"promise": {"speaker": "z", "expression": "warm", "text": "Z accepts the basket. Lima's hand closes over the other handle. For several steps neither admits that the path is wide enough to carry it separately.", "effects": [{"type": "quest", "id": "garland", "action": "start"}, {"type": "relationship", "key": "romance", "amount": 2}]}
}
},
"garden_history": {
"start": "mosaic",
"nodes": {
"mosaic": {"speaker": "z", "expression": "thoughtful", "text": "The mosaic repeats the manuscript's four symbols, but flowers replace the royal seals. Whoever designed this wanted the clue understood by gardeners, not courtiers.", "next": "lima"},
"lima": {"speaker": "lima", "expression": "curious", "text": "My tutors called it decorative. Mira calls it a planting calendar. Anwara called both answers incomplete and refused to explain why.", "next": "sequence"},
"sequence": {"speaker": "z", "expression": "determined", "text": "Jasmine opens at welcome, tuberose carries into dusk, marigold marks the communal feast, and bakul keeps its fragrance after falling. Dawn, evening, fire, memory.", "choices": [
{"text": "Invite Lima to press the first flower with you.", "next": "together", "effects": [{"type": "relationship", "key": "comfort", "amount": 4}, {"type": "relationship", "key": "romance", "amount": 3}]},
{"text": "Ask whether she enjoys being proved right by a wall.", "next": "wall", "effects": [{"type": "relationship", "key": "humour", "amount": 3}]}
]},
"together": {"speaker": "lima", "expression": "tender", "text": "Their fingertips meet over the stone jasmine. The mechanism clicks, but Lima looks at him rather than the opening seam. “Remarkably effective scholarship,” she murmurs.", "next": "note"},
"wall": {"speaker": "lima", "expression": "playful", "text": "Immensely. Walls interrupt less than ministers and apologise more gracefully. This one may even reveal a secret compartment.", "next": "note"},
"note": {"speaker": "z", "expression": "thoughtful", "text": "Inside is Anwara's note: The straightest arrow is useless when the target is false. Beneath it rests an old brass range token stamped with a boatwoman's name.", "effects": [{"type": "relationship", "key": "trust", "amount": 3}]}
}
},
"archery_after": {
"start": "retrieve",
"nodes": {
"retrieve": {"speaker": "lima", "expression": "playful", "text": "Lima retrieves the last arrow and examines the target with theatrical gravity. “The hay has submitted. The kingdom is safe.”", "next": "z"},
"z": {"speaker": "z", "expression": "wry", "text": "I had hoped for a medal. Or at least a curator's favourable annotation.", "choices": [
{"text": "Ask her to correct your stance at very close range.", "next": "stance", "effects": [{"type": "relationship", "key": "romance", "amount": 5}, {"type": "relationship", "key": "comfort", "amount": 2}]},
{"text": "Offer to teach her the draw you learned from your aunt.", "next": "teach", "effects": [{"type": "relationship", "key": "respect", "amount": 4}, {"type": "relationship", "key": "adventure", "amount": 3}]}
]},
"stance": {"speaker": "lima", "expression": "tender", "text": "She steps behind him, one hand at his elbow and one at his waist. “Your stance is perfectly adequate,” she says near his ear. “I am correcting your unbearable confidence.”", "next": "token"},
"teach": {"speaker": "lima", "expression": "warm", "text": "He adjusts her grip only after asking. She mirrors the unfamiliar draw, releases, and strikes the inner ring. Her delight is immediate and wholly unroyal.", "next": "token"},
"token": {"speaker": "z", "expression": "thoughtful", "text": "The range ledger names the token's owner: Samira the boatwright, winner of the first riverside contest and one of the signatures omitted from the court catalogue.", "effects": [{"type": "item", "id": "founders_record"}, {"type": "relationship", "key": "trust", "amount": 2}]}
}
},
"nadia_letters": {
"start": "shelf",
"nodes": {
"shelf": {"speaker": "nadia", "text": "If you are looking for respectable books, try the front table. If you are looking for truthful ones, help me move this crate before the inspectors notice.", "next": "letters"},
"letters": {"speaker": "nadia", "text": "Three letters were filed under royal invitations because nobody read past the seals. They describe cooks feeding strikers, gardeners lending boats, and travellers carrying poems between the rivers.", "next": "lima"},
"lima": {"speaker": "lima", "expression": "determined", "text": "Those letters should have been in the festival archive. My office requested all founder material last winter.", "choices": [
{"text": "Defend Nadia's caution without dismissing Lima's frustration.", "next": "balance", "effects": [{"type": "relationship", "key": "trust", "amount": 4}, {"type": "relationship", "key": "respect", "amount": 3}]},
{"text": "Point out that mistrust of the palace was historically earned.", "next": "earned", "effects": [{"type": "relationship", "key": "adventure", "amount": 3}, {"type": "relationship", "key": "respect", "amount": 2}]}
]},
"balance": {"speaker": "z", "expression": "thoughtful", "text": "Nadia protected vulnerable evidence; Lima tried to bring it into public care. Neither intention repairs the gap alone. They need a process the market can trust and the archive must honour.", "next": "agreement"},
"earned": {"speaker": "z", "expression": "determined", "text": "A seal once removed ordinary names from the record. Another seal cannot demand confidence by decree. Let the booksellers decide how copies are made and credited.", "next": "agreement"},
"agreement": {"speaker": "nadia", "text": "Copies first, originals later, and a market witness at every catalogue meeting. Agree to that and I will show you where the last two letters wandered.", "effects": [{"type": "quest", "id": "letters", "action": "start"}, {"type": "relationship", "key": "familyApproval", "amount": 2}]}
}
},
"rayhan_kitchen": {
"start": "steam",
"nodes": {
"steam": {"speaker": "rayhan", "text": "Excellent, educated hands. Wash them. The council doubled the guest list and halved my warning. We are making fragrant rice for two hundred people and one princess who keeps stealing pistachios.", "next": "lima"},
"lima": {"speaker": "lima", "expression": "playful", "text": "Allegations without witnesses. Z, as a scholar, you understand the importance of evidence.", "next": "z"},
"z": {"speaker": "z", "expression": "wry", "text": "There is pistachio dust on your sleeve and an expression of profound guiltlessness. The evidence is unusually charming.", "choices": [
{"text": "Take Lima's side and demand a formal tasting.", "next": "taste", "effects": [{"type": "relationship", "key": "humour", "amount": 4}, {"type": "relationship", "key": "romance", "amount": 2}]},
{"text": "Ask Rayhan about the founders' communal meal.", "next": "history", "effects": [{"type": "relationship", "key": "respect", "amount": 3}]}
]},
"taste": {"speaker": "rayhan", "text": "A tasting. Naturally. Stand close together so I can mistrust you efficiently. Rice first, saffron second, citrus third, pistachio last.", "next": "recipe"},
"history": {"speaker": "rayhan", "text": "The first meal used whatever five streets could spare. The palace supplied plates only after discovering everyone had already eaten. Remember that when someone calls generosity a royal invention.", "next": "recipe"},
"recipe": {"speaker": "lima", "expression": "warm", "text": "Foundation, gold, brightness, green. She ties an apron around Z and leaves her hands at his waist one heartbeat longer than the knot requires. “For scholarship,” she says.", "effects": [{"type": "discoverGift", "id": "spiced_tea"}, {"type": "relationship", "key": "comfort", "amount": 2}]}
}
},
"market_walk": {
"start": "crowd",
"nodes": {
"crowd": {"speaker": "lima", "expression": "warm", "text": "In the palace every silence becomes a rumour. Here I can disappear between a spice seller and a family arguing over sweets. It is the closest thing I have to privacy.", "next": "z"},
"z": {"speaker": "z", "expression": "thoughtful", "text": "You are not very well disguised. Three vendors bowed, two children waved, and that woman gave me a look suggesting she has already planned our wedding menu.", "next": "laugh"},
"laugh": {"speaker": "lima", "expression": "playful", "text": "That is Farida. She plans everyone's wedding menu. Last month she married two customers because they reached for the same mango.", "choices": [
{"text": "Ask what Farida would serve at theirs.", "next": "wedding", "effects": [{"type": "relationship", "key": "romance", "amount": 6}, {"type": "relationship", "key": "humour", "amount": 3}]},
{"text": "Say you like seeing the city know and love her.", "next": "known", "effects": [{"type": "relationship", "key": "comfort", "amount": 5}, {"type": "relationship", "key": "familyApproval", "amount": 3}]}
]},
"wedding": {"speaker": "lima", "expression": "tender", "text": "Lima stops walking. “You move quickly for a man who took ten minutes to choose a library chair.” Then, softer: “Saffron sweets. Farida believes optimism should stain the fingers.”", "next": "hand"},
"known": {"speaker": "lima", "expression": "vulnerable", "text": "Loved is easier here because they knew me before the speeches. They remember when I fell into the fountain chasing a paper boat. I want you to know that version too.", "next": "hand"},
"hand": {"speaker": "z", "expression": "warm", "text": "A surge in the crowd presses them together. Z offers his hand; Lima takes it, and keeps it after the street widens. Neither mentions the unnecessary duration.", "effects": [{"type": "relationship", "key": "trust", "amount": 3}, {"type": "relationship", "key": "romance", "amount": 3}, {"type": "discoverGift", "id": "brass_compass"}]}
}
},
"garland_complete": {
"start": "finished",
"nodes": {
"finished": {"speaker": "mira", "text": "Five neighbourhoods, five fragrances, and not one palace rose in command. Hold the far end, both of you. A communal garland should be lifted by more than one pair of hands.", "next": "lift"},
"lift": {"speaker": "lima", "expression": "triumphant", "text": "The arch rises above the market entrance. Children call the flower names while Mira knots each stem into the next. The crowd applauds itself rather than the palace.", "next": "z"},
"z": {"speaker": "z", "expression": "warm", "text": "This is the festival Anwara was trying to protect: not an object beneath glass, but memory practised together.", "choices": [
{"text": "Give the public credit when Saira arrives.", "next": "credit", "effects": [{"type": "relationship", "key": "familyApproval", "amount": 5}, {"type": "relationship", "key": "respect", "amount": 3}]},
{"text": "Quietly tuck one fallen jasmine into Lima's hair.", "next": "jasmine", "effects": [{"type": "relationship", "key": "romance", "amount": 5}, {"type": "relationship", "key": "comfort", "amount": 3}]}
]},
"credit": {"speaker": "saira", "text": "Then the programme will name every contributing street. Tradition is not weakened by accurate credits; only vanity is.", "next": "memory"},
"jasmine": {"speaker": "lima", "expression": "tender", "text": "She turns her face into his palm before propriety can object. “There,” she says. “Now the arrangement contains one dangerously observant scholar.”", "next": "memory"},
"memory": {"speaker": "mira", "text": "Mira sends them away with jasmine-scented fingers and the knowledge that the first founders used this same sequence to mark safe meeting places.", "effects": [{"type": "unlockCG", "id": "garland"}]}
}
},
"letters_complete": {
"start": "three",
"nodes": {
"three": {"speaker": "nadia", "text": "All three. A cook's account, a gardener's map, and a traveller's letter home. Read the signatures aloud; they have waited long enough.", "next": "names"},
"names": {"speaker": "z", "expression": "thoughtful", "text": "Amina Rahman, who fed the night crews. Debu Sen, who opened the garden gates. Samira Qureshi, who carried verses upstream and returned with another language in the margins.", "next": "lima"},
"lima": {"speaker": "lima", "expression": "vulnerable", "text": "My catalogue reduced them to 'local assistance.' Two words where three lives should be. I signed that edition.", "choices": [
{"text": "Remind her that responsibility includes correction, not self-punishment.", "next": "correct", "effects": [{"type": "relationship", "key": "trust", "amount": 5}, {"type": "relationship", "key": "comfort", "amount": 4}]},
{"text": "Offer to write the corrected entry beside her.", "next": "beside", "effects": [{"type": "relationship", "key": "respect", "amount": 4}, {"type": "relationship", "key": "romance", "amount": 3}]}
]},
"correct": {"speaker": "z", "expression": "warm", "text": "You inherited an archive designed to overlook them. Your responsibility is not to have been born knowing better; it is to change what the next curator inherits.", "next": "copy"},
"beside": {"speaker": "z", "expression": "tender", "text": "Two chairs, one desk, several arguments over commas. I can imagine worse futures. Lima's answering smile makes the bookseller suddenly fascinated by another shelf.", "next": "copy"},
"copy": {"speaker": "nadia", "text": "The private reading room is yours until moonrise. Make the copy together. Leave the door open for propriety if you must; the shelves have heard better gossip.", "effects": [{"type": "unlockCG", "id": "library"}, {"type": "relationship", "key": "familyApproval", "amount": 3}]}
}
},
"ishan_stage": {
"start": "programme",
"nodes": {
"programme": {"speaker": "ishan", "text": "The council has rewritten the programme four times. At present the folio is unveiled, praised, illuminated, praised again, and possibly cooked by the lamps before dessert.", "next": "lima"},
"lima": {"speaker": "lima", "expression": "determined", "text": "Then there will be no unveiling. We will display a facsimile, keep the original in controlled light, and give the founders' descendants the stage.", "next": "risk"},
"risk": {"speaker": "saira", "text": "Several ministers will call that humiliation. They expected the palace to own the revelation.", "choices": [
{"text": "Frame preservation as honour rather than retreat.", "next": "honour", "effects": [{"type": "relationship", "key": "respect", "amount": 4}, {"type": "relationship", "key": "familyApproval", "amount": 3}]},
{"text": "Let the ministers be embarrassed by accurate history.", "next": "embarrassed", "effects": [{"type": "relationship", "key": "adventure", "amount": 4}, {"type": "relationship", "key": "humour", "amount": 2}]}
]},
"honour": {"speaker": "z", "expression": "determined", "text": "A fragile page is not honoured by being sacrificed to applause. The facsimile lets everyone read it; the original survives to correct us again.", "next": "ready"},
"embarrassed": {"speaker": "lima", "expression": "triumphant", "text": "At last, a festival entertainment I can endorse. Ishan, place their reserved seats where they can hear every omitted name clearly.", "next": "ready"},
"ready": {"speaker": "ishan", "text": "The descendants are waiting, the facsimile is mounted, and the lamps are safely dim. Your Highness, Master Z—the stage is yours.", "effects": [{"type": "relationship", "key": "trust", "amount": 2}]}
}
},
"dance_after": {
"start": "breath",
"nodes": {
"breath": {"speaker": "lima", "expression": "tender", "text": "They leave the dancers beneath a storm of petals. Lima is breathless, laughing, and still holding both his hands. “You followed beautifully,” she says. “Even when you did not.”", "next": "z"},
"z": {"speaker": "z", "expression": "flustered", "text": "I was conducting field research into whether a princess will catch a scholar who misses a turn.", "next": "result"},
"result": {"speaker": "lima", "expression": "playful", "text": "And your findings?", "choices": [
{"text": "She catches him, but keeps him longer than necessary.", "next": "keeps", "effects": [{"type": "relationship", "key": "romance", "amount": 6}, {"type": "relationship", "key": "comfort", "amount": 3}]},
{"text": "Further trials require somewhere quieter.", "next": "quieter", "effects": [{"type": "relationship", "key": "humour", "amount": 3}, {"type": "relationship", "key": "adventure", "amount": 2}, {"type": "relationship", "key": "romance", "amount": 4}]}
]},
"keeps": {"speaker": "lima", "expression": "tender", "text": "“A serious methodological concern.” Her thumb traces his knuckles. “We should discuss it beside the river, where nobody will interrupt the peer review.”", "next": "leave"},
"quieter": {"speaker": "lima", "expression": "playful", "text": "“At last, rigorous scholarship.” She steals him from the pavilion while Ishan heroically redirects three councillors and an aunt who is not fooled at all.", "next": "leave"},
"leave": {"speaker": "z", "expression": "warm", "text": "They walk toward the moonlit steps as music softens behind them, the public argument safely alive and the private answer waiting by the water.", "effects": [{"type": "relationship", "key": "trust", "amount": 2}]}
}
}
}