diff --git a/old_computer.gd b/old_computer.gd index 0caef5b..6bbad19 100644 --- a/old_computer.gd +++ b/old_computer.gd @@ -1,7 +1,34 @@ extends CanvasLayer +var disks_wanted = [1, 2, 3, 4] +var disks_loaded = [] + +var starting_integrity = 2 +var total_integrity = starting_integrity + len(disks_wanted) + func _ready() -> void: - $ConsoleText.text = $ConsoleText.text % %Pharaoh.get_memory_integrity() + $ConsoleText.text = $ConsoleText.text % get_memory_integrity() + +func load_disk(disk_num: int) -> bool: + if !disk_num or (disk_num in disks_loaded): + return false + + disks_loaded.push_back(disk_num) + disks_wanted.remove_at(disks_wanted.find(disk_num)) + + print("Loaded up disk ", disk_num) + printline( + ">> Loaded data disk %d (of %d). Memory integrity now at %d%%" % + [disk_num, len(disks_wanted) + len(disks_loaded), get_memory_integrity()] + ) + + return true + +func get_next_disk_num() -> int: + return disks_wanted.front() + +func get_memory_integrity(): + return 100.0 / total_integrity * (starting_integrity + len(disks_loaded)) func open() -> void: visible = true diff --git a/pharaoh.gd b/pharaoh.gd index 4c6f8d7..0c3b3f9 100644 --- a/pharaoh.gd +++ b/pharaoh.gd @@ -1,27 +1,12 @@ extends Interactable -var disks_wanted = [1, 2, 3, 4] -var disks_loaded = [] - -var starting_integrity = 2 -var total_integrity = starting_integrity + len(disks_wanted) - -func load_disk(disk_num: int) -> bool: - if !disk_num or (disk_num in disks_loaded): - return false - - disks_loaded.push_back(disk_num) - disks_wanted.remove_at(disks_wanted.find(disk_num)) - return true - -func get_memory_integrity(): - return 100.0 / total_integrity * (starting_integrity + len(disks_loaded)) - func _on_interacted() -> void: #%OldComputer.open() - var wanted_disk = disks_wanted.front() - + if %Player2D.spawn_point != global_position: + %Player2D.spawn_point = global_position + %OldComputer.printline(">> Respawn point set.") + #Accomodate some collision antics. %Player2D.spawn_point = global_position + Vector2(0,-10) @@ -33,18 +18,20 @@ func _on_interacted() -> void: wanted_disk, "Locate data disk %d" % wanted_disk ) return + var wanted_disk = %OldComputer.get_next_disk_num() + if %Player2D.complete_objective("sarc"): + %OldComputer.open() + %Player2D.give_objective( + "disk%d" % wanted_disk, + wanted_disk, "Locate data disk %d" % wanted_disk + ) + return - if not load_disk(wanted_disk): + if not (%Player2D.take_disk(wanted_disk) and %OldComputer.load_disk(wanted_disk)): return %Player2D.complete_objective("disk%d" % wanted_disk) - print("Loaded up disk ", wanted_disk) - %OldComputer.printline( - ">> Loaded data disk %d (of %d). Memory integrity now at %d%%" % - [wanted_disk, len(disks_wanted) + len(disks_loaded), get_memory_integrity()] - ) - - wanted_disk = disks_wanted.front() + wanted_disk = %OldComputer.get_next_disk_num() if (not wanted_disk) or %Player2D.has_disk(wanted_disk): return diff --git a/player_2d.gd b/player_2d.gd index 4a2bf5b..a73afb7 100644 --- a/player_2d.gd +++ b/player_2d.gd @@ -25,6 +25,7 @@ var objectives = {} func _ready() -> void: spawn_point = position DisplayServer.window_set_title("JUMPS EQUALS JUMPS") + give_objective("sarc", 0, "Open the Sarcophagus") func refresh_dash(new_dashes): if new_dashes: diff --git a/player_2d.tscn b/player_2d.tscn index a1ca4c2..054e43d 100644 --- a/player_2d.tscn +++ b/player_2d.tscn @@ -11,10 +11,10 @@ [ext_resource type="Texture2D" uid="uid://dyxbitw8hbd3s" path="res://art/player/crouch/frame2.png" id="7_lu0ka"] [ext_resource type="Texture2D" uid="uid://bfyd1tro3s0gl" path="res://art/player/crystal2.png" id="7_oy4pt"] [ext_resource type="Texture2D" uid="uid://dh7a1knyqn5nd" path="res://art/player/running/frame3.png" id="7_pmt5n"] -[ext_resource type="Texture2D" uid="uid://lk0f1qyswyxv" path="res://art/player/running/frame1.png" id="8_3prq1"] +[ext_resource type="Texture2D" uid="uid://lk0f1qyswyxv" path="res://art/player/idle/frame1.png" id="8_3prq1"] [ext_resource type="Texture2D" uid="uid://yf13nw31k8ua" path="res://art/player/running/frame4.png" id="8_nj6as"] [ext_resource type="Texture2D" uid="uid://du5i0tg6u1lal" path="res://art/player/crystal3.png" id="8_ukfft"] -[ext_resource type="Texture2D" uid="uid://lmje8plw76e1" path="res://art/player/running/frame2.png" id="9_lu0ka"] +[ext_resource type="Texture2D" uid="uid://lmje8plw76e1" path="res://art/player/idle/frame2.png" id="9_lu0ka"] [ext_resource type="Texture2D" uid="uid://bko8dvawpul3c" path="res://art/player/crystal4.png" id="9_ur4nw"] [ext_resource type="Texture2D" uid="uid://m5djssna67e1" path="res://art/player/crouch/frame3.png" id="9_w0gjo"] [ext_resource type="Texture2D" uid="uid://ba4kjeulthw1g" path="res://art/hats/dunce1.png" id="10_5s8kx"]