mirror of
https://github.com/Steffo99/hella-farm.git
synced 2024-11-24 09:04:22 +00:00
56 lines
1.5 KiB
GDScript
56 lines
1.5 KiB
GDScript
extends BetterCharacterBody2D
|
|
class_name Chupacabra
|
|
|
|
|
|
@export var skitter_directions: Array[Vector2] = []
|
|
|
|
|
|
@onready var sprite: SpriteLeftRight = %"Sprite"
|
|
@onready var movement_wander: MoveStraight = %"MovementWander"
|
|
@onready var movement_wander_tp: TargetPicker = movement_wander.get_node("TrackerMeat/TargetPicker")
|
|
@onready var animator: AnimationPlayer = %"Animator"
|
|
@onready var eater: Eater = %"Eater"
|
|
@onready var tophatter: Eater = %"TopHatter"
|
|
@onready var monocler: Eater = %"Monocler"
|
|
|
|
|
|
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 = 18
|
|
tophatter.collision_mask = 16
|
|
monocler.collision_mask = 16
|
|
z_index = Enums.ZIndex.EntityAir
|
|
y_sort_enabled = false
|
|
eater.collision_mask = 16
|
|
animator.play(&"drag_start")
|
|
|
|
func _on_fallen() -> void:
|
|
collision_layer = 8
|
|
collision_mask = 14
|
|
tophatter.collision_mask = 8
|
|
monocler.collision_mask = 8
|
|
z_index = Enums.ZIndex.EntityGround
|
|
y_sort_enabled = true
|
|
eater.collision_mask = 8
|
|
animator.play(&"RESET")
|
|
|
|
func _on_trapped() -> void:
|
|
z_index = Enums.ZIndex.EntitySacrifice
|
|
y_sort_enabled = false
|
|
|
|
func _on_freed() -> void:
|
|
z_index = Enums.ZIndex.EntityGround
|
|
y_sort_enabled = true
|
|
|
|
func _on_wander_enabled() -> void:
|
|
if movement_wander_tp.target:
|
|
movement_wander.steer_direction_towards(movement_wander_tp.target)
|
|
else:
|
|
movement_wander.randomize_direction()
|