2022-07-18 02:42:00 -04:00

47 lines
1.1 KiB
GDScript

extends Node2D
export var hp = 10
onready var fish = get_node("/root/Tank/Fish")
func _ready():
$TweenSpawn.interpolate_property(self, "modulate", Color(1,0,0,1), Color(1,1,1,1), 3, Tween.TRANS_EXPO, Tween.EASE_IN)
$TweenSpawn.start()
yield($TweenSpawn, "tween_completed")
$Timer.start()
func _on_Hitbox_area_entered(area: Area2D) -> void:
if area.is_in_group("Projectile"):
hp -= 1
if hp < 1:
_die()
func _die() -> void:
$DeadEye.visible = true
fish.blackout()
func _on_Timer_timeout():
_reposition()
yield($Tween, "tween_completed")
$AnimationPlayer.play("Stab")
yield($AnimationPlayer, "animation_finished")
$AnimationPlayer.play_backwards("Stab")
yield($AnimationPlayer, "animation_finished")
$Timer.wait_time = rand_range(.3,1.5)
$Timer.start()
func _reposition() -> void:
var tween_duration = rand_range(.3,1.5)
$Tween.interpolate_property($Tentacle, "position:y", $Tentacle.position.y, rand_range(0, 900), tween_duration, Tween.TRANS_BACK, Tween.EASE_IN_OUT)
$Tween.start()
yield($Tween, "tween_completed")
func _on_Hurtbox_area_entered(area: Area2D) -> void:
if area.is_in_group("Fish"):
fish.belly_up("a tentacle")