extends Panel signal claimed @export var tower: Tower @export var player: Player var value @export var id: String @export var title: String @export var subtitle: String @export var description: String func _ready(): $Title.text = title $Subtitle.text = subtitle $Description.text = description func _on_claim(): match id: "FIRE_COOLDOWN" when player.fire_cooldown_duration > 0: player.fire_cooldown_duration += value[0] player.weapon_bullet_damage -= value[1] "BULLET_DAMAGE": player.weapon_bullet_damage += value "BULLET_KNOCKBACK": player.weapon_bullet_knockback += value "PLAYER_SPEED": player.speed += value "TOWER_HEALTH": tower.health += value claimed.emit()