# 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