Teleporter fixes

This commit is contained in:
Debugman committed 2026-10-16 22:43:48 -05:00
1 parent 66f6906bfd
commit 6d84b7a5fb
3 files changed
+14 -9

No files matched your search

+2 -5
View File
@@ -20,16 +20,13 @@ func refresh_jump(new_jumps):
jumps = new_jumps jumps = new_jumps
else: else:
jumps = 1 jumps = 1
refresh_teleport()
func refresh_teleport():
teleport_cooldown = 0
get_tree().call_group("TELEPORTERS","enable")
func on_teleport(): func on_teleport():
refresh_jump(1) refresh_jump(1)
teleport_cooldown = 1 teleport_cooldown = 1
$Camera2D.position_smoothing_enabled = true $Camera2D.position_smoothing_enabled = true
await get_tree().create_timer(1).timeout
teleport_cooldown = 0
func _process(delta: float) -> void: func _process(delta: float) -> void:
if Input.is_action_just_pressed("jump"): if Input.is_action_just_pressed("jump"):
+1 -1
View File
@@ -18,7 +18,7 @@ scale = Vector2(100, 100)
texture = ExtResource("3_p3026") texture = ExtResource("3_p3026")
[node name="Camera2D" type="Camera2D" parent="." unique_id=962368438] [node name="Camera2D" type="Camera2D" parent="." unique_id=962368438]
zoom = Vector2(1.65, 1.65) zoom = Vector2(1.75, 1.75)
process_callback = 0 process_callback = 0
position_smoothing_enabled = true position_smoothing_enabled = true
position_smoothing_speed = 3.0 position_smoothing_speed = 3.0
+11 -3
View File
@@ -3,6 +3,8 @@ extends Node2D
@export var paired_teleporter: String @export var paired_teleporter: String
var checked_teleport var checked_teleport
var telecam_speed_mult = 4 var telecam_speed_mult = 4
var enabled = true
var cooldown = 2
func _ready() -> void: func _ready() -> void:
add_to_group("TELEPORTERS") add_to_group("TELEPORTERS")
@@ -12,9 +14,11 @@ func check_for_pair() -> String:
return paired_teleporter return paired_teleporter
func disable(): func disable():
enabled = false
$Sprite2D.modulate = Color.DARK_ORANGE $Sprite2D.modulate = Color.DARK_ORANGE
func enable(): func enable():
enabled = true
$Sprite2D.modulate = Color.WHITE $Sprite2D.modulate = Color.WHITE
func _process(delta: float) -> void: func _process(delta: float) -> void:
@@ -24,11 +28,15 @@ func _physics_process(delta: float) -> void:
pass pass
func _on_contact(body) -> void: func _on_contact(body) -> void:
#print("PASSED OVER TELEPORTER") #get_tree().call_group("TELEPORTERS","disable")
get_tree().call_group("TELEPORTERS","disable")
for teleporter in get_tree().get_nodes_in_group("TELEPORTERS"): for teleporter in get_tree().get_nodes_in_group("TELEPORTERS"):
if teleporter != self: if teleporter != self:
if teleporter.paired_teleporter == paired_teleporter and %Player2D.teleport_cooldown == 0: if teleporter.paired_teleporter == paired_teleporter and enabled:
%Player2D.get_node("Camera2D").position_smoothing_enabled = false %Player2D.get_node("Camera2D").position_smoothing_enabled = false
if %Player2D.teleport_cooldown > 0:
return
body.set_position(teleporter.get_position()) body.set_position(teleporter.get_position())
%Player2D.on_teleport() %Player2D.on_teleport()
disable()
await get_tree().create_timer(cooldown).timeout
enable()