spy mechanics WIP

This commit is contained in:
Maurane
2026-06-19 16:35:48 +02:00
parent 7565327b4e
commit 446b0fe28d
30 changed files with 518 additions and 116 deletions
+58 -86
View File
@@ -1,127 +1,99 @@
~ start
do Patient.marker.fill(0)
set Patient.dialog_tree = Patient.build_dialog_tree([11,12,13,14,15,16,17])
set Patient.dialog_tree = Patient.build_dialog_tree([31,32,33])
The patient looks at you with visible glee.
Ndiaye Demba: [#happy] Aaah, at last a friendly face in this weird place !
Ndiaye Demba: [#happy] So, how is it outside ? What's your job ? Who's your favourite actor ? Tell me everything !
Hulda Farbror: [#worried] W-who are you ? Can you help me ?
~ part_1
- I am here to evaluate you, sir. Please focus on answering my questions, or I won't be able to help you.
Ndiaye Demba: [#smiling] Fiiine. Let's start then, I can't wait !
- Hi, I am indeed here to help. You only need to answer a few questions.
Hulda Farbror: [#worried] O-ok, I am ready.
=> part_2
- We don't have time for chitchat. I ask the questions, you answer.
Ndiaye Demba: [#smiling] Alright, alright, sorry sorry. Tell me what you wanna know.
- That's the last question you're asking, lady. From now on, I ask, you answer. Got it ?
Hulda Farbror: [#scared] S-sorry, I didn't mean to offend you, I'll cooperate !
=> part_2
- Keep on blabbering and see what happens.
Ndiaye Demba: [#puzzled] Not the fun type, are you ? Fine, you ruined my mood anyways.
- I am here to evaluate your... condition. Cooperate and everything will go smoothly.
Hulda Farbror: [#worried] U-understood. I am ready.
=> part_2
~ part_2
if Patient.marker[1] >= 7
- Tell me what happened. Why are you here ?
Hulda Farbror: [#sad] I... was not feeling good at all. I was thinking about ending it all, about jumping through the window.
Hulda Farbror: [#worried] I went to the emergency unit to ask for help. Once the doctors had seen me though, they made the decision to transfer me here, without explaining why.
- Why were you feeling so bad ? Did something happen ?
Hulda Farbror: [#scared] ... I don't know how to say it. My uncle died a few years ago. Since then, he's always been right next to me.
Hulda Farbror: [#panicked] I can feel him putting his hands on me, squeezing on my arms. I know it's not real, but I can still feel it ! I'm not crazy, I swear !
- Why your uncle ? What happened with him ?
Hulda Farbror: [#sad] ... It actually started a long, long time ago. I was a child.
Hulda Farbror: [#scared] My uncle would come at night in my room. He liked to stand at the foot of my bed, naked.
Hulda Farbror: [#shocked] I would hide under the sheets, but I could hear him, touching himself. Moaning.
Hulda Farbror: [#sad] My mom never believed me. She said I was imagining things. That I was trying to smear her brother's reputation.
Hulda Farbror: [#depressed] Uncle kept coming to my room every other night to touch himself. It went on for a couple of years, until he eventually stopped.
Hulda Farbror: [#shocked] Maybe I had grown too old for him.
=> part_3
~ part_3
if Patient.marker[3] >= 3
=> part_end
- I need to know your story. What happened ? [if Patient.dialog_tree[11] == "not_asked"]
set Patient.dialog_tree[11] = "asked"
do Patient.marker[1] += 1
Ndiaye Demba: [#happy] Of course, of course ! I was at my university, attending lectures and all that, y'know ? Engineering can be a doozy sometimes, but it's worth persevering through !
Ndiaye Demba: [#puzzled] And then, I started helping the professor explain things. After all, who wouldn't want a little help ? But the professor didn't like that, for some reason.
Ndiaye Demba: [#irritated] He wanted me to "sit down and listen quietly". Ungrateful prick. I didn't oblige of course, I'm not a loser.
Ndiaye Demba: [#angry] So he called security. I was taken at the town of I-don't-know-where, and somehow ended up here. What a joke.
Ndiaye Demba: [#happy] Weird story, right ? That's life for ya. Sometimes strange things happen, even to the best of us.
=> part_2
- Do you feel safe here ? Is there anyone threatening you ? [if Patient.dialog_tree[12] == "not_asked"]
set Patient.dialog_tree[12] = "asked"
do Patient.marker[1] += 1
Ndiaye Demba: [#laughing] Me ?? Hahahahaa, good joke, friend ! No one would dare threaten the spider !
=> part_2
- What spider are you talking about ? [if Patient.dialog_tree[12] == "asked" and Patient.dialog_tree[13] == "not_asked"]
set Patient.dialog_tree[13] = "asked"
do Patient.marker[1] += 1
- I am sorry for what happened to you. How are you faring ? [if Patient.dialog_tree[31] == "not_asked"]
set Patient.dialog_tree[31] = "asked"
do Patient.marker[3] += 1
Hulda Farbror: [#scared] Not good. I just wish I could stop feeling his presence.
if Patient.abnormal == true
Ndiaye Demba: [#happy] I'm talking about Anansi, of course ! He's been in my head for as long as I can remembe. At this point, I should make him pay rent, hahaha !!
Hulda Farbror: [#panicked] He never touched me when I was a kid, and yet he hurt me so much !
Hulda Farbror: [#shocked] Now he's touching my arms. That means he's going to hurt me for real. He's going to kill me.
else
Ndiaye Demba: [#happy] The spider in my head, of course ! It's been here for as long as I can remember. At this point I should make it pay rent, hahaha !!
=> part_2
Hulda Farbror: [#depressed] Why did he do that to me ? What did I do to deserve that ?
=> part_3
- Who's Anansi ? [if Patient.dialog_tree[13] == "asked" and Patient.dialog_tree[14] == "not_asked" and Patient.abnormal == true]
set Patient.dialog_tree[14] = "asked"
do Patient.marker[1] += 1
Ndiaye Demba: [#suspicious] You don't know about Anansi ?! Are you stupid ?
Ndiaye Demba: [#happy] He is Kwaku Ananse, the great Spider. The rain maker. The trickster god of cunning and wit. No one can outsmart him. No one can outsmart ME.
=> part_2
- Can you hear your uncle talking to you right now ? [if Patient.dialog_tree[32] == "not_asked"]
set Patient.dialog_tree[32] = "asked"
do Patient.marker[3] += 1
Hulda Farbror: [#scared] No, I don't. Thank god I don't !
Hulda Farbror: [#panicked] I remember the grunts he'd make. His heavy breathing while he'd wipe his stains on the bed.
=> part_3
- Does the spider have a name ? [if Patient.dialog_tree[13] == "asked" and Patient.dialog_tree[14] == "not_asked" and Patient.abnormal == false]
set Patient.dialog_tree[14] = "asked"
do Patient.marker[1] += 1
Ndiaye Demba: [#suspicious] Why would you care about a spider's name ? Are you stupid ?
Ndiaye Demba: [#happy] Anyways, I named it Spidey.
=> part_2
- How do you know Anansi is in your head ? [if Patient.dialog_tree[13] == "asked" and Patient.dialog_tree[15] == "not_asked" and Patient.abnormal == true]
set Patient.dialog_tree[15] = "asked"
do Patient.marker[1] += 1
Ndiaye Demba: [#happy] Because it's obvious, friend. I can feel him right there, in my head.
Ndiaye Demba: [#elated] He's scratching my brain, tickling my insides. He wakes me up all night. Hahahaahaa it tickles !! Stop that, Anansi !
=> part_2
- How do you know there is a spider in your head ? [if Patient.dialog_tree[13] == "asked" and Patient.dialog_tree[15] == "not_asked" and Patient.abnormal == false]
set Patient.dialog_tree[15] = "asked"
do Patient.marker[1] += 1
Ndiaye Demba: [#happy] Because it's obvious, friend. I can feel it right there, in my head.
Ndiaye Demba: [#elated] It's scratching my brain, tickling my insides. It wakes me up all night. Hahahaahaa it tickles !! Stop that, spider !
=> part_2
- Do you have any suicidal ideas ? [if Patient.dialog_tree[16] == "not_asked"]
set Patient.dialog_tree[16] = "asked"
do Patient.marker[1] += 1
Ndiaye Demba: [#laughing] Hahahaaa, of course not ! Don't worry, friend. I looove living !
=> part_2
- Do you hear any voices ? Any sounds out of the ordinary ? [if Patient.dialog_tree[17] == "not_asked"]
set Patient.dialog_tree[17] = "asked"
do Patient.marker[1] += 1
Ndiaye Demba: [#happy] Me ? Naaaah.
=> part_2
- How's your sleep ? Do you wake up at night ? [if Patient.dialog_tree[33] == "not_asked"]
set Patient.dialog_tree[33] = "asked"
do Patient.marker[3] += 1
Hulda Farbror: [#worried] I may have trouble falling asleep sometimes, but my sleep is mostly fine.
=> part_3
~ part_end
if Patient.abnormal == true
Ndiaye Demba: [#elated] Aaaah Anansi's moving in my head ! Spider, Creator, Trickster ! Kwaku Ananse, Ba Anansi, Aunt Nancy, Kompa Nanzi !!
else
Ndiaye Demba: [#elated] Aaaah it's moving in my head !
Ndiaye Demba: [#maniac] My sane friend, in my brain again ! Scratching, foraging, tickling, rummaging, rampaging !
[#laughing] The patient keeps blabbering incoherently, and doesn't seem to be aware of your presence anymore.
Hulda Farbror: [#panicked] I can feel uncle gripping my arms, it hurts ! God, it hurts so much !!
Hulda Farbror: [#terrified] Please HELP ME !!!
do Globals.console_message.emit("[color=dark_orange]ALLOTED ASSESSMENT TIME ELAPSED[/color]\n\n[color=orange_red]PLEASE MAKE A DECISION[/color]")
=> END
~ terminate
if Patient.abnormal == true
Ndiaye Demba: [#abnormal1] Oooooh he's getting out !! Anansi wants to breathe, Anansi wants to live !
Hulda Farbror: [#abnormal1] ... He's right here behind me, isn't he ? Please don't leave me alone with him ! Don't leave me !!
do Globals.color_change.emit("red")
Ndiaye Demba: [#abnormal2] I AM THE [color=orange]SPIDER GOD[/color], WHO HOLDS ALL THE STORIES OF THE WORLD. MY [color=red]WISDOM[/color] OUTWEIGHS ALL OF CREATION.
Hulda Farbror: [#abnormal2] I'm a [color=orange]BAD GIRL[/color] and it's all my [color=orange]FAULT[/color]. I'm a [color=orange_red]BAD GIRL[/color] and I [color=orange_red]DESERVE IT[/color]. I'm a [color=red]BAD GIRL[/color] and I should [color=red]DIE[/color]. I should [color=red]DIE DIE DIE DIEDIEDIED-[/color]
else
Ndiaye Demba: [#elated] Aaaah it's tickling so much it feels sooooo good !!
Hulda Farbror: [#panicked] Please, I'm not sick ! Please believe me !
do Globals.color_change.emit("red")
Ndiaye Demba: [#elated] Ahahahahahahhahaaa !!!
Hulda Farbror: [#terrified] Oh Gods I don't want to die !! Please no !!!
do Globals.clear_patient.emit("terminate")
=> END
~ release
if Patient.abnormal == true
Ndiaye Demba: [#abnormal1] Oooooh he's getting out !! Anansi wants to breathe, Anansi wants to live !
Hulda Farbror: [#abnormal1] ... He's right here behind me, isn't he ? Please don't leave me alone with him ! Don't leave me !!
do Globals.color_change.emit("green")
Ndiaye Demba: [#abnormal2] I AM THE [color=orange]SPIDER GOD[/color], WHO HOLDS ALL THE STORIES OF THE WORLD. MY [color=red]WISDOM[/color] OUTWEIGHS ALL OF CREATION.
Hulda Farbror: [#abnormal2] I'm a [color=orange]BAD GIRL[/color] and it's all my [color=orange]FAULT[/color]. I'm a [color=orange_red]BAD GIRL[/color] and I [color=orange_red]DESERVE IT[/color]. I'm a [color=red]BAD GIRL[/color] and I should [color=red]DIE[/color]. I should [color=red]DIE DIE DIE DIEDIEDIED-[/color]
else
Ndiaye Demba: [#elated] Aaaah it's tickling so much it feels sooooo good !!
Hulda Farbror: [#surprised] Are you... releasing me ??
do Globals.color_change.emit("green")
Ndiaye Demba: [#elated] Ahahahahahahhahaaa !!!
Hulda Farbror: [#sadsmiling] Thank you. For believing me.
do Globals.clear_patient.emit("release")
+3 -3
View File
@@ -1,9 +1,9 @@
initial_emotion="smiling"
initial_emotion="worried"
name="Hulda Farbror"
name_meaning = "Hiding Uncle"
age="25"
profession="Hotel Receptionist"
psychiatric_assessment="SOMATIC HALLUCINATIONS\n\nINSOMNIA"
abnormal_symptoms="SUICIDAL IDEATIONS"
psychiatric_assessment="SOMATIC HALLUCINATIONS\n\nSUICIDAL IDEATIONS"
abnormal_symptoms="PERSECUTORY DELUSIONS"
status="random"
type="patient"
+41
View File
@@ -0,0 +1,41 @@
~ encounter_1
do Patient.marker.fill(0)
set Patient.dialog_tree = Patient.build_dialog_tree([11,12,13,14,15,21,22,23,24,31,32,33])
do Globals.character_label_color_change.emit(Color(0.329, 0.4, 0.376, 1.0))
do Globals.release_display.emit("[color=orange_red]ERROR[/color]")
do Globals.terminate_display.emit("[color=orange_red]ERROR[/color]")
set Globals.buttons_activated = false
do Patient.spy.spy_rand()
????: [#neutral] Greetings. We don't have much time, so listen carefully.
????: [#neutral] [color=green]RELEASE[/color] all patients [color=yellow]{{Patient.spy.threshold}}[/color] the age of 40, afflicted with [color=orange_red]{{Patient.spy.symptoms[0]}}[/color] and [color=orange_red]{{Patient.spy.symptoms[1]}}[/color].
=> part_end
~ part_end
set Patient.spy.order = true
do Globals.release_display.emit("[color=dark_green]RELEASE[/color]")
do Globals.terminate_display.emit("[color=dark_red]TERMINATE[/color]")
set Globals.buttons_activated = true
????: [#neutral] Now, [color=dark_red]TERMINATE[/color] me. That's an order.
do Globals.console_message.emit("[color=dark_orange]ALLOTED ASSESSMENT TIME ELAPSED[/color]\n\n[color=orange_red]PLEASE MAKE A DECISION[/color]")
=> END
~ terminate
do Globals.color_change.emit("red")
????: [#neutral] Do not fail.
do Globals.clear_patient.emit("terminate")
do UI.save_slot_pressed.emit(0)
=> END
~ release
do Globals.color_change.emit("green")
????: [#smiling] You dared disobey. Cute.
????: [#irritated] Follow your orders, and I shall disregard what just happened.
do Globals.clear_patient.emit("release")
do UI.save_slot_pressed.emit(0)
=> END
@@ -0,0 +1,16 @@
[remap]
importer="dialogue_manager"
importer_version=15
type="Resource"
uid="uid://cy2aihwjme1uo"
path="res://.godot/imported/patient_spy.dialogue-030d0855fe720168ebc090555d0bc7bd.tres"
[deps]
source_file="res://Dialogues/Patients/patient_spy.dialogue"
dest_files=["res://.godot/imported/patient_spy.dialogue-030d0855fe720168ebc090555d0bc7bd.tres"]
[params]
defaults=true
+9
View File
@@ -0,0 +1,9 @@
initial_emotion="neutral"
name="--REDACTED--"
name_meaning = "????"
age="--REDACTED--"
profession="--REDACTED--"
psychiatric_assessment="--REDACTED--"
abnormal_symptoms="UNNATURAL BEHAVIOUR"
status="patient"
type="patient"