Files
imnotsick/Scenes/main/globals.gd
T
2026-08-16 01:06:53 +02:00

90 lines
3.1 KiB
GDScript

extends Node
#Variables for gameplay
var floor_count : int = -1
var patient_count : int = 1
var accurate_diagnoses : int = 0
var misdiagnoses : int = 0
var misdiagnoses_game_over : bool = true
var patient_quota : int = 1
var misdiagnoses_allowed : int = 2
var patient_list = []
var event_index : String = ""
var supervisor_index : int = 1
var objective_list : Array[String]
#Variables for UI
var save_slot_count = 4 #How many save slots there are in the game, in addition to the autosave slot
#Variables for text
var interfloor_dialogue = load("res://Dialogues/interfloor.dialogue")
var directives = "\n[center][font_size=22]INSTRUCTIONS[/font_size][/center]
\n\n[font_size=18][color=forest_green]RELEASE[/color] HUMANS, [color=red]TERMINATE[/color] ABNORMALS
\n\nIF A SUBJECT HAS [color=dark_orange]SYMPTOMS[/color] IT SHOULDN'T HAVE,
\n [color=red]IT IS NOT HUMAN[/color]
\n\nREFER TO THE [color=royal_blue]MANUAL[/color] FOR [color=dark_orange]SYMPTOMS[/color] DETAILS"
var release_messages: Array[String]
var terminate_messages: Array[String]
var default_patient_file = "[center][color=orange_red]NO SUBJECT SELECTED IN DATABASE[/color][/center]"
var default_recording_fil
var buttons_activated: bool = true
var entities = [] #Entities list for the journal
#Signals for screening desk
signal console_message
signal response_chosen(DialogueResponse)
signal clear_patient
signal decision_made
signal color_change
signal character_label_color_change
signal start_balloon
signal release_display
signal terminate_display
signal its_end
signal next_event
signal add_entity
signal add_objective
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
release_messages.resize(3)
terminate_messages.resize(3)
release_messages[0] = "EVALUATION RECORDED" + "\n\nPATIENT STATUS: " + Globals.colorize("HUMAN", "green") + "\n\nUPDATING DATABASE...\n\n\n\n" + Globals.colorize("INITIATING RELEASE SEQUENCE", "green_yellow")
release_messages[1] = Globals.colorize("- RELEASING SUBJECT -", "green_yellow")
terminate_messages[0] = "EVALUATION RECORDED" + "\n\nPATIENT STATUS: " + Globals.colorize("ABNORMAL", "red") + "\n\nUPDATING DATABASE...\n\n\n\n" + Globals.colorize("INITIATING TERMINATION SEQUENCE", "orange_red")
terminate_messages[1] = Globals.colorize("- TERMINATING SUBJECT -", "orange_red")
#Generating patient list
Globals.patient_list.clear()
var patient_id : String
for i in range(35,52):
patient_id = "patient_" + str(i)
Globals.patient_list.append(patient_id)
for i in range(1,5):
patient_id = "patient_its_" + str(i)
Globals.patient_list.append(patient_id)
patient_id = "patient_ite_" + str(i)
Globals.patient_list.append(patient_id)
#Gets the current time and day of the year
func get_save_date() -> String:
var dt = Time.get_datetime_dict_from_system()
return "%02d/%02d/%04d, %02d:%02d" % [
dt.month, dt.day, dt.year,
dt.hour, dt.minute
]
#Colorizes a message in BBCode
func colorize(message:String, color: String) -> String:
var colorized_message : String
colorized_message = "[color=" + color + "]" + message + "[/color]"
return colorized_message