2026-01-12 18:21:21 +00:00
|
|
|
extends AnimatableBody3D
|
|
|
|
|
|
|
|
|
|
var start_position:Vector3 = position
|
|
|
|
|
var risen:bool = false
|
|
|
|
|
var raiser : Tween
|
|
|
|
|
|
|
|
|
|
func raise(body) -> void:
|
|
|
|
|
if body is not PlayerController:
|
|
|
|
|
push_warning("Unexpected body in raiser trigger", body)
|
|
|
|
|
return
|
2026-01-12 18:31:11 +00:00
|
|
|
|
|
|
|
|
body.crouched = true
|
2026-01-12 18:21:21 +00:00
|
|
|
|
|
|
|
|
if risen:
|
|
|
|
|
position = start_position
|
|
|
|
|
|
|
|
|
|
if raiser and raiser.is_valid():
|
|
|
|
|
raiser.kill()
|
|
|
|
|
|
|
|
|
|
raiser = create_tween()
|
|
|
|
|
raiser.tween_property(self, "position", position + Vector3(0,1.1,0), 1)
|
|
|
|
|
risen = true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func reset(_discard) -> void:
|
|
|
|
|
risen = false
|
|
|
|
|
position = start_position
|