<<audio "startmusic" volume 0.4 loop play>>
<<run $("#ui-bar").hide()>>
<img class="game-image" src="image/start.png" alt="Hospital main gate">
<h1>No One Else</h1>
<p><strong style="color:red">Content Warning</strong></p>
<p>This game contains themes and scenes related to ghosts, implied death, suspense and abusive dialogue that may elicit negative reactions or trigger traumatic memories.</p>
<p>For the best experience, headphones are recommended as this game includes music and sound.</p>
<h3>Hint</h3>
<p> Navigate different rooms, Gather memoreis and clues, Survive and Escape.</p>
<p> You are safe in the Patient Room </p>
[[Start|Opening1]]<<set $currentRoom = "Corridor 1">>
<<set $corridorExplored = true>>
<<set $hideSpot = "none">>
<img class="game-image" src="image/Corridor.png" alt="Corridor 1">
<h2>Corridor 1</h2>
<p>The long corridor outside the patient room is quiet and cold.</p>
<p>The light here is just as weak as inside the room. The ceiling lamps flicker again and again, leaving parts of the hallway in darkness.</p>
<p>Matthew looks around. Across from the patient room, there is a door labelled <em>Operating Room</em>. To the right, he can see the reception area.</p>
<p>Another long corridor stretches deeper into the hospital.</p>
<p>At the far end, something seems to flicker in and out of sight, but Matthew cannot tell what it is.</p>
<p>Whatever is waiting here, staying in this corridor for too long does not feel like a good idea.</p>
<<include "Action Menu">><h3>Map</h3>
<div class="mini-map">
<div>
<<if $patientRoomExplored>>Patient Room<<else>>????<</if>>
|
<<if $operatingRoomExplored>>Operating Room<<else>>????<</if>>
</div>
<div>
<<if $bathroomExplored>>Bathroom<<else>>????<</if>>
|
<<if $pharmacyExplored>>Pharmacy<<else>>????<</if>>
</div>
<div>
<<if $morgueExplored>>Morgue<<else>>????<</if>>
|
<<if $officeExplored>>Office<<else>>????<</if>>
</div>
<div>
<<if $receptionExplored>>Reception<<else>>????<</if>>
</div>
<div>
<<if $mainGateExplored>>Main Gate<<else>>????<</if>>
</div>
</div>
<h3>Status</h3>
<p>Health: $health</p>
<h3>Clues</h3>
<p>Clues: $clues/6</p><<cacheaudio "ambulance" "audio/ambulance.mp3">>
<<cacheaudio "mumbling" "audio/mumbling.mp3">>
<<cacheaudio "startmusic" "audio/start.mp3">>
<<cacheaudio "doorknock" "audio/Knock.mp3">>
<<cacheaudio "background" "audio/BackGround.mp3">>
<<cacheaudio "memory" "audio/Memory.mp3">>
<<cacheaudio "jumpscare" "audio/Jumpscare.mp3">>
<<cacheaudio "ending" "audio/ending.mp3">>
<<set $currentRoom = "">>
<<set $currentSpotIndex = 0>>
<<set $patientRoomExplored = false>>
<<set $corridorExplored = false>>
<<set $receptionExplored = false>>
<<set $bathroomExplored = false>>
<<set $pharmacyExplored = false>>
<<set $operatingRoomExplored = false>>
<<set $morgueExplored = false>>
<<set $officeExplored = false>>
<<set $mainGateExplored = false>>
<<set $menuMode to "main">>
<<set $health = 5>>
<<set $maxHealth = 5>>
<<set $clues = 0>>
<<set $ghostChance = 20>>
<<set $ghostRoll = 0>>
<<set $nextPassage = "">>
<<set $returnRoom = "Patient Room - Bed">>
<<set $pendingAction = "none">>
<<set $skipGhostOnce = false>>
<<set $hideSpot = "none">>
<<set $hasMorgueKey = false>>
<<set $hasGateKey = false>>
<<set $ghostConversationUnlocked = false>>
<<set $checkedMirror = false>>
<<set $hasHospitalReport = false>>
<<set $hasDrawerNote = false>>
<<set $hasPharmacyReport = false>>
<<set $hasOfficePastFiles = false>>
<<set $hasMap = false>>
<<set $hasMemory18 = false>>
<<set $hasMemory22 = false>>
<<set $hasBrokenMemory = false>>
<<set $hasEmptyDrawerMemory = false>>
<<set $hasMorgueTruth = false>>
<<set $hasMorgueBodiesMemory = false>>
<<set $usedMorgueTruthWithGhost = false>>
<<set $morgueMemoriesTriggeredGhostChance = false>>
<<set $searchSpots = {
"Patient Room - Bed": [
{
id: "bedReport",
label: "Search the end of the bed",
searched: false,
result: "clue",
text: "<h3>Medical Report</h3><p><strong>Name:</strong> Matthew<br><strong>Age:</strong> 25<br><strong>Occupation:</strong> Engineer</p><p><strong>Admission Reason:</strong><br>Severe car accident. <s>Physical trauma only.</s></p><p><strong>Condition:</strong><br>Patient remains unconscious. Memory response is abnormal.</p><p><strong>Notes:</strong><br>Words appear repeatedly: <em>pressure</em>, <em>failure</em>, <em>not enough</em>, <em>wake up</em>.</p><p><strong>Cause:</strong><br><s>Traffic accident.</s><br><s>Head injury.</s><br>Unresolved traumatic memory.</p>"
},
{
id: "bedDrawerNote",
label: "Search the drawer",
searched: false,
result: "clue",
text: "<h3>Drawer Note</h3><p>A note written in familiar handwriting:</p><p><em>None of this is real.</em></p><p><em>Once you understand what happened, escape before it pulls you deeper.</em></p><p><em>Wake up.</em></p><p><em>Be careful.</em></p><p><em>You are not the only one here.</em></p>"
}
],
"Patient Room - Left Side": [
{
id: "leftEmptyBed",
label: "Search the empty bed",
searched: false,
result: "empty",
text: "Matthew checks the empty bed. The blanket is cold, but there is nothing useful here."
},
{
id: "leftDrawer",
label: "Search the drawer",
searched: false,
result: "map",
text: "<h3>Hospital Map</h3><p>Matthew opens the drawer. Inside, he finds an old hospital map. The paper is dirty and folded, but the room names are still readable.</p><p><strong>Hospital Map added to inventory.</strong></p>"
}
],
"Patient Room - Right Side": [
{
id: "rightEmptyBed",
label: "Search the empty bed",
searched: false,
result: "empty",
text: "Matthew checks the empty bed. There is nothing hidden there."
},
{
id: "rightDrawer",
label: "Search the drawer",
searched: false,
result: "tutorial",
text: "<h3>Warning Note</h3><p>A note written in shaking handwriting:</p><p><em>You are safe inside the patient room.</em></p><p><em>Once you leave, be careful. He can appear in the corridors or any other room at any time.</em></p><p><em>Do not waste time. If you hear him nearby, hide when you can.</em></p><p><em>But hiding will not always be possible.</em></p><p><em>To escape, you need more than a key. You also need enough clues to understand the truth.</em></p><p><em>Good luck.</em></p>"
}
],
"Operating Room": [
{
id: "surgicalTable",
label: "Search the surgical table",
searched: false,
result: "empty",
text: "Matthew checks the surgical table. The surface is old and scratched, with peeling paint and dried blood along the edges. There is nothing useful here."
},
{
id: "equipmentTray",
label: "Search the equipment tray",
searched: false,
result: "empty",
text: "Matthew searches the equipment tray. It is covered with surgical tools, but most of them are rusted and useless. He finds nothing that can help him."
},
{
id: "bloodCabinet",
label: "Search the blood-stained cabinet",
searched: false,
result: "empty",
text: "Matthew opens the blood-stained cabinet in the corner. Inside, there are only expired medicine bottles and empty containers."
}
],
"Reception": [
{
id: "visitorList",
label: "Check the visitor list",
searched: false,
result: "empty",
text: "<h3>Visitor List</h3><p>Matthew reads the visitor list. There is only one name on the page.</p><p><strong>Matthew</strong> — Age 10<br><strong>Matthew</strong> — Age 12<br><strong>Matthew</strong> — Age 15<br><strong>Matthew</strong> — Age 18<br><strong>Matthew</strong> — Age 23</p><p>The last entry is written darker than the others.</p><p><strong>Matthew</strong> — Age 25 — Still inside.</p>"
},
{
id: "brokenComputer",
label: "Check the broken computer",
searched: false,
result: "empty",
text: "Matthew presses the keyboard. The computer does not respond."
}
],
"Bathroom": [
{
id: "mirror",
label: "Look into the mirror",
searched: false,
result: "mirrorMemory",
text: "<img class='game-image' src='image/Mirror.png' alt='Matthew looking into the mirror'><h3>Mirror</h3><p>Matthew steps closer to the mirror.</p><p>For the first time since waking up, he can finally see his own face clearly.</p><p>The man in the reflection has the same body, the same hospital gown, and the same tired eyes.</p><p>But something is wrong.</p><p>The Matthew inside the mirror is covered in injuries. Dark bruises spread across his skin, and several cuts run across his face. Dried blood marks his forehead, his cheek, and the corner of his mouth.</p><p>Matthew touches his own face.</p><p>Nothing.</p><p>Then the reflection smiles.</p><p>It is a small, broken smile. It does not look threatening, but it does not feel comforting either.</p><p>Suddenly, something cracks open inside Matthew's mind.</p>"
},
{
id: "sinkKey",
label: "Search the sink",
searched: false,
result: "morgueKey",
text: "Under the flickering light, something in the sink stands out immediately. A small key is jammed inside the drain. Attached to it is a worn label that reads: MORGUE."
}
],
"Pharmacy": [
{
id: "medicineShelves",
label: "Search the medicine shelves",
searched: false,
result: "medicine",
text: "Matthew searches the medicine shelves. Most bottles are empty or expired, but he finds one usable medicine pack. His breathing becomes steadier."
},
{
id: "pharmacyReport",
label: "Search the table",
searched: false,
result: "clue",
text: "<h3>Medical Report</h3><p><strong>Patient:</strong> Matthew<br><strong>Age:</strong> 25<br><strong>Medication:</strong> Anti-anxiety medication</p><p><strong>Reason:</strong><br>- Sleep deprivation<br>- Stress response<br>- Panic symptoms</p><p><strong>Doctor Notes:</strong></p><p>The patient shows severe anxiety and possible dissociative symptoms.</p><p>The patient holds himself to extremely strict standards and appears to connect his self-worth with achievement.</p><p>During the interview, the source of stress seemed related to family expectations, pressure, and fear of failure.</p><p>The patient also shows signs of paranoia and perfectionist behaviour.</p><p>Medication and regular psychological counselling are recommended.</p>"
}
],
"Morgue": [
{
id: "morgueYear18",
label: "Open the Year 18 drawer",
searched: false,
result: "passage",
target: "Morgue Year 18"
},
{
id: "morgueYear22",
label: "Open the Year 22 drawer",
searched: false,
result: "passage",
target: "Morgue Year 22"
},
{
id: "morgueBrokenLabel",
label: "Open the broken-label drawer",
searched: false,
result: "passage",
target: "Morgue Broken Label"
}
],
"Main Gate": [],
"Office": [
{
id: "officeDesk",
label: "Search the office desk",
searched: false,
result: "gateKey",
text: "Matthew searches the office desk. Under the papers, he finds the main gate key."
},
{
id: "officePastFiles",
label: "Search the papers on the floor",
searched: false,
result: "empty",
text: "<p>Matthew looks down at the papers scattered across the office floor.</p><p>Many of them have been stepped on, leaving dirty shoe prints across the pages.</p><p>He finds old academic certificates, work documents, and a birth certificate with his name on it.</p><p>None of these should be here.</p><p>Matthew realises that this hospital is not only a place to trap him. It is built from his past and made from him.</p>"
}
]
}>>
<<set $roomExits to {
"Patient Room - Bed": [
{label: "Move left", target: "Patient Room - Left Side"},
{label: "Move right", target: "Patient Room - Right Side"}
],
"Patient Room - Left Side": [
{label: "Move to Corridor 1", target: "Corridor 1"},
{label: "Move back to the bed", target: "Patient Room - Bed"}
],
"Patient Room - Right Side": [
{label: "Move back to the bed", target: "Patient Room - Bed"}
],
"Corridor 1": [
{label: "Return to Patient Room", target: "Patient Room - Left Side"},
{label: "Go to Operating Room", target: "Operating Room"},
{label: "Go to Reception", target: "Reception"},
{label: "Go to Corridor 2", target: "Corridor 2"}
],
"Operating Room": [
{label: "Return to Corridor 1", target: "Corridor 1"}
],
"Reception": [
{label: "Return to Corridor 1", target: "Corridor 1"},
{label: "Go to Main Gate", target: "Main Gate"}
],
"Corridor 2": [
{label: "Return to Corridor 1", target: "Corridor 1"},
{label: "Go to Bathroom", target: "Bathroom"},
{label: "Go to Pharmacy", target: "Pharmacy"},
{label: "Go to Corridor 3", target: "Corridor 3"}
],
"Bathroom": [
{label: "Return to Corridor 2", target: "Corridor 2"}
],
"Pharmacy": [
{label: "Return to Corridor 2", target: "Corridor 2"}
],
"Corridor 3": [
{label: "Return to Corridor 2", target: "Corridor 2"},
{label: "Go to Morgue", target: "Morgue"},
{label: "Go to Office", target: "Office"}
],
"Morgue": [
{label: "Return to Corridor 3", target: "Corridor 3"}
],
"Office": [
{label: "Return to Corridor 3", target: "Corridor 3"}
],
"Main Gate": [
{label: "Return to Reception", target: "Reception"}
]
}>><<set $patientRoomExplored to true>>
<<set $hideSpot to "none">>
<<set $currentRoom to "Patient Room - Left Side">>
<img class="game-image" src="image/Patient_Left.png" alt="left patient bed">
<h2>Patient Room - Left Side</h2>
<p>Matthew walks to the left side of the patient room.</p>
<p>The hospital bed is empty. The blanket has been folded neatly, but the wrinkles on the sheet make it look as if someone has only just left.</p>
<p>There is a door on the left side of the room. It leads to the corridor outside.</p>
<p>The door is slightly open, but beyond it there is only darkness. Matthew cannot see what is waiting outside.</p>
<<include "Action Menu">><<set $patientRoomExplored to true>>
<<set $hideSpot to "none">>
<<set $currentRoom to "Patient Room - Right Side">>
<img class="game-image" src="image/Patient_right.png" alt="right patient bed">
<h2>Patient Room - Right Side</h2>
<p>Matthew walks to the right side of the patient room.</p>
<p>This bed is empty too. A curtain beside it moves slightly, even though there is no wind in the room, and no window on the wall.</p>
<p>This side of the room is strangely quiet. It feels as if Matthew has reached the edge of the world.</p>
<p>There is no exit here, and no doorway leading to another room.</p>
<<include "Action Menu">><<run $("#ui-bar").show()>>
<<audio "startmusic" stop>>
<<audio "background" volume 0.25 loop play>>
<<set $patientRoomExplored to true>>
<<set $hideSpot to "none">>
<<set $currentRoom to "Patient Room - Bed">>
<img class="game-image" src="image/Patient.png" alt="patient bed">
<h2>Patient Room</h2>
<p>Where... where is this?</p>
<p>Matthew looks around in confusion. A weak ceiling light flickers above him, and he realises he is lying on a hospital bed.</p>
<p>There is no one around him. No doctors. No nurses. No sound of life.</p>
<p>Wires and medical patches are attached to his body. Matthew cannot even remember who he is, or what happened before he woke up here.</p>
<p>The room makes him uncomfortable. He pulls the patches from his skin and tries to sit up.</p>
<p>Before he can leave the bed, an alarm suddenly screams from the machine beside him.</p>
<p class="alert-text">Alert: Patient Matthew awakened. Wake-up time: 25:00 13/20/3129.</p>
<p>Matthew stares at the strange message on the screen.</p>
<p><em>Matthew... is that me?</em></p>
<p>The alarm stops.</p>
<p>Then, from somewhere outside the room, Matthew hears a strange sound.</p>
<p>His chest tightens with fear, but he knows he cannot stay here forever.</p>
<<include "Action Menu">><<set $currentRoom = "Operating Room">>
<<set $operatingRoomExplored = true>>
<<set $hideSpot = "behind the equipment tray">>
<img class="game-image flicker-image" src="image/Operating Room.png" alt="Operating Room">
<h2>Operating Room</h2>
<p>Matthew steps into the operating room.</p>
<p>A strong metallic smell fills the air. The pale ceiling light hangs above him, flickering over the surgical table in the centre of the room.</p>
<p>Dark stains cover the sheet on the operating bed. The white walls are marked with messy handprints, as if someone had tried to crawl away in panic.</p>
<p>On one wall, crooked words have been written in dried, blackened blood.</p>
<p class="ghost-text">I cannot keep doing this anymore.</p>
<p class="ghost-text">I want to be free.</p>
<p class="ghost-text">No one else gets to define me.</p>
<p>The handwriting feels strangely familiar. Matthew’s chest tightens, but he still cannot understand what happened here.</p>
<<include "Action Menu">><<set $currentRoom = "Reception">>
<<set $receptionExplored = true>>
<<set $hideSpot = "behind the reception desk">>
<img class="game-image" src="image/Reception.png" alt="Reception">
<h2>Reception</h2>
<p>Matthew steps out of the corridor and enters the reception area.</p>
<p>The fluorescent lights above flicker from time to time, briefly revealing the old reception desk.</p>
<p>Behind the desk, a large glass monitoring window stretches across the wall. It is covered in cracks, but sometimes a faint electrical buzzing still comes from behind it.</p>
<p>Matthew cannot tell if something is still working on the other side.</p>
<<include "Action Menu">><<set $currentRoom = "Corridor 2">>
<<set $corridorExplored = true>>
<<set $hideSpot = "none">>
<img class="game-image flicker-image" src="image/Corridor2.png" alt="Corridor 2">
<h2>Corridor 2</h2>
<p>Matthew walks deeper into the hospital.</p>
<p>This corridor is narrower and older than the last one. The walls are stained, and the air feels colder here.</p>
<p>A bathroom door stands on the left. On the right, Matthew can see the pharmacy.</p>
<p>Ahead of him, another corridor leads even deeper into the hospital. It looks like he is getting close to the end.</p>
<<include "Action Menu">><<set $currentRoom = "Main Gate">>
<<set $mainGateExplored = true>>
<<set $hideSpot = "none">>
<img class="game-image" src="image/main_gate.png" alt="Main Gate image">
<h2>Main Gate</h2>
<p>The main gate stands at the front of the hospital.</p>
<p>Beyond the glass doors, Matthew sees only darkness.</p>
<<if $hasGateKey is false>>
<p>The gate is locked.</p>
<p>Matthew needs the main gate key before he can leave.</p>
<<include "Action Menu">>
<<else>>
<p>Matthew holds the main gate key.</p>
<p>The lock feels cold under his hand.</p>
<<if $clues >= 5 and $usedMorgueTruthWithGhost is true>>
<<link "Use the key">>
<<goto "True Ending">>
<</link>>
<<else>>
<hr>
<<link "Use the key">>
<<goto "Incomplete Escape Ending">>
<</link>>
<</if>>
<<link "Step away from the gate">>
<<set $menuMode to "main">>
<<goto "Reception">>
<</link>>
<</if>><<audio "background" stop>>
<<audio "memory" stop>>
<<audio "startmusic" stop>>
<<audio "doorknock" stop>>
<<audio "doorknock" volume 0.7 play>>
<img class="game-image" src="image/Incomplete.png" alt="The ghost behind the hospital glass door">
<p>Matthew unlocks the main gate and steps outside.</p>
<p>For the first time, the cold air outside touches his face.</p>
<p>He lowers his shoulders and lets out a quiet breath.</p>
<p>For a moment, he thinks the danger is finally over.</p>
<p>Then—</p>
<p class="ghost-text">Knock. Knock. Knock.</p>
<p>Matthew slowly turns around.</p>
<p>Behind the glass doors, the ghost stands inside the hospital, staring at him with a crooked smile.</p>
<p>For the first time, it speaks.</p>
<p class="ghost-text">We will meet again, Matthew.</p>
<p>The door falls silent, but the words remain in his mind.</p>
<h2>Incomplete Escape Ending</h2>
<<link "Restart">>
<<run Engine.restart()>>
<</link>><<set $currentRoom = "Bathroom">>
<<set $bathroomExplored = true>>
<<set $hideSpot = "inside the toilet stall">>
<img class="game-image" src="image/Bathroom.png" alt="Bathroom">
<h2>Bathroom</h2>
<p>Matthew pushes open the door on the left. The heavy door creaks as it slowly moves inward.</p>
<p>The air inside is damp, carrying the smell of mould and something rotten.</p>
<p>The light above buzzes weakly.</p>
<p>On the left side is a toilet stall.</p>
<p>On the right side is a sink and a large mirror. In such a ruined place, the mirror looks strangely new.</p>
<p>Water keeps dripping from the faucet into the basin.</p>
<p>Matthew notices something in the sink, faintly glinting under the weak light.</p>
<<include "Action Menu">><<set $currentRoom = "Pharmacy">>
<<set $pharmacyExplored = true>>
<<set $hideSpot = "behind the medicine shelves">>
<img class="game-image" src="image/Pharmacy.png" alt="pharmacy">
<h2>Pharmacy</h2>
<p>Matthew pushes open the door on the right.</p>
<p>The door makes a sharp metallic scraping sound.</p>
<p>The space inside is narrower than he expected.</p>
<p>The air is filled with the sour, rotten smell of expired medicine.</p>
<p>Only one fluorescent tube above is still working. Another one hangs half-loose in the air, buzzing with a faint electrical sound.</p>
<p>Most of the medicine cabinets are hanging open.</p>
<p>Medicine boxes are scattered across the floor, and several syringes are left messily on the table.</p>
<<include "Action Menu">><<set $currentRoom = "Corridor 3">>
<<set $corridorExplored = true>>
<<set $hideSpot = "none">>
<img class="game-image" src="image/Corridor3.png" alt="Corridor 3">
<h2>Corridor 3</h2>
<p>Matthew reaches the end of the hospital.</p>
<p>The temperature drops sharply here. The air is so cold that his breath begins to turn white.</p>
<p>He soon realises where the cold is coming from. On the left side of the corridor, there is a door labelled <em>Morgue</em>.</p>
<p>Next to it is an office. The layout feels strange, almost unnatural.</p>
<p>Even so, Matthew knows he is getting closer to the truth.</p>
<<include "Action Menu">><<set $currentRoom = "Morgue">>
<<set $morgueExplored = true>>
<<set $hideSpot = "behind the autopsy table">>
<h2>Morgue</h2>
<img class="game-image flicker-image" src="image/Morgue.png" alt="A dark abandoned hospital morgue">
<p>Matthew unlocks the door and steps inside.</p>
<p>A cold, broken, dimly lit morgue appears before him. In the centre of the room stands a metal autopsy table. Beside it are an old stretcher and a tray of rusted surgical tools.</p>
<p>The air smells of formalin and faint decay.</p>
<p>Rows of corpse drawers cover the far wall, but most of them are sealed shut. Only three drawers still have readable labels.</p>
<p>One is labelled <strong>Year 18</strong>.</p>
<p>Another is labelled <strong>Year 22</strong>.</p>
<p>The last drawer has a broken label. Matthew cannot read what it used to say, but its handle is strangely clean and polished </p>
<<include "Action Menu">><<set $currentRoom = "Office">>
<<set $officeExplored = true>>
<<set $hideSpot = "under the desk">>
<img class="game-image" src="image/Office.png" alt="abandoned hospital office">
<h2>Office</h2>
<p>Matthew pushes open the office door.</p>
<p>A wave of cold air rushes toward him.</p>
<p>It looks like a typical doctor's office. There is an office desk, medical filing cabinets, and an examination bed pushed against the wall.</p>
<p>An anatomical chart hangs on the wall. Under the dim light, the exposed organs and labelled body parts look strangely disturbing.</p>
<p>Files are scattered across the desk and the floor. Many of them are covered with dirty footprints, as if someone had walked over them again and again.</p>
<p>This place has clearly been abandoned for a long time.</p>
<<include "Action Menu">><<set $hasGateKey = true>>
<h2>Office</h2>
<p>Matthew takes the gate key from under the papers.</p>
<p>The metal feels strangely warm in his hand.</p>
[[Return to Office|Office]]<<set $ghostRoll = random(1, 100)>>
<<if $ghostRoll <= $ghostChance>>
<<goto "Confrontation">>
<<else>>
<<goto $nextPassage>>
<</if>><<set $ghostRoll = random(1, 100)>>
<<if $skipGhostOnce is true>>
<<set $skipGhostOnce = false>>
<<goto "Resolve Pending Action">>
<<elseif $pendingRoom is "Main Gate">>
<<goto "Resolve Pending Action">>
<<elseif $ghostRoll <= $ghostChance>>
<<audio "doorknock" stop>>
<<audio "doorknock" volume 0.7 play>>
<h2>Knock. Knock. Knock.</h2>
<p>The room becomes silent.</p>
<p class="ghost-text">Something knocks from the other side of the door.</p>
<p>Matthew feels his breath stop. It knows he is inside.</p>
<<if $hideSpot is "none">>
<p><s>Hide</s> <strong class="alert-text" style="color: red;">There is nowhere to hide.</strong></p>
<<else>>
<<link "Hide">>
<<goto "Hide">>
<</link>>
<</if>>
<<link "Confront it">>
<<goto "Confrontation">>
<</link>>
<<else>>
<<goto "Resolve Pending Action">>
<</if>><h2>Hide</h2>
<p>Matthew hides and covers his mouth.</p>
<p>The knocking stops.</p>
<p>For a moment, he hears something breathing outside the door.</p>
<p>Then it moves away.</p>
<<link "Continue">>
<<set $skipGhostOnce = true>>
<<goto $returnRoom>>
<</link>><<audio "jumpscare" volume 0.4 play>>
<img class="game-image" src="image/Confrontation.png" alt="jumpscare image">
<p class="ghost-text flicker-image">A figure suddenly appears in front of Matthew. It wears the same hospital gown as him, and its body and face look almost identical to his. But its expression is twisted, its eyes glow red, and it looks ready to lunge at him at any moment.</p>
<<if $hasMorgueTruth is true and $hasEmptyDrawerMemory is true and $usedMorgueTruthWithGhost is false>>
<<link "Tell the ghost the truth about the morgue">>
<<set $usedMorgueTruthWithGhost = true>>
<<set $clues = $clues + 1>>
<<goto "Confrontation Morgue Truth Result">>
<</link>>
<<elseif $hasMorgueTruth is true and $hasEmptyDrawerMemory is true and $usedMorgueTruthWithGhost is true>>
<p><s>Tell the ghost the truth about the morgue</s> <span class="alert-text">Matthew has already used this truth.</span></p>
<<elseif $hasMorgueTruth is true and $hasEmptyDrawerMemory is false>>
<p><s>Tell the ghost the truth about the morgue</s> <span class="alert-text">Matthew has understood the bodies in the morgue, but not sure what the ghost is.</span></p>
<<elseif $hasMorgueTruth is false and $hasEmptyDrawerMemory is true>>
<p><s>Tell the ghost the truth about the morgue</s> <span class="alert-text">Matthew has found the empty drawer and understand where is the ghost from, but not the full meaning of the bodies.</span></p>
<<else>>
<p><s>Tell the ghost the truth about the morgue</s> <span class="alert-text">Matthew has not fully understood the morgue yet.</span></p>
<</if>>
<hr>
<<link "Force himself to confront it">>
<<goto "Confrontation Bad Result">>
<</link>><h2>Death Ending</h2>
<p>Matthew falls to the floor.</p>
<p>The hospital lights flicker once.</p>
<p>Then everything becomes quiet.</p>
<p class="ghost-text">You were never going to leave.</p>
<<link "Wake up">>
<<include "Reset Game State">>
<<goto "Patient Room - Bed">>
<</link>><<audio "background" stop>>
<<audio "memory" stop>>
<<audio "doorknock" stop>>
<<audio "ending" volume 0.4 loop play>>
<img class="game-image" src="image/complete.png" alt="Matthew leaving the hospital">
<p>Matthew steps out through the main gate.</p>
<p>For the first time, he knows he has truly escaped this place.</p>
<p>But then, one thought stops him.</p>
<p>What happened to the ghost that disappeared?</p>
<p>After a moment of hesitation, Matthew slowly turns back and looks toward the hospital entrance.</p>
<<link "Continue">>
<<goto "True Ending Ghost">>
<</link>><<if $pendingAction is "searchSpot">>
<<set $pendingAction = "none">>
<<goto "Search Spot Result">>
<<elseif $pendingAction is "roomNavigation">>
<<set $pendingAction = "none">>
<<goto $nextPassage>>
<<else>>
<<set $pendingAction = "move">>
<<goto $nextPassage>>
<</if>><h2>Search Result</h2>
<<set _spot = $searchSpots[$currentRoom][$currentSpotIndex]>>
<<set _firstSearch = _spot.searched is false>>
<<if _spot.result is "passage">>
<<if _spot.searched is false>>
<<set _spot.searched = true>>
<</if>>
<<set $menuMode = "main">>
<<goto _spot.target>>
<<else>>
<<print _spot.text>>
<<if _spot.searched is false>>
<<set _spot.searched = true>>
<<if _spot.result is "clue">>
<<set $clues = $clues + 1>>
<<if _spot.id is "bedReport">>
<<set $hasHospitalReport = true>>
<p class="item-reminder">Matthew has obtained: Medical Report.</p>
<<elseif _spot.id is "bedDrawerNote">>
<<set $hasDrawerNote = true>>
<p class="item-reminder">Matthew has obtained: Drawer Note.</p>
<<elseif _spot.id is "pharmacyReport">>
<<set $hasPharmacyReport = true>>
<p class="item-reminder">Matthew has obtained: Pharmacy Report.</p>
<</if>>
<<elseif _spot.result is "map">>
<<set $hasMap = true>>
<p class="item-reminder">Matthew has obtained: Hospital Map.</p>
<<elseif _spot.result is "mirrorMemory">>
<<set $checkedMirror = true>>
<<set $clues = $clues + 1>>
<p class="item-reminder">Matthew has obtained: Mirror Memory.</p>
<<elseif _spot.result is "morgueKey">>
<<set $hasMorgueKey = true>>
<p class="item-reminder">Matthew has obtained: Morgue Key.</p>
<<elseif _spot.result is "gateKey">>
<<set $hasGateKey = true>>
<p class="item-reminder">Matthew has obtained: Main Gate Key.</p>
<<elseif _spot.result is "medicine">>
<<if $health < $maxHealth>>
<<set $health = Math.min($health + 3, $maxHealth)>>
<</if>>
<p class="item-reminder">Matthew has obtained: Medicine.</p>
<</if>>
<</if>>
<<if _spot.result is "mirrorMemory" and _firstSearch is true>>
<<link "Continue">>
<<goto "Mirror Memory">>
<</link>>
<<elseif _spot.id is "pharmacyReport" and _firstSearch is true>>
<<link "Continue">>
<<goto "Pharmacy Report Dialogue">>
<</link>>
<<else>>
<<link "Continue">>
<<set $menuMode = "main">>
<<goto $currentRoom>>
<</link>>
<</if>>
<</if>><<nobr>>
<!-- MAIN MENU -->
<<if $menuMode is "main">>
<hr>
<!-- Only show Search if this room exists inside $searchSpots -->
<<if $searchSpots[$currentRoom]>>
<<link "Search">>
<<set $menuMode to "search">>
<<goto $currentRoom>>
<</link>>
<</if>>
<<link "Move">>
<<set $menuMode to "move">>
<<goto $currentRoom>>
<</link>>
<<link "Check Inventory">>
<<set $returnRoom to $currentRoom>>
<<goto "Inventory">>
<</link>>
<!-- SEARCH MENU -->
<<elseif $menuMode is "search">>
<hr>
<h3>Search</h3>
<!-- If this room has no search list, do not run the for loop -->
<<if not $searchSpots[$currentRoom]>>
<p>There is nothing to search here.</p>
<<else>>
<<for _i to 0; _i lt $searchSpots[$currentRoom].length; _i++>>
<<capture _i>>
<<if $searchSpots[$currentRoom][_i].searched is false>>
<<link $searchSpots[$currentRoom][_i].label>>
<<set $currentSpotIndex to _i>>
<<set $returnRoom to $currentRoom>>
<<set $pendingAction to "searchSpot">>
<<set $menuMode to "main">>
<<if $currentRoom is "Patient Room - Bed" or $currentRoom is "Patient Room - Left Side" or $currentRoom is "Patient Room - Right Side">>
<<goto "Search Spot Result">>
<<else>>
<<goto "Ghost Check Room">>
<</if>>
<</link>>
<<else>>
<p><s><<print $searchSpots[$currentRoom][_i].label>></s> Already searched.</p>
<</if>>
<</capture>>
<</for>>
<</if>>
<<link "Back">>
<<set $menuMode to "main">>
<<goto $currentRoom>>
<</link>>
<!-- MOVE MENU -->
<<elseif $menuMode is "move">>
<hr>
<h3>Move</h3>
<<for _i to 0; _i lt $roomExits[$currentRoom].length; _i++>>
<<capture _i>>
<<link $roomExits[$currentRoom][_i].label>>
<<set $nextPassage to $roomExits[$currentRoom][_i].target>>
<<set $returnRoom to $currentRoom>>
<<set $pendingAction to "roomNavigation">>
<<set $menuMode to "main">>
<!-- Lock Morgue until Matthew has the Morgue Key -->
<<if $nextPassage is "Morgue" and $hasMorgueKey is false>>
<<goto "Morgue Locked">>
<!-- Patient Room areas are safe, so move directly -->
<<elseif $currentRoom is "Patient Room - Bed" or $currentRoom is "Patient Room - Left Side" or $currentRoom is "Patient Room - Right Side">>
<<goto $nextPassage>>
<!-- Corridors use corridor ghost check -->
<<elseif $currentRoom is "Corridor 1" or $currentRoom is "Corridor 2" or $currentRoom is "Corridor 3">>
<<goto "Ghost Check Corridor">>
<!-- Other rooms use room ghost check -->
<<else>>
<<goto "Ghost Check Room">>
<</if>>
<</link>>
<</capture>>
<</for>>
<<link "Back">>
<<set $menuMode to "main">>
<<goto $currentRoom>>
<</link>>
<</if>>
<</nobr>><<audio "jumpscare" volume 0.4 stop>>
<<set $health = $health - 1>>
<h2>Confrontation</h2>
<p class="ghost-text">The shape rushes toward him before he can react.</p>
<p>Pain cuts through his body.</p>
<p>HP - 1</p>
<p>HP Left $health</p>
<<if $health <= 0>>
<<goto "Death Ending">>
<<else>>
<<link "Continue">>
<<set $menuMode = "main">>
<<goto $returnRoom>>
<</link>>
<</if>><<nobr>>
<div class="inventory-page">
<h2>Inventory</h2>
<<if $hasMap is true>>
<h3>Hospital Map</h3>
<center>
<img class="game-image" src="image/Map.png" alt="Hospital map">
</center>
<hr>
<</if>>
<h3>Items</h3>
<div class="inventory-item">
<<if $hasMap is true>>
Hospital Map
<<else>>
<s>Hospital Map</s> Not found — search the drawer on the left side of the patient room.
<</if>>
</div>
<div class="inventory-item">
<<if $hasMorgueKey is true>>
Morgue Key
<<else>>
<s>Morgue Key</s> Not found — search the bathroom.
<</if>>
</div>
<div class="inventory-item">
<<if $hasGateKey is true>>
Main Gate Key
<<else>>
<s>Main Gate Key</s> Not found — search the office.
<</if>>
</div>
<hr>
<h3>Clues</h3>
<div class="inventory-item">
<<if $hasHospitalReport is true>>
Hospital Report
<<else>>
<s>Hospital Report</s> Not found — search the patient bed.
<</if>>
</div>
<div class="inventory-item">
<<if $hasDrawerNote is true>>
Drawer Note
<<else>>
<s>Drawer Note</s> Not found — search the patient room drawer.
<</if>>
</div>
<div class="inventory-item">
<<if $hasPharmacyReport is true>>
Pharmacy Report
<<else>>
<s>Pharmacy Report</s> Not found — search the pharmacy.
<</if>>
</div>
<div class="inventory-item">
<<if $hasEmptyDrawerMemory is true>>
Empty Morgue Drawer
<<else>>
<s>Empty Morgue Drawer</s> Not found — search the morgue.
<</if>>
</div>
<div class="inventory-item">
<<if $usedMorgueTruthWithGhost is true>>
Ghost Confrontation Truth
<<else>>
<s>Ghost Confrontation Truth</s> Not found — understand the morgue, then confront the ghost.
<</if>>
</div>
<hr>
<h3>Memories</h3>
<div class="inventory-item">
<<if $checkedMirror is true>>
Mirror Memory
<<else>>
<s>Mirror Memory</s> Not found — look into the bathroom mirror.
<</if>>
</div>
<div class="inventory-item">
<<if $hasMemory18 is true>>
Year 18 Memory
<<else>>
<s>Year 18 Memory</s> Not found — open the Year 18 drawer in the morgue.
<</if>>
</div>
<div class="inventory-item">
<<if $hasMemory22 is true>>
Year 22 Memory
<<else>>
<s>Year 22 Memory</s> Not found — open the Year 22 drawer in the morgue.
<</if>>
</div>
<div class="inventory-item">
<<if $hasMorgueTruth is true>>
Truth About the Morgue
<<else>>
<s>Truth About the Morgue</s> Not understood — recover both morgue memories.
<</if>>
</div>
<hr>
<h3>Status</h3>
<div class="inventory-item">
Health: <<print $health>> / <<print $maxHealth>>
</div>
<div class="inventory-item">
Clues: <<print $clues>>
</div>
<hr>
<<link "Back">>
<<set $menuMode to "main">>
<<goto $returnRoom>>
<</link>>
</div>
<</nobr>><h2>Morgue Door</h2>
<p>The morgue door is locked.</p>
<p>Matthew needs the Morgue Key before he can go inside.</p>
<<link "Return to Corridor 3">>
<<set $menuMode to "main">>
<<goto "Corridor 3">>
<</link>><h2>Opening</h2>
<img class="game-image" src="image/blur.gif" alt="TV static">
<p>Darkness.</p>
<p>There is only darkness in front of Matthew’s eyes. He cannot see anything else.</p>
<p style="color:red"><em>I... where am I?</em></p>
<p>He can still hear his own breathing.</p>
<p>Too loud.</p>
<p style="color:red"><em>What happened?</em></p>
<p style="color:red"><em>Why can't I move?</em></p>
<p>Voices crowd around him, blurred and distant.</p>
<p><em>What are they saying?</em></p>
<p><em>Forget it...</em></p>
<p>His heartbeat becomes weaker and weaker.</p>
<<link "Continue">>
<<audio "mumbling" fadeoverto 2 0>>
<<timed 2s>>
<<audio "mumbling" stop>>
<<goto "Opening2">>
<</timed>>
<</link>><<audio "ambulance" volume 0.15 play>>
<<audio "ambulance" fadeoverto 10 0.05>>
<img class="game-image" src="image/blur.gif" alt="TV static">
<h2>Opening</h2>
<p>A memory breaks through the darkness.</p>
<p>Matthew was driving.</p>
<p>He was too tired to keep his eyes open.</p>
<p>For one second, his mind drifted away.</p>
<p>The car hit the guardrail.</p>
<p>Metal screamed. Glass shattered. The world turned upside down.</p>
<p>Someone nearby called for help. Sirens came closer.</p>
<p>Rescue workers pulled him from the wreck and carried him into the ambulance.</p>
<p>Hands pressed against his chest. Voices shouted above him.</p>
<p>Then everything sank into silence.</p>
<p>Matthew fell into a deep coma.</p>
<<link "Wake up">>
<<audio "ambulance" fadeoverto 2 0>>
<<timed 2s>>
<<audio "ambulance" stop>>
<<goto "Patient Room - Bed">>
<</timed>>
<</link>><img class="game-image" src="image/blur.gif" alt="TV static">
<p>Rain on the windshield.</p>
<p>Headlights cutting through the dark.</p>
<p>His hands gripping the steering wheel too tightly.</p>
<p>He remembers working for days without proper rest. He remembers forcing himself to stay awake, telling himself he could keep going, even when his body was already close to collapse.</p>
<p>Then the road begins to blur.</p>
<p>The car drifts.</p>
<p>A fence rushes into view.</p>
<p>He jerks the steering wheel to avoid it.</p>
<p>The tires scream.</p>
<p>The car loses balance.</p>
<p>The world flips.</p>
<p>Glass shatters.</p>
<p>And then nothing.</p>
<p>Matthew stumbles back from the mirror, breathing heavily.</p>
<p>If he was in a car accident...</p>
<p>then where is this place?</p>
<p><strong>Memory recovered: The Crash</strong></p>
<p>Matthew remembers that he was already injured before waking up in the hospital.</p>
<p class="alert-text">Matthew is beginning to understand that this place is not real. Whoever is haunting Matthew will become more frequent from here.</p>
<<link "Continue">>
<<set $ghostChance = $ghostChance + 10>>
<<set $menuMode = "main">>
<<goto "Bathroom">>
<</link>><<set $ghostChance = 10>>
<<audio "jumpscare" volume 0.4 stop>>
<h2>The Morgue Truth</h2>
<p>Matthew finally understands the truth.</p>
<p>He understands why he is trapped inside this hospital.</p>
<p>He understands who the ghost chasing him really is.</p>
<p>The bodies in the morgue were not strangers. They were versions of himself from the past.</p>
<p>And the one standing before him is the one that escaped.</p>
<p>Matthew gathers his courage and tries to speak to the ghost that has been hunting him.</p>
<p><em>You should not keep hating me.</em></p>
<p><em>And you should not keep hating yourself.</em></p>
<p><em>I understand your anxiety and your pain, but things can never be fully controlled by us.</em></p>
<p><em>Let me leave. We can't stay trapped by the memories and pain of the past anymore.</em></p>
<p><em>Life can only move forward.</em></p>
<<link "Continue">>
<<goto "Confrontation Morgue Truth Reaction">>
<</link>><h2>Pharmacy</h2>
<p>Matthew keeps staring at the report.</p>
<p>So that was it.</p>
<p>He does not know when it started, but at some point, he had slowly pushed himself toward the extreme of achievement and usefulness.</p>
<p>Recently, he really could not hold it together anymore, so he finally tried to seek help.</p>
<p>Then this accident happened.</p>
<p>Life really is hard to predict.</p>
<p>Matthew gives a bitter smile and shakes his head.</p>
<p>As if he did not already have enough trouble.</p>
<p>But for now, the most important thing is still to get out of here.</p>
<<link "Put the report down">>
<<set $menuMode = "main">>
<<goto "Pharmacy">>
<</link>><<set $currentRoom = "Morgue">>
<<set $menuMode to "main">>
<<audio "background" fadeout>>
<<audio "memory" volume 0.4 loop play>>
<h2>Year 18</h2>
<img class="game-image" src="image/Morgue_Year18.png" alt="Matthew looking at his younger self in the Year 18 drawer">
<p>Matthew looks at himself lying quietly inside the drawer — a younger version of himself, with a face that still carries a trace of innocence.</p>
<p>By now, Matthew has begun to realise that he is trapped inside a prison built by his own mind. His real body may still be lying unconscious somewhere in the real world.</p>
<<link "Continue">>
<<goto "Morgue Year 18 Pressure">>
<</link>><<set $currentRoom = "Morgue">>
<img class="game-image" src="image/blur.gif" alt="TV static">
<<if $hasMemory18 is false>>
<<set $hasMemory18 = true>>
<</if>>
<<if $hasMemory18 is true and $hasMemory22 is true and $hasMorgueTruth is false>>
<<set $hasMorgueTruth = true>>
<</if>>
<h2>Year 18</h2>
<p>Looking at the version of himself from seven years ago, Matthew’s lips rise slightly.</p>
<p>He remembers how desperately he studied for exams, how hard he worked to study overseas, and how he struggled to adapt to another country’s language and culture.</p>
<p>He remembers using his second language to learn knowledge that even native speakers might not easily understand.</p>
<p>Matthew lets out a quiet sigh.</p>
<p>Yes. Without realising it, he has already come so far.</p>
<p><em>Something quiet settles inside him.</em></p>
<<link "Close the drawer">>
<<audio "memory" fadeout>>
<<audio "background" volume 0.35 loop play>>
<<set $menuMode to "main">>
<<goto "Morgue">>
<</link>><<set $currentRoom = "Morgue">>
<img class="game-image" src="image/blur.gif" alt="TV static">
<h2>Year 18</h2>
<p>Age 18.</p>
<p>It really was a time he could never forget.</p>
<p>He had just arrived in another country to study, facing pressure from every direction. At first, he could barely even communicate with others. </p>
<p>He had to catch up on lectures by himself, while the differences in food, habits, and culture brought even more pressure.</p>
<p>Unfortunately, that pressure was not understood by his family. Instead, it was met with doubt about his ability.</p>
<p>Back then, there were many moments when he truly felt that he could not keep going, moments when he wanted to give up again and again.</p>
<<link "Continue">>
<<goto "Morgue Year 18 Memory">>
<</link>><<set $currentRoom = "Morgue">>
<<set $menuMode to "main">>
<<audio "background" fadeout>>
<<audio "memory" volume 0.4 loop play>>
<img class="game-image" src="image/Morgue_Year22.png" alt="Matthew looking at his twenty-two-year-old self in the morgue drawer">
<h2>Year 22</h2>
<p>Matthew pulls the handle and looks at the version of himself lying inside the drawer.</p>
<p>His twenty-two-year-old self already looks almost the same as he does now. But Matthew understands that this was also one of the most difficult moments in his life.</p>
<p>He had just finished his studies, and both his work and relationships had changed completely.</p>
<<link "Continue">>
<<goto "Morgue Year 22 Loss">>
<</link>><<set $currentRoom = "Morgue">>
<img class="game-image" src="image/blur.gif" alt="TV static">
<h2>Year 22</h2>
<p>Because of work, Matthew left the place that had become familiar to him.</p>
<p>The girlfriend he had met at university also drifted away because of the distance between them.</p>
<p>But his work did not go as smoothly as he had imagined. He even lost his job, leaving him to work part-time while continuing to search for a direction.</p>
<p>For a moment, it felt as if he had lost all value and fallen into the lowest point of his life.</p>
<<link "Continue">>
<<goto "Morgue Year 22 Memory">>
<</link>><<set $currentRoom = "Morgue">>
<<if $hasMemory22 is false>>
<<set $hasMemory22 = true>>
<</if>>
<<if $hasMemory18 is true and $hasMemory22 is true and $hasMorgueTruth is false>>
<<set $hasMorgueTruth = true>>
<</if>>
<img class="game-image" src="image/blur.gif" alt="TV static">
<h2>Year 22</h2>
<p>Matthew understands that his mind never truly recovered from the year he was twenty-two.</p>
<p>He kept trying to prove that he had value. It felt as if only by being valuable could he receive love and live with dignity.</p>
<p>That feeling has followed Matthew until now. It made him feel as if he was not allowed to be tired, not allowed to complain, and not allowed to struggle.</p>
<p>Life changed from a marathon into an endless sprint, until it finally broke him.</p>
<p>All the unexpected turns in life, including being trapped in this hospital, make Matthew want to say something to his past self.</p>
<p><em>You have already tried your best. Life cannot stay the same forever. Do not help others hurt you anymore.</em></p>
<<link "Close the drawer">>
<<audio "memory" fadeout>>
<<audio "background" volume 0.35 loop play>>
<<set $menuMode to "main">>
<<goto "Morgue">>
<</link>><<set $currentRoom = "Morgue">>
<<if $hasEmptyDrawerMemory is false>>
<<set $hasEmptyDrawerMemory = true>>
<<set $clues = $clues + 1>>
<</if>>
<h2>Broken Label</h2>
<img class="game-image" src="image/Morgue_EmptyDrawer.png" alt="Matthew looking into an empty morgue drawer">
<p>Matthew pulls open the middle morgue drawer, but there is nothing inside.</p>
<p>The empty space feels colder than the bodies he has seen.</p>
<p>A thought slowly forms in his mind: whatever has been following him must have crawled out from here.</p>
<<link "Close the drawer">>
<<set $menuMode to "main">>
<<goto "Morgue">>
<</link>><img class="game-image" src="image/no_response.png" alt="jumpscare image">
<h2>The Morgue Truth</h2>
<p>Matthew hears no reply.</p>
<p>But the ghost's expression changes.</p>
<p>For a moment, it looks almost lonely, as if it no longer knows how to respond.</p>
<p>The silence stretches between them.</p>
<p>Then the light suddenly flickers.</p>
<p>When the room becomes bright again, the ghost is gone.</p>
<<link "Continue">>
<<set $ghostChance = 0>>
<<set $menuMode to "main">>
<<goto $returnRoom>>
<</link>><<set $patientRoomExplored = false>>
<<set $corridorExplored = false>>
<<set $receptionExplored = false>>
<<set $bathroomExplored = false>>
<<set $pharmacyExplored = false>>
<<set $operatingRoomExplored = false>>
<<set $morgueExplored = false>>
<<set $officeExplored = false>>
<<set $mainGateExplored = false>>
<<set $menuMode to "main">>
<<set $health = 5>>
<<set $maxHealth = 5>>
<<set $clues = 0>>
<<set $ghostChance = 20>>
<<set $ghostRoll = 0>>
<<set $nextPassage = "">>
<<set $returnRoom = "Patient Room - Bed">>
<<set $pendingAction = "none">>
<<set $skipGhostOnce = false>>
<<set $hideSpot = "none">>
<<set $hasMorgueKey = false>>
<<set $hasGateKey = false>>
<<set $ghostConversationUnlocked = false>>
<<set $currentRoom = "Patient Room - Bed">>
<<set $currentSpotIndex = 0>>
<<set $checkedMirror = false>>
<<set $hasHospitalReport = false>>
<<set $hasDrawerNote = false>>
<<set $hasPharmacyReport = false>>
<<set $hasOfficePastFiles = false>>
<<set $hasMemory18 = false>>
<<set $hasMemory22 = false>>
<<set $hasBrokenMemory = false>>
<<set $hasEmptyDrawerMemory = false>>
<<set $hasMorgueTruth = false>>
<<set $hasMorgueBodiesMemory = false>>
<<set $usedMorgueTruthWithGhost = false>>
<<set $morgueMemoriesTriggeredGhostChance = false>>
<<run Object.keys(State.variables.searchSpots).forEach(function (room) {
State.variables.searchSpots[room].forEach(function (spot) {
spot.searched = false;
});
})>><p>Behind the glass doors, the nightmare that once chased him is standing there.</p>
<p>But this time, something is different.</p>
<p>There is no hatred in its eyes anymore.</p>
<p>Instead, it gives Matthew a gentle, healing smile.</p>
<p>For the first time, it speaks.</p>
<p class="ghost-text">Remember to be kinder to yourself.</p>
<p>Matthew feels something loosen inside his chest.</p>
<p>Then, the world in front of him suddenly begins to spin.</p>
<<link "Continue">>
<<goto "True Ending Wake">>
<</link>><img class="game-image" src="image/wake.png" alt="Matthew waking up in the hospital">
<p><em>“The patient is awake.”</em></p>
<p>Noisy voices gather around him.</p>
<p>Matthew slowly opens his eyes.</p>
<p>He finds himself lying in a hospital bed.</p>
<p>On the left side of the bed, two doctors are standing beside him.</p>
<p>The doctor on the far left holds a report and looks toward Matthew.</p>
<p><em>“You were in a car accident. You were unconscious for several hours.”</em></p>
<p><em>“But everything will be okay.”</em></p>
<<link "Continue">>
<<goto "True Ending Final">>
<</link>><img class="game-image" src="image/final.png" alt="Matthew smiling in the hospital bed">
<p>Matthew smiles faintly.</p>
<p><em>“Yeah.”</em></p>
<p><em>“Everything will be okay.”</em></p>
<h3>True Escape Ending</h3>
<<link "Restart">>
<<audio "ending" fadeoverto 3 0>>
<<timed 3s>>
<<audio "ending" stop>>
<<run Engine.restart()>>
<</timed>>
<</link>>