spy mechanics WIP
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cilypnjsrn5x2"
|
||||||
|
path="res://.godot/imported/patient_spy_angry.png-ae926a54f80b5a504b8c6e6cd93b1639.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Art/Subjects/Patients/patient_spy/patient_spy_angry.png"
|
||||||
|
dest_files=["res://.godot/imported/patient_spy_angry.png-ae926a54f80b5a504b8c6e6cd93b1639.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
After Width: | Height: | Size: 11 KiB |
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://xc1g25ra3tn4"
|
||||||
|
path="res://.godot/imported/patient_spy_furious.png-6924d44d515eb86f593aa632d7b4b7a3.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Art/Subjects/Patients/patient_spy/patient_spy_furious.png"
|
||||||
|
dest_files=["res://.godot/imported/patient_spy_furious.png-6924d44d515eb86f593aa632d7b4b7a3.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
After Width: | Height: | Size: 11 KiB |
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cpj0njs0y43se"
|
||||||
|
path="res://.godot/imported/patient_spy_happy.png-c6e7570c5a09831627fbc7a3b92f7037.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Art/Subjects/Patients/patient_spy/patient_spy_happy.png"
|
||||||
|
dest_files=["res://.godot/imported/patient_spy_happy.png-c6e7570c5a09831627fbc7a3b92f7037.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
After Width: | Height: | Size: 11 KiB |
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bgvfe2hqexkud"
|
||||||
|
path="res://.godot/imported/patient_spy_irritated.png-f81f83c5adb1df5537f8c08e475f3484.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Art/Subjects/Patients/patient_spy/patient_spy_irritated.png"
|
||||||
|
dest_files=["res://.godot/imported/patient_spy_irritated.png-f81f83c5adb1df5537f8c08e475f3484.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
After Width: | Height: | Size: 11 KiB |
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://4ghimti3mdrs"
|
||||||
|
path="res://.godot/imported/patient_spy_neutral.png-95770d52e0622078eaa91bb7222ab646.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Art/Subjects/Patients/patient_spy/patient_spy_neutral.png"
|
||||||
|
dest_files=["res://.godot/imported/patient_spy_neutral.png-95770d52e0622078eaa91bb7222ab646.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
After Width: | Height: | Size: 11 KiB |
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://c7lh5pi8y6vel"
|
||||||
|
path="res://.godot/imported/patient_spy_puzzled.png-330414ab336021fbeb8c355c92ea1b18.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Art/Subjects/Patients/patient_spy/patient_spy_puzzled.png"
|
||||||
|
dest_files=["res://.godot/imported/patient_spy_puzzled.png-330414ab336021fbeb8c355c92ea1b18.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
After Width: | Height: | Size: 11 KiB |
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://biqrmpvaxi5uj"
|
||||||
|
path="res://.godot/imported/patient_spy_smiling.png-e66a16ac91988f8a7926c311127c9822.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Art/Subjects/Patients/patient_spy/patient_spy_smiling.png"
|
||||||
|
dest_files=["res://.godot/imported/patient_spy_smiling.png-e66a16ac91988f8a7926c311127c9822.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
@@ -1,127 +1,99 @@
|
|||||||
~ start
|
~ start
|
||||||
|
|
||||||
do Patient.marker.fill(0)
|
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.
|
Hulda Farbror: [#worried] W-who are you ? Can you help me ?
|
||||||
|
|
||||||
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 !
|
|
||||||
|
|
||||||
~ part_1
|
~ part_1
|
||||||
- I am here to evaluate you, sir. Please focus on answering my questions, or I won't be able to help you.
|
- Hi, I am indeed here to help. You only need to answer a few questions.
|
||||||
Ndiaye Demba: [#smiling] Fiiine. Let's start then, I can't wait !
|
Hulda Farbror: [#worried] O-ok, I am ready.
|
||||||
=> part_2
|
=> part_2
|
||||||
- We don't have time for chitchat. I ask the questions, you answer.
|
- That's the last question you're asking, lady. From now on, I ask, you answer. Got it ?
|
||||||
Ndiaye Demba: [#smiling] Alright, alright, sorry sorry. Tell me what you wanna know.
|
Hulda Farbror: [#scared] S-sorry, I didn't mean to offend you, I'll cooperate !
|
||||||
=> part_2
|
=> part_2
|
||||||
- Keep on blabbering and see what happens.
|
- I am here to evaluate your... condition. Cooperate and everything will go smoothly.
|
||||||
Ndiaye Demba: [#puzzled] Not the fun type, are you ? Fine, you ruined my mood anyways.
|
Hulda Farbror: [#worried] U-understood. I am ready.
|
||||||
=> part_2
|
=> part_2
|
||||||
|
|
||||||
~ 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
|
=> part_end
|
||||||
|
|
||||||
- I need to know your story. What happened ? [if Patient.dialog_tree[11] == "not_asked"]
|
- I am sorry for what happened to you. How are you faring ? [if Patient.dialog_tree[31] == "not_asked"]
|
||||||
set Patient.dialog_tree[11] = "asked"
|
set Patient.dialog_tree[31] = "asked"
|
||||||
do Patient.marker[1] += 1
|
do Patient.marker[3] += 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 !
|
Hulda Farbror: [#scared] Not good. I just wish I could stop feeling his presence.
|
||||||
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
|
|
||||||
if Patient.abnormal == true
|
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
|
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 !!
|
Hulda Farbror: [#depressed] Why did he do that to me ? What did I do to deserve that ?
|
||||||
=> part_2
|
=> part_3
|
||||||
|
|
||||||
- Who's Anansi ? [if Patient.dialog_tree[13] == "asked" and Patient.dialog_tree[14] == "not_asked" and Patient.abnormal == true]
|
- Can you hear your uncle talking to you right now ? [if Patient.dialog_tree[32] == "not_asked"]
|
||||||
set Patient.dialog_tree[14] = "asked"
|
set Patient.dialog_tree[32] = "asked"
|
||||||
do Patient.marker[1] += 1
|
do Patient.marker[3] += 1
|
||||||
Ndiaye Demba: [#suspicious] You don't know about Anansi ?! Are you stupid ?
|
Hulda Farbror: [#scared] No, I don't. Thank god I don't !
|
||||||
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.
|
Hulda Farbror: [#panicked] I remember the grunts he'd make. His heavy breathing while he'd wipe his stains on the bed.
|
||||||
=> part_2
|
=> 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]
|
- How's your sleep ? Do you wake up at night ? [if Patient.dialog_tree[33] == "not_asked"]
|
||||||
set Patient.dialog_tree[14] = "asked"
|
set Patient.dialog_tree[33] = "asked"
|
||||||
do Patient.marker[1] += 1
|
do Patient.marker[3] += 1
|
||||||
Ndiaye Demba: [#suspicious] Why would you care about a spider's name ? Are you stupid ?
|
Hulda Farbror: [#worried] I may have trouble falling asleep sometimes, but my sleep is mostly fine.
|
||||||
Ndiaye Demba: [#happy] Anyways, I named it Spidey.
|
=> part_3
|
||||||
=> 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
|
|
||||||
|
|
||||||
|
|
||||||
~ part_end
|
~ part_end
|
||||||
if Patient.abnormal == true
|
Hulda Farbror: [#panicked] I can feel uncle gripping my arms, it hurts ! God, it hurts so much !!
|
||||||
Ndiaye Demba: [#elated] Aaaah Anansi's moving in my head ! Spider, Creator, Trickster ! Kwaku Ananse, Ba Anansi, Aunt Nancy, Kompa Nanzi !!
|
Hulda Farbror: [#terrified] Please HELP ME !!!
|
||||||
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.
|
|
||||||
do Globals.console_message.emit("[color=dark_orange]ALLOTED ASSESSMENT TIME ELAPSED[/color]\n\n[color=orange_red]PLEASE MAKE A DECISION[/color]")
|
do Globals.console_message.emit("[color=dark_orange]ALLOTED ASSESSMENT TIME ELAPSED[/color]\n\n[color=orange_red]PLEASE MAKE A DECISION[/color]")
|
||||||
=> END
|
=> END
|
||||||
|
|
||||||
|
|
||||||
~ terminate
|
~ terminate
|
||||||
if Patient.abnormal == true
|
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")
|
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
|
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")
|
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")
|
do Globals.clear_patient.emit("terminate")
|
||||||
=> END
|
=> END
|
||||||
|
|
||||||
|
|
||||||
~ release
|
~ release
|
||||||
if Patient.abnormal == true
|
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")
|
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
|
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")
|
do Globals.color_change.emit("green")
|
||||||
Ndiaye Demba: [#elated] Ahahahahahahhahaaa !!!
|
Hulda Farbror: [#sadsmiling] Thank you. For believing me.
|
||||||
|
|
||||||
do Globals.clear_patient.emit("release")
|
do Globals.clear_patient.emit("release")
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
initial_emotion="smiling"
|
initial_emotion="worried"
|
||||||
name="Hulda Farbror"
|
name="Hulda Farbror"
|
||||||
name_meaning = "Hiding Uncle"
|
name_meaning = "Hiding Uncle"
|
||||||
age="25"
|
age="25"
|
||||||
profession="Hotel Receptionist"
|
profession="Hotel Receptionist"
|
||||||
psychiatric_assessment="SOMATIC HALLUCINATIONS\n\nINSOMNIA"
|
psychiatric_assessment="SOMATIC HALLUCINATIONS\n\nSUICIDAL IDEATIONS"
|
||||||
abnormal_symptoms="SUICIDAL IDEATIONS"
|
abnormal_symptoms="PERSECUTORY DELUSIONS"
|
||||||
status="random"
|
status="random"
|
||||||
type="patient"
|
type="patient"
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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"
|
||||||
@@ -1 +1 @@
|
|||||||
{"accurate_diagnoses":0,"daily_patient_limit":6,"day_count":1,"diagnoses_quota":2,"event_index":"interfloor","floor_count":-2,"ite_list":["ite_01","ite_02","ite_03","ite_04"],"ite_seen":[],"its_list":["its_01","its_02","its_03","its_04"],"its_seen":[],"journal_entities":"","patient_count":0,"patient_list":[{"patient_43":1},{"patient_42":2,"patient_43":1,"patient_44":2,"patient_45":2,"patient_48":2,"patient_50":2,"patient_51":2},{"patient_42":2,"patient_43":1,"patient_44":2,"patient_45":2,"patient_47":3,"patient_48":2,"patient_50":2,"patient_51":2},{"patient_42":2,"patient_43":1,"patient_44":2,"patient_45":2,"patient_47":3,"patient_48":2,"patient_49":4,"patient_50":2,"patient_51":2},{"patient_42":2,"patient_43":1,"patient_44":2,"patient_45":2,"patient_47":3,"patient_48":2,"patient_49":4,"patient_50":2,"patient_51":2}],"patients_seen":["patient_46"],"save_date":"06/10/2026, 18:07","supervisor_index":1}
|
{"accurate_diagnoses":1,"daily_patient_limit":6,"diagnoses_quota":2,"event_index":"next_patient","floor_count":-5,"ite_list":["ite_01","ite_02","ite_03","ite_04"],"ite_seen":[],"its_list":["its_01","its_02","its_03","its_04"],"its_seen":[],"journal_entities":"","misdiagnoses_allowed":2,"patient_count":1,"patient_list":[{"patient_51":1},{"patient_43":2,"patient_46":2,"patient_51":1},{"patient_42":3,"patient_43":2,"patient_46":2,"patient_50":3,"patient_51":1},{"patient_42":3,"patient_43":2,"patient_46":2,"patient_50":3,"patient_51":1},{"patient_42":3,"patient_43":2,"patient_44":5,"patient_46":2,"patient_47":5,"patient_48":5,"patient_49":5,"patient_50":3,"patient_51":1},{"patient_42":3,"patient_43":2,"patient_44":5,"patient_46":2,"patient_47":5,"patient_48":5,"patient_49":5,"patient_50":3,"patient_51":1},{"patient_42":3,"patient_43":2,"patient_44":5,"patient_46":2,"patient_47":5,"patient_48":5,"patient_49":5,"patient_50":3,"patient_51":1},{"patient_42":3,"patient_43":2,"patient_44":5,"patient_45":8,"patient_46":2,"patient_47":5,"patient_48":5,"patient_49":5,"patient_50":3,"patient_51":1},{"patient_42":3,"patient_43":2,"patient_44":5,"patient_45":8,"patient_46":2,"patient_47":5,"patient_48":5,"patient_49":5,"patient_50":3,"patient_51":1}],"patients_seen":["patient_spy"],"save_date":"06/19/2026, 16:35","spy_count":0,"spy_order":true,"supervisor_index":1}
|
||||||
@@ -65,6 +65,8 @@ func _on_new_game_pressed():
|
|||||||
Patient.its_list = Patient.og_its_list
|
Patient.its_list = Patient.og_its_list
|
||||||
Patient.patients_seen.clear()
|
Patient.patients_seen.clear()
|
||||||
Patient.its_seen.clear()
|
Patient.its_seen.clear()
|
||||||
|
Patient.spy.order = false
|
||||||
|
Patient.spy.count = 0
|
||||||
# DISABLED FOR NOW SINCE THERE'S NO INTRO ANYMORE
|
# DISABLED FOR NOW SINCE THERE'S NO INTRO ANYMORE
|
||||||
#Offering to skip the introduction
|
#Offering to skip the introduction
|
||||||
#var choice_text = "Do you wish to skip the introduction ?"
|
#var choice_text = "Do you wish to skip the introduction ?"
|
||||||
@@ -126,6 +128,8 @@ func save_game(save_slot_number:int):
|
|||||||
"patients_seen": Patient.patients_seen,
|
"patients_seen": Patient.patients_seen,
|
||||||
"its_seen": Patient.its_seen,
|
"its_seen": Patient.its_seen,
|
||||||
"ite_seen": Patient.ite_seen,
|
"ite_seen": Patient.ite_seen,
|
||||||
|
"spy_order": Patient.spy.order,
|
||||||
|
"spy_count": Patient.spy.count,
|
||||||
"journal_entities": $ScreeningDesk.journal_layer.journal.entities_page.text,
|
"journal_entities": $ScreeningDesk.journal_layer.journal.entities_page.text,
|
||||||
"save_date": Globals.get_save_date()
|
"save_date": Globals.get_save_date()
|
||||||
}
|
}
|
||||||
@@ -184,6 +188,8 @@ func load_game(load_slot_number:int):
|
|||||||
Patient.patients_seen = load_data["patients_seen"]
|
Patient.patients_seen = load_data["patients_seen"]
|
||||||
Patient.its_seen = load_data["its_seen"]
|
Patient.its_seen = load_data["its_seen"]
|
||||||
Patient.ite_seen = load_data["ite_seen"]
|
Patient.ite_seen = load_data["ite_seen"]
|
||||||
|
Patient.spy.order = load_data["spy_order"]
|
||||||
|
Patient.spy.count = load_data["spy_count"]
|
||||||
$ScreeningDesk.journal_layer.journal.entities_page.text = load_data["journal_entities"]
|
$ScreeningDesk.journal_layer.journal.entities_page.text = load_data["journal_entities"]
|
||||||
else:
|
else:
|
||||||
print("Failed to parse Loading Data.")
|
print("Failed to parse Loading Data.")
|
||||||
|
|||||||
@@ -9,19 +9,23 @@ var symptoms_detailed: Array[Array] = [
|
|||||||
["SUICIDAL IDEATIONS\nPersistent thoughts about ending one's own life",
|
["SUICIDAL IDEATIONS\nPersistent thoughts about ending one's own life",
|
||||||
"PERSECUTORY DELUSIONS\nFalse conviction of being targeted or harmed",
|
"PERSECUTORY DELUSIONS\nFalse conviction of being targeted or harmed",
|
||||||
"UNNATURAL BEHAVIOUR\nSigns or marks of non-human nature",
|
"UNNATURAL BEHAVIOUR\nSigns or marks of non-human nature",
|
||||||
"AUDITORY HALLUCINATIONS\nFalse perceptions of external sound"],
|
"INSOMNIA\nUnrestorative sleep due to difficulties falling or staying asleep"],
|
||||||
|
|
||||||
["MEGALOMANIAC DELUSIONS\nFalse exaggeration of self-importance or power",
|
["AUDITORY HALLUCINATIONS\nFalse perceptions of external sound"],
|
||||||
"SOMATIC HALLUCINATIONS\nFalse sensations, from inside the body or on the skin"],
|
|
||||||
|
|
||||||
["MYSTICAL DELUSIONS\nFalse certainty of spiritual, divine connection",
|
["SOMATIC HALLUCINATIONS\nFalse sensations from inside the body or on the skin"],
|
||||||
"THOUGHT INSERTION\nFalse conviction of having alien thoughts implanted in one's brain"],
|
|
||||||
|
|
||||||
["CHEMOSENSORY HALLUCINATIONS\nFalse perceptions of smell or taste",
|
["MYSTICAL DELUSIONS\nFalse certainty of spiritual, divine connection"],
|
||||||
"DISORGANIZED SPEECH\nIncoherent sentences, words and speech"],
|
|
||||||
|
|
||||||
["HETERO-AGRESSIVE BEHAVIOUR\nExcessive hostility, verbal agression, threats",
|
["MEGALOMANIAC DELUSIONS\nFalse exaggeration of self-importance or power"],
|
||||||
"DISSOCIATIVE IDENTITY\nPresence of two or more alternate personalities"]
|
|
||||||
|
["THOUGHT INSERTION\nFalse belief of having thoughts implanted by an external source"],
|
||||||
|
|
||||||
|
["CHEMOSENSORY HALLUCINATIONS\nFalse perceptions of smell or taste"],
|
||||||
|
|
||||||
|
["SELF-MUTILATION\nDeliberate self-harming behaviour"],
|
||||||
|
|
||||||
|
["VISUAL HALLUCINATIONS\nFalse perceptions of visual stimuli"],
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ extends Node
|
|||||||
var dialog_tree: Dictionary
|
var dialog_tree: Dictionary
|
||||||
var marker: Array[int]
|
var marker: Array[int]
|
||||||
var dialogue_resource: Resource
|
var dialogue_resource: Resource
|
||||||
|
var dialogue_start: String
|
||||||
|
|
||||||
#Patient attributes
|
#Patient attributes
|
||||||
var texture := TextureRect.new()
|
var texture := TextureRect.new()
|
||||||
@@ -13,6 +14,8 @@ var emotions : Dictionary
|
|||||||
var abnormal: bool
|
var abnormal: bool
|
||||||
var id : String
|
var id : String
|
||||||
var type: String
|
var type: String
|
||||||
|
var age: String
|
||||||
|
var symptoms: Array
|
||||||
|
|
||||||
#Patient file
|
#Patient file
|
||||||
var file_text : String
|
var file_text : String
|
||||||
@@ -41,10 +44,12 @@ var patients_seen = []
|
|||||||
var its_seen = []
|
var its_seen = []
|
||||||
var ite_seen = []
|
var ite_seen = []
|
||||||
|
|
||||||
|
|
||||||
#Supervisor file path
|
#Supervisor file path
|
||||||
var supervisor_name = "siveyan"
|
var supervisor_name = "siveyan"
|
||||||
|
|
||||||
|
#Spy
|
||||||
|
var spy: Node
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
# Called when the node enters the scene tree for the first time.
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
|
|
||||||
@@ -60,6 +65,10 @@ func _ready() -> void:
|
|||||||
|
|
||||||
original_color = texture.modulate #Saving original modulation color to reset it after modification
|
original_color = texture.modulate #Saving original modulation color to reset it after modification
|
||||||
|
|
||||||
|
#Adding the spy
|
||||||
|
spy = Spy.new()
|
||||||
|
add_child(spy)
|
||||||
|
|
||||||
|
|
||||||
func build_dialog_tree(tree_model: Array[int]) -> Dictionary: #Builds the dialog tree for each dialogue
|
func build_dialog_tree(tree_model: Array[int]) -> Dictionary: #Builds the dialog tree for each dialogue
|
||||||
|
|
||||||
@@ -101,11 +110,15 @@ func load_patient(patient_info: Dictionary): #Loads new patient
|
|||||||
|
|
||||||
#Setting up Patient File
|
#Setting up Patient File
|
||||||
var patient_name = config.get_value("", "name")
|
var patient_name = config.get_value("", "name")
|
||||||
var age = config.get_value("", "age")
|
age = config.get_value("", "age")
|
||||||
var profession = config.get_value("", "profession")
|
var profession = config.get_value("", "profession")
|
||||||
var psychiatric_assessment = config.get_value("", "psychiatric_assessment")
|
var psychiatric_assessment = config.get_value("", "psychiatric_assessment")
|
||||||
file_text = "NAME: " + patient_name + "\nAGE: " + age + "\n\nPROFESSION: " + profession + "\n\nPRE-SCREENING PSYCHIATRIC ASSESSMENT:\n\n" + "[color=orange_red]" + psychiatric_assessment + "[/color]"
|
file_text = "NAME: " + patient_name + "\nAGE: " + age + "\n\nPROFESSION: " + profession + "\n\nPRE-SCREENING PSYCHIATRIC ASSESSMENT:\n\n" + "[color=orange_red]" + psychiatric_assessment + "[/color]"
|
||||||
|
|
||||||
|
var symptom_list = config.get_value("", "psychiatric_assessment").split("\n", false)
|
||||||
|
symptoms = symptom_list
|
||||||
|
symptom_list = config.get_value("", "abnormal_symptoms").split("\n", false)
|
||||||
|
symptoms.append_array(symptom_list)
|
||||||
#Randomizing abnormal status if required
|
#Randomizing abnormal status if required
|
||||||
var status = config.get_value("", "status")
|
var status = config.get_value("", "status")
|
||||||
match status:
|
match status:
|
||||||
@@ -234,6 +247,7 @@ func next_patient() -> Dictionary: #Decides next patient ID
|
|||||||
var next_id: String
|
var next_id: String
|
||||||
var next_type: String
|
var next_type: String
|
||||||
|
|
||||||
|
dialogue_start = "start"
|
||||||
match Globals.floor_count:
|
match Globals.floor_count:
|
||||||
-2:
|
-2:
|
||||||
if Globals.patient_count == 0:
|
if Globals.patient_count == 0:
|
||||||
@@ -254,8 +268,9 @@ func next_patient() -> Dictionary: #Decides next patient ID
|
|||||||
next_id = generate_next_id(next_type)
|
next_id = generate_next_id(next_type)
|
||||||
-5:
|
-5:
|
||||||
if Globals.patient_count == 0:
|
if Globals.patient_count == 0:
|
||||||
next_id = "patient_51"
|
next_id = "patient_spy"
|
||||||
next_type = "patient"
|
next_type = "patient"
|
||||||
|
dialogue_start = "encounter_1"
|
||||||
else:
|
else:
|
||||||
next_type = next_patient_type()
|
next_type = next_patient_type()
|
||||||
next_id = generate_next_id(next_type)
|
next_id = generate_next_id(next_type)
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ extends Control
|
|||||||
|
|
||||||
var main: Node
|
var main: Node
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
|
|
||||||
#Referencing main node
|
#Referencing main node
|
||||||
@@ -110,7 +109,7 @@ func _on_call_next_patient_pressed(): #Brings in next patient and sets up the de
|
|||||||
#Starting Dialogue and hiding console screen
|
#Starting Dialogue and hiding console screen
|
||||||
computer.screen.hide()
|
computer.screen.hide()
|
||||||
console_screen.hide()
|
console_screen.hide()
|
||||||
main.start_balloon("screening", "patient", Patient.dialogue_resource, "start")
|
main.start_balloon("screening", "patient", Patient.dialogue_resource, Patient.dialogue_start)
|
||||||
|
|
||||||
#Showing Computer Tabs and showing Patient File Screen by default
|
#Showing Computer Tabs and showing Patient File Screen by default
|
||||||
for tab in computer.tab_list:
|
for tab in computer.tab_list:
|
||||||
@@ -148,7 +147,10 @@ func _on_decision_made(choice: String):
|
|||||||
func _on_clear_patient(choice:String):
|
func _on_clear_patient(choice:String):
|
||||||
|
|
||||||
# Updating middle screen info and accurate_diagnoses value
|
# Updating middle screen info and accurate_diagnoses value
|
||||||
if (Patient.abnormal == true and choice == "terminate") or (Patient.abnormal == false and choice == "release"):
|
if Patient.spy.order and Patient.spy.spy_check():
|
||||||
|
Globals.accurate_diagnoses += 1
|
||||||
|
Patient.spy.count += 1
|
||||||
|
elif (Patient.abnormal == true and choice == "terminate") or (Patient.abnormal == false and choice == "release"):
|
||||||
Globals.accurate_diagnoses += 1
|
Globals.accurate_diagnoses += 1
|
||||||
else:
|
else:
|
||||||
Globals.accurate_diagnoses = 0 # Resetting to 0 if the player makes a wrong diagnosis
|
Globals.accurate_diagnoses = 0 # Resetting to 0 if the player makes a wrong diagnosis
|
||||||
@@ -227,17 +229,12 @@ func descend_floor(): #Descends to next floor
|
|||||||
|
|
||||||
for node in [middle_screen, computer, console_screen, journal_layer]:
|
for node in [middle_screen, computer, console_screen, journal_layer]:
|
||||||
node.reset() #Resetting the scene
|
node.reset() #Resetting the scene
|
||||||
|
main.save_game(0) #Autosaving
|
||||||
|
event_manager() #Selecting next event
|
||||||
#Autosaving
|
|
||||||
main.save_game(0)
|
|
||||||
|
|
||||||
#Selecting next event
|
|
||||||
event_manager()
|
|
||||||
|
|
||||||
|
|
||||||
#Resets to initial state
|
#Resets to initial state
|
||||||
func reset():
|
func reset():
|
||||||
for node in [patient, supervisor, journal_layer, computer, console_screen, middle_screen, release, terminate,
|
for node in [patient, supervisor, Patient.spy, journal_layer, computer, console_screen, middle_screen, release, terminate,
|
||||||
green_button, red_button, room_assets]:
|
green_button, red_button, room_assets]:
|
||||||
node.reset()
|
node.reset()
|
||||||
|
|||||||
@@ -0,0 +1,61 @@
|
|||||||
|
extends Node
|
||||||
|
|
||||||
|
class_name Spy
|
||||||
|
|
||||||
|
var threshold: String #Spy order's age threshold
|
||||||
|
var symptoms: Array #Spy order's symptoms
|
||||||
|
var order: bool #Checks if there is an ongoing spy order
|
||||||
|
var count: int #Keeps count of the spy successful orders
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready() -> void:
|
||||||
|
pass # Replace with function body.
|
||||||
|
|
||||||
|
|
||||||
|
#Randomization of the spy's directives
|
||||||
|
func spy_rand():
|
||||||
|
|
||||||
|
threshold = ["BELOW", "ABOVE"].pick_random()
|
||||||
|
|
||||||
|
var floor_index = -Globals.floor_count -1
|
||||||
|
var available_symptoms : Array
|
||||||
|
|
||||||
|
for i in range(floor_index+1): #Takes into account only the known symptoms
|
||||||
|
available_symptoms.append_array(Patient.symptoms_arrays[i])
|
||||||
|
print("SPY Symptoms list: " + str(available_symptoms))
|
||||||
|
|
||||||
|
available_symptoms.shuffle()
|
||||||
|
print("SPY Symptoms list shuffled: " + str(available_symptoms))
|
||||||
|
|
||||||
|
symptoms = available_symptoms.slice(0,2) #Returns 2 random symptoms
|
||||||
|
print("SPY Threshold selected: " + threshold)
|
||||||
|
print("SPY Symptoms selected: " + str(symptoms))
|
||||||
|
|
||||||
|
|
||||||
|
#Checks if a patient meets the spy order's requirements and returns true or false
|
||||||
|
func spy_check():
|
||||||
|
|
||||||
|
var requirements_passed = true
|
||||||
|
|
||||||
|
match threshold: #Check the age requirement
|
||||||
|
"BELOW":
|
||||||
|
if int(Patient.age) > 40:
|
||||||
|
requirements_passed = false
|
||||||
|
"ABOVE":
|
||||||
|
if int(Patient.age) < 40:
|
||||||
|
requirements_passed = false
|
||||||
|
|
||||||
|
for symptom in symptoms: #Check the symptoms requirement
|
||||||
|
if Patient.symptoms.has(symptom) == false:
|
||||||
|
requirements_passed = false
|
||||||
|
print("Symptom not present in Patient: " + str(symptom))
|
||||||
|
|
||||||
|
print("Requirements_passed: " + str(requirements_passed))
|
||||||
|
return requirements_passed
|
||||||
|
|
||||||
|
|
||||||
|
#Resets to initial state
|
||||||
|
func reset():
|
||||||
|
threshold = ""
|
||||||
|
symptoms.clear()
|
||||||
|
order = false
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://dyjxgv18p3e03
|
||||||
@@ -54,4 +54,4 @@ ui_select={
|
|||||||
|
|
||||||
[internationalization]
|
[internationalization]
|
||||||
|
|
||||||
locale/translations_pot_files=PackedStringArray("res://Dialogues/Patients/patient_50.dialogue", "res://Dialogues/Patients/patient_49.dialogue", "res://Dialogues/Patients/patient_48.dialogue", "res://Dialogues/Patients/patient_47.dialogue", "res://Dialogues/Patients/patient_46.dialogue", "res://Dialogues/Patients/patient_45.dialogue", "res://Dialogues/Patients/patient_51.dialogue", "res://Dialogues/Patients/patient_44.dialogue", "res://Dialogues/Patients/patient_43.dialogue", "res://Dialogues/Patients/patient_42.dialogue", "res://Dialogues/OG Patients/patient_49.dialogue", "res://Dialogues/OG Patients/patient_50.dialogue", "res://Dialogues/ITS/its_00.dialogue", "res://Dialogues/ITS/its_01.dialogue", "res://Dialogues/Supervisors/supervisor_dredar.dialogue", "res://Dialogues/Entities/entity_01.dialogue", "res://Dialogues/Entities/it_that_feels_01.dialogue", "res://Dialogues/ITS/its_02.dialogue", "res://Dialogues/ITS/its_03.dialogue", "res://Dialogues/ITS/its_04.dialogue", "res://Dialogues/ITE/ite_00.dialogue", "res://Dialogues/ITE/ite_01.dialogue", "res://Dialogues/ITE/ite_02.dialogue", "res://Dialogues/ITE/ite_03.dialogue", "res://Dialogues/ITE/ite_04.dialogue", "res://Dialogues/Patients/patient_41.dialogue", "res://Dialogues/Supervisors/supervisor_siveyan.dialogue", "res://Dialogues/Patients/patient_40.dialogue")
|
locale/translations_pot_files=PackedStringArray("res://Dialogues/Patients/patient_50.dialogue", "res://Dialogues/Patients/patient_49.dialogue", "res://Dialogues/Patients/patient_48.dialogue", "res://Dialogues/Patients/patient_47.dialogue", "res://Dialogues/Patients/patient_46.dialogue", "res://Dialogues/Patients/patient_45.dialogue", "res://Dialogues/Patients/patient_51.dialogue", "res://Dialogues/Patients/patient_44.dialogue", "res://Dialogues/Patients/patient_43.dialogue", "res://Dialogues/Patients/patient_42.dialogue", "res://Dialogues/OG Patients/patient_49.dialogue", "res://Dialogues/OG Patients/patient_50.dialogue", "res://Dialogues/ITS/its_00.dialogue", "res://Dialogues/ITS/its_01.dialogue", "res://Dialogues/Supervisors/supervisor_dredar.dialogue", "res://Dialogues/Entities/entity_01.dialogue", "res://Dialogues/Entities/it_that_feels_01.dialogue", "res://Dialogues/ITS/its_02.dialogue", "res://Dialogues/ITS/its_03.dialogue", "res://Dialogues/ITS/its_04.dialogue", "res://Dialogues/ITE/ite_00.dialogue", "res://Dialogues/ITE/ite_01.dialogue", "res://Dialogues/ITE/ite_02.dialogue", "res://Dialogues/ITE/ite_03.dialogue", "res://Dialogues/ITE/ite_04.dialogue", "res://Dialogues/Patients/patient_41.dialogue", "res://Dialogues/Supervisors/supervisor_siveyan.dialogue", "res://Dialogues/Patients/patient_40.dialogue", "res://Dialogues/Patients/patient_spy.dialogue")
|
||||||
|
|||||||