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 %Player2D.has_disk(wanted_disk): return %Player2D.give_objective("disk%d" % wanted_disk, "Locate data disk %d" % wanted_disk)