- CharacterClass mit Klassen (Krieger, Schurke, Magier) und unbewaffnetem Schaden - Equipment-System mit 7 Slots, Seltenheiten und Stats - Inventar-System mit 20 Slots und Gold - LootTable/LootEntry für Gegner-Drops - Character Panel (C) mit Stats und Equipment-Anzeige - Inventory Panel (I) mit Item-Grid und Tooltips - Klassenauswahl-Menü bei Spielstart - Waffenschaden in Equipment-Spalte, unbewaffnet klassenabhängig Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
24 lines
529 B
GDScript
24 lines
529 B
GDScript
# 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() -> Dictionary:
|
|
var result = {
|
|
"gold": randi_range(min_gold, max_gold),
|
|
"items": []
|
|
}
|
|
|
|
for entry in possible_drops:
|
|
if randf() <= entry.drop_chance:
|
|
result["items"].append(entry.item)
|
|
|
|
return result
|