Files
JumpRopeOldTech/pharaoh.gd
T
yagigreg 93baf56fd5
ci/woodpecker/push/woodpecker Pipeline was successful
Move interactable input handling into Player2D so we can selectively block it from working if OldComputer is open
We probably could have special-cased that check in Interactable now that I think about it
2026-10-18 02:05:51 -05:00

32 lines
934 B
GDScript

extends Interactable
func _on_interacted() -> void:
%OldComputer.open()
#Accomodate some collision antics.
var new_spawn_point = global_position + Vector2(0,-10)
if %Player2D.spawn_point != new_spawn_point:
%Player2D.spawn_point = new_spawn_point
%OldComputer.printline(">> Respawn point set to %s" % new_spawn_point)
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 (%Player2D.take_disk(wanted_disk) and %OldComputer.load_disk(wanted_disk)):
return
%Player2D.complete_objective("disk%d" % wanted_disk)
wanted_disk = %OldComputer.get_next_disk_num()
if (not wanted_disk) or %Player2D.has_disk(wanted_disk):
return
%Player2D.give_objective("disk%d" % wanted_disk, wanted_disk, "Locate data disk %d" % wanted_disk)