extends CanvasLayer @onready var journal_symptoms = $Boundaries/VBoxContainer/Journal/MarginContainer/Symptoms/RightPage/Symptoms @onready var bookmarks = $Boundaries/VBoxContainer/Bookmarks @onready var journal = $Boundaries/VBoxContainer/Journal #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", "UNNATURAL BEHAVIOUR\nSigns or marks of non-human nature", "AUDITORY HALLUCINATIONS\nFalse perceptions of external sound"], ["MEGALOMANIAC DELUSIONS\nFalse exaggeration of self-importance or power", "SOMATIC HALLUCINATIONS\nFalse sensations, from inside the body or on the skin"], ["MYSTICAL DELUSIONS\nFalse certainty of spiritual, divine connection", "MANIA\nExcessively elevated mood and increased energy"], ["CHEMOSENSORY HALLUCINATIONS\nFalse perceptions of smell or taste", "SELF-MUTILATION\nDeliberate self-injury"], ["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: #Connecting signals $Boundaries/VBoxContainer/Journal/MarginContainer/Rules/LeftPage/CloseManual.pressed.connect(self._on_close_manual_pressed) $Boundaries/VBoxContainer/Journal/MarginContainer/Symptoms/LeftPage/CloseManual.pressed.connect(self._on_close_manual_pressed) $Boundaries/VBoxContainer/Journal/MarginContainer/Entities/LeftPage/CloseManual.pressed.connect(self._on_close_manual_pressed) bookmarks.rules.pressed.connect(self._on_tab_rules_pressed) bookmarks.symptoms.pressed.connect(self._on_tab_symptoms_pressed) bookmarks.entities.pressed.connect(self._on_tab_entities_pressed) hide() #Hiding at start func _on_close_manual_pressed(): hide() func _on_journal_pressed(): show() func update_symptoms(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_page.text = symptoms_page func update_entities(): journal.entities_page.text = "" if Patient.entities_current_floor.is_empty(): Patient.pick_floor_entities() #Picking floor entities unless a save was just loaded var config := ConfigFile.new() var entity_name: String = "" var entity_characteristics: String = "" var entity_course_of_action: String = "" var entity_text: String = "" for entity in Patient.entities_current_floor: config.load("res://Dialogues/Entities/" + entity + "_file.cfg") #Loading Entity file entity_name = config.get_value("", "entity_name") entity_characteristics = config.get_value("", "entity_characteristics") entity_course_of_action = config.get_value("", "entity_course_of_action") entity_text = Globals.colorize(entity_name, "dark_red") + "\n\nCHARACTERISTICS" + entity_characteristics + "\nRECOMMENDED COURSE OF ACTION" + entity_course_of_action journal.entities_page.text += "\n\n" + entity_text #Resets to initial state func reset(): hide() update_symptoms(Globals.floor_count) if Globals.floor_count <= -4: update_entities() bookmarks.entities.show() else: bookmarks.entities.hide() #Shows the rules tab func _on_tab_rules_pressed(): tab_switch(bookmarks.rules, journal.rules) #Shows the symptoms tab func _on_tab_symptoms_pressed(): tab_switch(bookmarks.symptoms, journal.symptoms) #Shows the entities tab func _on_tab_entities_pressed(): tab_switch(bookmarks.entities, journal.entities) #Shows the correct screen according to the pressed tab func tab_switch(pressed_tab, tab_screen): #Highlights pressed tab and unpress the others for tab in [bookmarks.rules, bookmarks.symptoms, bookmarks.entities]: if tab == pressed_tab: pressed_tab.set_pressed(true) pressed_tab.set_mouse_filter(Control.MOUSE_FILTER_IGNORE) else: tab.set_pressed(false) tab.set_mouse_filter(Control.MOUSE_FILTER_STOP) #Showing desired screen and hiding the others for screen in [journal.rules, journal.symptoms, journal.entities]: if screen == tab_screen: screen.show() else: screen.hide()