extends Node2D @export var paired_teleporter: String var checked_teleport var telecam_speed_mult = 4 var enabled = true var cooldown = 2 func _ready() -> void: modulate = Color.PURPLE add_to_group("TELEPORTERS") func check_for_pair() -> String: return paired_teleporter func disable(): enabled = false $Sprite2D.modulate = Color.DARK_ORANGE func enable(): enabled = true $Sprite2D.modulate = Color.WHITE func _process(delta: float) -> void: pass func _physics_process(delta: float) -> void: pass func _on_contact(body) -> void: if not enabled: return #get_tree().call_group("TELEPORTERS","disable") for teleporter in get_tree().get_nodes_in_group("TELEPORTERS"): if teleporter == self: continue if teleporter.paired_teleporter == paired_teleporter: %Player2D.get_node("Camera2D").position_smoothing_enabled = false if %Player2D.teleport_cooldown > 0: return body.set_position(teleporter.global_position) %Player2D.on_teleport() disable() await get_tree().create_timer(cooldown).timeout enable()