DungeonCrawler/character_class.gd
Andre e682ed65e4 Consumable-System, Klassen-Ressourcen, Hauptmenü und Item-Icons
- Consumable-System: Tränke (HP/Mana) mit Stacking, Rechtsklick-Benutzung, Aktionsleisten-Zuweisung
- Klassen-Ressourcen: ResourceType (NONE/MANA/RAGE/ENERGY) pro Klasse statt universelles Mana
- Hauptmenü: Einstellungen für Auflösung, Fenstermodus, VSync, MSAA
- Item-Icons: SVG-Icons für alle Equipment-Items und Tränke
- Character Panel: Icon-Grid mit Hover-Tooltips statt Textanzeige
- HUD: Ressourcen-Leiste mit klassenabhängiger Farbe
- Loot: Consumable-Support in LootTable/LootWindow
- Dokumentation vollständig aktualisiert

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 20:45:57 +01:00

37 lines
1.2 KiB
GDScript

# CharacterClass.gd
# Definiert Charakterklassen mit Grundstats und Main-Stat
extends Resource
class_name CharacterClass
enum MainStat { STRENGTH, AGILITY, INTELLIGENCE }
enum ResourceType { NONE, MANA, RAGE, ENERGY }
@export var class_name_de: String = "Krieger"
@export var main_stat: MainStat = MainStat.STRENGTH
@export var resource_type: ResourceType = ResourceType.NONE
@export var base_resource: int = 0 # Basis-Ressource auf Level 1 (0 = keine)
# Grund-Stats auf Level 1
@export var base_strength: int = 10
@export var base_agility: int = 10
@export var base_intelligence: int = 10
@export var base_stamina: int = 10 # Beeinflusst HP
# Stat-Zuwachs pro Level
@export var strength_per_level: float = 2.0
@export var agility_per_level: float = 2.0
@export var intelligence_per_level: float = 2.0
@export var stamina_per_level: float = 2.0
# Unbewaffneter Schaden (klassenabhängig)
@export var unarmed_min_damage: int = 1
@export var unarmed_max_damage: int = 2
@export var unarmed_attack_speed: float = 2.0 # Langsamer als mit Waffe
# HP pro Stamina-Punkt
const HP_PER_STAMINA = 10
# Mana pro Intelligenz-Punkt
const MANA_PER_INT = 5
# Schaden-Skalierung mit Main-Stat
const DAMAGE_PER_MAIN_STAT = 0.5