Files
JumpRopeOldTech/pharaoh.gd
T

38 lines
1.1 KiB
GDScript

extends Interactable
func set_open (is_open: bool) -> void:
$Sprite2D.play("open" if is_open else "closed")
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)
for sarcophagus in get_tree().get_nodes_in_group("sarcophagi"):
sarcophagus.set_open(sarcophagus == self)
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)