{ "dialogues": [ { "id": "npc_viola_intro", "displayName": "Ghost introduction", "start": "start", "nodes": [ { "id": "start", "type": "Line", "speaker": "Ghost", "portrait": "resources/w/ghost_skin001.png", "text": "So, you finally reached this room.", "next": "intro_choice" }, { "id": "intro_choice", "type": "Choice", "speaker": "Ghost", "portrait": "resources/w/ghost_skin001.png", "text": "Choose what Geralt says next.", "choices": [ { "id": "main_job", "kind": "Main", "text": "I am looking for answers.", "next": "job_line" }, { "id": "optional_who", "kind": "Optional", "text": "Who are you?", "next": "who_line", "consumeOnce": true }, { "id": "exit_now", "kind": "Exit", "text": "Enough. Goodbye.", "next": "end" } ] }, { "id": "who_line", "type": "Line", "speaker": "Ghost", "portrait": "resources/w/ghost_skin001.png", "text": "Only a memory. But memories can still be dangerous.", "next": "intro_choice" }, { "id": "job_line", "type": "Line", "speaker": "Ghost", "portrait": "resources/w/ghost_skin001.png", "text": "Then watch carefully. What follows is not a story, but a wound.", "next": "start_cutscene" }, { "id": "start_cutscene", "type": "CutsceneStart", "cutsceneId": "ghost_memory_01", "next": "set_memory_seen" }, { "id": "set_memory_seen", "type": "SetFlag", "effects": [ { "flag": "memory_seen", "value": 1 } ], "next": "after_cutscene_condition" }, { "id": "after_cutscene_condition", "type": "Condition", "conditions": [ { "flag": "memory_seen", "op": ">=", "value": 1 } ], "trueNext": "after_cutscene_line", "falseNext": "end" }, { "id": "after_cutscene_line", "type": "Line", "speaker": "Ghost", "portrait": "resources/w/ghost_skin001.png", "text": "Now you know enough for the first quest hook.", "next": "end" }, { "id": "end", "type": "End" } ] } ], "cutscenes": [ { "id": "ghost_memory_01", "background": "resources/w/room005.png", "skippable": true, "lines": [ { "speaker": "Narrator", "text": "The room went silent, as if the walls remembered everything.", "durationMs": 2800 }, { "speaker": "Ghost", "portrait": "resources/w/ghost_skin001.png", "text": "There were voices here once. Oaths. Smoke. Firelight.", "durationMs": 2600 }, { "speaker": "Narrator", "text": "Now there was only ash and a story that refused to die.", "durationMs": 2700 } ] } ] }