new abnormal special WIP
This commit is contained in:
@@ -5,12 +5,13 @@ var day_count : int = 1
|
||||
var floor_count : int = -1
|
||||
var patient_count : int = 1
|
||||
var its_patient_count : int = 0
|
||||
var accurate_diagnoses : int = 0
|
||||
var diagnoses_quota : int = 1
|
||||
var daily_patient_limit : int = 3
|
||||
var patient_list = ["42", "43", "44", "45", "46", "47", "48", "49", "50", "51"]
|
||||
var patients_seen = []
|
||||
var its_patients_seen = []
|
||||
var patient_id
|
||||
var event_index = 0
|
||||
|
||||
#Variables for UI
|
||||
var save_slot_count = 4 #How many save slots there are in the game, in addition to the autosave slot
|
||||
@@ -38,6 +39,7 @@ signal start_balloon
|
||||
signal release_display
|
||||
signal terminate_display
|
||||
signal its_end
|
||||
signal next_event
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
|
||||
+23
-50
@@ -7,7 +7,6 @@ extends Control
|
||||
var balloon: Node
|
||||
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
|
||||
@@ -30,14 +29,15 @@ func _ready() -> void:
|
||||
|
||||
#Connecting Signals
|
||||
title_screen.new_game_pressed.connect(self._on_new_game_pressed)
|
||||
UI.save_slot_pressed.connect(self._on_save_slot_pressed)
|
||||
UI.load_slot_pressed.connect(self._on_load_slot_pressed)
|
||||
UI.save_slot_pressed.connect(self.save_game)
|
||||
UI.load_slot_pressed.connect(self.load_game)
|
||||
UI.main_menu_pressed.connect(self._on_main_menu_pressed)
|
||||
|
||||
UI.text_value_changed.connect(self._on_text_value_changed)
|
||||
UI.auto_value_changed.connect(self._on_auto_value_changed)
|
||||
|
||||
UI.its_game_over.back_to_menu.pressed.connect(self._on_main_menu_pressed)
|
||||
UI.its_game_over.reload_checkpoint.pressed.connect(self.load_game.bind(0))
|
||||
|
||||
Globals.character_label_color_change.connect(self._on_character_label_color_change)
|
||||
Globals.start_balloon.connect(self.start_balloon)
|
||||
@@ -56,6 +56,7 @@ func _on_new_game_pressed():
|
||||
Globals.day_count = 1
|
||||
Globals.floor_count = -1
|
||||
Globals.patient_count = 0
|
||||
Globals.accurate_diagnoses = 0
|
||||
Globals.diagnoses_quota = 1
|
||||
Globals.daily_patient_limit = 6
|
||||
Globals.patients_seen.clear()
|
||||
@@ -68,39 +69,33 @@ func _on_new_game_pressed():
|
||||
start_day()
|
||||
|
||||
|
||||
|
||||
#Plays the entire introduction
|
||||
func play_intro():
|
||||
|
||||
#PART IN PROGRESS
|
||||
#WORK IN PROGRESS
|
||||
|
||||
#Starting the day
|
||||
start_day()
|
||||
|
||||
|
||||
|
||||
#Starts the day
|
||||
func start_day():
|
||||
|
||||
#Hiding Menu for cinematic impact
|
||||
UI.pause_menu.menu_button.hide()
|
||||
|
||||
#Transitioning to day screen
|
||||
$TextScreens/Day.text = "[center]FLOOR " + str(Globals.floor_count) + "[/center]"
|
||||
|
||||
var scenes_to_hide: Array[Node] = [$TitleScreen, $TextScreens, $TextScreens/Day, $ScreeningDesk]
|
||||
var scenes_to_hide: Array[Node] = [$TitleScreen, $ScreeningDesk, UI.pause_menu.menu_button, UI.its_game_over]
|
||||
var scenes_to_show: Array[Node] = [$TextScreens, $TextScreens/Day]
|
||||
UI.masks.transition(scenes_to_hide, scenes_to_show)
|
||||
await UI.masks.transition_finished
|
||||
await get_tree().create_timer(1.0).timeout
|
||||
|
||||
#Setting up new patient
|
||||
$ScreeningDesk.accurate_diagnoses = 0 #Resetting accurate_diagnoses value at the day's beginning
|
||||
$ScreeningDesk.middle_screen.update(Globals.day_count, Globals.floor_count, $ScreeningDesk.accurate_diagnoses, Globals.diagnoses_quota)
|
||||
|
||||
#Resetting scenes
|
||||
for scene in [$ScreeningDesk, UI.its_game_over]:
|
||||
$ScreeningDesk.middle_screen.update(Globals.day_count, Globals.floor_count, Globals.accurate_diagnoses, Globals.diagnoses_quota)
|
||||
|
||||
for scene in [$ScreeningDesk, UI.its_game_over]: #Resetting scenes
|
||||
scene.reset()
|
||||
$ScreeningDesk.journal_layer.update_journal(Globals.floor_count) #Updating Journal
|
||||
|
||||
#Transitioning to the screening desk
|
||||
scenes_to_hide = scenes_to_show
|
||||
@@ -108,13 +103,7 @@ func start_day():
|
||||
UI.masks.transition(scenes_to_hide, scenes_to_show)
|
||||
await UI.masks.transition_finished
|
||||
|
||||
#Supervisor Dialogue
|
||||
$ScreeningDesk.supervisor.dialogue("interfloor_" + str(-Globals.floor_count-1))
|
||||
await $ScreeningDesk.supervisor.dialogue_finished
|
||||
|
||||
#Setting up UI
|
||||
$ScreeningDesk.console_screen.display(Globals.directives)
|
||||
$ScreeningDesk.computer.next_patient_button.show()
|
||||
$ScreeningDesk.event_manager(Globals.event_index)
|
||||
|
||||
|
||||
#Saves game state on the selected save slot
|
||||
@@ -124,11 +113,12 @@ func save_game(save_slot_number:int):
|
||||
var save_data = {
|
||||
"day_count": Globals.day_count,
|
||||
"floor_count": Globals.floor_count,
|
||||
"event_index": Globals.event_index,
|
||||
"patient_count": Globals.patient_count,
|
||||
"accurate_diagnoses": Globals.accurate_diagnoses,
|
||||
"diagnoses_quota": Globals.diagnoses_quota,
|
||||
"daily_patient_limit": Globals.daily_patient_limit,
|
||||
"patient_list": Globals.patient_list,
|
||||
"patient_id": Globals.patient_id,
|
||||
"patients_seen": Globals.patients_seen,
|
||||
"its_patients_seen": Globals.its_patients_seen,
|
||||
"save_date": Globals.get_save_date()
|
||||
@@ -145,10 +135,8 @@ func save_game(save_slot_number:int):
|
||||
print("Failed to open file for saving.")
|
||||
|
||||
#Updating save/load slots information
|
||||
var save_slot_path = "Menu/Save/MarginContainer/VBoxContainer/SaveSlot" + str(save_slot_number)
|
||||
var load_slot_path = "Menu/Load/MarginContainer/VBoxContainer/LoadSlot" + str(save_slot_number)
|
||||
var save_slot = UI.get_node(save_slot_path)
|
||||
var load_slot = UI.get_node(load_slot_path)
|
||||
var save_slot = UI.pause_menu.save.save_slot[save_slot_number]
|
||||
var load_slot = UI.pause_menu.load.load_slot[save_slot_number]
|
||||
|
||||
save_slot.text = "FLOOR " + str(save_data["floor_count"]) + "\nSAVE DATE : " + str(save_data["save_date"])
|
||||
load_slot.text = save_slot.text
|
||||
@@ -176,11 +164,12 @@ func load_game(load_slot_number:int):
|
||||
print("Loaded save: " + str(load_data))
|
||||
Globals.day_count = load_data["day_count"]
|
||||
Globals.floor_count = load_data["floor_count"]
|
||||
Globals.event_index = int(load_data["event_index"])
|
||||
Globals.patient_count = load_data["patient_count"]
|
||||
Globals.accurate_diagnoses = load_data["accurate_diagnoses"]
|
||||
Globals.diagnoses_quota = load_data["diagnoses_quota"]
|
||||
Globals.daily_patient_limit = load_data["daily_patient_limit"]
|
||||
Globals.patient_list = load_data["patient_list"]
|
||||
Globals.patient_id = load_data["patient_id"]
|
||||
Globals.patients_seen = load_data["patients_seen"]
|
||||
Globals.its_patients_seen = load_data["its_patients_seen"]
|
||||
Patient.update_patient_list()
|
||||
@@ -191,31 +180,17 @@ func load_game(load_slot_number:int):
|
||||
start_day()
|
||||
|
||||
|
||||
|
||||
func _on_save_slot_pressed(save_slot):
|
||||
save_game(save_slot)
|
||||
|
||||
|
||||
|
||||
func _on_load_slot_pressed(load_slot):
|
||||
load_game(load_slot)
|
||||
|
||||
|
||||
|
||||
func _on_main_menu_pressed():
|
||||
|
||||
#Removing mask
|
||||
UI.masks.mask.visible = false
|
||||
#Hiding loading menu and mask
|
||||
UI.masks.mask.hide()
|
||||
UI.pause_menu.reset()
|
||||
|
||||
#Clearing balloon
|
||||
clear_balloon()
|
||||
|
||||
#Hiding menus
|
||||
UI.get_node("Menu/Menu").hide()
|
||||
UI.get_node("Menu/UpperContainer").hide()
|
||||
|
||||
#Going back to main menu
|
||||
var scenes_to_hide = [$ScreeningDesk, $TextScreens, $TextScreens/Day, UI.its_game_over]
|
||||
var scenes_to_hide = [$ScreeningDesk, $TextScreens, $TextScreens/Day, UI.its_game_over, UI.pause_menu.menu_button]
|
||||
var scenes_to_show = [$TitleScreen]
|
||||
UI.masks.transition(scenes_to_hide, scenes_to_show)
|
||||
await UI.masks.transition_finished
|
||||
@@ -225,12 +200,11 @@ func _on_main_menu_pressed():
|
||||
scene.reset()
|
||||
|
||||
|
||||
|
||||
#Updates Save/Load Slots based on Existing Saves
|
||||
func update_slots():
|
||||
|
||||
#Loops over the 4 save/load slots
|
||||
for save_number in range(1, Globals.save_slot_count + 1):
|
||||
#Loops over the 4 save/load slots + the autosaveslot
|
||||
for save_number in range(Globals.save_slot_count + 1):
|
||||
|
||||
#Retrieves save and load slots
|
||||
var save_slot = UI.pause_menu.save.save_slot[save_number]
|
||||
@@ -254,7 +228,6 @@ func update_slots():
|
||||
print("Failed to parse Loading Data.")
|
||||
|
||||
|
||||
|
||||
#Starts a balloon dialogue
|
||||
func start_balloon(balloon_type:String, patient_type:String, dialogue_resource: Resource, start_title: String):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user