diff --git a/godot/AllBuildings.tscn b/godot/AllBuildings.tscn new file mode 100644 index 0000000..029cdf7 --- /dev/null +++ b/godot/AllBuildings.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://Assets/classroom_empty.png" type="Texture" id=1] + +[node name="AllBuildings" type="Node"] + +[node name="Classroom" type="Node2D" parent="."] + +[node name="classroom_empty" type="Sprite" parent="Classroom"] +position = Vector2( 152.713, 124.123 ) +texture = ExtResource( 1 ) diff --git a/godot/Assets/CooperHewitt-Bold.otf b/godot/Assets/CooperHewitt-Bold.otf new file mode 100644 index 0000000..9f74319 Binary files /dev/null and b/godot/Assets/CooperHewitt-Bold.otf differ diff --git a/godot/Assets/CooperHewitt-Book.otf b/godot/Assets/CooperHewitt-Book.otf new file mode 100644 index 0000000..2f9626a Binary files /dev/null and b/godot/Assets/CooperHewitt-Book.otf differ diff --git a/godot/Assets/CooperHewitt-Heavy.otf b/godot/Assets/CooperHewitt-Heavy.otf new file mode 100644 index 0000000..01159c6 Binary files /dev/null and b/godot/Assets/CooperHewitt-Heavy.otf differ diff --git a/godot/Assets/CooperHewitt-Light.otf b/godot/Assets/CooperHewitt-Light.otf new file mode 100644 index 0000000..bfe2416 Binary files /dev/null and b/godot/Assets/CooperHewitt-Light.otf differ diff --git a/godot/Assets/CooperHewitt-Medium.otf b/godot/Assets/CooperHewitt-Medium.otf new file mode 100644 index 0000000..b33c6d2 Binary files /dev/null and b/godot/Assets/CooperHewitt-Medium.otf differ diff --git a/godot/Assets/CooperHewitt-Semibold.otf b/godot/Assets/CooperHewitt-Semibold.otf new file mode 100644 index 0000000..3174394 Binary files /dev/null and b/godot/Assets/CooperHewitt-Semibold.otf differ diff --git a/godot/Assets/CooperHewitt-Thin.otf b/godot/Assets/CooperHewitt-Thin.otf new file mode 100644 index 0000000..4c5ca88 Binary files /dev/null and b/godot/Assets/CooperHewitt-Thin.otf differ diff --git a/godot/Assets/Jellee-Bold.ttf b/godot/Assets/Jellee-Bold.ttf new file mode 100644 index 0000000..5387666 Binary files /dev/null and b/godot/Assets/Jellee-Bold.ttf differ diff --git a/godot/Assets/Xolonium-Regular.ttf b/godot/Assets/Xolonium-Regular.ttf new file mode 100644 index 0000000..031d627 Binary files /dev/null and b/godot/Assets/Xolonium-Regular.ttf differ diff --git a/godot/Assets/XoloniumRegular.tres b/godot/Assets/XoloniumRegular.tres new file mode 100644 index 0000000..de77e6e --- /dev/null +++ b/godot/Assets/XoloniumRegular.tres @@ -0,0 +1,6 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://Assets/Xolonium-Regular.ttf" type="DynamicFontData" id=1] + +[resource] +font_data = ExtResource( 1 ) diff --git a/godot/Assets/classroom_empty.png b/godot/Assets/classroom_empty.png new file mode 100644 index 0000000..f25d3bb Binary files /dev/null and b/godot/Assets/classroom_empty.png differ diff --git a/godot/Assets/classroom_empty.png.import b/godot/Assets/classroom_empty.png.import new file mode 100644 index 0000000..f523be3 --- /dev/null +++ b/godot/Assets/classroom_empty.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/classroom_empty.png-c01200954255d576e059ca479e9e2498.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/classroom_empty.png" +dest_files=[ "res://.import/classroom_empty.png-c01200954255d576e059ca479e9e2498.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/godot/Assets/grass.png b/godot/Assets/grass.png new file mode 100644 index 0000000..9e4e267 Binary files /dev/null and b/godot/Assets/grass.png differ diff --git a/godot/Assets/grass.png.import b/godot/Assets/grass.png.import new file mode 100644 index 0000000..b888572 --- /dev/null +++ b/godot/Assets/grass.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/grass.png-46bb554aade75a091da98570239d1507.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/grass.png" +dest_files=[ "res://.import/grass.png-46bb554aade75a091da98570239d1507.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/godot/Assets/road.aseprite b/godot/Assets/road.aseprite new file mode 100644 index 0000000..7be4c47 Binary files /dev/null and b/godot/Assets/road.aseprite differ diff --git a/godot/Assets/road.png b/godot/Assets/road.png new file mode 100644 index 0000000..8461136 Binary files /dev/null and b/godot/Assets/road.png differ diff --git a/godot/Assets/road.png.import b/godot/Assets/road.png.import new file mode 100644 index 0000000..2556010 --- /dev/null +++ b/godot/Assets/road.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/road.png-c3c47e2cc8c90beae2ad5c8a3bb2c3ca.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/road.png" +dest_files=[ "res://.import/road.png-c3c47e2cc8c90beae2ad5c8a3bb2c3ca.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/godot/Assets/road2.aseprite b/godot/Assets/road2.aseprite new file mode 100644 index 0000000..ca50deb Binary files /dev/null and b/godot/Assets/road2.aseprite differ diff --git a/godot/Assets/road2.png b/godot/Assets/road2.png new file mode 100644 index 0000000..f09fb88 Binary files /dev/null and b/godot/Assets/road2.png differ diff --git a/godot/Assets/road2.png.import b/godot/Assets/road2.png.import new file mode 100644 index 0000000..b460269 --- /dev/null +++ b/godot/Assets/road2.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/road2.png-3f6afbaa996079cb42c78e4d1e7670f5.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/road2.png" +dest_files=[ "res://.import/road2.png-3f6afbaa996079cb42c78e4d1e7670f5.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/godot/Assets/road_crossing.aseprite b/godot/Assets/road_crossing.aseprite new file mode 100644 index 0000000..7b80f07 Binary files /dev/null and b/godot/Assets/road_crossing.aseprite differ diff --git a/godot/Assets/road_crossing.png b/godot/Assets/road_crossing.png new file mode 100644 index 0000000..bf1606c Binary files /dev/null and b/godot/Assets/road_crossing.png differ diff --git a/godot/Assets/road_crossing.png.import b/godot/Assets/road_crossing.png.import new file mode 100644 index 0000000..9a418f7 --- /dev/null +++ b/godot/Assets/road_crossing.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/road_crossing.png-13290d5fe14068f060bacc8e668e68a5.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/road_crossing.png" +dest_files=[ "res://.import/road_crossing.png-13290d5fe14068f060bacc8e668e68a5.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/godot/Assets/tree1.aseprite b/godot/Assets/tree1.aseprite new file mode 100644 index 0000000..9cd959f Binary files /dev/null and b/godot/Assets/tree1.aseprite differ diff --git a/godot/Assets/tree1.png b/godot/Assets/tree1.png new file mode 100644 index 0000000..75cec1b Binary files /dev/null and b/godot/Assets/tree1.png differ diff --git a/godot/Assets/tree1.png.import b/godot/Assets/tree1.png.import new file mode 100644 index 0000000..ba8a242 --- /dev/null +++ b/godot/Assets/tree1.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/tree1.png-bee06456232c1c7e7aa2f9c68bba732a.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/tree1.png" +dest_files=[ "res://.import/tree1.png-bee06456232c1c7e7aa2f9c68bba732a.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/godot/BudgetMenu.gd b/godot/BudgetMenu.gd new file mode 100644 index 0000000..2163315 --- /dev/null +++ b/godot/BudgetMenu.gd @@ -0,0 +1,19 @@ +extends Control + +onready var player_vars = get_node("/root/PlayerVariables") +onready var game_time = get_node("/root/GameTimer") +onready var finances = get_node("/root/Finances") + +var estimate_month + +# Called when the node enters the scene tree for the first time. +func _ready(): + game_time.connect("heartbeat", self, "_on_heartbeat") + + +func _on_heartbeat(): + estimate_month = player_vars.pupils_income - player_vars.operating_costs - player_vars.salary_cost + $BuildingCostNumber.text = str(player_vars.operating_costs) + $TeacherCostNumber.text = str(player_vars.salary_cost) + $PupilIncomeNumber.text = str(player_vars.pupils_income) + $TotalNumber.text = str(estimate_month) diff --git a/godot/Buildings.gd b/godot/Buildings.gd new file mode 100644 index 0000000..29491b6 --- /dev/null +++ b/godot/Buildings.gd @@ -0,0 +1,42 @@ +extends Node + +onready var player_vars = get_node("/root/PlayerVariables") +var classroom_agent = preload("res://Rooms/Classroom.tscn") +var staffroom_agent = preload("res://Rooms/StaffRoom.tscn") +var cpdroom_agent = preload("res://Rooms/CPDRoom.tscn") + +# Repeatable Buildings + +func add_classroom(): + if player_vars.funds > (player_vars.classroom_cost - 1): + var classroom = classroom_agent.instance() + add_child(classroom) + player_vars.funds -= player_vars.classroom_cost + player_vars.classroom_count += 1 + +func add_staffroom(): + if player_vars.has_staffroom == false: + if player_vars.funds > (player_vars.staffroom_cost - 1): + var staffroom = staffroom_agent.instance() + add_child(staffroom) + player_vars.funds -= player_vars.staffroom_cost + player_vars.has_staffroom = true + +# Unique Buildings + +func add_cpdroom(): + if player_vars.has_cpdroom == false: + if player_vars.funds > (player_vars.cpdroom_cost - 1): + var cpdroom = cpdroom_agent.instance() + add_child(cpdroom) + player_vars.funds -= player_vars.cpdroom_cost + player_vars.has_cpdroom = true + +func _on_ClassroomButton_pressed(): + add_classroom() + +func _on_StaffroomButton_pressed(): + add_staffroom() + +func _on_CPDRoomButton_pressed(): + add_cpdroom() diff --git a/godot/CTeacher.gd b/godot/CTeacher.gd new file mode 100644 index 0000000..65beda9 --- /dev/null +++ b/godot/CTeacher.gd @@ -0,0 +1,50 @@ +extends Node2D + +onready var game_time = get_node("/root/GameTimer") +onready var player_vars = get_node("/root/PlayerVariables") +onready var teacher_manager = get_node("/root/Main/ClassTeachers") +onready var name_gen = get_node("/root/NameGenerator") +onready var registers = get_node("/root/Registers") + +var teacher_happiness : int +var teacher_academic_rating : int +var teacher_report_card : int +var teacher_gender : bool +var teacher_name : String +var teacher_first_name : String +var teacher_last_name : String +var teacher_in_game : int +var teacher_joined_this_season : bool +var teacher_id : int + + +func _ready(): + randomize() + game_time.connect("heartbeat", self, "teacher_on_heartbeat") + game_time.connect("month_heartbeat", self, "teacher_on_month_heartbeat") + teacher_joined_this_season = true + player_vars.teacher_baseid += 1 + teacher_gender = (randi() & 1) + teacher_last_name = name_gen.last_name[randi() % name_gen.last_name.size()] + if teacher_gender == true: + teacher_first_name = name_gen.boy_first_name[randi() % name_gen.boy_first_name.size()] + if teacher_gender == false: + teacher_first_name = name_gen.girl_first_name[randi() % name_gen.girl_first_name.size()] + teacher_id = player_vars.teacher_baseid + teacher_name = teacher_first_name + " " + teacher_last_name + registers.TeacherRegister.append(teacher_name) + +func teacher_on_heartbeat(): + teacher_in_game += 1 + player_vars.salary_cost += (player_vars.cteacher_salary / 20) + + # StaffTracker stuff + teacher_manager.sa_pool += 1 + teacher_manager.se_pool += 1 + teacher_manager.sw_pool += 1 + + if teacher_in_game == 60: + teacher_joined_this_season = false + +func teacher_on_month_heartbeat(): + pass diff --git a/godot/CTeacher.tscn b/godot/CTeacher.tscn new file mode 100644 index 0000000..78eb905 --- /dev/null +++ b/godot/CTeacher.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://CTeacher.gd" type="Script" id=1] + +[node name="CTeacher" type="Node2D"] +script = ExtResource( 1 ) diff --git a/godot/ClassTeachers.gd b/godot/ClassTeachers.gd new file mode 100644 index 0000000..305f479 --- /dev/null +++ b/godot/ClassTeachers.gd @@ -0,0 +1,50 @@ +extends Node + +onready var player_vars = get_node("/root/PlayerVariables") +var classroomteacher = preload("res://CTeacher.tscn") +onready var game_time = get_node("/root/GameTimer") + +var staff_tracker_achievement : int +var sa_pool : int +var staff_tracker_enjoyment : int +var se_pool : int +var staff_tracker_wellbeing : int +var sw_pool : int +var staff_tracker_total : int + +# Called when the node enters the scene tree for the first time. +func _ready(): + game_time.connect("heartbeat", self, "on_heartbeat") + staff_tracker_achievement = 50 + staff_tracker_enjoyment = 50 + staff_tracker_wellbeing = 50 + staff_tracker_total = 50 +# game_time.connect("month_heartbeat", self, "on_month_heartbeat") + +func add_teacher(): + if player_vars.teacher_pop < player_vars.classroom_count: + if player_vars.funds > (player_vars.teacher_hire - 1): + var teacher_agent = classroomteacher.instance() + add_child(teacher_agent) + player_vars.funds -= player_vars.teacher_hire + player_vars.teacher_pop += 1 + +func _on_AddTeacher_pressed(): + add_teacher() + +func on_heartbeat(): + player_vars.teacher_pop = get_child_count() + + staff_tracker() + +func staff_tracker(): + if sa_pool > 0 && staff_tracker_achievement < 100: + staff_tracker_achievement += (sa_pool / player_vars.teacher_pop) + if se_pool > 0 && staff_tracker_enjoyment < 100: + staff_tracker_enjoyment += (se_pool / player_vars.teacher_pop) + if sw_pool > 0 && staff_tracker_wellbeing < 100: + staff_tracker_wellbeing += (sw_pool / player_vars.teacher_pop) + sa_pool = 0 + sw_pool = 0 + se_pool = 0 + staff_tracker_total = int(float(staff_tracker_achievement * 0.5 + staff_tracker_enjoyment * 0.2 + staff_tracker_wellbeing * 0.3)) diff --git a/godot/DebugMenu.gd b/godot/DebugMenu.gd new file mode 100644 index 0000000..e42fbc8 --- /dev/null +++ b/godot/DebugMenu.gd @@ -0,0 +1,22 @@ +extends Control + +onready var player_vars = get_node("/root/PlayerVariables") +onready var game_time = get_node("/root/GameTimer") + +func _ready(): + game_time.connect("heartbeat", self, "_on_heartbeat") + +func _on_heartbeat(): + $PupilsLabel.text = str(player_vars.pupil_pop) + $TeacherLabel.text = str(player_vars.teacher_pop) + $ClassroomLabel.text = str(player_vars.classroom_count) + if player_vars.has_cpdroom == true: + $CPDRoomLabel.text = str("HasCPDRoom") + +func _on_AddMoney_pressed(): + player_vars.funds += 100000 + + +func _on_StaffroomButton_pressed(): + if player_vars.has_staffroom == true: + $StaffroomLabel.text = str("HasStaffroom") diff --git a/godot/Dialogs.gd b/godot/Dialogs.gd new file mode 100644 index 0000000..c4f47ea --- /dev/null +++ b/godot/Dialogs.gd @@ -0,0 +1,13 @@ +extends Node + +onready var game_time = get_node("/root/GameTimer") +onready var josephine1_dialog = get_node("/root/Main/UI/Dialogs/Josephine1") + +func _ready(): + game_time.connect("josephine_dialog1", self, "_on_josephine_dialog1") + pass + +func _on_josephine_dialog1(): +# game_time.paused = 1 + josephine1_dialog.talk() +# game_time.paused = 0 diff --git a/godot/Dialogs/Josephine1.gd b/godot/Dialogs/Josephine1.gd new file mode 100644 index 0000000..7409e11 --- /dev/null +++ b/godot/Dialogs/Josephine1.gd @@ -0,0 +1,45 @@ +extends Node + +var dialogue_state : int + +onready var dialoguePopup = $"../../DialoguePopup" +onready var buttona = $"../../DialoguePopup/DialogBox/ButtonA" +onready var buttonb = $"../../DialoguePopup/DialogBox/ButtonB" + +# Called when the node enters the scene tree for the first time. +func _ready(): + dialogue_state = 0 + +func talk(answer = ""): + dialoguePopup.npc = self + dialoguePopup.npc_name = "Josephine" + + match dialogue_state: + 0: + dialogue_state = 1 + dialoguePopup.dialogue = "Hello you! This is a test!" + dialoguePopup.answera = "Understood." + dialoguePopup.answerb = "Tell me more." + dialoguePopup.open() + 1: + match answer: + "A": + dialogue_state = 3 + dialoguePopup.dialogue = "Well. There's a lot to cover. Bye!" + dialoguePopup.answera = "End" + buttonb.visible = false + dialoguePopup.open() + "B": + dialogue_state = 3 + dialoguePopup.dialogue = "I'd rather not..." + dialoguePopup.answera = "End" + buttonb.visible = false + dialoguePopup.open() + 2: + dialogue_state = 3 + dialoguePopup.answera = "End" + buttonb.visible = false +# dialoguePopup.open() + 3: + dialogue_state = 0 + dialoguePopup.close() diff --git a/godot/Dialogs/data/dialog1.json b/godot/Dialogs/data/dialog1.json new file mode 100644 index 0000000..618a3a0 --- /dev/null +++ b/godot/Dialogs/data/dialog1.json @@ -0,0 +1,3 @@ +{ + "001" : {"name":"Josephine", "expression": "neutral", "text":"You found something." }, +} \ No newline at end of file diff --git a/godot/DialoguePopup.gd b/godot/DialoguePopup.gd new file mode 100644 index 0000000..6ca9718 --- /dev/null +++ b/godot/DialoguePopup.gd @@ -0,0 +1,70 @@ +extends Popup + +onready var game_time = get_node("/root/GameTimer") + +var npc_name setget name_set +var dialogue setget dialogue_set +var answers setget answers_set +var npc +var answera setget answera_set +var answerb setget answerb_set + +func name_set(new_value): + npc_name = new_value + $DialogBox/NameBox/NPCName.text = new_value + +func dialogue_set(new_value): + dialogue = new_value + $DialogBox/Dialogue.text = new_value + +func answers_set(new_value): + answers = new_value + $DialogBox/Answers.text = new_value + +func answera_set(new_value): + answera = new_value + $DialogBox/ButtonA.text = new_value + +func answerb_set(new_value): + answerb = new_value + $DialogBox/ButtonB.text = new_value + +func open(): + set_process_input(true) + game_time.paused = 1 + popup() + $DialogBox/Tween.interpolate_property( + $DialogBox/Dialogue, "percent_visible", 0, 1, 1, + Tween.TRANS_LINEAR,Tween.EASE_IN_OUT + ) + $DialogBox/Tween.start() + +func close(): + set_process_input(false) + hide() + game_time.paused = 0 + +func _ready(): + set_process_input(false) + +func _input(event): + if event is InputEventKey: + if event.scancode == KEY_A: +# if _on_ButtonA_pressed(): + set_process_input(false) + npc.talk("A") + elif event.scancode == KEY_B: + set_process_input(false) + npc.talk("B") + +func _on_ButtonA_pressed(): + var a = InputEventKey.new() + a.scancode = KEY_A + a.pressed = true # change to false to simulate a key release + Input.parse_input_event(a) + +func _on_ButtonB_pressed(): + var a = InputEventKey.new() + a.scancode = KEY_B + a.pressed = true # change to false to simulate a key release + Input.parse_input_event(a) diff --git a/godot/Docs/3d_idea.md b/godot/Docs/3d_idea.md new file mode 100644 index 0000000..196ccc4 --- /dev/null +++ b/godot/Docs/3d_idea.md @@ -0,0 +1,3 @@ +Use BlockBench: + +[Blockbench](https://www.blockbench.net) diff --git a/godot/Docs/SchoolSim.md b/godot/Docs/SchoolSim.md new file mode 100644 index 0000000..afe1885 --- /dev/null +++ b/godot/Docs/SchoolSim.md @@ -0,0 +1,42 @@ +StudentTracker +A value between 0 and 100 (percentage, 50 is neutral) + +Comprises of +- Achievement (50%) +- Enjoyment (20%) +- Wellbeing (30%) + +StaffTracker + +- Quality of Teaching (50 %) +- Wellbeing (30 %) +- Enjoyment (20 %) + +ParentTracker + +- Satisfaction + + +Every value is 0 to 100 + +But then the average is as described above. + +This influences: + +- School Rating + +It would be great if there were different buildings available depending on the type of school you wanted to create. + +- Secondary School will be a 1.1 update. Or 1.2 or 1.3. Or 1.4. We'll start with just Primary. + +So the type of Primary School you can build... needs to be unlocked through research, I think. The types are: + +- International School (Pupil Fee difference. Classroom size difference.) +- Local School +- Natural School (low tech) + +Someday/Maybe features: +- Landscape editors +- Slopes (like Transport Tycoon). I think it can be done, using simple logic statements. Things that can / can't be built on slopes. And would add interesting visual features to the school design. A hallway block placed on a slope would automatically become a staircase. And can't link to anything else. It stairways depending on the slope. +- Multi-story. This just seems incredibly complex. +- Moving agents. Similar to actual simulator-movement. Would be incredibly difficult to implement. I'd rather go for the random animation player and not bother with visible agents. Though assigning teachers to classrooms is a must. \ No newline at end of file diff --git a/godot/Finances.gd b/godot/Finances.gd new file mode 100644 index 0000000..82df73b --- /dev/null +++ b/godot/Finances.gd @@ -0,0 +1,31 @@ +extends Node + +onready var player_vars = get_node("/root/PlayerVariables") +onready var game_time = get_node("/root/GameTimer") + +# Called when the node enters the scene tree for the first time. +func _ready(): +# game_time.connect("heartbeat", self, "_on_heartbeat") + game_time.connect("month_heartbeat", self, "_on_month_heartbeat") +# game_time.connect("season_heartbeat", self, "_on_season_heartbeat") + +# Called every frame. 'delta' is the elapsed time since the previous frame. +#func _process(delta): +# pass + + +#func _on_heartbeat(): +# pass + + +func _on_month_heartbeat(): + player_vars.funds += player_vars.pupils_income + player_vars.funds -= player_vars.salary_cost + player_vars.funds -= player_vars.operating_costs + player_vars.salary_cost = 0 + player_vars.pupils_income = 0 + player_vars.operating_costs = 0 + + +#func _on_season_heartbeat(): +# pass diff --git a/godot/GameTimer.gd b/godot/GameTimer.gd new file mode 100644 index 0000000..7897326 --- /dev/null +++ b/godot/GameTimer.gd @@ -0,0 +1,60 @@ +extends Node + +onready var player_vars = get_node("/root/PlayerVariables") + +var game_timer = 0 +var wait_time = 6 +var paused = 0 +signal heartbeat +signal week_heartbeat +signal month_heartbeat +signal season_heartbeat +signal year_heartbeat + +# Dialogues + +signal josephine_dialog1 + +# Called when the node enters the scene tree for the first time. +func _ready(): +# warning-ignore:return_value_discarded + connect("heartbeat", self, "on_heartbeat") + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + game_timer += delta + if game_timer > wait_time: + if paused == 0: + game_timer = 0 + emit_signal("heartbeat") + if paused == 1: + game_timer = 0 + +func on_heartbeat(): + player_vars.day += 1 + player_vars.total_day += 1 + + if player_vars.day == 6: + player_vars.day = 1 + player_vars.week += 1 + emit_signal("week_heartbeat") + + if player_vars.week == 5: + player_vars.week = 1 + player_vars.month += 1 + emit_signal("month_heartbeat") + + if player_vars.month == 3: + player_vars.month = 1 + player_vars.season += 1 + emit_signal("season_heartbeat") + + if player_vars.season == 6: + player_vars.season = 1 + player_vars.year += 1 + emit_signal("year_heartbeat") + + # Unique Day Events + + if player_vars.total_day == 2: + emit_signal("josephine_dialog1") diff --git a/godot/Main.gd b/godot/Main.gd new file mode 100644 index 0000000..302be21 --- /dev/null +++ b/godot/Main.gd @@ -0,0 +1,10 @@ +extends Node + +onready var player_vars = get_node("/root/PlayerVariables") + +# Called when the node enters the scene tree for the first time. +#func _ready(): +# pass + +#func _process(delta): +# pass diff --git a/godot/Main.tscn b/godot/Main.tscn new file mode 100644 index 0000000..b111059 --- /dev/null +++ b/godot/Main.tscn @@ -0,0 +1,1801 @@ +[gd_scene load_steps=32 format=2] + +[ext_resource path="res://MainCamera.gd" type="Script" id=1] +[ext_resource path="res://Pupils.gd" type="Script" id=2] +[ext_resource path="res://Assets/tree1.png" type="Texture" id=3] +[ext_resource path="res://BudgetMenu.gd" type="Script" id=4] +[ext_resource path="res://Main.gd" type="Script" id=5] +[ext_resource path="res://Buildings.gd" type="Script" id=6] +[ext_resource path="res://ClassTeachers.gd" type="Script" id=7] +[ext_resource path="res://Assets/classroom_empty.png" type="Texture" id=8] +[ext_resource path="res://Assets/Xolonium-Regular.ttf" type="DynamicFontData" id=9] +[ext_resource path="res://UserInterface.gd" type="Script" id=10] +[ext_resource path="res://Resources/Grasses.tres" type="TileSet" id=11] +[ext_resource path="res://PrincipalMenu.gd" type="Script" id=12] +[ext_resource path="res://Principal/Face1.png" type="Texture" id=13] +[ext_resource path="res://DebugMenu.gd" type="Script" id=14] +[ext_resource path="res://DialoguePopup.gd" type="Script" id=15] +[ext_resource path="res://Dialogs/Josephine1.gd" type="Script" id=16] +[ext_resource path="res://Dialogs.gd" type="Script" id=17] +[ext_resource path="res://Assets/Jellee-Bold.ttf" type="DynamicFontData" id=18] + +[sub_resource type="DynamicFont" id=1] +size = 32 +font_data = ExtResource( 9 ) + +[sub_resource type="DynamicFont" id=2] +size = 32 +font_data = ExtResource( 9 ) + +[sub_resource type="DynamicFont" id=3] +size = 32 +font_data = ExtResource( 9 ) + +[sub_resource type="DynamicFont" id=4] +size = 32 +font_data = ExtResource( 9 ) + +[sub_resource type="DynamicFont" id=5] +size = 32 +font_data = ExtResource( 9 ) + +[sub_resource type="DynamicFont" id=6] +size = 32 +font_data = ExtResource( 9 ) + +[sub_resource type="StyleBoxFlat" id=7] +bg_color = Color( 0, 1, 0.109804, 1 ) + +[sub_resource type="DynamicFont" id=8] +size = 12 +font_data = ExtResource( 9 ) + +[sub_resource type="DynamicFont" id=9] +size = 18 +use_filter = true +font_data = ExtResource( 18 ) + +[sub_resource type="DynamicFont" id=10] +size = 20 +use_filter = true +font_data = ExtResource( 18 ) + +[sub_resource type="DynamicFont" id=11] +size = 20 +use_filter = true +font_data = ExtResource( 18 ) + +[sub_resource type="DynamicFont" id=13] +size = 20 +use_filter = true +font_data = ExtResource( 18 ) + +[sub_resource type="StyleBoxFlat" id=12] +bg_color = Color( 0.364706, 0.364706, 0.364706, 1 ) + +[node name="Main" type="Node"] +script = ExtResource( 5 ) + +[node name="ColorRect" type="ColorRect" parent="."] +margin_left = -6301.29 +margin_top = -4096.0 +margin_right = 6909.71 +margin_bottom = 4679.48 +color = Color( 0.117647, 0.45098, 0.615686, 1 ) +__meta__ = { +"_edit_group_": true, +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="Landscape" type="Node2D" parent="."] +position = Vector2( -500, -1200 ) + +[node name="GrassFloor" type="TileMap" parent="Landscape"] +mode = 1 +tile_set = ExtResource( 11 ) +cell_size = Vector2( 128, 64 ) +cell_tile_origin = 1 +show_collision = true +centered_textures = true +format = 1 +tile_data = PoolIntArray( -327680, 0, 0, -327679, 0, 0, -327678, 0, 0, -327677, 0, 0, -327676, 0, 0, -327675, 0, 0, -327674, 0, 0, -327673, 0, 0, -327672, 0, 0, -327671, 0, 0, -327670, 0, 0, -327669, 0, 0, -327668, 0, 0, -327667, 0, 0, -327666, 0, 0, -327665, 0, 0, -327664, 0, 0, -327663, 0, 0, -327662, 0, 0, -327661, 0, 0, -327660, 0, 0, -327659, 0, 0, -327658, 0, 0, -327657, 0, 0, -327656, 0, 0, -327655, 0, 0, -327654, 0, 0, -327653, 0, 0, -327652, 0, 0, -327651, 0, 0, -327650, 0, 0, -327649, 0, 0, -327648, 0, 0, -327647, 0, 0, -327646, 0, 0, -327645, 0, 0, -327644, 0, 0, -327643, 0, 0, -327642, 0, 0, -327641, 0, 0, -327640, 0, 0, -327639, 0, 0, -327638, 0, 0, -327637, 0, 0, -327636, 0, 0, -327635, 0, 0, -327634, 0, 0, -327633, 0, 0, -327632, 0, 0, -327631, 0, 0, -327630, 0, 0, -327629, 0, 0, -327628, 0, 0, -327627, 0, 0, -327626, 1, 0, -327625, 0, 0, -327624, 0, 0, -327623, 0, 0, -327622, 0, 0, -327621, 0, 0, -262144, 0, 0, -262143, 0, 0, -262142, 0, 0, -262141, 0, 0, -262140, 0, 0, -262139, 0, 0, -262138, 0, 0, -262137, 0, 0, -262136, 0, 0, -262135, 0, 0, -262134, 0, 0, -262133, 0, 0, -262132, 0, 0, -262131, 0, 0, -262130, 0, 0, -262129, 0, 0, -262128, 0, 0, -262127, 0, 0, -262126, 0, 0, -262125, 0, 0, -262124, 0, 0, -262123, 0, 0, -262122, 0, 0, -262121, 0, 0, -262120, 0, 0, -262119, 0, 0, -262118, 0, 0, -262117, 0, 0, -262116, 0, 0, -262115, 0, 0, -262114, 0, 0, -262113, 0, 0, -262112, 0, 0, -262111, 0, 0, -262110, 0, 0, -262109, 0, 0, -262108, 0, 0, -262107, 0, 0, -262106, 0, 0, -262105, 0, 0, -262104, 0, 0, -262103, 0, 0, -262102, 0, 0, -262101, 0, 0, -262100, 0, 0, -262099, 0, 0, -262098, 0, 0, -262097, 0, 0, -262096, 0, 0, -262095, 0, 0, -262094, 0, 0, -262093, 0, 0, -262092, 0, 0, -262091, 0, 0, -262090, 1, 0, -262089, 0, 0, -262088, 0, 0, -262087, 0, 0, -262086, 0, 0, -262085, 0, 0, -196608, 0, 0, -196607, 0, 0, -196606, 0, 0, -196605, 0, 0, -196604, 0, 0, -196603, 0, 0, -196602, 0, 0, -196601, 0, 0, -196600, 0, 0, -196599, 0, 0, -196598, 0, 0, -196597, 0, 0, -196596, 0, 0, -196595, 0, 0, -196594, 0, 0, -196593, 0, 0, -196592, 0, 0, -196591, 0, 0, -196590, 0, 0, -196589, 0, 0, -196588, 0, 0, -196587, 0, 0, -196586, 0, 0, -196585, 0, 0, -196584, 0, 0, -196583, 0, 0, -196582, 0, 0, -196581, 0, 0, -196580, 0, 0, -196579, 0, 0, -196578, 0, 0, -196577, 0, 0, -196576, 0, 0, -196575, 0, 0, -196574, 0, 0, -196573, 0, 0, -196572, 0, 0, -196571, 0, 0, -196570, 0, 0, -196569, 0, 0, -196568, 0, 0, -196567, 0, 0, -196566, 0, 0, -196565, 0, 0, -196564, 0, 0, -196563, 0, 0, -196562, 0, 0, -196561, 0, 0, -196560, 0, 0, -196559, 0, 0, -196558, 0, 0, -196557, 0, 0, -196556, 0, 0, -196555, 0, 0, -196554, 1, 0, -196553, 0, 0, -196552, 0, 0, -196551, 0, 0, -196550, 0, 0, -196549, 0, 0, -131072, 0, 0, -131071, 0, 0, -131070, 0, 0, -131069, 0, 0, -131068, 0, 0, -131067, 0, 0, -131066, 0, 0, -131065, 0, 0, -131064, 0, 0, -131063, 0, 0, -131062, 0, 0, -131061, 0, 0, -131060, 0, 0, -131059, 0, 0, -131058, 0, 0, -131057, 0, 0, -131056, 0, 0, -131055, 0, 0, -131054, 0, 0, -131053, 0, 0, -131052, 0, 0, -131051, 0, 0, -131050, 0, 0, -131049, 0, 0, -131048, 0, 0, -131047, 0, 0, -131046, 0, 0, -131045, 0, 0, -131044, 0, 0, -131043, 0, 0, -131042, 0, 0, -131041, 0, 0, -131040, 0, 0, -131039, 0, 0, -131038, 0, 0, -131037, 0, 0, -131036, 0, 0, -131035, 0, 0, -131034, 0, 0, -131033, 0, 0, -131032, 0, 0, -131031, 0, 0, -131030, 0, 0, -131029, 0, 0, -131028, 0, 0, -131027, 0, 0, -131026, 0, 0, -131025, 0, 0, -131024, 0, 0, -131023, 0, 0, -131022, 0, 0, -131021, 0, 0, -131020, 0, 0, -131019, 0, 0, -131018, 1, 0, -131017, 0, 0, -131016, 0, 0, -131015, 0, 0, -131014, 0, 0, -131013, 0, 0, -65536, 0, 0, -65535, 0, 0, -65534, 0, 0, -65533, 0, 0, -65532, 0, 0, -65531, 0, 0, -65530, 0, 0, -65529, 0, 0, -65528, 0, 0, -65527, 0, 0, -65526, 0, 0, -65525, 0, 0, -65524, 0, 0, -65523, 0, 0, -65522, 0, 0, -65521, 0, 0, -65520, 0, 0, -65519, 0, 0, -65518, 0, 0, -65517, 0, 0, -65516, 0, 0, -65515, 0, 0, -65514, 0, 0, -65513, 0, 0, -65512, 0, 0, -65511, 0, 0, -65510, 0, 0, -65509, 0, 0, -65508, 0, 0, -65507, 0, 0, -65506, 0, 0, -65505, 0, 0, -65504, 0, 0, -65503, 0, 0, -65502, 0, 0, -65501, 0, 0, -65500, 0, 0, -65499, 0, 0, -65498, 0, 0, -65497, 0, 0, -65496, 0, 0, -65495, 0, 0, -65494, 0, 0, -65493, 0, 0, -65492, 0, 0, -65491, 0, 0, -65490, 0, 0, -65489, 0, 0, -65488, 0, 0, -65487, 0, 0, -65486, 0, 0, -65485, 0, 0, -65484, 0, 0, -65483, 0, 0, -65482, 1, 0, -65481, 0, 0, -65480, 0, 0, -65479, 0, 0, -65478, 0, 0, -65477, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 3, 0, 0, 4, 0, 0, 5, 0, 0, 6, 0, 0, 7, 0, 0, 8, 0, 0, 9, 0, 0, 10, 0, 0, 11, 0, 0, 12, 0, 0, 13, 0, 0, 14, 0, 0, 15, 0, 0, 16, 0, 0, 17, 0, 0, 18, 0, 0, 19, 0, 0, 20, 0, 0, 21, 0, 0, 22, 0, 0, 23, 0, 0, 24, 0, 0, 25, 0, 0, 26, 0, 0, 27, 0, 0, 28, 0, 0, 29, 0, 0, 30, 0, 0, 31, 0, 0, 32, 0, 0, 33, 0, 0, 34, 0, 0, 35, 0, 0, 36, 0, 0, 37, 0, 0, 38, 0, 0, 39, 0, 0, 40, 0, 0, 41, 0, 0, 42, 0, 0, 43, 0, 0, 44, 0, 0, 45, 0, 0, 46, 0, 0, 47, 0, 0, 48, 0, 0, 49, 0, 0, 50, 0, 0, 51, 0, 0, 52, 0, 0, 53, 0, 0, 54, 1, 0, 55, 0, 0, 56, 0, 0, 57, 0, 0, 58, 0, 0, 59, 0, 0, 65536, 0, 0, 65537, 0, 0, 65538, 0, 0, 65539, 0, 0, 65540, 0, 0, 65541, 0, 0, 65542, 0, 0, 65543, 0, 0, 65544, 0, 0, 65545, 0, 0, 65546, 0, 0, 65547, 0, 0, 65548, 0, 0, 65549, 0, 0, 65550, 0, 0, 65551, 0, 0, 65552, 0, 0, 65553, 0, 0, 65554, 0, 0, 65555, 0, 0, 65556, 0, 0, 65557, 0, 0, 65558, 0, 0, 65559, 0, 0, 65560, 0, 0, 65561, 0, 0, 65562, 0, 0, 65563, 0, 0, 65564, 0, 0, 65565, 0, 0, 65566, 0, 0, 65567, 0, 0, 65568, 0, 0, 65569, 0, 0, 65570, 0, 0, 65571, 0, 0, 65572, 0, 0, 65573, 0, 0, 65574, 0, 0, 65575, 0, 0, 65576, 0, 0, 65577, 0, 0, 65578, 0, 0, 65579, 0, 0, 65580, 0, 0, 65581, 0, 0, 65582, 0, 0, 65583, 0, 0, 65584, 0, 0, 65585, 0, 0, 65586, 0, 0, 65587, 0, 0, 65588, 0, 0, 65589, 0, 0, 65590, 1, 0, 65591, 0, 0, 65592, 0, 0, 65593, 0, 0, 65594, 0, 0, 65595, 0, 0, 131072, 0, 0, 131073, 0, 0, 131074, 0, 0, 131075, 0, 0, 131076, 0, 0, 131077, 0, 0, 131078, 0, 0, 131079, 0, 0, 131080, 0, 0, 131081, 0, 0, 131082, 0, 0, 131083, 0, 0, 131084, 0, 0, 131085, 0, 0, 131086, 0, 0, 131087, 0, 0, 131088, 0, 0, 131089, 0, 0, 131090, 0, 0, 131091, 0, 0, 131092, 0, 0, 131093, 0, 0, 131094, 0, 0, 131095, 0, 0, 131096, 0, 0, 131097, 0, 0, 131098, 0, 0, 131099, 0, 0, 131100, 0, 0, 131101, 0, 0, 131102, 0, 0, 131103, 0, 0, 131104, 0, 0, 131105, 0, 0, 131106, 0, 0, 131107, 0, 0, 131108, 0, 0, 131109, 0, 0, 131110, 0, 0, 131111, 0, 0, 131112, 0, 0, 131113, 0, 0, 131114, 0, 0, 131115, 0, 0, 131116, 0, 0, 131117, 0, 0, 131118, 0, 0, 131119, 0, 0, 131120, 0, 0, 131121, 0, 0, 131122, 0, 0, 131123, 0, 0, 131124, 0, 0, 131125, 0, 0, 131126, 1, 0, 131127, 0, 0, 131128, 0, 0, 131129, 0, 0, 131130, 0, 0, 131131, 0, 0, 196608, 0, 0, 196609, 0, 0, 196610, 0, 0, 196611, 0, 0, 196612, 0, 0, 196613, 0, 0, 196614, 0, 0, 196615, 0, 0, 196616, 0, 0, 196617, 0, 0, 196618, 0, 0, 196619, 0, 0, 196620, 0, 0, 196621, 0, 0, 196622, 0, 0, 196623, 0, 0, 196624, 0, 0, 196625, 0, 0, 196626, 0, 0, 196627, 0, 0, 196628, 0, 0, 196629, 0, 0, 196630, 0, 0, 196631, 0, 0, 196632, 0, 0, 196633, 0, 0, 196634, 0, 0, 196635, 0, 0, 196636, 0, 0, 196637, 0, 0, 196638, 0, 0, 196639, 0, 0, 196640, 0, 0, 196641, 0, 0, 196642, 0, 0, 196643, 0, 0, 196644, 0, 0, 196645, 0, 0, 196646, 0, 0, 196647, 0, 0, 196648, 0, 0, 196649, 0, 0, 196650, 0, 0, 196651, 0, 0, 196652, 0, 0, 196653, 0, 0, 196654, 0, 0, 196655, 0, 0, 196656, 0, 0, 196657, 0, 0, 196658, 0, 0, 196659, 0, 0, 196660, 0, 0, 196661, 0, 0, 196662, 1, 0, 196663, 0, 0, 196664, 0, 0, 196665, 0, 0, 196666, 0, 0, 196667, 0, 0, 262144, 0, 0, 262145, 0, 0, 262146, 0, 0, 262147, 0, 0, 262148, 0, 0, 262149, 0, 0, 262150, 0, 0, 262151, 0, 0, 262152, 0, 0, 262153, 0, 0, 262154, 0, 0, 262155, 0, 0, 262156, 0, 0, 262157, 0, 0, 262158, 0, 0, 262159, 0, 0, 262160, 0, 0, 262161, 0, 0, 262162, 0, 0, 262163, 0, 0, 262164, 0, 0, 262165, 0, 0, 262166, 0, 0, 262167, 0, 0, 262168, 0, 0, 262169, 0, 0, 262170, 0, 0, 262171, 0, 0, 262172, 0, 0, 262173, 0, 0, 262174, 0, 0, 262175, 0, 0, 262176, 0, 0, 262177, 0, 0, 262178, 0, 0, 262179, 0, 0, 262180, 0, 0, 262181, 0, 0, 262182, 0, 0, 262183, 0, 0, 262184, 0, 0, 262185, 0, 0, 262186, 0, 0, 262187, 0, 0, 262188, 0, 0, 262189, 0, 0, 262190, 0, 0, 262191, 0, 0, 262192, 0, 0, 262193, 0, 0, 262194, 0, 0, 262195, 0, 0, 262196, 0, 0, 262197, 0, 0, 262198, 1, 0, 262199, 0, 0, 262200, 0, 0, 262201, 0, 0, 262202, 0, 0, 262203, 0, 0, 327680, 0, 0, 327681, 0, 0, 327682, 0, 0, 327683, 0, 0, 327684, 0, 0, 327685, 0, 0, 327686, 0, 0, 327687, 0, 0, 327688, 0, 0, 327689, 0, 0, 327690, 0, 0, 327691, 0, 0, 327692, 0, 0, 327693, 0, 0, 327694, 0, 0, 327695, 0, 0, 327696, 0, 0, 327697, 0, 0, 327698, 0, 0, 327699, 0, 0, 327700, 0, 0, 327701, 0, 0, 327702, 0, 0, 327703, 0, 0, 327704, 0, 0, 327705, 0, 0, 327706, 0, 0, 327707, 0, 0, 327708, 0, 0, 327709, 0, 0, 327710, 0, 0, 327711, 0, 0, 327712, 0, 0, 327713, 0, 0, 327714, 0, 0, 327715, 0, 0, 327716, 0, 0, 327717, 0, 0, 327718, 0, 0, 327719, 0, 0, 327720, 0, 0, 327721, 0, 0, 327722, 0, 0, 327723, 0, 0, 327724, 0, 0, 327725, 0, 0, 327726, 0, 0, 327727, 0, 0, 327728, 0, 0, 327729, 0, 0, 327730, 0, 0, 327731, 0, 0, 327732, 0, 0, 327733, 0, 0, 327734, 1, 0, 327735, 0, 0, 327736, 0, 0, 327737, 0, 0, 327738, 0, 0, 327739, 0, 0, 393216, 0, 0, 393217, 0, 0, 393218, 0, 0, 393219, 0, 0, 393220, 0, 0, 393221, 0, 0, 393222, 0, 0, 393223, 0, 0, 393224, 0, 0, 393225, 0, 0, 393226, 0, 0, 393227, 0, 0, 393228, 0, 0, 393229, 0, 0, 393230, 0, 0, 393231, 0, 0, 393232, 0, 0, 393233, 0, 0, 393234, 0, 0, 393235, 0, 0, 393236, 0, 0, 393237, 0, 0, 393238, 0, 0, 393239, 0, 0, 393240, 0, 0, 393241, 0, 0, 393242, 0, 0, 393243, 0, 0, 393244, 0, 0, 393245, 0, 0, 393246, 0, 0, 393247, 0, 0, 393248, 0, 0, 393249, 0, 0, 393250, 0, 0, 393251, 0, 0, 393252, 0, 0, 393253, 0, 0, 393254, 0, 0, 393255, 0, 0, 393256, 0, 0, 393257, 0, 0, 393258, 0, 0, 393259, 0, 0, 393260, 0, 0, 393261, 0, 0, 393262, 0, 0, 393263, 0, 0, 393264, 0, 0, 393265, 0, 0, 393266, 0, 0, 393267, 0, 0, 393268, 0, 0, 393269, 0, 0, 393270, 1, 0, 393271, 0, 0, 393272, 0, 0, 393273, 0, 0, 393274, 0, 0, 393275, 0, 0, 458752, 0, 0, 458753, 0, 0, 458754, 0, 0, 458755, 0, 0, 458756, 0, 0, 458757, 0, 0, 458758, 0, 0, 458759, 0, 0, 458760, 0, 0, 458761, 0, 0, 458762, 0, 0, 458763, 0, 0, 458764, 0, 0, 458765, 0, 0, 458766, 0, 0, 458767, 0, 0, 458768, 0, 0, 458769, 0, 0, 458770, 0, 0, 458771, 0, 0, 458772, 0, 0, 458773, 0, 0, 458774, 0, 0, 458775, 0, 0, 458776, 0, 0, 458777, 0, 0, 458778, 0, 0, 458779, 0, 0, 458780, 0, 0, 458781, 0, 0, 458782, 0, 0, 458783, 0, 0, 458784, 0, 0, 458785, 0, 0, 458786, 0, 0, 458787, 0, 0, 458788, 0, 0, 458789, 0, 0, 458790, 0, 0, 458791, 0, 0, 458792, 0, 0, 458793, 0, 0, 458794, 0, 0, 458795, 0, 0, 458796, 0, 0, 458797, 0, 0, 458798, 0, 0, 458799, 0, 0, 458800, 0, 0, 458801, 0, 0, 458802, 0, 0, 458803, 0, 0, 458804, 0, 0, 458805, 0, 0, 458806, 1, 0, 458807, 0, 0, 458808, 0, 0, 458809, 0, 0, 458810, 0, 0, 458811, 0, 0, 524288, 0, 0, 524289, 0, 0, 524290, 0, 0, 524291, 0, 0, 524292, 0, 0, 524293, 0, 0, 524294, 0, 0, 524295, 0, 0, 524296, 0, 0, 524297, 0, 0, 524298, 0, 0, 524299, 0, 0, 524300, 0, 0, 524301, 0, 0, 524302, 0, 0, 524303, 0, 0, 524304, 0, 0, 524305, 0, 0, 524306, 0, 0, 524307, 0, 0, 524308, 0, 0, 524309, 0, 0, 524310, 0, 0, 524311, 0, 0, 524312, 0, 0, 524313, 0, 0, 524314, 0, 0, 524315, 0, 0, 524316, 0, 0, 524317, 0, 0, 524318, 0, 0, 524319, 0, 0, 524320, 0, 0, 524321, 0, 0, 524322, 0, 0, 524323, 0, 0, 524324, 0, 0, 524325, 0, 0, 524326, 0, 0, 524327, 0, 0, 524328, 0, 0, 524329, 0, 0, 524330, 0, 0, 524331, 0, 0, 524332, 0, 0, 524333, 0, 0, 524334, 0, 0, 524335, 0, 0, 524336, 0, 0, 524337, 0, 0, 524338, 0, 0, 524339, 0, 0, 524340, 0, 0, 524341, 0, 0, 524342, 1, 0, 524343, 0, 0, 524344, 0, 0, 524345, 0, 0, 524346, 0, 0, 524347, 0, 0, 589824, 0, 0, 589825, 0, 0, 589826, 0, 0, 589827, 0, 0, 589828, 0, 0, 589829, 0, 0, 589830, 0, 0, 589831, 0, 0, 589832, 0, 0, 589833, 0, 0, 589834, 0, 0, 589835, 0, 0, 589836, 0, 0, 589837, 0, 0, 589838, 0, 0, 589839, 0, 0, 589840, 0, 0, 589841, 0, 0, 589842, 0, 0, 589843, 0, 0, 589844, 0, 0, 589845, 0, 0, 589846, 0, 0, 589847, 0, 0, 589848, 0, 0, 589849, 0, 0, 589850, 0, 0, 589851, 0, 0, 589852, 0, 0, 589853, 0, 0, 589854, 0, 0, 589855, 0, 0, 589856, 0, 0, 589857, 0, 0, 589858, 0, 0, 589859, 0, 0, 589860, 0, 0, 589861, 0, 0, 589862, 0, 0, 589863, 0, 0, 589864, 0, 0, 589865, 0, 0, 589866, 0, 0, 589867, 0, 0, 589868, 0, 0, 589869, 0, 0, 589870, 0, 0, 589871, 0, 0, 589872, 0, 0, 589873, 0, 0, 589874, 0, 0, 589875, 0, 0, 589876, 0, 0, 589877, 0, 0, 589878, 1, 0, 589879, 0, 0, 589880, 0, 0, 589881, 0, 0, 589882, 0, 0, 589883, 0, 0, 655360, 0, 0, 655361, 0, 0, 655362, 0, 0, 655363, 0, 0, 655364, 0, 0, 655365, 0, 0, 655366, 0, 0, 655367, 0, 0, 655368, 0, 0, 655369, 0, 0, 655370, 0, 0, 655371, 0, 0, 655372, 0, 0, 655373, 0, 0, 655374, 0, 0, 655375, 0, 0, 655376, 0, 0, 655377, 0, 0, 655378, 0, 0, 655379, 0, 0, 655380, 0, 0, 655381, 0, 0, 655382, 0, 0, 655383, 0, 0, 655384, 0, 0, 655385, 0, 0, 655386, 0, 0, 655387, 0, 0, 655388, 0, 0, 655389, 0, 0, 655390, 0, 0, 655391, 0, 0, 655392, 0, 0, 655393, 0, 0, 655394, 0, 0, 655395, 0, 0, 655396, 0, 0, 655397, 0, 0, 655398, 0, 0, 655399, 0, 0, 655400, 0, 0, 655401, 0, 0, 655402, 0, 0, 655403, 0, 0, 655404, 0, 0, 655405, 0, 0, 655406, 0, 0, 655407, 0, 0, 655408, 0, 0, 655409, 0, 0, 655410, 0, 0, 655411, 0, 0, 655412, 0, 0, 655413, 0, 0, 655414, 1, 0, 655415, 0, 0, 655416, 0, 0, 655417, 0, 0, 655418, 0, 0, 655419, 0, 0, 720896, 0, 0, 720897, 0, 0, 720898, 0, 0, 720899, 0, 0, 720900, 0, 0, 720901, 0, 0, 720902, 0, 0, 720903, 0, 0, 720904, 0, 0, 720905, 0, 0, 720906, 0, 0, 720907, 0, 0, 720908, 0, 0, 720909, 0, 0, 720910, 0, 0, 720911, 0, 0, 720912, 0, 0, 720913, 0, 0, 720914, 0, 0, 720915, 0, 0, 720916, 0, 0, 720917, 0, 0, 720918, 0, 0, 720919, 0, 0, 720920, 0, 0, 720921, 0, 0, 720922, 0, 0, 720923, 0, 0, 720924, 0, 0, 720925, 0, 0, 720926, 0, 0, 720927, 0, 0, 720928, 0, 0, 720929, 0, 0, 720930, 0, 0, 720931, 0, 0, 720932, 0, 0, 720933, 0, 0, 720934, 0, 0, 720935, 0, 0, 720936, 0, 0, 720937, 0, 0, 720938, 0, 0, 720939, 0, 0, 720940, 0, 0, 720941, 0, 0, 720942, 0, 0, 720943, 0, 0, 720944, 0, 0, 720945, 0, 0, 720946, 0, 0, 720947, 0, 0, 720948, 0, 0, 720949, 0, 0, 720950, 1, 0, 720951, 0, 0, 720952, 0, 0, 720953, 0, 0, 720954, 0, 0, 720955, 0, 0, 786432, 0, 0, 786433, 0, 0, 786434, 0, 0, 786435, 0, 0, 786436, 0, 0, 786437, 0, 0, 786438, 0, 0, 786439, 0, 0, 786440, 0, 0, 786441, 0, 0, 786442, 0, 0, 786443, 0, 0, 786444, 0, 0, 786445, 0, 0, 786446, 0, 0, 786447, 0, 0, 786448, 0, 0, 786449, 0, 0, 786450, 0, 0, 786451, 0, 0, 786452, 0, 0, 786453, 0, 0, 786454, 0, 0, 786455, 0, 0, 786456, 0, 0, 786457, 0, 0, 786458, 0, 0, 786459, 0, 0, 786460, 0, 0, 786461, 0, 0, 786462, 0, 0, 786463, 0, 0, 786464, 0, 0, 786465, 0, 0, 786466, 0, 0, 786467, 0, 0, 786468, 0, 0, 786469, 0, 0, 786470, 0, 0, 786471, 0, 0, 786472, 0, 0, 786473, 0, 0, 786474, 0, 0, 786475, 0, 0, 786476, 0, 0, 786477, 0, 0, 786478, 0, 0, 786479, 0, 0, 786480, 0, 0, 786481, 0, 0, 786482, 0, 0, 786483, 0, 0, 786484, 0, 0, 786485, 0, 0, 786486, 1, 0, 786487, 0, 0, 786488, 0, 0, 786489, 0, 0, 786490, 0, 0, 786491, 0, 0, 851968, 0, 0, 851969, 0, 0, 851970, 0, 0, 851971, 0, 0, 851972, 0, 0, 851973, 0, 0, 851974, 0, 0, 851975, 0, 0, 851976, 0, 0, 851977, 0, 0, 851978, 0, 0, 851979, 0, 0, 851980, 0, 0, 851981, 0, 0, 851982, 0, 0, 851983, 0, 0, 851984, 0, 0, 851985, 0, 0, 851986, 0, 0, 851987, 0, 0, 851988, 0, 0, 851989, 0, 0, 851990, 0, 0, 851991, 0, 0, 851992, 0, 0, 851993, 0, 0, 851994, 0, 0, 851995, 0, 0, 851996, 0, 0, 851997, 0, 0, 851998, 0, 0, 851999, 0, 0, 852000, 0, 0, 852001, 0, 0, 852002, 0, 0, 852003, 0, 0, 852004, 0, 0, 852005, 0, 0, 852006, 0, 0, 852007, 0, 0, 852008, 0, 0, 852009, 0, 0, 852010, 0, 0, 852011, 0, 0, 852012, 0, 0, 852013, 0, 0, 852014, 0, 0, 852015, 0, 0, 852016, 0, 0, 852017, 0, 0, 852018, 0, 0, 852019, 0, 0, 852020, 0, 0, 852021, 0, 0, 852022, 1, 0, 852023, 0, 0, 852024, 0, 0, 852025, 0, 0, 852026, 0, 0, 852027, 0, 0, 917504, 0, 0, 917505, 0, 0, 917506, 0, 0, 917507, 0, 0, 917508, 0, 0, 917509, 0, 0, 917510, 0, 0, 917511, 0, 0, 917512, 0, 0, 917513, 0, 0, 917514, 0, 0, 917515, 0, 0, 917516, 0, 0, 917517, 0, 0, 917518, 0, 0, 917519, 0, 0, 917520, 0, 0, 917521, 0, 0, 917522, 0, 0, 917523, 0, 0, 917524, 0, 0, 917525, 0, 0, 917526, 0, 0, 917527, 0, 0, 917528, 0, 0, 917529, 0, 0, 917530, 0, 0, 917531, 0, 0, 917532, 0, 0, 917533, 0, 0, 917534, 0, 0, 917535, 0, 0, 917536, 0, 0, 917537, 0, 0, 917538, 0, 0, 917539, 0, 0, 917540, 0, 0, 917541, 0, 0, 917542, 0, 0, 917543, 0, 0, 917544, 0, 0, 917545, 0, 0, 917546, 0, 0, 917547, 0, 0, 917548, 0, 0, 917549, 0, 0, 917550, 0, 0, 917551, 0, 0, 917552, 0, 0, 917553, 0, 0, 917554, 0, 0, 917555, 0, 0, 917556, 0, 0, 917557, 0, 0, 917558, 1, 0, 917559, 0, 0, 917560, 0, 0, 917561, 0, 0, 917562, 0, 0, 917563, 0, 0, 983040, 0, 0, 983041, 0, 0, 983042, 0, 0, 983043, 0, 0, 983044, 0, 0, 983045, 0, 0, 983046, 0, 0, 983047, 0, 0, 983048, 0, 0, 983049, 0, 0, 983050, 0, 0, 983051, 0, 0, 983052, 0, 0, 983053, 0, 0, 983054, 0, 0, 983055, 0, 0, 983056, 0, 0, 983057, 0, 0, 983058, 0, 0, 983059, 0, 0, 983060, 0, 0, 983061, 0, 0, 983062, 0, 0, 983063, 0, 0, 983064, 0, 0, 983065, 0, 0, 983066, 0, 0, 983067, 0, 0, 983068, 0, 0, 983069, 0, 0, 983070, 0, 0, 983071, 0, 0, 983072, 0, 0, 983073, 0, 0, 983074, 0, 0, 983075, 0, 0, 983076, 0, 0, 983077, 0, 0, 983078, 0, 0, 983079, 0, 0, 983080, 0, 0, 983081, 0, 0, 983082, 0, 0, 983083, 0, 0, 983084, 0, 0, 983085, 0, 0, 983086, 0, 0, 983087, 0, 0, 983088, 0, 0, 983089, 0, 0, 983090, 0, 0, 983091, 0, 0, 983092, 0, 0, 983093, 0, 0, 983094, 1, 0, 983095, 0, 0, 983096, 0, 0, 983097, 0, 0, 983098, 0, 0, 983099, 0, 0, 1048576, 0, 0, 1048577, 0, 0, 1048578, 0, 0, 1048579, 0, 0, 1048580, 0, 0, 1048581, 0, 0, 1048582, 0, 0, 1048583, 0, 0, 1048584, 0, 0, 1048585, 0, 0, 1048586, 0, 0, 1048587, 0, 0, 1048588, 0, 0, 1048589, 0, 0, 1048590, 0, 0, 1048591, 0, 0, 1048592, 0, 0, 1048593, 0, 0, 1048594, 0, 0, 1048595, 0, 0, 1048596, 0, 0, 1048597, 0, 0, 1048598, 0, 0, 1048599, 0, 0, 1048600, 0, 0, 1048601, 0, 0, 1048602, 0, 0, 1048603, 0, 0, 1048604, 0, 0, 1048605, 0, 0, 1048606, 0, 0, 1048607, 0, 0, 1048608, 0, 0, 1048609, 0, 0, 1048610, 0, 0, 1048611, 0, 0, 1048612, 0, 0, 1048613, 0, 0, 1048614, 0, 0, 1048615, 0, 0, 1048616, 0, 0, 1048617, 0, 0, 1048618, 0, 0, 1048619, 0, 0, 1048620, 0, 0, 1048621, 0, 0, 1048622, 0, 0, 1048623, 0, 0, 1048624, 0, 0, 1048625, 0, 0, 1048626, 0, 0, 1048627, 0, 0, 1048628, 0, 0, 1048629, 0, 0, 1048630, 1, 0, 1048631, 0, 0, 1048632, 0, 0, 1048633, 0, 0, 1048634, 0, 0, 1048635, 0, 0, 1114112, 0, 0, 1114113, 0, 0, 1114114, 0, 0, 1114115, 0, 0, 1114116, 0, 0, 1114117, 0, 0, 1114118, 0, 0, 1114119, 0, 0, 1114120, 0, 0, 1114121, 0, 0, 1114122, 0, 0, 1114123, 0, 0, 1114124, 0, 0, 1114125, 0, 0, 1114126, 0, 0, 1114127, 0, 0, 1114128, 0, 0, 1114129, 0, 0, 1114130, 0, 0, 1114131, 0, 0, 1114132, 0, 0, 1114133, 0, 0, 1114134, 0, 0, 1114135, 0, 0, 1114136, 0, 0, 1114137, 0, 0, 1114138, 0, 0, 1114139, 0, 0, 1114140, 0, 0, 1114141, 0, 0, 1114142, 0, 0, 1114143, 0, 0, 1114144, 0, 0, 1114145, 0, 0, 1114146, 0, 0, 1114147, 0, 0, 1114148, 0, 0, 1114149, 0, 0, 1114150, 0, 0, 1114151, 0, 0, 1114152, 0, 0, 1114153, 0, 0, 1114154, 0, 0, 1114155, 0, 0, 1114156, 0, 0, 1114157, 0, 0, 1114158, 0, 0, 1114159, 0, 0, 1114160, 0, 0, 1114161, 0, 0, 1114162, 0, 0, 1114163, 0, 0, 1114164, 0, 0, 1114165, 0, 0, 1114166, 1, 0, 1114167, 0, 0, 1114168, 0, 0, 1114169, 0, 0, 1114170, 0, 0, 1114171, 0, 0, 1179648, 0, 0, 1179649, 0, 0, 1179650, 0, 0, 1179651, 0, 0, 1179652, 0, 0, 1179653, 0, 0, 1179654, 0, 0, 1179655, 0, 0, 1179656, 0, 0, 1179657, 0, 0, 1179658, 0, 0, 1179659, 0, 0, 1179660, 0, 0, 1179661, 0, 0, 1179662, 0, 0, 1179663, 0, 0, 1179664, 0, 0, 1179665, 0, 0, 1179666, 0, 0, 1179667, 0, 0, 1179668, 0, 0, 1179669, 0, 0, 1179670, 0, 0, 1179671, 0, 0, 1179672, 0, 0, 1179673, 0, 0, 1179674, 0, 0, 1179675, 0, 0, 1179676, 0, 0, 1179677, 0, 0, 1179678, 0, 0, 1179679, 0, 0, 1179680, 0, 0, 1179681, 0, 0, 1179682, 0, 0, 1179683, 0, 0, 1179684, 0, 0, 1179685, 0, 0, 1179686, 0, 0, 1179687, 0, 0, 1179688, 0, 0, 1179689, 0, 0, 1179690, 0, 0, 1179691, 0, 0, 1179692, 0, 0, 1179693, 0, 0, 1179694, 0, 0, 1179695, 0, 0, 1179696, 0, 0, 1179697, 0, 0, 1179698, 0, 0, 1179699, 0, 0, 1179700, 0, 0, 1179701, 0, 0, 1179702, 1, 0, 1179703, 0, 0, 1179704, 0, 0, 1179705, 0, 0, 1179706, 0, 0, 1179707, 0, 0, 1245184, 0, 0, 1245185, 0, 0, 1245186, 0, 0, 1245187, 0, 0, 1245188, 0, 0, 1245189, 0, 0, 1245190, 0, 0, 1245191, 0, 0, 1245192, 0, 0, 1245193, 0, 0, 1245194, 0, 0, 1245195, 0, 0, 1245196, 0, 0, 1245197, 0, 0, 1245198, 0, 0, 1245199, 0, 0, 1245200, 0, 0, 1245201, 0, 0, 1245202, 0, 0, 1245203, 0, 0, 1245204, 0, 0, 1245205, 0, 0, 1245206, 0, 0, 1245207, 0, 0, 1245208, 0, 0, 1245209, 0, 0, 1245210, 0, 0, 1245211, 0, 0, 1245212, 0, 0, 1245213, 0, 0, 1245214, 0, 0, 1245215, 0, 0, 1245216, 0, 0, 1245217, 0, 0, 1245218, 0, 0, 1245219, 0, 0, 1245220, 0, 0, 1245221, 0, 0, 1245222, 0, 0, 1245223, 0, 0, 1245224, 0, 0, 1245225, 0, 0, 1245226, 0, 0, 1245227, 0, 0, 1245228, 0, 0, 1245229, 0, 0, 1245230, 0, 0, 1245231, 0, 0, 1245232, 0, 0, 1245233, 0, 0, 1245234, 0, 0, 1245235, 0, 0, 1245236, 0, 0, 1245237, 0, 0, 1245238, 1, 0, 1245239, 0, 0, 1245240, 0, 0, 1245241, 0, 0, 1245242, 0, 0, 1245243, 0, 0, 1310720, 0, 0, 1310721, 0, 0, 1310722, 0, 0, 1310723, 0, 0, 1310724, 0, 0, 1310725, 0, 0, 1310726, 0, 0, 1310727, 0, 0, 1310728, 0, 0, 1310729, 0, 0, 1310730, 0, 0, 1310731, 0, 0, 1310732, 0, 0, 1310733, 0, 0, 1310734, 0, 0, 1310735, 0, 0, 1310736, 0, 0, 1310737, 0, 0, 1310738, 0, 0, 1310739, 0, 0, 1310740, 0, 0, 1310741, 0, 0, 1310742, 0, 0, 1310743, 0, 0, 1310744, 0, 0, 1310745, 0, 0, 1310746, 0, 0, 1310747, 0, 0, 1310748, 0, 0, 1310749, 0, 0, 1310750, 0, 0, 1310751, 0, 0, 1310752, 0, 0, 1310753, 0, 0, 1310754, 0, 0, 1310755, 0, 0, 1310756, 0, 0, 1310757, 0, 0, 1310758, 0, 0, 1310759, 0, 0, 1310760, 0, 0, 1310761, 0, 0, 1310762, 0, 0, 1310763, 0, 0, 1310764, 0, 0, 1310765, 0, 0, 1310766, 0, 0, 1310767, 0, 0, 1310768, 0, 0, 1310769, 0, 0, 1310770, 0, 0, 1310771, 0, 0, 1310772, 0, 0, 1310773, 0, 0, 1310774, 1, 0, 1310775, 0, 0, 1310776, 0, 0, 1310777, 0, 0, 1310778, 0, 0, 1310779, 0, 0, 1376256, 0, 0, 1376257, 0, 0, 1376258, 0, 0, 1376259, 0, 0, 1376260, 0, 0, 1376261, 0, 0, 1376262, 0, 0, 1376263, 0, 0, 1376264, 0, 0, 1376265, 0, 0, 1376266, 0, 0, 1376267, 0, 0, 1376268, 0, 0, 1376269, 0, 0, 1376270, 0, 0, 1376271, 0, 0, 1376272, 0, 0, 1376273, 0, 0, 1376274, 0, 0, 1376275, 0, 0, 1376276, 0, 0, 1376277, 0, 0, 1376278, 0, 0, 1376279, 0, 0, 1376280, 0, 0, 1376281, 0, 0, 1376282, 0, 0, 1376283, 0, 0, 1376284, 0, 0, 1376285, 0, 0, 1376286, 0, 0, 1376287, 0, 0, 1376288, 0, 0, 1376289, 0, 0, 1376290, 0, 0, 1376291, 0, 0, 1376292, 0, 0, 1376293, 0, 0, 1376294, 0, 0, 1376295, 0, 0, 1376296, 0, 0, 1376297, 0, 0, 1376298, 0, 0, 1376299, 0, 0, 1376300, 0, 0, 1376301, 0, 0, 1376302, 0, 0, 1376303, 0, 0, 1376304, 0, 0, 1376305, 0, 0, 1376306, 0, 0, 1376307, 0, 0, 1376308, 0, 0, 1376309, 0, 0, 1376310, 1, 0, 1376311, 0, 0, 1376312, 0, 0, 1376313, 0, 0, 1376314, 0, 0, 1376315, 0, 0, 1441792, 0, 0, 1441793, 0, 0, 1441794, 0, 0, 1441795, 0, 0, 1441796, 0, 0, 1441797, 0, 0, 1441798, 0, 0, 1441799, 0, 0, 1441800, 0, 0, 1441801, 0, 0, 1441802, 0, 0, 1441803, 0, 0, 1441804, 0, 0, 1441805, 0, 0, 1441806, 0, 0, 1441807, 0, 0, 1441808, 0, 0, 1441809, 0, 0, 1441810, 0, 0, 1441811, 0, 0, 1441812, 0, 0, 1441813, 0, 0, 1441814, 0, 0, 1441815, 0, 0, 1441816, 0, 0, 1441817, 0, 0, 1441818, 0, 0, 1441819, 0, 0, 1441820, 0, 0, 1441821, 0, 0, 1441822, 0, 0, 1441823, 0, 0, 1441824, 0, 0, 1441825, 0, 0, 1441826, 0, 0, 1441827, 0, 0, 1441828, 0, 0, 1441829, 0, 0, 1441830, 0, 0, 1441831, 0, 0, 1441832, 0, 0, 1441833, 0, 0, 1441834, 0, 0, 1441835, 0, 0, 1441836, 0, 0, 1441837, 0, 0, 1441838, 0, 0, 1441839, 0, 0, 1441840, 0, 0, 1441841, 0, 0, 1441842, 0, 0, 1441843, 0, 0, 1441844, 0, 0, 1441845, 0, 0, 1441846, 1, 0, 1441847, 0, 0, 1441848, 0, 0, 1441849, 0, 0, 1441850, 0, 0, 1441851, 0, 0, 1507328, 0, 0, 1507329, 0, 0, 1507330, 0, 0, 1507331, 0, 0, 1507332, 0, 0, 1507333, 0, 0, 1507334, 0, 0, 1507335, 0, 0, 1507336, 0, 0, 1507337, 0, 0, 1507338, 0, 0, 1507339, 0, 0, 1507340, 0, 0, 1507341, 0, 0, 1507342, 0, 0, 1507343, 0, 0, 1507344, 0, 0, 1507345, 0, 0, 1507346, 0, 0, 1507347, 0, 0, 1507348, 0, 0, 1507349, 0, 0, 1507350, 0, 0, 1507351, 0, 0, 1507352, 0, 0, 1507353, 0, 0, 1507354, 0, 0, 1507355, 0, 0, 1507356, 0, 0, 1507357, 0, 0, 1507358, 0, 0, 1507359, 0, 0, 1507360, 0, 0, 1507361, 0, 0, 1507362, 0, 0, 1507363, 0, 0, 1507364, 0, 0, 1507365, 0, 0, 1507366, 0, 0, 1507367, 0, 0, 1507368, 0, 0, 1507369, 0, 0, 1507370, 0, 0, 1507371, 0, 0, 1507372, 0, 0, 1507373, 0, 0, 1507374, 0, 0, 1507375, 0, 0, 1507376, 0, 0, 1507377, 0, 0, 1507378, 0, 0, 1507379, 0, 0, 1507380, 0, 0, 1507381, 0, 0, 1507382, 1, 0, 1507383, 0, 0, 1507384, 0, 0, 1507385, 0, 0, 1507386, 0, 0, 1507387, 0, 0, 1572864, 0, 0, 1572865, 0, 0, 1572866, 0, 0, 1572867, 0, 0, 1572868, 0, 0, 1572869, 0, 0, 1572870, 0, 0, 1572871, 0, 0, 1572872, 0, 0, 1572873, 0, 0, 1572874, 0, 0, 1572875, 0, 0, 1572876, 0, 0, 1572877, 0, 0, 1572878, 0, 0, 1572879, 0, 0, 1572880, 0, 0, 1572881, 0, 0, 1572882, 0, 0, 1572883, 0, 0, 1572884, 0, 0, 1572885, 0, 0, 1572886, 0, 0, 1572887, 0, 0, 1572888, 0, 0, 1572889, 0, 0, 1572890, 0, 0, 1572891, 0, 0, 1572892, 0, 0, 1572893, 0, 0, 1572894, 0, 0, 1572895, 0, 0, 1572896, 0, 0, 1572897, 0, 0, 1572898, 0, 0, 1572899, 0, 0, 1572900, 0, 0, 1572901, 0, 0, 1572902, 0, 0, 1572903, 0, 0, 1572904, 0, 0, 1572905, 0, 0, 1572906, 0, 0, 1572907, 0, 0, 1572908, 0, 0, 1572909, 0, 0, 1572910, 0, 0, 1572911, 0, 0, 1572912, 0, 0, 1572913, 0, 0, 1572914, 0, 0, 1572915, 0, 0, 1572916, 0, 0, 1572917, 0, 0, 1572918, 1, 0, 1572919, 0, 0, 1572920, 0, 0, 1572921, 0, 0, 1572922, 0, 0, 1572923, 0, 0, 1638400, 0, 0, 1638401, 0, 0, 1638402, 0, 0, 1638403, 0, 0, 1638404, 0, 0, 1638405, 0, 0, 1638406, 0, 0, 1638407, 0, 0, 1638408, 0, 0, 1638409, 0, 0, 1638410, 0, 0, 1638411, 0, 0, 1638412, 0, 0, 1638413, 0, 0, 1638414, 0, 0, 1638415, 0, 0, 1638416, 0, 0, 1638417, 0, 0, 1638418, 0, 0, 1638419, 0, 0, 1638420, 0, 0, 1638421, 0, 0, 1638422, 0, 0, 1638423, 0, 0, 1638424, 0, 0, 1638425, 0, 0, 1638426, 0, 0, 1638427, 0, 0, 1638428, 0, 0, 1638429, 0, 0, 1638430, 0, 0, 1638431, 0, 0, 1638432, 0, 0, 1638433, 0, 0, 1638434, 0, 0, 1638435, 0, 0, 1638436, 0, 0, 1638437, 0, 0, 1638438, 0, 0, 1638439, 0, 0, 1638440, 0, 0, 1638441, 0, 0, 1638442, 0, 0, 1638443, 0, 0, 1638444, 0, 0, 1638445, 0, 0, 1638446, 0, 0, 1638447, 0, 0, 1638448, 0, 0, 1638449, 0, 0, 1638450, 0, 0, 1638451, 0, 0, 1638452, 0, 0, 1638453, 0, 0, 1638454, 1, 0, 1638455, 0, 0, 1638456, 0, 0, 1638457, 0, 0, 1638458, 0, 0, 1638459, 0, 0, 1703936, 0, 0, 1703937, 0, 0, 1703938, 0, 0, 1703939, 0, 0, 1703940, 0, 0, 1703941, 0, 0, 1703942, 0, 0, 1703943, 0, 0, 1703944, 0, 0, 1703945, 0, 0, 1703946, 0, 0, 1703947, 0, 0, 1703948, 0, 0, 1703949, 0, 0, 1703950, 0, 0, 1703951, 0, 0, 1703952, 0, 0, 1703953, 0, 0, 1703954, 0, 0, 1703955, 0, 0, 1703956, 0, 0, 1703957, 0, 0, 1703958, 0, 0, 1703959, 0, 0, 1703960, 0, 0, 1703961, 0, 0, 1703962, 0, 0, 1703963, 0, 0, 1703964, 0, 0, 1703965, 0, 0, 1703966, 0, 0, 1703967, 0, 0, 1703968, 0, 0, 1703969, 0, 0, 1703970, 0, 0, 1703971, 0, 0, 1703972, 0, 0, 1703973, 0, 0, 1703974, 0, 0, 1703975, 0, 0, 1703976, 0, 0, 1703977, 0, 0, 1703978, 0, 0, 1703979, 0, 0, 1703980, 0, 0, 1703981, 0, 0, 1703982, 0, 0, 1703983, 0, 0, 1703984, 0, 0, 1703985, 0, 0, 1703986, 0, 0, 1703987, 0, 0, 1703988, 0, 0, 1703989, 0, 0, 1703990, 1, 0, 1703991, 0, 0, 1703992, 0, 0, 1703993, 0, 0, 1703994, 0, 0, 1703995, 0, 0, 1769472, 0, 0, 1769473, 0, 0, 1769474, 0, 0, 1769475, 0, 0, 1769476, 0, 0, 1769477, 0, 0, 1769478, 0, 0, 1769479, 0, 0, 1769480, 0, 0, 1769481, 0, 0, 1769482, 0, 0, 1769483, 0, 0, 1769484, 0, 0, 1769485, 0, 0, 1769486, 0, 0, 1769487, 0, 0, 1769488, 0, 0, 1769489, 0, 0, 1769490, 0, 0, 1769491, 0, 0, 1769492, 0, 0, 1769493, 0, 0, 1769494, 0, 0, 1769495, 0, 0, 1769496, 0, 0, 1769497, 0, 0, 1769498, 0, 0, 1769499, 0, 0, 1769500, 0, 0, 1769501, 0, 0, 1769502, 0, 0, 1769503, 0, 0, 1769504, 0, 0, 1769505, 0, 0, 1769506, 0, 0, 1769507, 0, 0, 1769508, 0, 0, 1769509, 0, 0, 1769510, 0, 0, 1769511, 0, 0, 1769512, 0, 0, 1769513, 0, 0, 1769514, 0, 0, 1769515, 0, 0, 1769516, 0, 0, 1769517, 0, 0, 1769518, 0, 0, 1769519, 0, 0, 1769520, 0, 0, 1769521, 0, 0, 1769522, 0, 0, 1769523, 0, 0, 1769524, 0, 0, 1769525, 0, 0, 1769526, 1, 0, 1769527, 0, 0, 1769528, 0, 0, 1769529, 0, 0, 1769530, 0, 0, 1769531, 0, 0, 1835008, 0, 0, 1835009, 0, 0, 1835010, 0, 0, 1835011, 0, 0, 1835012, 0, 0, 1835013, 0, 0, 1835014, 0, 0, 1835015, 0, 0, 1835016, 0, 0, 1835017, 0, 0, 1835018, 0, 0, 1835019, 0, 0, 1835020, 0, 0, 1835021, 0, 0, 1835022, 0, 0, 1835023, 0, 0, 1835024, 0, 0, 1835025, 0, 0, 1835026, 0, 0, 1835027, 0, 0, 1835028, 0, 0, 1835029, 0, 0, 1835030, 0, 0, 1835031, 0, 0, 1835032, 0, 0, 1835033, 0, 0, 1835034, 0, 0, 1835035, 0, 0, 1835036, 0, 0, 1835037, 0, 0, 1835038, 0, 0, 1835039, 0, 0, 1835040, 0, 0, 1835041, 0, 0, 1835042, 0, 0, 1835043, 0, 0, 1835044, 0, 0, 1835045, 0, 0, 1835046, 0, 0, 1835047, 0, 0, 1835048, 0, 0, 1835049, 0, 0, 1835050, 0, 0, 1835051, 0, 0, 1835052, 0, 0, 1835053, 0, 0, 1835054, 0, 0, 1835055, 0, 0, 1835056, 0, 0, 1835057, 0, 0, 1835058, 0, 0, 1835059, 0, 0, 1835060, 0, 0, 1835061, 0, 0, 1835062, 1, 0, 1835063, 0, 0, 1835064, 0, 0, 1835065, 0, 0, 1835066, 0, 0, 1835067, 0, 0, 1900544, 0, 0, 1900545, 0, 0, 1900546, 0, 0, 1900547, 0, 0, 1900548, 0, 0, 1900549, 0, 0, 1900550, 0, 0, 1900551, 0, 0, 1900552, 0, 0, 1900553, 0, 0, 1900554, 0, 0, 1900555, 0, 0, 1900556, 0, 0, 1900557, 0, 0, 1900558, 0, 0, 1900559, 0, 0, 1900560, 0, 0, 1900561, 0, 0, 1900562, 0, 0, 1900563, 0, 0, 1900564, 0, 0, 1900565, 0, 0, 1900566, 0, 0, 1900567, 0, 0, 1900568, 0, 0, 1900569, 0, 0, 1900570, 0, 0, 1900571, 0, 0, 1900572, 0, 0, 1900573, 0, 0, 1900574, 0, 0, 1900575, 0, 0, 1900576, 0, 0, 1900577, 0, 0, 1900578, 0, 0, 1900579, 0, 0, 1900580, 0, 0, 1900581, 0, 0, 1900582, 0, 0, 1900583, 0, 0, 1900584, 0, 0, 1900585, 0, 0, 1900586, 0, 0, 1900587, 0, 0, 1900588, 0, 0, 1900589, 0, 0, 1900590, 0, 0, 1900591, 0, 0, 1900592, 0, 0, 1900593, 0, 0, 1900594, 0, 0, 1900595, 0, 0, 1900596, 0, 0, 1900597, 0, 0, 1900598, 1, 0, 1900599, 0, 0, 1900600, 0, 0, 1900601, 0, 0, 1900602, 0, 0, 1900603, 0, 0, 1966080, 0, 0, 1966081, 0, 0, 1966082, 0, 0, 1966083, 0, 0, 1966084, 0, 0, 1966085, 0, 0, 1966086, 0, 0, 1966087, 0, 0, 1966088, 0, 0, 1966089, 0, 0, 1966090, 0, 0, 1966091, 0, 0, 1966092, 0, 0, 1966093, 0, 0, 1966094, 0, 0, 1966095, 0, 0, 1966096, 0, 0, 1966097, 0, 0, 1966098, 0, 0, 1966099, 0, 0, 1966100, 0, 0, 1966101, 0, 0, 1966102, 0, 0, 1966103, 0, 0, 1966104, 0, 0, 1966105, 0, 0, 1966106, 0, 0, 1966107, 0, 0, 1966108, 0, 0, 1966109, 0, 0, 1966110, 0, 0, 1966111, 0, 0, 1966112, 0, 0, 1966113, 0, 0, 1966114, 0, 0, 1966115, 0, 0, 1966116, 0, 0, 1966117, 0, 0, 1966118, 0, 0, 1966119, 0, 0, 1966120, 0, 0, 1966121, 0, 0, 1966122, 0, 0, 1966123, 0, 0, 1966124, 0, 0, 1966125, 0, 0, 1966126, 0, 0, 1966127, 0, 0, 1966128, 0, 0, 1966129, 0, 0, 1966130, 0, 0, 1966131, 0, 0, 1966132, 0, 0, 1966133, 0, 0, 1966134, 1, 0, 1966135, 0, 0, 1966136, 0, 0, 1966137, 0, 0, 1966138, 0, 0, 1966139, 0, 0, 2031616, 0, 0, 2031617, 0, 0, 2031618, 0, 0, 2031619, 0, 0, 2031620, 0, 0, 2031621, 0, 0, 2031622, 0, 0, 2031623, 0, 0, 2031624, 0, 0, 2031625, 0, 0, 2031626, 0, 0, 2031627, 0, 0, 2031628, 0, 0, 2031629, 0, 0, 2031630, 0, 0, 2031631, 0, 0, 2031632, 0, 0, 2031633, 0, 0, 2031634, 0, 0, 2031635, 0, 0, 2031636, 0, 0, 2031637, 0, 0, 2031638, 0, 0, 2031639, 0, 0, 2031640, 0, 0, 2031641, 0, 0, 2031642, 0, 0, 2031643, 0, 0, 2031644, 0, 0, 2031645, 0, 0, 2031646, 0, 0, 2031647, 0, 0, 2031648, 0, 0, 2031649, 0, 0, 2031650, 0, 0, 2031651, 0, 0, 2031652, 0, 0, 2031653, 0, 0, 2031654, 0, 0, 2031655, 0, 0, 2031656, 0, 0, 2031657, 0, 0, 2031658, 0, 0, 2031659, 0, 0, 2031660, 0, 0, 2031661, 0, 0, 2031662, 0, 0, 2031663, 0, 0, 2031664, 0, 0, 2031665, 0, 0, 2031666, 0, 0, 2031667, 0, 0, 2031668, 0, 0, 2031669, 0, 0, 2031670, 1, 0, 2031671, 0, 0, 2031672, 0, 0, 2031673, 0, 0, 2031674, 0, 0, 2031675, 0, 0, 2097152, 0, 0, 2097153, 0, 0, 2097154, 0, 0, 2097155, 0, 0, 2097156, 0, 0, 2097157, 0, 0, 2097158, 0, 0, 2097159, 0, 0, 2097160, 0, 0, 2097161, 0, 0, 2097162, 0, 0, 2097163, 0, 0, 2097164, 0, 0, 2097165, 0, 0, 2097166, 0, 0, 2097167, 0, 0, 2097168, 0, 0, 2097169, 0, 0, 2097170, 0, 0, 2097171, 0, 0, 2097172, 0, 0, 2097173, 0, 0, 2097174, 0, 0, 2097175, 0, 0, 2097176, 0, 0, 2097177, 0, 0, 2097178, 0, 0, 2097179, 0, 0, 2097180, 0, 0, 2097181, 0, 0, 2097182, 0, 0, 2097183, 0, 0, 2097184, 0, 0, 2097185, 0, 0, 2097186, 0, 0, 2097187, 0, 0, 2097188, 0, 0, 2097189, 0, 0, 2097190, 0, 0, 2097191, 0, 0, 2097192, 0, 0, 2097193, 0, 0, 2097194, 0, 0, 2097195, 0, 0, 2097196, 0, 0, 2097197, 0, 0, 2097198, 0, 0, 2097199, 0, 0, 2097200, 0, 0, 2097201, 0, 0, 2097202, 0, 0, 2097203, 0, 0, 2097204, 0, 0, 2097205, 0, 0, 2097206, 1, 0, 2097207, 0, 0, 2097208, 0, 0, 2097209, 0, 0, 2097210, 0, 0, 2097211, 0, 0, 2162688, 0, 0, 2162689, 0, 0, 2162690, 0, 0, 2162691, 0, 0, 2162692, 0, 0, 2162693, 0, 0, 2162694, 0, 0, 2162695, 0, 0, 2162696, 0, 0, 2162697, 0, 0, 2162698, 0, 0, 2162699, 0, 0, 2162700, 0, 0, 2162701, 0, 0, 2162702, 0, 0, 2162703, 0, 0, 2162704, 0, 0, 2162705, 0, 0, 2162706, 0, 0, 2162707, 0, 0, 2162708, 0, 0, 2162709, 0, 0, 2162710, 0, 0, 2162711, 0, 0, 2162712, 0, 0, 2162713, 0, 0, 2162714, 0, 0, 2162715, 0, 0, 2162716, 0, 0, 2162717, 0, 0, 2162718, 0, 0, 2162719, 0, 0, 2162720, 0, 0, 2162721, 0, 0, 2162722, 0, 0, 2162723, 0, 0, 2162724, 0, 0, 2162725, 0, 0, 2162726, 0, 0, 2162727, 0, 0, 2162728, 0, 0, 2162729, 0, 0, 2162730, 0, 0, 2162731, 0, 0, 2162732, 0, 0, 2162733, 0, 0, 2162734, 0, 0, 2162735, 0, 0, 2162736, 0, 0, 2162737, 0, 0, 2162738, 0, 0, 2162739, 0, 0, 2162740, 0, 0, 2162741, 0, 0, 2162742, 1, 0, 2162743, 0, 0, 2162744, 0, 0, 2162745, 0, 0, 2162746, 0, 0, 2162747, 0, 0, 2228224, 0, 0, 2228225, 0, 0, 2228226, 0, 0, 2228227, 0, 0, 2228228, 0, 0, 2228229, 0, 0, 2228230, 0, 0, 2228231, 0, 0, 2228232, 0, 0, 2228233, 0, 0, 2228234, 0, 0, 2228235, 0, 0, 2228236, 0, 0, 2228237, 0, 0, 2228238, 0, 0, 2228239, 0, 0, 2228240, 0, 0, 2228241, 0, 0, 2228242, 0, 0, 2228243, 0, 0, 2228244, 0, 0, 2228245, 0, 0, 2228246, 0, 0, 2228247, 0, 0, 2228248, 0, 0, 2228249, 0, 0, 2228250, 0, 0, 2228251, 0, 0, 2228252, 0, 0, 2228253, 0, 0, 2228254, 0, 0, 2228255, 0, 0, 2228256, 0, 0, 2228257, 0, 0, 2228258, 0, 0, 2228259, 0, 0, 2228260, 0, 0, 2228261, 0, 0, 2228262, 0, 0, 2228263, 0, 0, 2228264, 0, 0, 2228265, 0, 0, 2228266, 0, 0, 2228267, 0, 0, 2228268, 0, 0, 2228269, 0, 0, 2228270, 0, 0, 2228271, 0, 0, 2228272, 0, 0, 2228273, 0, 0, 2228274, 0, 0, 2228275, 0, 0, 2228276, 0, 0, 2228277, 0, 0, 2228278, 1, 0, 2228279, 0, 0, 2228280, 0, 0, 2228281, 0, 0, 2228282, 0, 0, 2228283, 0, 0, 2293760, 0, 0, 2293761, 0, 0, 2293762, 0, 0, 2293763, 0, 0, 2293764, 0, 0, 2293765, 0, 0, 2293766, 0, 0, 2293767, 0, 0, 2293768, 0, 0, 2293769, 0, 0, 2293770, 0, 0, 2293771, 0, 0, 2293772, 0, 0, 2293773, 0, 0, 2293774, 0, 0, 2293775, 0, 0, 2293776, 0, 0, 2293777, 0, 0, 2293778, 0, 0, 2293779, 0, 0, 2293780, 0, 0, 2293781, 0, 0, 2293782, 0, 0, 2293783, 0, 0, 2293784, 0, 0, 2293785, 0, 0, 2293786, 0, 0, 2293787, 0, 0, 2293788, 0, 0, 2293789, 0, 0, 2293790, 0, 0, 2293791, 0, 0, 2293792, 0, 0, 2293793, 0, 0, 2293794, 0, 0, 2293795, 0, 0, 2293796, 0, 0, 2293797, 0, 0, 2293798, 0, 0, 2293799, 0, 0, 2293800, 0, 0, 2293801, 0, 0, 2293802, 0, 0, 2293803, 0, 0, 2293804, 0, 0, 2293805, 0, 0, 2293806, 0, 0, 2293807, 0, 0, 2293808, 0, 0, 2293809, 0, 0, 2293810, 0, 0, 2293811, 0, 0, 2293812, 0, 0, 2293813, 0, 0, 2293814, 1, 0, 2293815, 0, 0, 2293816, 0, 0, 2293817, 0, 0, 2293818, 0, 0, 2293819, 0, 0, 2359296, 0, 0, 2359297, 0, 0, 2359298, 0, 0, 2359299, 0, 0, 2359300, 0, 0, 2359301, 0, 0, 2359302, 0, 0, 2359303, 0, 0, 2359304, 0, 0, 2359305, 0, 0, 2359306, 0, 0, 2359307, 0, 0, 2359308, 0, 0, 2359309, 0, 0, 2359310, 0, 0, 2359311, 0, 0, 2359312, 0, 0, 2359313, 0, 0, 2359314, 0, 0, 2359315, 0, 0, 2359316, 0, 0, 2359317, 0, 0, 2359318, 0, 0, 2359319, 0, 0, 2359320, 0, 0, 2359321, 0, 0, 2359322, 0, 0, 2359323, 0, 0, 2359324, 0, 0, 2359325, 0, 0, 2359326, 0, 0, 2359327, 0, 0, 2359328, 0, 0, 2359329, 0, 0, 2359330, 0, 0, 2359331, 0, 0, 2359332, 0, 0, 2359333, 0, 0, 2359334, 0, 0, 2359335, 0, 0, 2359336, 0, 0, 2359337, 0, 0, 2359338, 0, 0, 2359339, 0, 0, 2359340, 0, 0, 2359341, 0, 0, 2359342, 0, 0, 2359343, 0, 0, 2359344, 0, 0, 2359345, 0, 0, 2359346, 0, 0, 2359347, 0, 0, 2359348, 0, 0, 2359349, 0, 0, 2359350, 1, 0, 2359351, 0, 0, 2359352, 0, 0, 2359353, 0, 0, 2359354, 0, 0, 2359355, 0, 0, 2424832, 0, 0, 2424833, 0, 0, 2424834, 0, 0, 2424835, 0, 0, 2424836, 0, 0, 2424837, 0, 0, 2424838, 0, 0, 2424839, 0, 0, 2424840, 0, 0, 2424841, 0, 0, 2424842, 0, 0, 2424843, 0, 0, 2424844, 0, 0, 2424845, 0, 0, 2424846, 0, 0, 2424847, 0, 0, 2424848, 0, 0, 2424849, 0, 0, 2424850, 0, 0, 2424851, 0, 0, 2424852, 0, 0, 2424853, 0, 0, 2424854, 0, 0, 2424855, 0, 0, 2424856, 0, 0, 2424857, 0, 0, 2424858, 0, 0, 2424859, 0, 0, 2424860, 0, 0, 2424861, 0, 0, 2424862, 0, 0, 2424863, 0, 0, 2424864, 0, 0, 2424865, 0, 0, 2424866, 0, 0, 2424867, 0, 0, 2424868, 0, 0, 2424869, 0, 0, 2424870, 0, 0, 2424871, 0, 0, 2424872, 0, 0, 2424873, 0, 0, 2424874, 0, 0, 2424875, 0, 0, 2424876, 0, 0, 2424877, 0, 0, 2424878, 0, 0, 2424879, 0, 0, 2424880, 0, 0, 2424881, 0, 0, 2424882, 0, 0, 2424883, 0, 0, 2424884, 0, 0, 2424885, 0, 0, 2424886, 1, 0, 2424887, 0, 0, 2424888, 0, 0, 2424889, 0, 0, 2424890, 0, 0, 2424891, 0, 0, 2490368, 3, 0, 2490369, 3, 0, 2490370, 3, 0, 2490371, 3, 0, 2490372, 3, 0, 2490373, 3, 0, 2490374, 3, 0, 2490375, 3, 0, 2490376, 3, 0, 2490377, 3, 0, 2490378, 3, 0, 2490379, 3, 0, 2490380, 3, 0, 2490381, 3, 0, 2490382, 3, 0, 2490383, 3, 0, 2490384, 3, 0, 2490385, 3, 0, 2490386, 3, 0, 2490387, 3, 0, 2490388, 3, 0, 2490389, 3, 0, 2490390, 3, 0, 2490391, 3, 0, 2490392, 3, 0, 2490393, 3, 0, 2490394, 3, 0, 2490395, 3, 0, 2490396, 3, 0, 2490397, 3, 0, 2490398, 3, 0, 2490399, 3, 0, 2490400, 3, 0, 2490401, 3, 0, 2490402, 3, 0, 2490403, 3, 0, 2490404, 3, 0, 2490405, 3, 0, 2490406, 3, 0, 2490407, 3, 0, 2490408, 3, 0, 2490409, 3, 0, 2490410, 3, 0, 2490411, 3, 0, 2490412, 3, 0, 2490413, 3, 0, 2490414, 3, 0, 2490415, 3, 0, 2490416, 3, 0, 2490417, 3, 0, 2490418, 3, 0, 2490419, 3, 0, 2490420, 3, 0, 2490421, 3, 0, 2490422, 4, 0, 2490423, 3, 0, 2490424, 3, 0, 2490425, 3, 0, 2490426, 3, 0, 2490427, 3, 0, 2555904, 0, 0, 2555905, 0, 0, 2555906, 0, 0, 2555907, 0, 0, 2555908, 0, 0, 2555909, 0, 0, 2555910, 0, 0, 2555911, 0, 0, 2555912, 0, 0, 2555913, 0, 0, 2555914, 0, 0, 2555915, 0, 0, 2555916, 0, 0, 2555917, 0, 0, 2555918, 0, 0, 2555919, 0, 0, 2555920, 0, 0, 2555921, 0, 0, 2555922, 0, 0, 2555923, 0, 0, 2555924, 0, 0, 2555925, 0, 0, 2555926, 0, 0, 2555927, 0, 0, 2555928, 0, 0, 2555929, 0, 0, 2555930, 0, 0, 2555931, 0, 0, 2555932, 0, 0, 2555933, 0, 0, 2555934, 0, 0, 2555935, 0, 0, 2555936, 0, 0, 2555937, 0, 0, 2555938, 0, 0, 2555939, 0, 0, 2555940, 0, 0, 2555941, 0, 0, 2555942, 0, 0, 2555943, 0, 0, 2555944, 0, 0, 2555945, 0, 0, 2555946, 0, 0, 2555947, 0, 0, 2555948, 0, 0, 2555949, 0, 0, 2555950, 0, 0, 2555951, 0, 0, 2555952, 0, 0, 2555953, 0, 0, 2555954, 0, 0, 2555955, 0, 0, 2555956, 0, 0, 2555957, 0, 0, 2555958, 1, 0, 2555959, 0, 0, 2555960, 0, 0, 2555961, 0, 0, 2555962, 0, 0, 2555963, 0, 0, 2621440, 0, 0, 2621441, 0, 0, 2621442, 0, 0, 2621443, 0, 0, 2621444, 0, 0, 2621445, 0, 0, 2621446, 0, 0, 2621447, 0, 0, 2621448, 0, 0, 2621449, 0, 0, 2621450, 0, 0, 2621451, 0, 0, 2621452, 0, 0, 2621453, 0, 0, 2621454, 0, 0, 2621455, 0, 0, 2621456, 0, 0, 2621457, 0, 0, 2621458, 0, 0, 2621459, 0, 0, 2621460, 0, 0, 2621461, 0, 0, 2621462, 0, 0, 2621463, 0, 0, 2621464, 0, 0, 2621465, 0, 0, 2621466, 0, 0, 2621467, 0, 0, 2621468, 0, 0, 2621469, 0, 0, 2621470, 0, 0, 2621471, 0, 0, 2621472, 0, 0, 2621473, 0, 0, 2621474, 0, 0, 2621475, 0, 0, 2621476, 0, 0, 2621477, 0, 0, 2621478, 0, 0, 2621479, 0, 0, 2621480, 0, 0, 2621481, 0, 0, 2621482, 0, 0, 2621483, 0, 0, 2621484, 0, 0, 2621485, 0, 0, 2621486, 0, 0, 2621487, 0, 0, 2621488, 0, 0, 2621489, 0, 0, 2621490, 0, 0, 2621491, 0, 0, 2621492, 0, 0, 2621493, 0, 0, 2621494, 1, 0, 2621495, 0, 0, 2621496, 0, 0, 2621497, 0, 0, 2621498, 0, 0, 2621499, 0, 0, 2686976, 0, 0, 2686977, 0, 0, 2686978, 0, 0, 2686979, 0, 0, 2686980, 0, 0, 2686981, 0, 0, 2686982, 0, 0, 2686983, 0, 0, 2686984, 0, 0, 2686985, 0, 0, 2686986, 0, 0, 2686987, 0, 0, 2686988, 0, 0, 2686989, 0, 0, 2686990, 0, 0, 2686991, 0, 0, 2686992, 0, 0, 2686993, 0, 0, 2686994, 0, 0, 2686995, 0, 0, 2686996, 0, 0, 2686997, 0, 0, 2686998, 0, 0, 2686999, 0, 0, 2687000, 0, 0, 2687001, 0, 0, 2687002, 0, 0, 2687003, 0, 0, 2687004, 0, 0, 2687005, 0, 0, 2687006, 0, 0, 2687007, 0, 0, 2687008, 0, 0, 2687009, 0, 0, 2687010, 0, 0, 2687011, 0, 0, 2687012, 0, 0, 2687013, 0, 0, 2687014, 0, 0, 2687015, 0, 0, 2687016, 0, 0, 2687017, 0, 0, 2687018, 0, 0, 2687019, 0, 0, 2687020, 0, 0, 2687021, 0, 0, 2687022, 0, 0, 2687023, 0, 0, 2687024, 0, 0, 2687025, 0, 0, 2687026, 0, 0, 2687027, 0, 0, 2687028, 0, 0, 2687029, 0, 0, 2687030, 1, 0, 2687031, 0, 0, 2687032, 0, 0, 2687033, 0, 0, 2687034, 0, 0, 2687035, 0, 0, 2752512, 0, 0, 2752513, 0, 0, 2752514, 0, 0, 2752515, 0, 0, 2752516, 0, 0, 2752517, 0, 0, 2752518, 0, 0, 2752519, 0, 0, 2752520, 0, 0, 2752521, 0, 0, 2752522, 0, 0, 2752523, 0, 0, 2752524, 0, 0, 2752525, 0, 0, 2752526, 0, 0, 2752527, 0, 0, 2752528, 0, 0, 2752529, 0, 0, 2752530, 0, 0, 2752531, 0, 0, 2752532, 0, 0, 2752533, 0, 0, 2752534, 0, 0, 2752535, 0, 0, 2752536, 0, 0, 2752537, 0, 0, 2752538, 0, 0, 2752539, 0, 0, 2752540, 0, 0, 2752541, 0, 0, 2752542, 0, 0, 2752543, 0, 0, 2752544, 0, 0, 2752545, 0, 0, 2752546, 0, 0, 2752547, 0, 0, 2752548, 0, 0, 2752549, 0, 0, 2752550, 0, 0, 2752551, 0, 0, 2752552, 0, 0, 2752553, 0, 0, 2752554, 0, 0, 2752555, 0, 0, 2752556, 0, 0, 2752557, 0, 0, 2752558, 0, 0, 2752559, 0, 0, 2752560, 0, 0, 2752561, 0, 0, 2752562, 0, 0, 2752563, 0, 0, 2752564, 0, 0, 2752565, 0, 0, 2752566, 1, 0, 2752567, 0, 0, 2752568, 0, 0, 2752569, 0, 0, 2752570, 0, 0, 2752571, 0, 0, 2818048, 0, 0, 2818049, 0, 0, 2818050, 0, 0, 2818051, 0, 0, 2818052, 0, 0, 2818053, 0, 0, 2818054, 0, 0, 2818055, 0, 0, 2818056, 0, 0, 2818057, 0, 0, 2818058, 0, 0, 2818059, 0, 0, 2818060, 0, 0, 2818061, 0, 0, 2818062, 0, 0, 2818063, 0, 0, 2818064, 0, 0, 2818065, 0, 0, 2818066, 0, 0, 2818067, 0, 0, 2818068, 0, 0, 2818069, 0, 0, 2818070, 0, 0, 2818071, 0, 0, 2818072, 0, 0, 2818073, 0, 0, 2818074, 0, 0, 2818075, 0, 0, 2818076, 0, 0, 2818077, 0, 0, 2818078, 0, 0, 2818079, 0, 0, 2818080, 0, 0, 2818081, 0, 0, 2818082, 0, 0, 2818083, 0, 0, 2818084, 0, 0, 2818085, 0, 0, 2818086, 0, 0, 2818087, 0, 0, 2818088, 0, 0, 2818089, 0, 0, 2818090, 0, 0, 2818091, 0, 0, 2818092, 0, 0, 2818093, 0, 0, 2818094, 0, 0, 2818095, 0, 0, 2818096, 0, 0, 2818097, 0, 0, 2818098, 0, 0, 2818099, 0, 0, 2818100, 0, 0, 2818101, 0, 0, 2818102, 1, 0, 2818103, 0, 0, 2818104, 0, 0, 2818105, 0, 0, 2818106, 0, 0, 2818107, 0, 0 ) + +[node name="Fluff" type="Area2D" parent="Landscape"] + +[node name="tree1" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 1121.64, 2949.6 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree2" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 1338.92, 2966.43 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree3" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 1465.93, 2778.22 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree4" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 1510.3, 2790.46 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree5" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 1944.87, 2631.33 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree6" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 2344.24, 2596.13 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree7" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 2428.4, 2446.18 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree8" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 2579.89, 2250.32 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree9" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 2942.54, 2236.54 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree10" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 3130.75, 2010.08 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree11" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 3644.88, 1941.22 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree12" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 3766.47, 1650.48 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree13" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 903.936, 3072.49 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree14" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 1073.1, 3207.29 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree15" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 1152.39, 3080.42 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree16" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 644.907, 3038.13 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree17" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 647.55, 2853.11 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree18" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 272.223, 2842.54 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree19" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 481.031, 2853.11 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree20" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 163.854, 2604.65 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree21" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 66.0569, 2699.81 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree22" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( -97.8184, 2480.43 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree23" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( -359.49, 2535.93 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree24" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( -37.0259, 2565.01 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree25" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( -533.938, 2242.54 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree26" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( -1028.21, 2176.46 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree27" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( -586.801, 2403.77 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree28" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( -1102.22, 1978.23 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree29" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( -1173.58, 2070.74 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree30" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( -1366.53, 1962.37 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree31" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( -1258.16, 1922.72 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree32" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( -1585.91, 1830.21 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree33" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( -1490.76, 1949.15 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree34" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( -1728.64, 1671.62 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree35" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( -2024.67, 1700.7 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree36" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( -1921.59, 1594.97 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree37" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( -2114.54, 1563.25 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree38" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( -2318.06, 1571.18 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree39" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( -2389.43, 1354.44 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree40" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 1812.34, 2767.34 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree41" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 2228.83, 2466.83 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree42" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 2724.4, 2335.03 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree43" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 3188.33, 2118.88 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="tree44" type="Sprite" parent="Landscape/Fluff"] +position = Vector2( 3441.39, 1802.56 ) +texture = ExtResource( 3 ) +offset = Vector2( 4, 4 ) + +[node name="MainCamera" type="Camera2D" parent="."] +position = Vector2( 901.653, 1291.88 ) +offset = Vector2( -100, -900 ) +current = true +zoom = Vector2( 1.5, 1.5 ) +script = ExtResource( 1 ) + +[node name="UI" type="CanvasLayer" parent="."] +script = ExtResource( 10 ) + +[node name="Dialogs" type="Node" parent="UI"] +script = ExtResource( 17 ) + +[node name="Josephine1" type="Node" parent="UI/Dialogs"] +script = ExtResource( 16 ) + +[node name="MainMenu" type="Control" parent="UI"] +margin_right = 40.0 +margin_bottom = 40.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SpeedOne" type="Button" parent="UI/MainMenu"] +margin_left = 44.741 +margin_top = 12.2021 +margin_right = 71.741 +margin_bottom = 32.2021 +text = "1x" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SpeedThree" type="Button" parent="UI/MainMenu"] +margin_left = 111.243 +margin_top = 11.7029 +margin_right = 138.243 +margin_bottom = 31.7029 +text = "3x" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SpeedTwo" type="Button" parent="UI/MainMenu"] +margin_left = 78.2968 +margin_top = 12.2021 +margin_right = 105.297 +margin_bottom = 32.2021 +text = "2x" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SpeedPause" type="Button" parent="UI/MainMenu"] +pause_mode = 2 +margin_left = 11.2957 +margin_top = 12.2021 +margin_right = 38.2957 +margin_bottom = 32.2021 +text = "||" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="RatingTitle" type="Label" parent="UI/MainMenu"] +anchor_top = 1.0 +anchor_bottom = 1.0 +margin_left = 1065.09 +margin_top = 992.045 +margin_right = 1183.09 +margin_bottom = 1031.05 +custom_fonts/font = SubResource( 1 ) +text = "Rating" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="RatingNumber" type="Label" parent="UI/MainMenu"] +margin_left = 1189.36 +margin_top = 1032.99 +margin_right = 1266.36 +margin_bottom = 1071.99 +custom_fonts/font = SubResource( 2 ) +text = "1" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PupilsTitle" type="Label" parent="UI/MainMenu"] +anchor_top = 1.0 +anchor_bottom = 1.0 +margin_left = 551.794 +margin_top = 990.417 +margin_right = 669.794 +margin_bottom = 1029.42 +custom_fonts/font = SubResource( 1 ) +text = "Pupils" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PupilsOutOf" type="Label" parent="UI/MainMenu"] +anchor_top = 1.0 +anchor_bottom = 1.0 +margin_left = 803.196 +margin_top = 993.475 +margin_right = 829.196 +margin_bottom = 1032.48 +custom_fonts/font = SubResource( 1 ) +text = "/" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PupilsNumber" type="Label" parent="UI/MainMenu"] +margin_left = 705.0 +margin_top = 1031.99 +margin_right = 793.0 +margin_bottom = 1070.99 +custom_fonts/font = SubResource( 2 ) +text = "1" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PupilsMax" type="Label" parent="UI/MainMenu"] +margin_left = 832.748 +margin_top = 1033.28 +margin_right = 920.748 +margin_bottom = 1072.28 +custom_fonts/font = SubResource( 2 ) +text = "1" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="FundsTitle" type="Label" parent="UI/MainMenu"] +anchor_left = 0.000830491 +anchor_top = 1.0 +anchor_right = 0.000830491 +anchor_bottom = 1.0 +margin_left = 1.02981 +margin_top = 994.99 +margin_right = 138.03 +margin_bottom = 1033.99 +custom_fonts/font = SubResource( 1 ) +text = "Funds £" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="FundsNumber" type="Label" parent="UI/MainMenu"] +margin_left = 143.364 +margin_top = 1035.68 +margin_right = 397.364 +margin_bottom = 1074.68 +custom_fonts/font = SubResource( 2 ) +text = "1" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="YearTitle" type="Label" parent="UI/MainMenu"] +margin_left = 1491.56 +margin_top = 5.63832 +margin_right = 1516.56 +margin_bottom = 44.6383 +custom_colors/font_color = Color( 0.717647, 0.717647, 0.717647, 1 ) +custom_fonts/font = SubResource( 1 ) +text = "Y" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="YearNumber" type="Label" parent="UI/MainMenu"] +margin_left = 1512.48 +margin_top = 5.73901 +margin_right = 1552.48 +margin_bottom = 44.739 +custom_fonts/font = SubResource( 2 ) +text = "1" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="WeekNumber" type="Label" parent="UI/MainMenu"] +margin_left = 1819.99 +margin_top = 6.79897 +margin_right = 1859.99 +margin_bottom = 45.799 +custom_fonts/font = SubResource( 2 ) +text = "1" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="MonthNumber" type="Label" parent="UI/MainMenu"] +margin_left = 1746.38 +margin_top = 7.00455 +margin_right = 1786.38 +margin_bottom = 46.0045 +custom_fonts/font = SubResource( 2 ) +text = "1" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SeasonTitle" type="Label" parent="UI/MainMenu"] +margin_left = 1545.48 +margin_top = 5.72328 +margin_right = 1569.48 +margin_bottom = 44.7233 +custom_colors/font_color = Color( 0.717647, 0.717647, 0.717647, 1 ) +custom_fonts/font = SubResource( 3 ) +text = "S" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SeasonNumber" type="Label" parent="UI/MainMenu"] +anchor_bottom = 0.0930556 +margin_left = 1575.45 +margin_top = 6.19207 +margin_right = 1710.44 +margin_bottom = 41.4698 +custom_fonts/font = SubResource( 4 ) +text = "Autumn" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="DayTitle" type="Label" parent="UI/MainMenu"] +margin_left = 1857.98 +margin_top = 7.40338 +margin_right = 1883.98 +margin_bottom = 46.4034 +custom_colors/font_color = Color( 0.717647, 0.717647, 0.717647, 1 ) +custom_fonts/font = SubResource( 5 ) +text = "D" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="WeekTitle" type="Label" parent="UI/MainMenu"] +margin_left = 1785.38 +margin_top = 7.00455 +margin_right = 1822.38 +margin_bottom = 46.0045 +custom_colors/font_color = Color( 0.717647, 0.717647, 0.717647, 1 ) +custom_fonts/font = SubResource( 5 ) +text = "W" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="MonthTitle" type="Label" parent="UI/MainMenu"] +margin_left = 1718.98 +margin_top = 7.00455 +margin_right = 1750.98 +margin_bottom = 46.0045 +custom_colors/font_color = Color( 0.717647, 0.717647, 0.717647, 1 ) +custom_fonts/font = SubResource( 5 ) +text = "M" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="DayNumber" type="Label" parent="UI/MainMenu"] +anchor_left = 0.5 +anchor_right = 0.5 +margin_left = 1854.02 +margin_top = 7.23196 +margin_right = 1894.02 +margin_bottom = 46.232 +custom_fonts/font = SubResource( 6 ) +text = "1" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Bars" type="Control" parent="UI/MainMenu"] +margin_right = 40.0 +margin_bottom = 40.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PupilBar" type="ProgressBar" parent="UI/MainMenu/Bars"] +margin_left = 1784.6 +margin_top = 1061.48 +margin_right = 1908.6 +margin_bottom = 1080.48 +rect_rotation = 270.0 +custom_styles/fg = SubResource( 7 ) +percent_visible = false +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TeacherBar" type="ProgressBar" parent="UI/MainMenu/Bars"] +margin_left = 1821.78 +margin_top = 1061.23 +margin_right = 1945.78 +margin_bottom = 1080.23 +rect_rotation = 270.0 +custom_styles/fg = SubResource( 7 ) +percent_visible = false +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PBar" type="Label" parent="UI/MainMenu/Bars"] +anchor_top = 1.0 +anchor_bottom = 1.0 +margin_left = 1783.85 +margin_top = 849.524 +margin_right = 1807.85 +margin_bottom = 888.524 +custom_fonts/font = SubResource( 1 ) +text = "P" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TBar" type="Label" parent="UI/MainMenu/Bars"] +anchor_top = 1.0 +anchor_bottom = 1.0 +margin_left = 1821.95 +margin_top = 849.524 +margin_right = 1845.95 +margin_bottom = 888.524 +custom_fonts/font = SubResource( 1 ) +text = "T" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Line2D" type="Line2D" parent="UI/MainMenu/Bars"] +points = PoolVector2Array( 1773.2, 998.934, 1851.95, 998.934 ) +width = 4.0 + +[node name="PausedRect" type="ColorRect" parent="UI"] +visible = false +margin_right = 1280.0 +margin_bottom = 720.0 +color = Color( 0.666667, 0.666667, 0.666667, 0.458824 ) +__meta__ = { +"_edit_group_": true, +"_edit_use_anchors_": false +} + +[node name="BuildMenu" type="Control" parent="UI"] +visible = false +margin_left = 80.0 +margin_top = 80.0 +margin_right = 1200.0 +margin_bottom = 600.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ColorRect" type="ColorRect" parent="UI/BuildMenu"] +anchor_right = 1.0 +anchor_bottom = 1.0 +color = Color( 0.219608, 0.219608, 0.219608, 0.603922 ) +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="BuildMenuClose" type="Button" parent="UI/BuildMenu"] +margin_left = 773.236 +margin_top = 6.58759 +margin_right = 793.236 +margin_bottom = 26.5876 +text = "X" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ClassroomButton" type="Button" parent="UI/BuildMenu"] +margin_left = 13.0098 +margin_top = 12.0805 +margin_right = 345.01 +margin_bottom = 259.081 +rect_scale = Vector2( 0.3, 0.3 ) +icon = ExtResource( 8 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ClassroomLabel" type="Label" parent="UI/BuildMenu"] +margin_left = 29.5048 +margin_top = 90.973 +margin_right = 96.5048 +margin_bottom = 104.973 +text = "Classroom" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ClassroomCost" type="Label" parent="UI/BuildMenu"] +margin_left = 30.3244 +margin_top = 108.184 +margin_right = 97.3244 +margin_bottom = 122.184 +text = "Classroom" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="StaffroomButton" type="Button" parent="UI/BuildMenu"] +margin_left = 139.403 +margin_top = 36.9557 +margin_right = 215.403 +margin_bottom = 56.9557 +text = "StaffRoom" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="CPDRoomButton" type="Button" parent="UI/BuildMenu"] +margin_left = 270.385 +margin_top = 36.9557 +margin_right = 346.385 +margin_bottom = 56.9557 +text = "CPDRoom" + +[node name="DebugMenu" type="Control" parent="UI"] +visible = false +margin_left = 80.0 +margin_top = 80.0 +margin_right = 1200.0 +margin_bottom = 600.0 +script = ExtResource( 14 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ColorRect" type="ColorRect" parent="UI/DebugMenu"] +anchor_right = 1.0 +anchor_bottom = 1.0 +color = Color( 0, 0.788235, 0.603922, 0.352941 ) +__meta__ = { +"_edit_group_": true, +"_edit_use_anchors_": false +} + +[node name="DebugMenuClose" type="Button" parent="UI/DebugMenu"] +margin_left = 1072.25 +margin_top = 7.03862 +margin_right = 1092.25 +margin_bottom = 27.0386 +text = "X" + +[node name="ClassroomTitle" type="Label" parent="UI/DebugMenu"] +margin_left = 135.302 +margin_top = 15.1658 +margin_right = 209.302 +margin_bottom = 29.1658 +text = "Classrooms" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TeacherTitle" type="Label" parent="UI/DebugMenu"] +margin_left = 257.278 +margin_top = 14.2487 +margin_right = 331.278 +margin_bottom = 28.2487 +text = "Teachers" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PupilsTitle" type="Label" parent="UI/DebugMenu"] +margin_left = 28.4304 +margin_top = 16.508 +margin_right = 74.4304 +margin_bottom = 30.508 +text = "Pupils" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TestTimer" type="Label" parent="UI/DebugMenu"] +visible = false +margin_left = 9.08185 +margin_top = 479.06 +margin_right = 127.082 +margin_bottom = 495.06 +custom_fonts/font = SubResource( 8 ) +text = "BLAHBLAHBLAH" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PupilsLabel" type="Label" parent="UI/DebugMenu"] +margin_left = 41.0 +margin_top = 44.0 +margin_right = 81.0 +margin_bottom = 58.0 +text = "0" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ClassroomLabel" type="Label" parent="UI/DebugMenu"] +margin_left = 168.249 +margin_top = 40.7156 +margin_right = 208.249 +margin_bottom = 54.7156 +text = "0" + +[node name="TeacherLabel" type="Label" parent="UI/DebugMenu"] +margin_left = 279.35 +margin_top = 36.7806 +margin_right = 319.35 +margin_bottom = 50.7806 +text = "0" + +[node name="AddMoney" type="Button" parent="UI/DebugMenu"] +margin_left = 25.0719 +margin_top = 162.535 +margin_right = 114.072 +margin_bottom = 182.535 +text = "Add 100000" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="StaffroomLabel" type="Label" parent="UI/DebugMenu"] +margin_left = 16.6129 +margin_top = 101.285 +margin_right = 83.6129 +margin_bottom = 115.285 +text = "Staffroom?" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="CPDRoomLabel" type="Label" parent="UI/DebugMenu"] +margin_left = 260.448 +margin_top = 100.213 +margin_right = 327.448 +margin_bottom = 114.213 +text = "CPDRoom?" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PupilAchievement" type="Label" parent="UI/DebugMenu"] +margin_left = 15.1453 +margin_top = 382.196 +margin_right = 136.145 +margin_bottom = 396.196 +rect_pivot_offset = Vector2( 82.1791, 31.818 ) +text = "Pupil Achievement" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TeacherAchievement" type="Label" parent="UI/DebugMenu"] +margin_left = 559.485 +margin_top = 378.632 +margin_right = 680.485 +margin_bottom = 392.632 +rect_pivot_offset = Vector2( 82.1791, 31.818 ) +text = "Teacher Achievement" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TeacherAchievementNumber" type="Label" parent="UI/DebugMenu"] +margin_left = 718.212 +margin_top = 380.414 +margin_right = 839.212 +margin_bottom = 394.414 +text = "0" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TeacherEnjoymentNumber" type="Label" parent="UI/DebugMenu"] +margin_left = 718.212 +margin_top = 398.414 +margin_right = 839.212 +margin_bottom = 412.414 +text = "0" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TeacherWellbeingNumber" type="Label" parent="UI/DebugMenu"] +margin_left = 718.212 +margin_top = 417.414 +margin_right = 839.212 +margin_bottom = 431.414 +text = "0" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TeacherEnjoyment" type="Label" parent="UI/DebugMenu"] +margin_left = 559.485 +margin_top = 395.632 +margin_right = 698.485 +margin_bottom = 409.632 +rect_pivot_offset = Vector2( 82.1791, 31.818 ) +text = "Teacher Enjoyment" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TeacherWellbeing" type="Label" parent="UI/DebugMenu"] +margin_left = 559.485 +margin_top = 412.632 +margin_right = 698.485 +margin_bottom = 426.632 +rect_pivot_offset = Vector2( 82.1791, 31.818 ) +text = "Teacher Wellbeing" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PupilAchievementNumber" type="Label" parent="UI/DebugMenu"] +margin_left = 156.798 +margin_top = 382.196 +margin_right = 277.798 +margin_bottom = 396.196 +text = "0" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PupilEnjoymentNumber" type="Label" parent="UI/DebugMenu"] +margin_left = 156.798 +margin_top = 400.014 +margin_right = 277.798 +margin_bottom = 414.014 +text = "0" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PupilWellbeingNumber" type="Label" parent="UI/DebugMenu"] +margin_left = 156.798 +margin_top = 419.613 +margin_right = 277.798 +margin_bottom = 433.613 +text = "0" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PupilEnjoyment" type="Label" parent="UI/DebugMenu"] +margin_left = 16.0362 +margin_top = 398.232 +margin_right = 137.036 +margin_bottom = 412.232 +text = "Pupil Enjoyment" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PupilWellbeing" type="Label" parent="UI/DebugMenu"] +margin_left = 16.0362 +margin_top = 416.941 +margin_right = 137.036 +margin_bottom = 430.941 +text = "Pupil Wellbeing" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PupilTotalScoreNumber" type="Label" parent="UI/DebugMenu"] +margin_left = 458.813 +margin_top = 380.413 +margin_right = 579.813 +margin_bottom = 394.413 +text = "0" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TeacherTotalScoreNumber" type="Label" parent="UI/DebugMenu"] +margin_left = 458.813 +margin_top = 399.122 +margin_right = 579.813 +margin_bottom = 413.122 +text = "0" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PupilTotalScore" type="Label" parent="UI/DebugMenu"] +margin_left = 359.924 +margin_top = 379.523 +margin_right = 480.924 +margin_bottom = 393.523 +text = "Pupil Total" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TeacherTotalScore" type="Label" parent="UI/DebugMenu"] +margin_left = 358.924 +margin_top = 398.232 +margin_right = 479.924 +margin_bottom = 412.232 +text = "Teacher Total" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="BudgetMenu" type="Control" parent="UI"] +visible = false +margin_left = 80.0 +margin_top = 80.0 +margin_right = 1200.0 +margin_bottom = 600.0 +script = ExtResource( 4 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ColorRect" type="ColorRect" parent="UI/BudgetMenu"] +anchor_right = 1.0 +anchor_bottom = 1.0 +color = Color( 0.380392, 0.380392, 0.380392, 0.670588 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="BudgetMenuClose" type="Button" parent="UI/BudgetMenu"] +margin_left = 1070.7 +margin_top = 6.77661 +margin_right = 1090.7 +margin_bottom = 26.7766 +text = "X" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Label" type="Label" parent="UI/BudgetMenu"] +margin_left = 7.13458 +margin_top = 7.13461 +margin_right = 156.135 +margin_bottom = 21.1346 +text = "Monthly Expenditures / Income:" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="BuildingCost" type="Label" parent="UI/BudgetMenu"] +margin_left = 13.3773 +margin_top = 53.5095 +margin_right = 151.377 +margin_bottom = 67.5095 +text = "Building Maintenance" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="BuildingCostNumber" type="Label" parent="UI/BudgetMenu"] +margin_left = 199.769 +margin_top = 55.2932 +margin_right = 337.769 +margin_bottom = 69.2932 +custom_colors/font_color = Color( 1, 0, 0, 1 ) +text = "000000" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TeacherCostNumber" type="Label" parent="UI/BudgetMenu"] +margin_left = 199.8 +margin_top = 71.0734 +margin_right = 337.8 +margin_bottom = 85.0734 +custom_colors/font_color = Color( 1, 0, 0, 1 ) +text = "000000" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PupilIncomeNumber" type="Label" parent="UI/BudgetMenu"] +margin_left = 200.664 +margin_top = 86.7446 +margin_right = 338.664 +margin_bottom = 100.745 +custom_colors/font_color = Color( 0.290196, 1, 0, 1 ) +text = "000000" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PolicyCostNumber" type="Label" parent="UI/BudgetMenu"] +margin_left = 201.143 +margin_top = 103.218 +margin_right = 339.143 +margin_bottom = 117.218 +custom_colors/font_color = Color( 1, 0, 0, 1 ) +text = "000000" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TeacherCost" type="Label" parent="UI/BudgetMenu"] +margin_left = 13.3773 +margin_top = 70.9452 +margin_right = 151.377 +margin_bottom = 84.9452 +text = "Teacher Salaries" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PupilIncome" type="Label" parent="UI/BudgetMenu"] +margin_left = 15.1064 +margin_top = 87.8898 +margin_right = 153.106 +margin_bottom = 101.89 +text = "Pupil Income" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PolicyCost" type="Label" parent="UI/BudgetMenu"] +margin_left = 15.1064 +margin_top = 103.915 +margin_right = 153.106 +margin_bottom = 117.915 +text = "Policy Cost" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Total" type="Label" parent="UI/BudgetMenu"] +margin_left = 13.8328 +margin_top = 416.713 +margin_right = 53.8328 +margin_bottom = 430.713 +text = "Total" + +[node name="TotalNumber" type="Label" parent="UI/BudgetMenu"] +margin_left = 95.965 +margin_top = 419.307 +margin_right = 143.965 +margin_bottom = 433.307 +text = "000000" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PolicyMenu" type="Control" parent="UI"] +visible = false +margin_left = 80.0 +margin_top = 80.0 +margin_right = 1200.0 +margin_bottom = 600.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ColorRect" type="ColorRect" parent="UI/PolicyMenu"] +anchor_right = 1.0 +anchor_bottom = 1.0 +color = Color( 1, 1, 1, 0.545098 ) + +[node name="ClosePolicyMenu" type="Button" parent="UI/PolicyMenu"] +margin_left = 1074.42 +margin_top = 4.68768 +margin_right = 1094.42 +margin_bottom = 24.6877 +text = "X" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ClassSize" type="Label" parent="UI/PolicyMenu"] +margin_left = 77.8231 +margin_top = 42.5336 +margin_right = 117.823 +margin_bottom = 56.5336 +text = "500" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ClassSizeLabel" type="Label" parent="UI/PolicyMenu"] +margin_left = 32.2943 +margin_top = 14.9771 +margin_right = 163.294 +margin_bottom = 28.9771 +text = "Maximum Class Size" + +[node name="ClassSizeLower" type="Button" parent="UI/PolicyMenu"] +margin_left = 53.3558 +margin_top = 38.3787 +margin_right = 70.3558 +margin_bottom = 58.3787 +text = "-" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ClassSizeRaise" type="Button" parent="UI/PolicyMenu"] +margin_left = 109.988 +margin_top = 39.3148 +margin_right = 129.988 +margin_bottom = 59.3148 +text = "+" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PrincipalMenu" type="Control" parent="UI"] +visible = false +margin_left = 80.0 +margin_top = 80.0 +margin_right = 1200.0 +margin_bottom = 600.0 +script = ExtResource( 12 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ColorRect" type="ColorRect" parent="UI/PrincipalMenu"] +anchor_right = 1.0 +anchor_bottom = 1.0 +color = Color( 0.254902, 0.254902, 0.254902, 0.745098 ) + +[node name="ClosePrincipalMenu" type="Button" parent="UI/PrincipalMenu"] +margin_left = 1073.76 +margin_top = 4.25082 +margin_right = 1093.76 +margin_bottom = 24.2508 +text = "X" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ChangeFace" type="Button" parent="UI/PrincipalMenu"] +margin_left = 175.819 +margin_top = 205.418 +margin_right = 262.819 +margin_bottom = 225.418 +text = "ChangeFace" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PrincipalPhoto" type="Sprite" parent="UI/PrincipalMenu"] +position = Vector2( 81.397, 217.763 ) +texture = ExtResource( 13 ) + +[node name="PrincipalNumLabel" type="Label" parent="UI/PrincipalMenu"] +margin_left = 67.0 +margin_top = 290.0 +margin_right = 107.0 +margin_bottom = 306.0 +text = "asdf" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="NameLine" type="LineEdit" parent="UI/PrincipalMenu"] +margin_left = 176.333 +margin_top = 175.256 +margin_right = 411.333 +margin_bottom = 199.256 +caret_blink = true +caret_blink_speed = 0.5 + +[node name="NameLineOK" type="Button" parent="UI/PrincipalMenu"] +margin_left = 417.124 +margin_top = 176.934 +margin_right = 448.124 +margin_bottom = 196.934 +text = "OK" + +[node name="SchoolNameLine" type="LineEdit" parent="UI/PrincipalMenu"] +margin_left = 615.0 +margin_top = 180.0 +margin_right = 868.0 +margin_bottom = 204.0 +caret_blink = true +caret_blink_speed = 0.5 + +[node name="SchoolNameTitle" type="Label" parent="UI/PrincipalMenu"] +margin_left = 618.208 +margin_top = 161.74 +margin_right = 706.208 +margin_bottom = 175.74 +text = "School Name:" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PrincipalName" type="Label" parent="UI/PrincipalMenu"] +margin_left = 178.513 +margin_top = 155.75 +margin_right = 279.513 +margin_bottom = 169.75 +text = "Principal Name:" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="SchoolNameOK" type="Button" parent="UI/PrincipalMenu"] +margin_left = 876.992 +margin_top = 180.91 +margin_right = 907.992 +margin_bottom = 200.91 +text = "OK" + +[node name="HRMenu" type="Control" parent="UI"] +visible = false +margin_left = 80.0 +margin_top = 80.0 +margin_right = 1200.0 +margin_bottom = 600.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ColorRect" type="ColorRect" parent="UI/HRMenu"] +anchor_right = 1.0 +anchor_bottom = 1.0 +color = Color( 0.188235, 0.188235, 0.188235, 1 ) + +[node name="CTTitle" type="Label" parent="UI/HRMenu"] +margin_left = 16.4102 +margin_top = 11.7216 +margin_right = 110.41 +margin_bottom = 25.7216 +text = "Class Teachers" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="CloseHRMenu" type="Button" parent="UI/HRMenu"] +margin_left = 1085.85 +margin_top = -5.19962 +margin_right = 1105.85 +margin_bottom = 14.8004 +text = "X" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="AddTeacher" type="Button" parent="UI/HRMenu"] +margin_left = 13.1025 +margin_top = 32.4662 +margin_right = 117.103 +margin_bottom = 52.4662 +text = "AddTeacher" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="InfoMenu" type="Control" parent="UI"] +visible = false +margin_left = 80.0 +margin_top = 80.0 +margin_right = 1200.0 +margin_bottom = 600.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ColorRect" type="ColorRect" parent="UI/InfoMenu"] +anchor_right = 1.0 +anchor_bottom = 1.0 +color = Color( 0.301961, 0.301961, 0.301961, 1 ) +__meta__ = { +"_edit_lock_": true +} + +[node name="InfoMenuClose" type="Button" parent="UI/InfoMenu"] +margin_left = 989.18 +margin_top = 4.71936 +margin_right = 1009.18 +margin_bottom = 24.7194 +text = "X" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PupilRegister" type="RichTextLabel" parent="UI/InfoMenu"] +margin_left = 49.8903 +margin_top = 83.7445 +margin_right = 440.89 +margin_bottom = 366.744 +text = "TEXTTEXTTEXT" + +[node name="Year1Label" type="Label" parent="UI/InfoMenu"] +margin_left = 572.849 +margin_top = 89.09 +margin_right = 667.849 +margin_bottom = 103.09 +text = "Year 1 # Pupils" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Year2Label" type="Label" parent="UI/InfoMenu"] +margin_left = 572.0 +margin_top = 106.017 +margin_right = 668.74 +margin_bottom = 120.017 +text = "Year 2 # Pupils" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Year3Label" type="Label" parent="UI/InfoMenu"] +margin_left = 572.0 +margin_top = 122.053 +margin_right = 668.74 +margin_bottom = 136.053 +text = "Year 3 # Pupils" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Year4Label" type="Label" parent="UI/InfoMenu"] +margin_left = 572.0 +margin_top = 139.871 +margin_right = 669.631 +margin_bottom = 153.871 +text = "Year 4 # Pupils" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Year5Label" type="Label" parent="UI/InfoMenu"] +margin_left = 572.0 +margin_top = 158.58 +margin_right = 670.522 +margin_bottom = 172.58 +text = "Year 5 # Pupils" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Year6Label" type="Label" parent="UI/InfoMenu"] +margin_left = 572.0 +margin_top = 178.18 +margin_right = 670.522 +margin_bottom = 192.18 +text = "Year 6 # Pupils" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Year7Label" type="Label" parent="UI/InfoMenu"] +margin_left = 572.0 +margin_top = 196.889 +margin_right = 672.303 +margin_bottom = 210.889 +text = "Year 7 # Pupils" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Year8Label" type="Label" parent="UI/InfoMenu"] +margin_left = 572.0 +margin_top = 214.707 +margin_right = 671.413 +margin_bottom = 228.707 +text = "Year 8 # Pupils" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Year1Number" type="Label" parent="UI/InfoMenu"] +margin_left = 685.102 +margin_top = 89.09 +margin_right = 780.102 +margin_bottom = 103.09 +text = "0" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Year2Number" type="Label" parent="UI/InfoMenu"] +margin_left = 685.102 +margin_top = 105.126 +margin_right = 780.102 +margin_bottom = 119.126 +text = "0" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Year3Number" type="Label" parent="UI/InfoMenu"] +margin_left = 685.993 +margin_top = 122.944 +margin_right = 780.993 +margin_bottom = 136.944 +text = "0" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Year4Number" type="Label" parent="UI/InfoMenu"] +margin_left = 685.993 +margin_top = 140.762 +margin_right = 780.993 +margin_bottom = 154.762 +text = "0" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Year5Number" type="Label" parent="UI/InfoMenu"] +margin_left = 686.884 +margin_top = 156.798 +margin_right = 781.884 +margin_bottom = 170.798 +text = "0" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Year6Number" type="Label" parent="UI/InfoMenu"] +margin_left = 686.884 +margin_top = 175.507 +margin_right = 781.884 +margin_bottom = 189.507 +text = "0" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Year7Number" type="Label" parent="UI/InfoMenu"] +margin_left = 685.993 +margin_top = 195.107 +margin_right = 780.993 +margin_bottom = 209.107 +text = "0" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Year8Number" type="Label" parent="UI/InfoMenu"] +margin_left = 685.993 +margin_top = 213.816 +margin_right = 780.993 +margin_bottom = 227.816 +text = "0" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="MenuButtons" type="Control" parent="UI"] +margin_left = 8.254 +margin_top = 43.1042 +margin_right = 48.254 +margin_bottom = 83.1042 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="DebugMenuOn" type="Button" parent="UI/MenuButtons"] +anchor_left = 0.295 +anchor_top = 1.008 +anchor_right = 0.295 +anchor_bottom = 1.008 +margin_left = -11.8 +margin_top = -40.32 +margin_right = 77.2 +margin_bottom = -20.32 +text = "DebugMenu" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="BuildMenuOn" type="Button" parent="UI/MenuButtons"] +margin_left = 97.1963 +margin_top = 0.537331 +margin_right = 178.196 +margin_bottom = 20.5373 +text = "BuildMenu" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="BudgetMenuOn" type="Button" parent="UI/MenuButtons"] +margin_left = 185.782 +margin_top = 1.26985 +margin_right = 278.782 +margin_bottom = 21.2699 +text = "BudgetMenu" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PolicyMenuOn" type="Button" parent="UI/MenuButtons"] +margin_left = 287.167 +margin_top = 1.61415 +margin_right = 373.167 +margin_bottom = 21.6142 +text = "PolicyMenu" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PrincipalMenuOn" type="Button" parent="UI/MenuButtons"] +margin_left = 380.541 +margin_top = 2.37465 +margin_right = 483.541 +margin_bottom = 22.3747 +text = "PrincipalMenu" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HRMenuButton" type="Button" parent="UI/MenuButtons"] +margin_left = 493.067 +margin_top = 2.37467 +margin_right = 596.067 +margin_bottom = 22.3747 +text = "HRMenu" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="InfoButton" type="Button" parent="UI/MenuButtons"] +margin_left = 603.136 +margin_top = 1.88774 +margin_right = 640.136 +margin_bottom = 21.8877 +text = "Info" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="DialoguePopup" type="Popup" parent="UI"] +pause_mode = 2 +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 0.5 +anchor_bottom = 1.0 +margin_left = -591.0 +margin_top = -333.0 +margin_right = 591.0 +margin_bottom = -25.0 +popup_exclusive = true +script = ExtResource( 15 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="DialogBox" type="ColorRect" parent="UI/DialoguePopup"] +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="NameBox" type="ColorRect" parent="UI/DialoguePopup/DialogBox"] +margin_left = 60.5675 +margin_top = -23.2728 +margin_right = 393.568 +margin_bottom = 19.7272 +color = Color( 0.713726, 0.713726, 0.713726, 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="NPCName" type="Label" parent="UI/DialoguePopup/DialogBox/NameBox"] +margin_left = 7.0 +margin_top = 8.0 +margin_right = 329.0 +margin_bottom = 34.0 +custom_colors/font_color = Color( 0.0627451, 0, 0.509804, 1 ) +custom_fonts/font = SubResource( 9 ) +text = "Name" +align = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Dialogue" type="Label" parent="UI/DialoguePopup/DialogBox"] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -295.0 +margin_top = -129.5 +margin_right = 583.0 +margin_bottom = 125.5 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +custom_fonts/font = SubResource( 10 ) +text = "Dialogue" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ButtonA" type="Button" parent="UI/DialoguePopup/DialogBox"] +anchor_top = 1.0 +anchor_bottom = 1.0 +margin_left = 351.495 +margin_top = -40.5745 +margin_right = 451.495 +margin_bottom = -9.57446 +custom_fonts/font = SubResource( 11 ) +text = "ButtonA" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ButtonB" type="Button" parent="UI/DialoguePopup/DialogBox"] +anchor_left = 1.0 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = -489.335 +margin_top = -33.7805 +margin_right = -389.335 +margin_bottom = -8.78052 +custom_fonts/font = SubResource( 13 ) +custom_styles/normal = SubResource( 12 ) +text = "ButtonB" + +[node name="Tween" type="Tween" parent="UI/DialoguePopup/DialogBox"] + +[node name="Pupils" type="Node" parent="."] +script = ExtResource( 2 ) + +[node name="Buildings" type="Node" parent="."] +script = ExtResource( 6 ) + +[node name="ClassTeachers" type="Node" parent="."] +script = ExtResource( 7 ) + +[connection signal="pressed" from="UI/MainMenu/SpeedOne" to="UI" method="_on_SpeedOne_pressed"] +[connection signal="pressed" from="UI/MainMenu/SpeedThree" to="UI" method="_on_SpeedThree_pressed"] +[connection signal="pressed" from="UI/MainMenu/SpeedTwo" to="UI" method="_on_SpeedTwo_pressed"] +[connection signal="pressed" from="UI/MainMenu/SpeedPause" to="UI" method="_on_SpeedPause_pressed"] +[connection signal="pressed" from="UI/BuildMenu/BuildMenuClose" to="UI" method="_on_BuildMenuClose_pressed"] +[connection signal="pressed" from="UI/BuildMenu/ClassroomButton" to="UI" method="_on_ClassroomButton_pressed"] +[connection signal="pressed" from="UI/BuildMenu/ClassroomButton" to="Buildings" method="_on_ClassroomButton_pressed"] +[connection signal="pressed" from="UI/BuildMenu/StaffroomButton" to="Buildings" method="_on_StaffroomButton_pressed"] +[connection signal="pressed" from="UI/BuildMenu/CPDRoomButton" to="Buildings" method="_on_CPDRoomButton_pressed"] +[connection signal="pressed" from="UI/DebugMenu/DebugMenuClose" to="UI" method="_on_DebugMenuClose_pressed"] +[connection signal="pressed" from="UI/DebugMenu/AddMoney" to="UI/DebugMenu" method="_on_AddMoney_pressed"] +[connection signal="pressed" from="UI/BudgetMenu/BudgetMenuClose" to="UI" method="_on_BudgetMenuClose_pressed"] +[connection signal="pressed" from="UI/PolicyMenu/ClosePolicyMenu" to="UI" method="_on_ClosePolicyMenu_pressed"] +[connection signal="pressed" from="UI/PolicyMenu/ClassSizeLower" to="UI" method="_on_ClassSizeLower_pressed"] +[connection signal="pressed" from="UI/PolicyMenu/ClassSizeRaise" to="UI" method="_on_ClassSizeRaise_pressed"] +[connection signal="pressed" from="UI/PrincipalMenu/ClosePrincipalMenu" to="UI" method="_on_ClosePrincipalMenu_pressed"] +[connection signal="pressed" from="UI/PrincipalMenu/ChangeFace" to="UI/PrincipalMenu" method="_on_ChangeFace_pressed"] +[connection signal="pressed" from="UI/PrincipalMenu/NameLineOK" to="UI" method="_on_NameLineOK_pressed"] +[connection signal="pressed" from="UI/PrincipalMenu/SchoolNameOK" to="UI/PrincipalMenu" method="_on_SchoolNameOK_pressed"] +[connection signal="pressed" from="UI/HRMenu/CloseHRMenu" to="UI" method="_on_CloseHRMenu_pressed"] +[connection signal="pressed" from="UI/HRMenu/AddTeacher" to="ClassTeachers" method="_on_AddTeacher_pressed"] +[connection signal="pressed" from="UI/InfoMenu/InfoMenuClose" to="UI" method="_on_InfoMenuClose_pressed"] +[connection signal="pressed" from="UI/MenuButtons/DebugMenuOn" to="UI" method="_on_DebugMenuOn_pressed"] +[connection signal="pressed" from="UI/MenuButtons/BuildMenuOn" to="UI" method="_on_BuildMenuOn_pressed"] +[connection signal="pressed" from="UI/MenuButtons/BudgetMenuOn" to="UI" method="_on_BudgetMenuOn_pressed"] +[connection signal="pressed" from="UI/MenuButtons/PolicyMenuOn" to="UI" method="_on_PolicyMenuOn_pressed"] +[connection signal="pressed" from="UI/MenuButtons/PrincipalMenuOn" to="UI" method="_on_PrincipalMenuOn_pressed"] +[connection signal="pressed" from="UI/MenuButtons/HRMenuButton" to="UI" method="_on_HRMenuButton_pressed"] +[connection signal="pressed" from="UI/MenuButtons/InfoButton" to="UI" method="_on_InfoButton_pressed"] +[connection signal="pressed" from="UI/DialoguePopup/DialogBox/ButtonA" to="UI/DialoguePopup" method="_on_ButtonA_pressed"] +[connection signal="pressed" from="UI/DialoguePopup/DialogBox/ButtonB" to="UI/DialoguePopup" method="_on_ButtonB_pressed"] diff --git a/godot/MainCamera.gd b/godot/MainCamera.gd new file mode 100644 index 0000000..8d2c3cd --- /dev/null +++ b/godot/MainCamera.gd @@ -0,0 +1,41 @@ +extends Camera2D + +const MAX_ZOOM_LEVEL = 0.5 +const MIN_ZOOM_LEVEL = 2.5 +const ZOOM_INCREMENT = 0.5 + +signal moved() +signal zoomed() + +var _current_zoom_level = 1.5 +var _drag = false + +func _input(event): + if event.is_action_pressed("cam_drag"): + _drag = true + elif event.is_action_released("cam_drag"): + _drag = false + elif event.is_action("cam_zoom_in"): + _update_zoom(-ZOOM_INCREMENT, get_local_mouse_position()) + elif event.is_action("cam_zoom_out"): + _update_zoom(ZOOM_INCREMENT, get_local_mouse_position()) + elif event is InputEventMouseMotion && _drag: + set_offset(get_offset() - event.relative*_current_zoom_level) + emit_signal("moved") + +func _update_zoom(incr, zoom_anchor): + var old_zoom = _current_zoom_level + _current_zoom_level += incr + if _current_zoom_level < MAX_ZOOM_LEVEL: + _current_zoom_level = MAX_ZOOM_LEVEL + elif _current_zoom_level > MIN_ZOOM_LEVEL: + _current_zoom_level = MIN_ZOOM_LEVEL + if old_zoom == _current_zoom_level: + return + + var zoom_center = zoom_anchor - get_offset() + var ratio = 1-_current_zoom_level/old_zoom + set_offset(get_offset() + zoom_center*ratio) + + set_zoom(Vector2(_current_zoom_level, _current_zoom_level)) + emit_signal("zoomed") diff --git a/godot/NameGenerator.gd b/godot/NameGenerator.gd new file mode 100644 index 0000000..ca4ad9d --- /dev/null +++ b/godot/NameGenerator.gd @@ -0,0 +1,7 @@ +extends Node + +const boy_first_name = ["Adam", "Ben", "Cody", "David", "Ephraim", "Fred", "Greg", "Harry", "Ian", "John", "Kenny", "Leo", "Manfred", "Nico", "Oliver", "Paddy", "Quentin", "Robert", "Stephen", "Theo", "Uman", "Victor", "Wanford", "Xavier", "Ystan", "Zebedeus"] + +const girl_first_name = ["Mandy"] + +const last_name = ["Johnson", "Abrahms", "Stevens"] diff --git a/godot/PlayerVariables.gd b/godot/PlayerVariables.gd new file mode 100644 index 0000000..305437c --- /dev/null +++ b/godot/PlayerVariables.gd @@ -0,0 +1,108 @@ +extends Node + +# Time Variables + +var day : int +var week : int +var month : int +var season : int +var year : int +var total_day : int + +# Finance Variables + +var funds : int +var pupil_funding : float +var pupils_income : float +var operating_costs : float +var land_lease : int +var cteacher_salary : float +var salary_cost : float + +# Population Variables + +var pupil_pop : int +var max_pupils : int +var pupil_baseid : int +var teacher_baseid : int +var total_pupils_in_game : int +var total_pupils_in_school : int +var teacher_pop : int +var pupil_difference : int + +# Rating Variables + +var school_level : int +var rating : float + +# Building Variables + +var classroom_count : int + +# Game Management Variables + +var loaded_game : bool + +# Policy Variables + +var pupils_per_classroom : int +var pupil_fee : float + +# Principal Variables + +var principal_name : String + +# School Variables + +var school_name : String + +# Building & Staffing Costs + +var classroom_cost : int +var cpdroom_cost : int +var staffroom_cost : int +var teacher_hire : int +var classroom_operating : float +var cpdroom_operating : float +var staffroom_operating : float + +# Unique Buildings + +var has_staffroom : bool +var has_cpdroom : bool + +# Called when the node enters the scene tree for the first time. +func _ready(): + + # Setting things up for a new game (Easy difficulty) + + if loaded_game == false: + # Initial Timer Stuff + loaded_game = true + day = 1 + week = 1 + month = 1 + season = 1 + year = 1 + total_day = 1 + pupil_fee = 0 + pupil_funding = 200.00 + funds = 20000 + cteacher_salary = 2000.00 + pupils_per_classroom = 20 + rating = 1.0 + principal_name = "Joe Bloggs" + school_level = 1 + pupil_baseid = 0 + teacher_pop = 0 + teacher_hire = 2000 + # Building Costs + classroom_cost = 7500 + staffroom_cost = 5000 + cpdroom_cost = 12500 + # Operating Costs + classroom_operating = 1600.00 + cpdroom_operating = 1500.00 + staffroom_operating = 1000.00 + has_cpdroom = false + has_staffroom = false diff --git a/godot/Principal/Face1.png b/godot/Principal/Face1.png new file mode 100644 index 0000000..dff7a1d Binary files /dev/null and b/godot/Principal/Face1.png differ diff --git a/godot/Principal/Face1.png.import b/godot/Principal/Face1.png.import new file mode 100644 index 0000000..c1529a4 --- /dev/null +++ b/godot/Principal/Face1.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Face1.png-b7a4b8ed2752953c1379d3eb5487f396.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Principal/Face1.png" +dest_files=[ "res://.import/Face1.png-b7a4b8ed2752953c1379d3eb5487f396.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/godot/Principal/Face2.png b/godot/Principal/Face2.png new file mode 100644 index 0000000..4df4eb3 Binary files /dev/null and b/godot/Principal/Face2.png differ diff --git a/godot/Principal/Face2.png.import b/godot/Principal/Face2.png.import new file mode 100644 index 0000000..cf78fb6 --- /dev/null +++ b/godot/Principal/Face2.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Face2.png-e55ff0cefe3d5f37d9e69776ba18b206.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Principal/Face2.png" +dest_files=[ "res://.import/Face2.png-e55ff0cefe3d5f37d9e69776ba18b206.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/godot/Principal/Face3.png b/godot/Principal/Face3.png new file mode 100644 index 0000000..3ea3910 Binary files /dev/null and b/godot/Principal/Face3.png differ diff --git a/godot/Principal/Face3.png.import b/godot/Principal/Face3.png.import new file mode 100644 index 0000000..92e6bed --- /dev/null +++ b/godot/Principal/Face3.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Face3.png-23410e5ad82018561c3c2c91bb6b3750.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Principal/Face3.png" +dest_files=[ "res://.import/Face3.png-23410e5ad82018561c3c2c91bb6b3750.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/godot/PrincipalMenu.gd b/godot/PrincipalMenu.gd new file mode 100644 index 0000000..c1fb328 --- /dev/null +++ b/godot/PrincipalMenu.gd @@ -0,0 +1,45 @@ +extends Control + +onready var player_vars = get_node("/root/PlayerVariables") + +var principal_face1 = preload("res://Principal/Face1.png") +var principal_face2 = preload("res://Principal/Face2.png") +var principal_face3 = preload("res://Principal/Face3.png") + +var principal_num = 1 +var principal_num_max = 4 + +onready var principal_face = get_node("PrincipalPhoto") + +func switch_principal_face(): + if principal_num == 1: + principal_face.set_texture(principal_face1) + + if principal_num == 2: + principal_face.set_texture(principal_face2) + + if principal_num == 3: + principal_face.set_texture(principal_face3) + +func _on_ChangeFace_pressed(): + if principal_num < principal_num_max: + principal_num += 1 + + if principal_num == principal_num_max: + principal_num = 1 + + $PrincipalNumLabel.text = str(principal_num) + switch_principal_face() + +# Called when the node enters the scene tree for the first time. +func _ready(): + $PrincipalNumLabel.text = str(principal_num) + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +#func _process(delta): +# pass + + +func _on_SchoolNameOK_pressed(): + player_vars.school_name = $SchoolNameLine.text diff --git a/godot/Pupil.gd b/godot/Pupil.gd new file mode 100644 index 0000000..91a41b3 --- /dev/null +++ b/godot/Pupil.gd @@ -0,0 +1,146 @@ +extends Node + +onready var game_time = get_node("/root/GameTimer") +onready var player_vars = get_node("/root/PlayerVariables") +onready var name_gen = get_node("/root/NameGenerator") +onready var registers = get_node("/root/Registers") +onready var pupil_manager = get_node("/root/Main/Pupils") + +var pupil_neg_chance : int +var pupil_id : int +var pupil_first_name : String +var pupil_last_name : String +var pupil_full_name : String +var pupil_gender : bool + +var pupil_achievement : int +var pupil_enjoyment : int +var pupil_wellbeing : int + +var pupil_report_card : int +var pupil_year_group : int + +var pupil_disorder : int +var pupil_diagnosed : bool + +var pupil_in_game : int # The day ticker for how long the pupil was in the school + +# Money related variables + +var pupil_income : float # Both dailies added together +var pupil_daily_income : float # Daily income from Pupil Fee +var pupil_state_income : float # Daily income from State Funding + +# For the portrait generator + +var pupil_face : int +var pupil_eyes : int +var pupil_hair : int +var pupil_shirt : int + + +func _ready(): + randomize() + pupil_neg_chance = (randi() % 20) + 1 + game_time.connect("year_heartbeat", self, "pupil_on_year_heartbeat") + game_time.connect("month_heartbeat", self, "pupil_on_month_heartbeat") + game_time.connect("heartbeat", self, "pupil_on_heartbeat") + player_vars.pupil_baseid += 1 + pupil_gender = (randi() & 1) + randomize() + pupil_last_name = name_gen.last_name[randi() % name_gen.last_name.size()] + randomize() + if pupil_gender == true: + pupil_first_name = name_gen.boy_first_name[randi() % name_gen.boy_first_name.size()] + if pupil_gender == false: + pupil_first_name = name_gen.girl_first_name[randi() % name_gen.girl_first_name.size()] + pupil_id = player_vars.pupil_baseid + pupil_full_name = pupil_first_name + " " + pupil_last_name + registers.PupilRegister.append(pupil_full_name) + decide_year_group() + # SEN Need + randomize() + if pupil_neg_chance == 7: + pupil_disorder = randi() % 8 + +func decide_year_group(): + if pupil_manager.year8_pop < pupil_manager.year1_max_pop: + pupil_year_group = 8 + pupil_manager.year8_pop += 1 + elif pupil_manager.year7_pop < pupil_manager.year2_max_pop: + pupil_year_group = 7 + pupil_manager.year7_pop += 1 + elif pupil_manager.year6_pop < pupil_manager.year3_max_pop: + pupil_year_group = 6 + pupil_manager.year6_pop += 1 + elif pupil_manager.year5_pop < pupil_manager.year4_max_pop: + pupil_year_group = 5 + pupil_manager.year5_pop += 1 + elif pupil_manager.year4_pop < pupil_manager.year5_max_pop: + pupil_year_group = 4 + pupil_manager.year4_pop += 1 + elif pupil_manager.year3_pop < pupil_manager.year6_max_pop: + pupil_year_group = 3 + pupil_manager.year3_pop += 1 + elif pupil_manager.year2_pop < pupil_manager.year7_max_pop: + pupil_year_group = 2 + pupil_manager.year2_pop += 1 + elif pupil_manager.year1_pop < pupil_manager.year8_max_pop: + pupil_year_group = 1 + pupil_manager.year1_pop += 1 +# pupil_year_group = (randi() % 8) + 1 + +func pupil_on_too_many(): + if pupil_year_group == 1: pupil_manager.year1_pop -= 1 + if pupil_year_group == 2: pupil_manager.year1_pop -= 2 + if pupil_year_group == 3: pupil_manager.year1_pop -= 3 + if pupil_year_group == 4: pupil_manager.year1_pop -= 4 + if pupil_year_group == 5: pupil_manager.year1_pop -= 5 + if pupil_year_group == 6: pupil_manager.year1_pop -= 6 + if pupil_year_group == 7: pupil_manager.year1_pop -= 7 + if pupil_year_group == 8: pupil_manager.year1_pop -= 8 + registers.PupilRegister.remove(pupil_full_name) + queue_free() + +func pupil_on_year_heartbeat(): + pupil_year_group += 1 + if pupil_year_group == 2: + pupil_manager.year1_pop -= 1 + pupil_manager.year2_pop += 1 + if pupil_year_group == 3: + pupil_manager.year2_pop -= 1 + pupil_manager.year3_pop += 1 + if pupil_year_group == 4: + pupil_manager.year3_pop -= 1 + pupil_manager.year4_pop += 1 + if pupil_year_group == 5: + pupil_manager.year4_pop -= 1 + pupil_manager.year5_pop += 1 + if pupil_year_group == 6: + pupil_manager.year5_pop -= 1 + pupil_manager.year6_pop += 1 + if pupil_year_group == 7: + pupil_manager.year6_pop -= 1 + pupil_manager.year7_pop += 1 + if pupil_year_group == 8: + pupil_manager.year7_pop -= 1 + pupil_manager.year8_pop += 1 + + if pupil_year_group == 9: + pupil_manager.year8_pop -= 1 + queue_free() + +func pupil_on_month_heartbeat(): + # Too many pupils + + if player_vars.max_pupils < player_vars.pupil_pop: + pupil_on_too_many() + +func pupil_on_heartbeat(): + pupil_in_game += 1 + player_vars.pupils_income += (player_vars.pupil_fee / 20) + (player_vars.pupil_funding / 20) + + # PupilTracker stuff + pupil_manager.pa_pool += 1 + pupil_manager.pe_pool += 1 + pupil_manager.pw_pool += 1 diff --git a/godot/Pupil.tscn b/godot/Pupil.tscn new file mode 100644 index 0000000..55bebb8 --- /dev/null +++ b/godot/Pupil.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://Pupil.gd" type="Script" id=1] + +[node name="Pupil" type="Node2D"] +script = ExtResource( 1 ) diff --git a/godot/Pupils.gd b/godot/Pupils.gd new file mode 100644 index 0000000..ea33171 --- /dev/null +++ b/godot/Pupils.gd @@ -0,0 +1,102 @@ +extends Node + +onready var player_vars = get_node("/root/PlayerVariables") +onready var game_time = get_node("/root/GameTimer") + +var pupil_agent = preload("res://Pupil.tscn") + +var pupils_per_heartbeat : int + +var pupil_tracker_achievement : int +var pa_pool : int +var pupil_tracker_enjoyment : int +var pe_pool : int +var pupil_tracker_wellbeing : int +var pw_pool : int +var pupil_tracker_total : int + +var year1_max_pop : float +var year2_max_pop : float +var year3_max_pop : float +var year4_max_pop : float +var year5_max_pop : float +var year6_max_pop : float +var year7_max_pop : float +var year8_max_pop : float +var year1_pop : int +var year2_pop : int +var year3_pop : int +var year4_pop : int +var year5_pop : int +var year6_pop : int +var year7_pop : int +var year8_pop : int + +# Called when the node enters the scene tree for the first time. +func _ready(): + game_time.connect("heartbeat", self, "on_pupils_heartbeat") + pupil_tracker_achievement = 50 + pupil_tracker_enjoyment = 50 + pupil_tracker_wellbeing = 50 + pupil_tracker_total = 50 + +func on_pupils_heartbeat(): + + player_vars.pupil_pop = get_child_count() + +# Hieronder. Dit moet waarschijnlijk sequentially verhuizen om geen leerlingen onnodig de school uit te schoppen. + + var ct_multiplier = player_vars.classroom_count - player_vars.teacher_pop + + player_vars.max_pupils = (player_vars.classroom_count * player_vars.pupils_per_classroom) + + if player_vars.classroom_count > player_vars.teacher_pop: + player_vars.max_pupils -= ct_multiplier * player_vars.pupils_per_classroom + + pupil_tracker() + + year1_max_pop = player_vars.max_pupils * 0.125 + year2_max_pop = player_vars.max_pupils * 0.125 + year3_max_pop = player_vars.max_pupils * 0.125 + year4_max_pop = player_vars.max_pupils * 0.125 + year5_max_pop = player_vars.max_pupils * 0.125 + year6_max_pop = player_vars.max_pupils * 0.125 + year7_max_pop = player_vars.max_pupils * 0.125 + year8_max_pop = player_vars.max_pupils * 0.125 + + pupil_fill_spaces() + + # Adding pupils when there is capacity - random number per day +func pupil_fill_spaces(): + if (player_vars.max_pupils - player_vars.pupil_pop) > 6: + randomize() + pupils_per_heartbeat = randi() % 5 + while pupils_per_heartbeat > 0: + add_pupil() + pupils_per_heartbeat -= 1 + elif (player_vars.max_pupils - player_vars.pupil_pop) <= 6: + player_vars.pupil_difference = player_vars.max_pupils - player_vars.pupil_pop + pupils_per_heartbeat = player_vars.pupil_difference + while pupils_per_heartbeat > 0: + add_pupil() + pupils_per_heartbeat -= 1 + +func pupil_tracker(): + if pa_pool > 0 && pupil_tracker_achievement < 100: + pupil_tracker_achievement += (pa_pool / player_vars.pupil_pop) + if pe_pool > 0 && pupil_tracker_enjoyment < 100: + pupil_tracker_enjoyment += (pe_pool / player_vars.pupil_pop) + if pw_pool > 0 && pupil_tracker_wellbeing < 100: + pupil_tracker_wellbeing += (pw_pool / player_vars.pupil_pop) + pa_pool = 0 + pw_pool = 0 + pe_pool = 0 + pupil_tracker_total = int(float(pupil_tracker_achievement * 0.5 + pupil_tracker_enjoyment * 0.2 + pupil_tracker_wellbeing * 0.3)) + +func add_pupil(): + var pupil = pupil_agent.instance() + add_child(pupil) + player_vars.pupil_pop = get_child_count() + +func yeargroup_manager(): + pass diff --git a/godot/README.md b/godot/README.md new file mode 100644 index 0000000..88ce71c --- /dev/null +++ b/godot/README.md @@ -0,0 +1,2 @@ +# SchoolSim + diff --git a/godot/Registers.gd b/godot/Registers.gd new file mode 100644 index 0000000..1a92196 --- /dev/null +++ b/godot/Registers.gd @@ -0,0 +1,4 @@ +extends Node + +var PupilRegister : Array = [] +var TeacherRegister : Array = [] diff --git a/godot/Resources/Grasses.tres b/godot/Resources/Grasses.tres new file mode 100644 index 0000000..b653618 --- /dev/null +++ b/godot/Resources/Grasses.tres @@ -0,0 +1,79 @@ +[gd_resource type="TileSet" load_steps=6 format=2] + +[ext_resource path="res://Assets/grass.png" type="Texture" id=1] +[ext_resource path="res://Assets/road.png" type="Texture" id=2] +[ext_resource path="res://Assets/tree1.png" type="Texture" id=3] +[ext_resource path="res://Assets/road2.png" type="Texture" id=4] +[ext_resource path="res://Assets/road_crossing.png" type="Texture" id=5] + +[resource] +0/name = "grass" +0/texture = ExtResource( 1 ) +0/tex_offset = Vector2( 0, 0 ) +0/modulate = Color( 1, 1, 1, 1 ) +0/region = Rect2( 0, 0, 130, 67 ) +0/tile_mode = 0 +0/occluder_offset = Vector2( 65, 33.5 ) +0/navigation_offset = Vector2( 65, 33.5 ) +0/shape_offset = Vector2( 0, 0 ) +0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +0/shape_one_way = false +0/shape_one_way_margin = 0.0 +0/shapes = [ ] +0/z_index = 0 +1/name = "road.png 1" +1/texture = ExtResource( 2 ) +1/tex_offset = Vector2( 0, 0 ) +1/modulate = Color( 1, 1, 1, 1 ) +1/region = Rect2( 0, 1, 129, 72 ) +1/tile_mode = 0 +1/occluder_offset = Vector2( 0, 0 ) +1/navigation_offset = Vector2( 0, 0 ) +1/shape_offset = Vector2( 0, 0 ) +1/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +1/shape_one_way = false +1/shape_one_way_margin = 0.0 +1/shapes = [ ] +1/z_index = 0 +2/name = "tree1.png 2" +2/texture = ExtResource( 3 ) +2/tex_offset = Vector2( 0, 0 ) +2/modulate = Color( 1, 1, 1, 1 ) +2/region = Rect2( 32, 0, 69, 87 ) +2/tile_mode = 0 +2/occluder_offset = Vector2( 0, 0 ) +2/navigation_offset = Vector2( 0, 0 ) +2/shape_offset = Vector2( 0, 0 ) +2/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +2/shape_one_way = false +2/shape_one_way_margin = 0.0 +2/shapes = [ ] +2/z_index = 0 +3/name = "road2.png 3" +3/texture = ExtResource( 4 ) +3/tex_offset = Vector2( 0, 0 ) +3/modulate = Color( 1, 1, 1, 1 ) +3/region = Rect2( 0, 0, 129, 73 ) +3/tile_mode = 0 +3/occluder_offset = Vector2( 0, 0 ) +3/navigation_offset = Vector2( 0, 0 ) +3/shape_offset = Vector2( 0, 0 ) +3/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +3/shape_one_way = false +3/shape_one_way_margin = 0.0 +3/shapes = [ ] +3/z_index = 0 +4/name = "road_crossing.png 4" +4/texture = ExtResource( 5 ) +4/tex_offset = Vector2( 0, 0 ) +4/modulate = Color( 1, 1, 1, 1 ) +4/region = Rect2( 0, 0, 129, 73 ) +4/tile_mode = 0 +4/occluder_offset = Vector2( 0, 0 ) +4/navigation_offset = Vector2( 0, 0 ) +4/shape_offset = Vector2( 0, 0 ) +4/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +4/shape_one_way = false +4/shape_one_way_margin = 0.0 +4/shapes = [ ] +4/z_index = 0 diff --git a/godot/Rooms/CPDRoom.gd b/godot/Rooms/CPDRoom.gd new file mode 100644 index 0000000..a5cde84 --- /dev/null +++ b/godot/Rooms/CPDRoom.gd @@ -0,0 +1,19 @@ +extends Node2D + +onready var player_vars = get_node("/root/PlayerVariables") +onready var game_time = get_node("/root/GameTimer") + +# Classroom variables + +# Called when the node enters the scene tree for the first time. +func _ready(): +# player_vars.max_pupils += player_vars.pupils_per_classroom + game_time.connect("heartbeat", self, "on_cpdroom_heartbeat") + game_time.connect("season_heartbeat", self, "on_cpdroom_season_heartbeat") + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func on_cpdroom_heartbeat(): + player_vars.operating_costs += (player_vars.cpdroom_operating / 20) + +func on_cpdroom_season_heartbeat(): + pass diff --git a/godot/Rooms/CPDRoom.tscn b/godot/Rooms/CPDRoom.tscn new file mode 100644 index 0000000..ef16b00 --- /dev/null +++ b/godot/Rooms/CPDRoom.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Assets/classroom_empty.png" type="Texture" id=1] +[ext_resource path="res://Rooms/CPDRoom.gd" type="Script" id=2] + +[node name="CPDRoom" type="Node2D"] +script = ExtResource( 2 ) + +[node name="cpdroom_empty" type="Sprite" parent="."] +position = Vector2( 152.713, 124.123 ) +texture = ExtResource( 1 ) diff --git a/godot/Rooms/CTeacher.tscn b/godot/Rooms/CTeacher.tscn new file mode 100644 index 0000000..a7ed307 --- /dev/null +++ b/godot/Rooms/CTeacher.tscn @@ -0,0 +1,3 @@ +[gd_scene format=2] + +[node name="CTeacher" type="Node2D"] diff --git a/godot/Rooms/Classroom.gd b/godot/Rooms/Classroom.gd new file mode 100644 index 0000000..d344f85 --- /dev/null +++ b/godot/Rooms/Classroom.gd @@ -0,0 +1,19 @@ +extends Node2D + +onready var player_vars = get_node("/root/PlayerVariables") +onready var game_time = get_node("/root/GameTimer") + +# Classroom variables + +# Called when the node enters the scene tree for the first time. +func _ready(): +# player_vars.max_pupils += player_vars.pupils_per_classroom + game_time.connect("heartbeat", self, "on_classroom_heartbeat") + game_time.connect("season_heartbeat", self, "on_classroom_season_heartbeat") + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func on_classroom_heartbeat(): + player_vars.operating_costs += (player_vars.classroom_operating / 20) + +func on_classroom_season_heartbeat(): + pass diff --git a/godot/Rooms/Classroom.tscn b/godot/Rooms/Classroom.tscn new file mode 100644 index 0000000..b164432 --- /dev/null +++ b/godot/Rooms/Classroom.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Assets/classroom_empty.png" type="Texture" id=1] +[ext_resource path="res://Rooms/Classroom.gd" type="Script" id=2] + +[node name="Classroom" type="Node2D"] +script = ExtResource( 2 ) + +[node name="classroom_empty" type="Sprite" parent="."] +position = Vector2( 152.713, 124.123 ) +texture = ExtResource( 1 ) diff --git a/godot/Rooms/StaffRoom.gd b/godot/Rooms/StaffRoom.gd new file mode 100644 index 0000000..8e17b3f --- /dev/null +++ b/godot/Rooms/StaffRoom.gd @@ -0,0 +1,19 @@ +extends Node2D + +onready var player_vars = get_node("/root/PlayerVariables") +onready var game_time = get_node("/root/GameTimer") + +# Classroom variables + +# Called when the node enters the scene tree for the first time. +func _ready(): +# player_vars.max_pupils += player_vars.pupils_per_classroom + game_time.connect("heartbeat", self, "on_staffroom_heartbeat") + game_time.connect("season_heartbeat", self, "on_staffroom_season_heartbeat") + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func on_staffroom_heartbeat(): + player_vars.operating_costs += (player_vars.staffroom_operating / 20) + +func on_staffroom_season_heartbeat(): + pass diff --git a/godot/Rooms/StaffRoom.tscn b/godot/Rooms/StaffRoom.tscn new file mode 100644 index 0000000..f107e7c --- /dev/null +++ b/godot/Rooms/StaffRoom.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Assets/classroom_empty.png" type="Texture" id=1] +[ext_resource path="res://Rooms/Classroom.gd" type="Script" id=2] + +[node name="Staffroom" type="Node2D"] +script = ExtResource( 2 ) + +[node name="staffroom_empty" type="Sprite" parent="."] +position = Vector2( 152.713, 124.123 ) +texture = ExtResource( 1 ) diff --git a/godot/UserInterface.gd b/godot/UserInterface.gd new file mode 100644 index 0000000..7833af0 --- /dev/null +++ b/godot/UserInterface.gd @@ -0,0 +1,196 @@ +extends CanvasLayer + +onready var player_vars = get_node("/root/PlayerVariables") +onready var game_time = get_node("/root/GameTimer") +onready var finances = get_node("/root/Finances") +onready var registers = get_node("/root/Registers") +onready var pupil_manager = get_node("/root/Main/Pupils") +onready var staff_manager = get_node("/root/Main/ClassTeachers") + +var estimated_funds : int + + +func _ready(): + game_time.connect("heartbeat", self, "_on_heartbeat") + update_ui_timers() + $BuildMenu/ClassroomCost.text = str(player_vars.classroom_cost) + +func disable_menus(): + $BudgetMenu.visible = false + $PolicyMenu.visible = false + $PrincipalMenu.visible = false + $HRMenu.visible = false + $DebugMenu.visible = false + $BuildMenu.visible = false + $InfoMenu.visible = false + +func update_ui_timers(): + $MainMenu/DayNumber.text = str(player_vars.day) + $MainMenu/WeekNumber.text = str(player_vars.week) + $MainMenu/MonthNumber.text = str(player_vars.month) + $MainMenu/YearNumber.text = str(player_vars.year) + if player_vars.season == 1: + $MainMenu/SeasonNumber.text = "Autumn" + if player_vars.season == 2: + $MainMenu/SeasonNumber.text = "Winter" + if player_vars.season == 3: + $MainMenu/SeasonNumber.text = "Spring" + if player_vars.season == 4: + $MainMenu/SeasonNumber.text = "Easter" + if player_vars.season == 5: + $MainMenu/SeasonNumber.text = "Summer" + + +func update_funds(): + $MainMenu/FundsNumber.text = str(player_vars.funds) + $MainMenu/RatingNumber.text = str(player_vars.rating) + $MainMenu/PupilsNumber.text = str(player_vars.pupil_pop) + $MainMenu/PupilsMax.text = str(player_vars.max_pupils) + +func update_trackers(): + $DebugMenu/PupilAchievementNumber.text = str(pupil_manager.pupil_tracker_achievement) + $DebugMenu/PupilEnjoymentNumber.text = str(pupil_manager.pupil_tracker_enjoyment) + $DebugMenu/PupilWellbeingNumber.text = str(pupil_manager.pupil_tracker_wellbeing) + $DebugMenu/PupilTotalScoreNumber.text = str(pupil_manager.pupil_tracker_total) + $DebugMenu/TeacherAchievementNumber.text = str(staff_manager.staff_tracker_achievement) + $DebugMenu/TeacherEnjoymentNumber.text = str(staff_manager.staff_tracker_enjoyment) + $DebugMenu/TeacherWellbeingNumber.text = str(staff_manager.staff_tracker_wellbeing) + $DebugMenu/TeacherTotalScoreNumber.text = str(staff_manager.staff_tracker_total) + $MainMenu/Bars/PupilBar.value = pupil_manager.pupil_tracker_total + $MainMenu/Bars/TeacherBar.value = staff_manager.staff_tracker_total + $InfoMenu/Year1Number.text = str(pupil_manager.year1_pop) + $InfoMenu/Year2Number.text = str(pupil_manager.year2_pop) + $InfoMenu/Year3Number.text = str(pupil_manager.year3_pop) + $InfoMenu/Year4Number.text = str(pupil_manager.year4_pop) + $InfoMenu/Year5Number.text = str(pupil_manager.year5_pop) + $InfoMenu/Year6Number.text = str(pupil_manager.year6_pop) + $InfoMenu/Year7Number.text = str(pupil_manager.year7_pop) + $InfoMenu/Year8Number.text = str(pupil_manager.year8_pop) + +func update_policy(): + $PolicyMenu/ClassSize.text = str(player_vars.pupils_per_classroom) + +func _process(_delta): + $DebugMenu/TestTimer.text = str(game_time.game_timer) + update_funds() + update_policy() + update_trackers() + + +func _on_heartbeat(): + update_ui_timers() + $InfoMenu/PupilRegister.text = str(registers.PupilRegister) + +func _on_SpeedOne_pressed(): + game_time.paused = 0 + game_time.wait_time = 6 + +func _on_SpeedTwo_pressed(): + game_time.paused = 0 + game_time.wait_time = 3 + +func _on_SpeedThree_pressed(): + game_time.paused = 0 + game_time.wait_time = 1 + +func _on_SpeedPause_pressed(): + game_time.paused = 1 + +func _on_DebugMenuClose_pressed(): + $DebugMenu.visible = false + +func _on_DebugMenuOn_pressed(): + if player_vars.has_staffroom == true: + $DebugMenu/StaffroomLabel.text = str("HasStaffroom") + if player_vars.has_cpdroom == true: + $DebugMenu/CPDRoomLabel.text = str("HasCPDRoom") + disable_menus() + $DebugMenu.visible = true + +func _on_BuildMenuOn_pressed(): + disable_menus() + $BuildMenu.visible = true + +func _on_BuildMenuClose_pressed(): + $BuildMenu.visible = false + +func _on_ClassroomButton_pressed(): + pass + + +func _on_BudgetMenuClose_pressed(): + $BudgetMenu.visible = false +# $PausedRect.visible = false +# $MainMenu.visible = true +# $MenuButtons.visible = true +# game_time.paused = 0 + + +func _on_BudgetMenuOn_pressed(): + disable_menus() + $BudgetMenu.visible = true +# $PausedRect.visible = true +# $MainMenu.visible = false +# $MenuButtons.visible = false +# game_time.paused = 1 + + +func _on_ClosePolicyMenu_pressed(): + $PolicyMenu.visible = false +# game_time.paused = 0 + + +func _on_PolicyMenuOn_pressed(): + disable_menus() + $PolicyMenu.visible = true +# game_time.paused = 1 + + +func _on_PupilFeeDecrease_pressed(): + if player_vars.pupil_fee > 99: + player_vars.pupil_fee -= 100 + + +func _on_PupilFeeIncrease_pressed(): + player_vars.pupil_fee += 100 + + +func _on_ClassSizeLower_pressed(): + player_vars.pupils_per_classroom -= 1 + + +func _on_ClassSizeRaise_pressed(): + player_vars.pupils_per_classroom += 1 + + +func _on_PrincipalMenuOn_pressed(): + disable_menus() + $PrincipalMenu/NameLine.text = player_vars.principal_name + $PrincipalMenu/SchoolNameLine.text = player_vars.school_name + $PrincipalMenu.visible = true + + +func _on_ClosePrincipalMenu_pressed(): + $PrincipalMenu.visible = false + + +func _on_HRMenuButton_pressed(): + disable_menus() + $HRMenu.visible = true + + +func _on_CloseHRMenu_pressed(): + $HRMenu.visible = false + + +func _on_NameLineOK_pressed(): + player_vars.principal_name = $PrincipalMenu/NameLine.text + + +func _on_InfoButton_pressed(): + disable_menus() + $InfoMenu.visible = true + + +func _on_InfoMenuClose_pressed(): + $InfoMenu.visible = false diff --git a/godot/default_env.tres b/godot/default_env.tres new file mode 100644 index 0000000..20207a4 --- /dev/null +++ b/godot/default_env.tres @@ -0,0 +1,7 @@ +[gd_resource type="Environment" load_steps=2 format=2] + +[sub_resource type="ProceduralSky" id=1] + +[resource] +background_mode = 2 +background_sky = SubResource( 1 ) diff --git a/godot/icon.png b/godot/icon.png new file mode 100644 index 0000000..c98fbb6 Binary files /dev/null and b/godot/icon.png differ diff --git a/godot/icon.png.import b/godot/icon.png.import new file mode 100644 index 0000000..a4c02e6 --- /dev/null +++ b/godot/icon.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.png" +dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/godot/makefile b/godot/makefile new file mode 100644 index 0000000..c10e7c8 --- /dev/null +++ b/godot/makefile @@ -0,0 +1,4 @@ +git: + git add -A + git commit -m "$m" + git push diff --git a/godot/project.godot b/godot/project.godot new file mode 100644 index 0000000..2c43ba8 --- /dev/null +++ b/godot/project.godot @@ -0,0 +1,66 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=4 + +_global_script_classes=[ ] +_global_script_class_icons={ +} + +[application] + +config/name="School Simulator" +run/main_scene="res://Main.tscn" +config/icon="res://icon.png" + +[autoload] + +PlayerVariables="*res://PlayerVariables.gd" +GameTimer="*res://GameTimer.gd" +Finances="*res://Finances.gd" +NameGenerator="*res://NameGenerator.gd" +Registers="*res://Registers.gd" + +[debug] + +settings/fps/force_fps=30 + +[display] + +window/size/width=1920 +window/size/height=1080 +window/dpi/allow_hidpi=true +window/stretch/mode="2d" +window/stretch/aspect="expand" + +[input] + +cam_drag={ +"deadzone": 0.5, +"events": [ Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"button_mask":0,"position":Vector2( 0, 0 ),"global_position":Vector2( 0, 0 ),"factor":1.0,"button_index":2,"pressed":false,"doubleclick":false,"script":null) + ] +} +cam_zoom_in={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777349,"physical_scancode":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"button_mask":0,"position":Vector2( 0, 0 ),"global_position":Vector2( 0, 0 ),"factor":1.0,"button_index":4,"pressed":false,"doubleclick":false,"script":null) + ] +} +cam_zoom_out={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777347,"physical_scancode":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"button_mask":0,"position":Vector2( 0, 0 ),"global_position":Vector2( 0, 0 ),"factor":1.0,"button_index":5,"pressed":false,"doubleclick":false,"script":null) + ] +} + +[rendering] + +2d/snapping/use_gpu_pixel_snap=true +quality/filters/anisotropic_filter_level=1 +environment/default_environment="res://default_env.tres" +quality/2d/use_pixel_snap=true diff --git a/makefile b/makefile new file mode 100644 index 0000000..c10e7c8 --- /dev/null +++ b/makefile @@ -0,0 +1,4 @@ +git: + git add -A + git commit -m "$m" + git push