extends Area3D var is_climbing = false var ladder_center # Called when the node enters the scene tree for the first time. func _ready(): ladder_center = self.global_position # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): pass func _on_body_entered(body): if body.is_in_group("player"): body.is_climbing = true body.ladder_center = ladder_center func _on_body_exited(body): if body.is_in_group("player"): body.is_climbing = false body.gravity = body.default_gravity body.ladder_center = null