1
Fork 0
mirror of https://github.com/Steffo99/hella-farm.git synced 2024-11-21 23:54:23 +00:00
hella-farm/entities/chupacabra.gd

57 lines
1.5 KiB
GDScript3
Raw Normal View History

extends BetterCharacterBody2D
2024-04-24 03:26:50 +00:00
class_name Chupacabra
@export var skitter_directions: Array[Vector2] = []
@onready var sprite: SpriteLeftRight = %"Sprite"
2024-04-30 02:38:27 +00:00
@onready var movement_wander: MoveStraight = %"MovementWander"
@onready var movement_wander_tp: TargetPicker = movement_wander.get_node("TrackerMeat/TargetPicker")
2024-04-24 03:26:50 +00:00
@onready var animator: AnimationPlayer = %"Animator"
@onready var eater: Eater = %"Eater"
@onready var tophatter: Eater = %"TopHatter"
@onready var monocler: Eater = %"Monocler"
2024-04-24 03:26:50 +00:00
func _on_move(movement: Vector2) -> void:
move_and_collide(movement)
sprite.handle_move(movement)
func _on_eater_eaten(edible:Edible) -> void:
edible.get_parent().queue_free()
func _on_dragged(_cursor: Cursor) -> void:
collision_layer = 16
collision_mask = 16
tophatter.collision_mask = 16
monocler.collision_mask = 16
2024-04-29 01:33:43 +00:00
z_index = Enums.ZIndex.EntityAir
y_sort_enabled = false
2024-04-24 03:26:50 +00:00
eater.collision_mask = 16
animator.play(&"drag_start")
func _on_fallen() -> void:
collision_layer = 8
collision_mask = 8
tophatter.collision_mask = 8
monocler.collision_mask = 8
2024-04-29 01:33:43 +00:00
z_index = Enums.ZIndex.EntityGround
y_sort_enabled = true
2024-04-24 03:26:50 +00:00
eater.collision_mask = 8
animator.play(&"RESET")
2024-04-29 01:20:27 +00:00
func _on_trapped() -> void:
z_index = Enums.ZIndex.EntitySacrifice
2024-04-29 01:33:43 +00:00
y_sort_enabled = false
2024-04-29 01:20:27 +00:00
func _on_freed() -> void:
z_index = Enums.ZIndex.EntityGround
2024-04-29 01:33:43 +00:00
y_sort_enabled = true
2024-04-30 02:38:27 +00:00
func _on_wander_enabled() -> void:
if movement_wander_tp.target:
movement_wander.steer_direction_towards(movement_wander_tp.target)
else:
movement_wander.randomize_direction()