ft: made sprite behaviour consistent across entities

This commit is contained in:
2026-03-07 13:12:18 +01:00
parent da15fb77a2
commit 1fbc2f6637
9 changed files with 21 additions and 16 deletions

View File

@@ -2,15 +2,14 @@ extends AbstractPrey
@onready var wrapper: WrappingManager = $WrappingManager
@onready var collision: CharacterBody2D = $Collision
@onready var sprite: AnimatedSprite2D = $"Collision/Sprite"
@onready var sprite: AnimatedSprite2D = $Collision/Sprite
@onready var fsm: StateMachine = $StateMachine
var starting_pos
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
health = maxHealth
sprite.play("Healthy")
wrapper.play_sprite("Healthy")
play_sprite(idle_sprite)
if starting_pos:
collision.set_position(starting_pos)
@@ -32,14 +31,13 @@ func handle_damage(dmg: int, src: Node) -> void:
fsm.transition_to_next_state(fsm.States.FLEEING, {"threat": src})
func die() -> void:
sprite.play("Dying")
wrapper.play_sprite("Dying")
play_sprite("Dying")
GameManager.foodManager._spawn_food(collision.position)
super.die()
func become_injured() -> void:
sprite.play("Injured")
wrapper.play_sprite("Injured")
idle_sprite = "Injured"
play_sprite(idle_sprite)
func _on_sight_body_entered(body: Node2D) -> void:
if body.is_in_group("predator") or (health < maxHealth and body.is_in_group("player")):