Files
JumpRopeOldTech/pharaoh.gd
T
yagigreg 1aa29a0539 Add objectives listing and all four data disks/tablets.
Track each individual disk and ensure they are loaded in order.
Player can collect multiple disks in one run but must present them
to the pharaoh in order.
2026-10-17 18:04:18 -05:00

33 lines
752 B
GDScript

extends Interactable
var disks_wanted = [1, 2, 3, 4]
var disks_loaded = []
func _ready() -> void:
pass # Replace with function body.
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 _on_interacted() -> void:
var wanted_disk = disks_wanted.front()
if not %Player2D.take_disk(wanted_disk):
return
if not load_disk(wanted_disk):
return
%Player2D.complete_objective("disk%d" % wanted_disk)
print("Loaded up disk ", wanted_disk)
wanted_disk = disks_wanted.front()
if not wanted_disk:
return
%Player2D.give_objective("disk%d" % wanted_disk, "Locate data disk %d" % wanted_disk)