# LootTable.gd
# Definiert mögliche Drops eines Gegners
extends Resource
class_name LootTable

# Gold-Drop
@export var min_gold: int = 1
@export var max_gold: int = 5

# Item-Drops mit Wahrscheinlichkeiten
@export var possible_drops: Array[LootEntry] = []

# Generiert Loot basierend auf Tabelle
func generate_loot(enemy_level: int = 1) -> Dictionary:
	var gold_mult = 1.0 + (enemy_level - 1) * 0.5
	var result = {
		"gold": int(randi_range(min_gold, max_gold) * gold_mult),
		"items": []
	}

	for entry in possible_drops:
		if randf() <= entry.drop_chance:
			# Consumables kopieren damit Stacks unabhängig bleiben
			if entry.item is Consumable:
				var copy = entry.item.duplicate()
				copy.stack_size = 1
				result["items"].append(copy)
			else:
				result["items"].append(entry.item)

	return result
