2024-04-14 21:29:39 +00:00
|
|
|
extends CharacterBody2D
|
|
|
|
class_name Imp
|
|
|
|
|
2024-04-15 00:45:18 +00:00
|
|
|
@export var skull_chance: float = 0.2
|
|
|
|
|
|
|
|
@onready var skull_spawner: Spawner = $"SkullSpawner"
|
2024-04-15 04:07:49 +00:00
|
|
|
@onready var sprite: SpriteLeftRight = $"Sprite"
|
2024-04-15 00:45:18 +00:00
|
|
|
@onready var draggable: Draggable = $"Draggable"
|
2024-04-14 21:29:39 +00:00
|
|
|
|
|
|
|
|
2024-04-15 04:07:49 +00:00
|
|
|
func _on_eat_target_eaten(target: Edible):
|
|
|
|
target.queue_free()
|
2024-04-15 00:45:18 +00:00
|
|
|
if Random.rng.randf() < skull_chance:
|
|
|
|
skull_spawner.spawn()
|
|
|
|
|
|
|
|
|
|
|
|
func _on_draggable_move(movement:Vector2):
|
|
|
|
if draggable.being_dragged:
|
|
|
|
move_and_collide(movement)
|
2024-04-15 04:07:49 +00:00
|
|
|
sprite.handle_move(movement)
|
2024-04-15 00:45:18 +00:00
|
|
|
|
|
|
|
func _on_move(movement:Vector2):
|
|
|
|
if not draggable.being_dragged:
|
2024-04-15 04:07:49 +00:00
|
|
|
move_and_collide(movement)
|
|
|
|
sprite.handle_move(movement)
|