revo-jailbreak/objects/environment/stalactite/stalactite.gd
2023-11-24 21:44:12 -05:00

34 lines
831 B
GDScript

extends Node2D
onready var cast = $RayCast2D
export var speed = 80
var fall = false
onready var refresh_timer = $RefreshTimer
onready var anims = $AnimationPlayer
onready var startpos = position
func _physics_process(delta):
if cast.is_colliding():
var collider = cast.get_collider()
if collider.is_in_group("player_hitbox") or collider.is_in_group("msx"):
if fall == false: refresh_timer.start()
fall = true
if fall == true:
position.y += speed * delta
if !refresh_timer.is_stopped() && refresh_timer.get_time_left() <= 0.6:
anims.play("disappear")
func _on_Hitbox_area_entered(area):
if area.is_in_group("player_hitbox"):
area.get_parent().die()
func _on_RefreshTimer_timeout():
call_deferred("set_position", startpos)
fall = false
anims.play("idle")
anims.play("disappear", -1, -1.0, true)