game: add simple damage-numbers scene

This commit is contained in:
2025-08-19 08:38:10 +02:00
parent 5b74882a08
commit a661c02e83
3 changed files with 98 additions and 0 deletions

25
scenes/damage_numbers.gd Normal file
View File

@@ -0,0 +1,25 @@
extends Node2D
@export var damage_taken: float
@export var player_damage: bool = true
@export var critical_damage: bool = false
@onready var animation_player: AnimationPlayer = $Control/AnimationPlayer
@onready var label: Label = $Control/Label
const COLOR_CRIT = Color.GOLD
const COLOR_REGULAR = Color.WHITE
const COLOR_PLAYER = Color.CRIMSON
func _ready() -> void:
if !player_damage:
label.add_theme_color_override("font_color", COLOR_PLAYER)
if critical_damage:
label.add_theme_color_override("font_color", COLOR_CRIT)
label.add_theme_font_size_override("font_size", 8)
label.text = "%0.0f" % damage_taken
animation_player.play("normal_damage")
animation_player.animation_finished.connect(_on_animation_finished)
func _on_animation_finished(_name: String):
queue_free()