Weighted Random Selection

This commit is contained in:
Maurane
2026-01-22 15:31:25 +01:00
parent b7c329bbde
commit e4a7d6beac
13 changed files with 365 additions and 204 deletions
+8 -2
View File
@@ -96,11 +96,14 @@ do Globals.console_message.emit("[color=dark_orange]ALLOTED ASSESSMENT TIME ELAP
~ terminate
do Globals.color_change.emit("red")
if Patient.abnormal == true
do Globals.character_label_color_change.emit(Color(1,0,0,1))
Fontelyne Dumont: [#abnormal1] I am alone. There is no one for me anymore. No one for me to [color=orange_red]LIVE[/color].
do Globals.color_change.emit("red")
Fontelyne Dumont: [#abnormal1] I feel so lonely... Helene... I am so sorry...
else
do Globals.character_label_color_change.emit(Color(0,1,0,1))
do Globals.color_change.emit("red")
Fontelyne Dumont: [#crying] I'm sorry... Helene... I am so sorry...
do Globals.clear_patient.emit("terminate")
@@ -108,11 +111,14 @@ do Globals.clear_patient.emit("terminate")
~ release
do Globals.color_change.emit("green")
if Patient.abnormal == true
do Globals.character_label_color_change.emit(Color(1,0,0,1))
Fontelyne Dumont: [#abnormal1] I am alone. There is no one for me anymore. No one for me to [color=orange_red]LIVE[/color].
do Globals.color_change.emit("green")
Fontelyne Dumont: [#abnormal1] I feel so lonely... Helene... I am so sorry...
else
do Globals.character_label_color_change.emit(Color(0,1,0,1))
do Globals.color_change.emit("green")
Fontelyne Dumont: [#sad] I don't deserve it, but I'll try to live. That's what Hélène would've wanted.
Fontelyne Dumont: [#sadsmiling] Thank you. I mean it.
+1 -1
View File
@@ -93,7 +93,7 @@ clip_contents = false
custom_minimum_size = Vector2(0, 30)
layout_mode = 2
mouse_filter = 1
theme_override_colors/default_color = Color(0.784314, 0, 0, 1)
theme_override_colors/default_color = Color(1, 0.78431374, 0.19607843, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
theme_override_constants/shadow_outline_size = 0
+53
View File
@@ -0,0 +1,53 @@
~ interfloor_1
do Patient.marker.fill(0)
set Patient.dialog_tree = Patient.build_dialog_tree([])
do Globals.character_label_color_change.emit(Color(0,0.8,1,1))
Prime Supervisor: Well done, employee. You are showing great promise.
Prime Supervisor: Keep in mind however that the first floor is the easiest one.
Prime Supervisor: As you go deeper, the patients you encounter will be harder to assess, their expressions of abnormality more... human.
Prime Supervisor: Do not get fooled by their inhuman humanity. Sort them accordingly.
Prime Supervisor: Do your Duty. For the Republic.
=> END
~ interfloor_2
do Patient.marker.fill(0)
set Patient.dialog_tree = Patient.build_dialog_tree([])
do Globals.character_label_color_change.emit(Color(0,0.8,1,1))
WORK_IN_PROGRESS
=> END
~ interfloor_3
do Patient.marker.fill(0)
set Patient.dialog_tree = Patient.build_dialog_tree([21,22,23,24,61,62,63])
do Globals.character_label_color_change.emit(Color(0,0.8,1,1))
WORK_IN_PROGRESS
=> END
~ interfloor_4
do Patient.marker.fill(0)
set Patient.dialog_tree = Patient.build_dialog_tree([21,22,23,24,61,62,63])
do Globals.character_label_color_change.emit(Color(0,0.8,1,1))
WORK_IN_PROGRESS
=> END
+16
View File
@@ -0,0 +1,16 @@
[remap]
importer="dialogue_manager"
importer_version=15
type="Resource"
uid="uid://srx3wjspnj05"
path="res://.godot/imported/interfloor.dialogue-ecc0de3057e85aa179c01b6aba3d2337.tres"
[deps]
source_file="res://Dialogues/interfloor.dialogue"
dest_files=["res://.godot/imported/interfloor.dialogue-ecc0de3057e85aa179c01b6aba3d2337.tres"]
[params]
defaults=true
+8 -4
View File
@@ -3,9 +3,13 @@
[ext_resource type="Script" uid="uid://c6kqjqj6cs4wa" path="res://main_hub.gd" id="1_rvfpd"]
[ext_resource type="PackedScene" uid="uid://cahspuhi43bx7" path="res://title_screen.tscn" id="2_3wmv1"]
[ext_resource type="PackedScene" uid="uid://chytk2cctjk3x" path="res://screening_desk.tscn" id="3_whctb"]
[ext_resource type="PackedScene" uid="uid://dcjhx2g4d056v" path="res://bedroom.tscn" id="4_4fm57"]
[ext_resource type="PackedScene" uid="uid://igkl2384rxt1" path="res://text_screens.tscn" id="5_85o5j"]
[ext_resource type="PackedScene" uid="uid://dixsxwodxuf0b" path="res://dialogue_screens.tscn" id="6_60wm2"]
[sub_resource type="Resource" id="Resource_ucuk0"]
metadata/__load_path__ = "res://bedroom.tscn"
[sub_resource type="Resource" id="Resource_h7sfr"]
metadata/__load_path__ = "res://dialogue_screens.tscn"
[node name="MainHub" type="Control"]
layout_mode = 3
@@ -17,6 +21,6 @@ grow_vertical = 2
script = ExtResource("1_rvfpd")
TitleScreen = ExtResource("2_3wmv1")
ScreeningDesk = ExtResource("3_whctb")
Bedroom = ExtResource("4_4fm57")
Bedroom = SubResource("Resource_ucuk0")
TextScreens = ExtResource("5_85o5j")
DialogueScreens = ExtResource("6_60wm2")
DialogueScreens = SubResource("Resource_h7sfr")
+3 -1
View File
@@ -8,7 +8,8 @@ var diagnoses_quota : int = 1
var daily_patient_limit : int = 3
var patient_list = ["45", "46", "47", "48", "49", "50", "51"]
var patients_seen: Array[String]
var patient_id = patient_list.pick_random()
var patient_id
var interfloor_dialogue = load("res://Dialogues/interfloor.dialogue")
var dialogue_intro = load("res://Dialogues/intro.dialogue")
var dialogue_recovery = load("res://Dialogues/recovery.dialogue")
var directives = "\n[center][font_size=22]INSTRUCTIONS[/font_size][/center]
@@ -27,6 +28,7 @@ signal console_message
signal response_chosen(DialogueResponse)
signal clear_patient
signal color_change
signal character_label_color_change
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
+19 -1
View File
@@ -41,6 +41,8 @@ func _ready() -> void:
UI.connect("text_value_changed", self._on_text_value_changed)
UI.connect("auto_value_changed", self._on_auto_value_changed)
Globals.character_label_color_change.connect(self._on_character_label_color_change)
#Updating Save/Load Slots Information based on Existing Saves
update_slots()
@@ -48,7 +50,16 @@ func _ready() -> void:
# Starts a new game
func _on_new_game_pressed():
#Setting/Resetting game parameters
Globals.day_count = 1
Globals.floor_count = -1
Globals.patient_count = 1
Globals.diagnoses_quota = 1
Globals.daily_patient_limit = 3
Globals.patient_list = ["45", "46", "47", "48", "49", "50", "51"]
Globals.patients_seen.clear()
UI.update_journal(-1)
# DISABLED FOR NOW SINCE THERE'S NO INTRO ANYMORE
#Offering to skip the introduction
#var choice_text = "Do you wish to skip the introduction ?"
@@ -197,7 +208,7 @@ func _on_main_menu_pressed():
UI.get_node("UI/UpperContainer").hide()
#Going back to main menu
var scenes_to_hide = [$ScreeningDesk, $Bedroom, $TextScreens, $TextScreens/Day, $ScreeningDesk.patient_controls, $ScreeningDesk.end_of_day_controls, $ScreeningDesk.patient_texture, $ScreeningDesk.panel_container, $ScreeningDesk.face_zoom] + $ScreeningDesk.margin_container.get_children()
var scenes_to_hide = [$ScreeningDesk, $TextScreens, $TextScreens/Day]
var scenes_to_show = [$TitleScreen]
TransitionScreen.transition("big", scenes_to_hide, scenes_to_show)
await TransitionScreen.transition_finished
@@ -284,3 +295,10 @@ func _on_auto_value_changed():
if is_instance_valid(balloon):
#balloon.dialogue_line.time = UI.auto_speed
pass
#Changes CharacterLabel color
func _on_character_label_color_change(color: Color):
var label = balloon.get_node("Balloon/Panel/Dialogue/VBoxContainer/CharacterLabel")
label.add_theme_color_override("default_color", color)
+29 -5
View File
@@ -57,7 +57,9 @@ func new_patient():
var file_path: String
#Generating patient_id
var patient_id = Globals.patient_list.pick_random()
var floor_index = -Globals.floor_count -1
print("Floor Index: " + str(floor_index))
var patient_id = weighted_random(patient_list[floor_index])
Globals.patient_id = patient_id
Globals.patient_list.erase(patient_id) #Line to be reenabled when there is more than one patient in the list
Globals.patients_seen.append(patient_id)
@@ -122,15 +124,15 @@ func sort_patients():
var symptom_matched : bool
var symptom_list: Array
for i in range(45,52):
for patient_id in Globals.patient_list:
patient_symptoms.clear()
file_path = "res://Dialogues/Patients/patient_" + str(i) + "_file.cfg"
file_path = "res://Dialogues/Patients/patient_" + patient_id + "_file.cfg"
config.load(file_path)
symptom_list = config.get_value("", "psychiatric_assessment").split("\n", false)
patient_symptoms = symptom_list
symptom_list = config.get_value("", "abnormal_symptoms").split("\n", false)
patient_symptoms.append_array(symptom_list)
print("Patient #" + str(i) + " symptom list: " + str(patient_symptoms))
print("Patient #" + patient_id + " symptom list: " + str(patient_symptoms))
#Goes through the symptoms_arrays from the last to the first,
#If a symptom matches with the patient symptoms,
#Add that patient to the floors from that floor to the last one
@@ -143,9 +145,31 @@ func sort_patients():
break
if symptom_matched:
for k in range(j, symptoms_arrays.size()):
patient_list[k].append(str(i))
patient_list[k].append({"patient_id": patient_id, "weight": j+1})
symptom_matched = false
break
for i in range(len(patient_list)):
print("Floor " + str(i) + " possible patients: " + str(patient_list[i]))
#Weighted random selection from an Array
func weighted_random(array: Array):
#Calculating total weight
var total_weight : int
for item in array:
total_weight += item.weight
print("Total weight: " + str(total_weight))
var r = randf() * total_weight
print("r :" + str(r))
var weight_sum : int
for item in array:
weight_sum += item.weight
if weight_sum >= r:
print("Patient selected: " + item.patient_id + ", Weight: " + str(item.weight))
return item.patient_id
return null
+1 -1
View File
@@ -55,4 +55,4 @@ ui_select={
[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")
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/interfloor.dialogue")
+8 -2
View File
@@ -10,7 +10,7 @@ extends Control
@onready var green_button = $LowerHalf/GreenButton
@onready var red_button = $LowerHalf/RedButton
@onready var journal = $LowerHalf/Journal/JournalButton
@onready var journal_layer = $LowerHalf/JournalLayer
@onready var journal_layer = UI.journal_layer
@onready var release = $LowerHalf/DecisionScreen/MarginContainer/HBoxContainer/Release
@onready var terminate = $LowerHalf/DecisionScreen/MarginContainer/HBoxContainer/Terminate
@onready var patient_color: Color
@@ -31,7 +31,6 @@ extends Control
#DialogueAssets
@onready var patient_dialogue_resource: Resource
@onready var end_of_day_dialogue_resource = load("res://Dialogues/end_of_day.dialogue")
@onready var balloon: Node
@onready var patient_emotions : Dictionary
@onready var message_array: Array[String]
@@ -359,9 +358,16 @@ func descend_floor(): #Descends to next floor
Globals.diagnoses_quota += 1
update_middle_screen(Globals.day_count, Globals.floor_count, accurate_diagnoses, Globals.diagnoses_quota)
#Updating journal symptoms
UI.update_journal(Globals.floor_count)
#Hiding screen messages
computer_screen.hide()
console_screen.hide()
#Interfloor dialogue
main.start_balloon("screening", Globals.interfloor_dialogue, "interfloor_" + str(-Globals.floor_count - 1))
await DialogueManager.dialogue_ended
#Setting up new patient
new_patient()
+1 -183
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=47 format=3 uid="uid://chytk2cctjk3x"]
[gd_scene load_steps=40 format=3 uid="uid://chytk2cctjk3x"]
[ext_resource type="Script" uid="uid://b3ms0imu0umn8" path="res://screening_desk.gd" id="1_1s7k3"]
[ext_resource type="Texture2D" uid="uid://b2epvjeqvmgrs" path="res://Art/Rooms/screening_room/screening_room_glass.png" id="3_nxnrp"]
@@ -8,9 +8,7 @@
[ext_resource type="Texture2D" uid="uid://4qtc0tkq2wba" path="res://Art/Rooms/screening_room/shutter_top.png" id="6_1rj24"]
[ext_resource type="Texture2D" uid="uid://cci0pb12chlps" path="res://Art/Rooms/screening_room/computer.png" id="6_6a8ar"]
[ext_resource type="Texture2D" uid="uid://dj1x60fld5400" path="res://Art/Rooms/screening_room/backwall.png" id="6_5772r"]
[ext_resource type="Texture2D" uid="uid://c3je4gir1qlot" path="res://Art/BlackScreen.png" id="7_106l6"]
[ext_resource type="Texture2D" uid="uid://jychpkygmjib" path="res://Art/Rooms/screening_room/desk.png" id="7_dp545"]
[ext_resource type="Texture2D" uid="uid://diln53wxa3oep" path="res://Art/Rooms/screening_room/journal_open.png" id="7_eqiuk"]
[ext_resource type="Texture2D" uid="uid://cdbiwtt2w37kr" path="res://Art/Rooms/screening_room/shutter_bottom.png" id="7_feog2"]
[ext_resource type="Theme" uid="uid://3k7sqw211ncl" path="res://Art/UI/button_theme.tres" id="8_hxrv4"]
[ext_resource type="Texture2D" uid="uid://c3frxq4vyu0pr" path="res://Art/Rooms/screening_room/console_screen.png" id="9_68gp8"]
@@ -33,42 +31,6 @@
[sub_resource type="Theme" id="Theme_63o5x"]
RichTextLabel/fonts/normal_font = ExtResource("14_0pvwy")
[sub_resource type="Theme" id="Theme_dahej"]
default_font = ExtResource("14_0pvwy")
RichTextLabel/colors/default_color = Color(0, 0, 0, 1)
RichTextLabel/fonts/normal_font = ExtResource("14_0pvwy")
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_3lob0"]
bg_color = Color(0.843137, 0.843137, 0.843137, 1)
border_width_left = 2
border_width_top = 2
border_width_right = 2
border_width_bottom = 2
border_color = Color(0, 0, 0, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_wj8aa"]
bg_color = Color(0.784314, 0.784314, 0.784314, 1)
border_width_left = 2
border_width_top = 2
border_width_right = 2
border_width_bottom = 2
border_color = Color(0, 0, 0, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_5jbc5"]
bg_color = Color(0.901961, 0.901961, 0.901961, 1)
border_width_left = 2
border_width_top = 2
border_width_right = 2
border_width_bottom = 2
border_color = Color(0, 0, 0, 1)
[sub_resource type="Theme" id="Theme_gwogn"]
Button/colors/font_color = Color(0, 0, 0, 1)
Button/fonts/font = ExtResource("14_0pvwy")
Button/styles/hover = SubResource("StyleBoxFlat_3lob0")
Button/styles/normal = SubResource("StyleBoxFlat_wj8aa")
Button/styles/pressed = SubResource("StyleBoxFlat_5jbc5")
[sub_resource type="Animation" id="Animation_ub1ft"]
length = 0.001
tracks/0/type = "value"
@@ -601,150 +563,6 @@ TO GET TO THE NEXT FLOOR"
horizontal_alignment = 1
vertical_alignment = 1
[node name="JournalLayer" type="CanvasLayer" parent="LowerHalf"]
layer = 110
[node name="JournalOpen" type="Control" parent="LowerHalf/JournalLayer"]
z_index = 8
layout_mode = 3
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -800.0
offset_top = -800.0
offset_right = 800.0
grow_horizontal = 2
grow_vertical = 0
theme = SubResource("Theme_dahej")
[node name="Shader" type="TextureRect" parent="LowerHalf/JournalLayer/JournalOpen"]
modulate = Color(1, 1, 1, 0.52549)
z_index = 2
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -221.0
offset_top = -356.0
offset_right = 198.0
offset_bottom = 44.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("7_106l6")
[node name="JournalOpenTexture" type="TextureRect" parent="LowerHalf/JournalLayer/JournalOpen"]
z_index = 2
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("7_eqiuk")
[node name="JournalMargin" type="MarginContainer" parent="LowerHalf/JournalLayer/JournalOpen"]
z_index = 2
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 70
theme_override_constants/margin_top = 30
theme_override_constants/margin_right = 70
theme_override_constants/margin_bottom = 50
[node name="PageArea" type="HBoxContainer" parent="LowerHalf/JournalLayer/JournalOpen/JournalMargin"]
layout_mode = 2
theme_override_constants/separation = 90
[node name="LeftPage" type="VBoxContainer" parent="LowerHalf/JournalLayer/JournalOpen/JournalMargin/PageArea"]
layout_mode = 2
size_flags_horizontal = 3
[node name="PageTitle" type="RichTextLabel" parent="LowerHalf/JournalLayer/JournalOpen/JournalMargin/PageArea/LeftPage"]
custom_minimum_size = Vector2(0, 100)
layout_mode = 2
size_flags_stretch_ratio = 0.1
theme_override_font_sizes/normal_font_size = 28
bbcode_enabled = true
text = "
[center]USER'S GUIDE[/center]"
[node name="Instructions" type="RichTextLabel" parent="LowerHalf/JournalLayer/JournalOpen/JournalMargin/PageArea/LeftPage"]
custom_minimum_size = Vector2(0, 500)
layout_mode = 2
size_flags_vertical = 3
size_flags_stretch_ratio = 0.0
theme_override_constants/line_separation = 20
theme_override_font_sizes/normal_font_size = 20
bbcode_enabled = true
text = "
THE FOLLOWING SYMPTOMS HAVE BEEN IDENTIFIED AS MARKERS OF ABNORMALITY CONVERSION
IF YOU DETECT ONE THAT WAS NOT ASSESSED IN PRE-SCREENING, [color=red]TERMINATE[/color] THE SUBJECT"
[node name="CloseManual" type="Button" parent="LowerHalf/JournalLayer/JournalOpen/JournalMargin/PageArea/LeftPage"]
custom_minimum_size = Vector2(200, 60)
layout_mode = 2
size_flags_horizontal = 4
theme = SubResource("Theme_gwogn")
text = "Close manual"
[node name="RightPage" type="VBoxContainer" parent="LowerHalf/JournalLayer/JournalOpen/JournalMargin/PageArea"]
layout_mode = 2
size_flags_horizontal = 3
[node name="Symptoms" type="RichTextLabel" parent="LowerHalf/JournalLayer/JournalOpen/JournalMargin/PageArea/RightPage"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/paragraph_separation = 1
theme_override_font_sizes/normal_font_size = 20
bbcode_enabled = true
text = "SUICIDAL IDEATIONS
Persistent thoughts about ending one's own life
PANIC ATTACKS
Acute episodes of severe anxiety
PERSECUTORY DELUSIONS
False conviction of being targeted or harmed
MEGALOMANIAC DELUSIONS
False exaggeration of self-importance or power
MYSTICAL DELUSIONS
False certainty of spiritual, divine connection
MANIA
Excessively elevated mood and increased energy
AUDITORY HALLUCINATIONS
False perceptions of external sound
VISUAL HALLUCINATIONS
False perceptions of visual stimuli
HAPTIC HALLUCINATIONS
False perceptions of touch
CENESTHETIC HALLUCINATIONS
False internal bodily sensations
SELF-MUTILATION
Deliberate injury to one's own body
HETERO-AGRESSIVE BEHAVIOUR
Hostility, verbal agression, threats"
[node name="GreenButton" type="TextureButton" parent="LowerHalf"]
z_index = 1
layout_mode = 1
+31
View File
@@ -2,6 +2,8 @@ extends CanvasLayer
@onready var next = $UI/SkipContainer/NextButton
@onready var confirmation_mask = $ConfirmationMask
@onready var journal_layer = $JournalLayer
@onready var journal_symptoms = $JournalLayer/JournalOpen/JournalMargin/PageArea/RightPage/Symptoms
#Signals for progressing through slides
signal next_request
@@ -48,6 +50,26 @@ var resolution_list: Dictionary = {
7: Vector2i(1920,1080)
}
#Journal Settings
var symptoms_detailed: Array[Array] = [
["SUICIDAL IDEATIONS\nPersistent thoughts about ending one's own life",
"PERSECUTORY DELUSIONS\nFalse conviction of being targeted or harmed",
"MANIA\nExcessively elevated mood and increased energy",
"AUDITORY HALLUCINATIONS\nFalse perceptions of external sound"],
["MEGALOMANIAC DELUSIONS\nFalse exaggeration of self-importance or power",
"PANIC ATTACKS\nAcute episodes of severe anxiety"],
["MYSTICAL DELUSIONS\nFalse certainty of spiritual, divine connection",
"CENESTHETIC HALLUCINATIONS\nFalse internal bodily sensations"],
["HAPTIC HALLUCINATIONS\nFalse perceptions of touch",
"SELF-MUTILATION\nDeliberate injury to one's own body"],
["HETERO-AGRESSIVE BEHAVIOUR\nExcessive hostility, verbal agression, threats",
"VISUAL HALLUCINATIONS\nFalse perceptions of visual stimuli"]
]
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
@@ -322,3 +344,12 @@ func _on_resolution_selected(index: int):
DisplayServer.window_set_size(resolution_size)
await get_tree().process_frame #Waits process_frame to avoid bugs
DisplayServer.window_set_position(top_left)
func update_journal(floor_count:int):
var symptoms_page : String = ""
for i in range(-floor_count):
for symptom in symptoms_detailed[i]:
symptoms_page += "\n\n" + symptom
journal_symptoms.text = symptoms_page
+184 -1
View File
@@ -1,8 +1,46 @@
[gd_scene load_steps=7 format=3 uid="uid://dy40jygog8t3k"]
[gd_scene load_steps=14 format=3 uid="uid://dy40jygog8t3k"]
[ext_resource type="Script" uid="uid://c0q67t6m1i4dl" path="res://ui.gd" id="1_mg12k"]
[ext_resource type="FontFile" uid="uid://dv8ppra5tgn1t" path="res://Art/Fonts/PixelatedEleganceRegular-ovyAA.ttf" id="2_vb7na"]
[ext_resource type="Texture2D" uid="uid://l7786mlmvet8" path="res://Art/UI/menu_gear.png" id="3_ibj64"]
[ext_resource type="Texture2D" uid="uid://c3je4gir1qlot" path="res://Art/BlackScreen.png" id="3_ibotj"]
[ext_resource type="Texture2D" uid="uid://diln53wxa3oep" path="res://Art/Rooms/screening_room/journal_open.png" id="4_n5ude"]
[sub_resource type="Theme" id="Theme_y4yjw"]
default_font = ExtResource("2_vb7na")
RichTextLabel/colors/default_color = Color(0, 0, 0, 1)
RichTextLabel/fonts/normal_font = ExtResource("2_vb7na")
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_3lob0"]
bg_color = Color(0.843137, 0.843137, 0.843137, 1)
border_width_left = 2
border_width_top = 2
border_width_right = 2
border_width_bottom = 2
border_color = Color(0, 0, 0, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_wj8aa"]
bg_color = Color(0.784314, 0.784314, 0.784314, 1)
border_width_left = 2
border_width_top = 2
border_width_right = 2
border_width_bottom = 2
border_color = Color(0, 0, 0, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_5jbc5"]
bg_color = Color(0.901961, 0.901961, 0.901961, 1)
border_width_left = 2
border_width_top = 2
border_width_right = 2
border_width_bottom = 2
border_color = Color(0, 0, 0, 1)
[sub_resource type="Theme" id="Theme_waa4j"]
Button/colors/font_color = Color(0, 0, 0, 1)
Button/fonts/font = ExtResource("2_vb7na")
Button/styles/hover = SubResource("StyleBoxFlat_3lob0")
Button/styles/normal = SubResource("StyleBoxFlat_wj8aa")
Button/styles/pressed = SubResource("StyleBoxFlat_5jbc5")
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_fo2i3"]
border_width_left = 2
@@ -31,6 +69,150 @@ auto_mask = NodePath("UI/Settings/MarginContainer/VBoxContainer/GridContainer/Di
display_button = NodePath("UI/Settings/MarginContainer/VBoxContainer/GridContainer/ScreenContainer/VBoxContainer2/ScreenSettings/VBoxContainer/Display/DisplayButton")
resolution_button = NodePath("UI/Settings/MarginContainer/VBoxContainer/GridContainer/ScreenContainer/VBoxContainer2/ScreenSettings/VBoxContainer/Resolution/ResolutionButton")
[node name="JournalLayer" type="CanvasLayer" parent="."]
layer = 110
[node name="JournalOpen" type="Control" parent="JournalLayer"]
z_index = 8
layout_mode = 3
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -800.0
offset_top = -800.0
offset_right = 800.0
grow_horizontal = 2
grow_vertical = 0
theme = SubResource("Theme_y4yjw")
[node name="Shader" type="TextureRect" parent="JournalLayer/JournalOpen"]
modulate = Color(1, 1, 1, 0.52549)
z_index = 2
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -221.0
offset_top = -356.0
offset_right = 198.0
offset_bottom = 44.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("3_ibotj")
[node name="JournalOpenTexture" type="TextureRect" parent="JournalLayer/JournalOpen"]
z_index = 2
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("4_n5ude")
[node name="JournalMargin" type="MarginContainer" parent="JournalLayer/JournalOpen"]
z_index = 2
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 70
theme_override_constants/margin_top = 30
theme_override_constants/margin_right = 70
theme_override_constants/margin_bottom = 50
[node name="PageArea" type="HBoxContainer" parent="JournalLayer/JournalOpen/JournalMargin"]
layout_mode = 2
theme_override_constants/separation = 90
[node name="LeftPage" type="VBoxContainer" parent="JournalLayer/JournalOpen/JournalMargin/PageArea"]
layout_mode = 2
size_flags_horizontal = 3
[node name="PageTitle" type="RichTextLabel" parent="JournalLayer/JournalOpen/JournalMargin/PageArea/LeftPage"]
custom_minimum_size = Vector2(0, 100)
layout_mode = 2
size_flags_stretch_ratio = 0.1
theme_override_font_sizes/normal_font_size = 28
bbcode_enabled = true
text = "
[center]USER'S GUIDE[/center]"
[node name="Instructions" type="RichTextLabel" parent="JournalLayer/JournalOpen/JournalMargin/PageArea/LeftPage"]
custom_minimum_size = Vector2(0, 500)
layout_mode = 2
size_flags_vertical = 3
size_flags_stretch_ratio = 0.0
theme_override_constants/line_separation = 20
theme_override_font_sizes/normal_font_size = 20
bbcode_enabled = true
text = "
THE FOLLOWING SYMPTOMS HAVE BEEN IDENTIFIED AS MARKERS OF ABNORMALITY CONVERSION
IF YOU DETECT ONE THAT WAS NOT ASSESSED IN PRE-SCREENING, [color=red]TERMINATE[/color] THE SUBJECT"
[node name="CloseManual" type="Button" parent="JournalLayer/JournalOpen/JournalMargin/PageArea/LeftPage"]
custom_minimum_size = Vector2(200, 60)
layout_mode = 2
size_flags_horizontal = 4
theme = SubResource("Theme_waa4j")
text = "Close manual"
[node name="RightPage" type="VBoxContainer" parent="JournalLayer/JournalOpen/JournalMargin/PageArea"]
layout_mode = 2
size_flags_horizontal = 3
[node name="Symptoms" type="RichTextLabel" parent="JournalLayer/JournalOpen/JournalMargin/PageArea/RightPage"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/paragraph_separation = 1
theme_override_font_sizes/normal_font_size = 20
bbcode_enabled = true
text = "SUICIDAL IDEATIONS
Persistent thoughts about ending one's own life
PANIC ATTACKS
Acute episodes of severe anxiety
PERSECUTORY DELUSIONS
False conviction of being targeted or harmed
MEGALOMANIAC DELUSIONS
False exaggeration of self-importance or power
MYSTICAL DELUSIONS
False certainty of spiritual, divine connection
MANIA
Excessively elevated mood and increased energy
AUDITORY HALLUCINATIONS
False perceptions of external sound
VISUAL HALLUCINATIONS
False perceptions of visual stimuli
HAPTIC HALLUCINATIONS
False perceptions of touch
CENESTHETIC HALLUCINATIONS
False internal bodily sensations
SELF-MUTILATION
Deliberate injury to one's own body
HETERO-AGRESSIVE BEHAVIOUR
Hostility, verbal agression, threats"
[node name="UI" type="Control" parent="."]
z_index = 12
layout_mode = 3
@@ -681,6 +863,7 @@ theme_override_font_sizes/font_size = 20
text = " Press Space to Next "
[node name="ConfirmationMask" type="ColorRect" parent="."]
visible = false
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0