revo-jailbreak/objects/enemy/turtle.gd

34 lines
1 KiB
GDScript

tool
extends "res://objects/enemy/enemy_move_sidesideupdown.gd"
export var spike_delay: float = 2.0
export var spike_time: float = 0.25
var spike_tween: SceneTreeTween
onready var sprite: Sprite = $"%Sprite"
onready var spike_shape: CollisionShape2D = $"%SpikeShape"
func _ready() -> void:
if Engine.editor_hint:
return
spike_tween = create_tween().set_loops()
spike_tween.set_process_mode(Tween.TWEEN_PROCESS_PHYSICS)
spike_tween.tween_property(spike_shape, "disabled", true, 0.0)
spike_tween.tween_property(sprite, "frame_coords:y", 0.0, 0.0)
spike_tween.tween_interval(spike_delay)
spike_tween.tween_property(sprite, "frame_coords:y", 1.0, 0.0)
spike_tween.tween_interval(spike_time * 2.0)
spike_tween.tween_property(spike_shape, "disabled", false, 0.0)
spike_tween.tween_property(sprite, "frame_coords:y", 2.0, 0.0)
spike_tween.tween_interval(spike_time)
func die() -> void:
spike_tween.kill()
spike_shape.set_deferred("disabled", true)
sprite.frame_coords.y = 3
Audio.play_sound(death_sound, Audio.ac_die)
$"%DeathSplatter".emitting = true