# Charakter-System ### DungeonCrawler — Design Document v1.0 --- ## 1. Klassen ### CharacterClass (character_class.gd) Resource-Klasse die eine spielbare Klasse definiert. | Property | Typ | Beschreibung | |---|---|---| | class_name_de | String | Deutscher Klassenname | | main_stat | MainStat | STRENGTH, AGILITY oder INTELLIGENCE | | base_strength/agility/intelligence/stamina | int | Basis-Stats auf Level 1 | | strength/agility/intelligence/stamina_per_level | float | Stat-Zuwachs pro Level | | unarmed_min_damage | int | Unbewaffneter Mindestschaden | | unarmed_max_damage | int | Unbewaffneter Maximalschaden | | unarmed_attack_speed | float | Unbewaffnete Angriffsgeschwindigkeit | | resource_type | ResourceType | NONE, MANA, RAGE, ENERGY | | base_resource | int | Basis-Ressource auf Level 1 | ### Verfügbare Klassen (classes/) | Klasse | Main-Stat | Ressource | STR | AGI | INT | STA | Unbewaffnet | |---|---|---|---|---|---|---|---| | Krieger | Stärke | Keine | 15 | 8 | 5 | 12 | 2-4 Schaden, 1.8s | | Schurke | Beweglichkeit | Energie (100) | 8 | 15 | 7 | 10 | 1-3 Schaden, 1.5s | | Magier | Intelligenz | Mana (100 + INT*5) | 5 | 8 | 15 | 8 | 1-2 Schaden, 2.0s | ### Klassenauswahl (class_selection_menu.gd) Wird nach dem Hauptmenü angezeigt. Spieler wählt eine Klasse, danach wird Startausrüstung angelegt. --- ## 2. Stats ### Grundstats (steigen automatisch beim Level-up) Grundstats steigen bei jedem Level-up automatisch basierend auf klassenspezifischen Zuwachsraten. | Stat | Wirkung | |---|---| | **Stärke** | Physischer Schaden (Krieger/Schurke Main-Stat Bonus) | | **Beweglichkeit** | Physischer Schaden (Schurke Main-Stat Bonus), Angriffsgeschwindigkeit | | **Intelligenz** | Magischer Schaden, Mana-Pool (INT * 5) | | **Ausdauer** | HP-Pool (Ausdauer * 10) | **Konstanten:** - `HP_PER_STAMINA = 10` — HP pro Stamina-Punkt - `MANA_PER_INT = 5` — Mana pro Intelligenz-Punkt - `DAMAGE_PER_MAIN_STAT = 0.5` — Zusatzschaden pro Main-Stat-Punkt ### Zusatzstats (nur über freie Punkte) Zusatzstats steigen **nicht** automatisch. Sie können nur durch **frei verteilbare Punkte** beim Level-up erhöht werden. Jede Klasse hat unterschiedliche Startwerte. | Stat | Wirkung | |---|---| | **Glück** | Crit-Chance, Doppeltreffer-Chance, Fusions-RNG (Skill-System), Droprate, Sockel-Resonanz | | **Willenskraft** | Magische Resistenz, Mana-Regeneration, Debuff-Dauer verkürzen | | **Wahrnehmung** | Fallen erkennen, versteckte Gegner sehen, Ausweich-Chance | | **Weisheit** | XP-Bonus, Skill-XP schneller, Resonanz-Bonus (Skill-System) | ### Zusatzstats Startwerte nach Klasse | Stat | Krieger | Schurke | Magier | |---|---|---|---| | Glück | 3 | 5 | 2 | | Willenskraft | 2 | 2 | 5 | | Wahrnehmung | 3 | 5 | 3 | | Weisheit | 2 | 3 | 5 | ### Freie Punkte - **2 freie Punkte pro Level-up** - Können frei auf Zusatzstats verteilt werden - Einmal verteilt, nicht umverteilbar *(oder: Respec beim NPC gegen Gold?)* --- ## 3. Klassen-Ressourcen Jede Klasse kann eine eigene Ressource haben: | Ressource | Farbe | Skalierung | Klasse | |---|---|---|---| | Keine | - | - | Krieger | | Mana | Blau | base_resource + INT * 5 | Magier | | Energie | Gelb | Fix (base_resource) | Schurke | | Wut | Rot | Fix (base_resource) | (geplant) | Die Ressourcen-Leiste wird nur angezeigt wenn die Klasse eine Ressource hat. --- ## 4. Level-System - **XP-Kurve:** Level N benötigt `100 * 1.5^(N-2)` XP - **Stats pro Level:** Grundstats basierend auf Klassen-Zuwachsraten (automatisch) - **Freie Punkte:** +2 pro Level für Zusatzstats - **HP bei Level-Up:** Werden vollständig aufgefüllt (HP + Klassen-Ressource) - **XP-Vergabe:** Gegner geben XP basierend auf `xp_reward` Export-Variable - **Character Panel:** Aktualisiert sich automatisch bei Level-Up --- ## 5. Kampf-System ### Schadensberechnung 1. **Basis-Schaden:** `randi_range(min_damage, max_damage)` 2. **Stat-Bonus:** `main_stat * DAMAGE_PER_MAIN_STAT` (0.5 pro Punkt) 3. **Rüstung:** `damage * 100 / (100 + armor)` 4. **Level-Differenz:** `±10% pro Level, max ±50%` 5. **Mindestschaden:** Immer mindestens 1 ### Autoattack - Startet per RMB-Klick auf Gegner oder manuell per Taste 1 - Greift automatisch an sobald GCD abgelaufen und Ziel in Reichweite - Stoppt wenn Ziel stirbt oder abvisiert wird - Startet neu wenn man wieder in Range kommt (solange aktiv) ### DPS-Berechnung `DPS = (Durchschnittsschaden + Stat-Bonus) / GCD` ### Klassen-Grenzen | Klasse | Nahkampf | Fernkampf | Magie | |---|---|---|---| | Krieger | ✅ | ❌ | ❌ | | Schurke | ✅ | ✅ (physisch) | ❌ | | Magier | ❌ | ✅ (magisch) | ✅ | - Skill-Fusion nur innerhalb der eigenen Klasse - Multiclass: geplant für späteres Addon, aktuell nicht im Scope ### Max-Level & Skill-Progression - **Max-Level:** 35 - **Skills gesamt:** 8 pro Klasse - **Freischaltung:** durch Level-Gates (keine Skill-Punkte — Skills entwickeln sich eigenständig) - **Skill-Unlock Verteilung:** ``` Level 1: Skill 1 + Skill 2 (Basis-Kit) Level 5: Skill 3 Level 10: Skill 4 Level 15: Skill 5 Level 20: Skill 6 Level 28: Skill 7 Level 35: Skill 8 (Ultimate) ``` --- ## 6. Krieger — Skills **Ressource: Wut** (rot) - Aufgebaut durch: Treffer austeilen (+10), Treffer einstecken (+15) - Verfällt außerhalb des Kampfes langsam - Einziger Wut-Generator: Heavy Strike ``` Level 1: Autoattack — Basis-Schaden, kein Cooldown, keine Wut Level 1: Heavy Strike — Schaden + Wut generieren, kurzer CD (2-3s) Level 5: Tektonischer Schlag — AoE um Spieler, wenig Schaden, Slow, kostet Wut Level 10: Durchbeißen — Defensiv-Skill, mutiert durch Spielstil Level 15: Blutrausch — Einzelziel, Sofortschaden + Blutung DOT, kostet Wut Level 20: Wirbelwind — AoE Drehangriff, hoher Schaden, kostet viel Wut Level 28: Zornfesseln — Zieht Gegner heran + Schlag, kostet Wut Level 35: Berserker — Ultimate: 10s Berserkermodus + 2-3s Crash danach ``` ### Skill-Details #### Autoattack - Basis-Schaden, kein Cooldown, keine Wut-Kosten - Wird durch Berserker beschleunigt #### Heavy Strike - Einziger Wut-Generator - Kurzer Cooldown (2-3s), löst GCD aus - Skill-Memory Mutationen: - Oft in Folge gespielt → **Raserei**: mehr Wut pro Hit - Oft als Opener → **Erster Blut**: erster Hit im Kampf doppelte Wut - Oft bei vollem Wut-Bar → **Überladen**: Overflow gibt Schadens-Bonus #### Tektonischer Schlag - AoE Bodenschlag um den Spieler - Weniger Schaden als Wirbelwind, dafür Slow-Effekt auf alle Getroffenen - Kontroll-Skill, nicht Damage-Skill - Skill-Memory Mutationen: - Oft gegen viele Gegner → Slow-Radius wächst - Oft bei low HP → gibt kurzen Schutz zusätzlich zum Slow #### Durchbeißen - Defensiv-Skill, mutiert je nach Ausrüstung und Spielstil - **Mit Schild gespielt → Schildwall**: blockiert Schaden komplett, kein HP-Kosten - **Ohne Schild gespielt → Trotz**: Schadensreduktion skaliert mit fehlendem HP #### Blutrausch - Einzelziel, Sofortschaden + Blutung (DOT über mehrere Sekunden) - Kostet Wut - Skill-Memory Mutationen: - Oft bei hoher Wut → mehr Sofortschaden - Oft bei low HP → Blutung heilt dich anteilig zurück - Oft als Finisher → Blutung explodiert bei Tod des Gegners #### Wirbelwind - AoE Drehangriff, trifft alle um den Spieler - Hoher Schaden, kostet viel Wut - Counterpart zu Tektonischem Schlag: pure DPS statt Kontrolle #### Zornfesseln - Zieht einen Gegner heran, dann automatischer Schlag - Kostet Wut - Gut kombinierbar mit anderen AoE-Skills #### Berserker (Ultimate) - **Kosten:** Gesamte Wut (Minimum 50) - **Während aktiv (10s):** - Autoattack deutlich schneller - Alle Cooldowns reduziert - Weniger Schaden nehmen - Wut verfällt nicht - **Crash danach (2-3s):** - Mehr Schaden nehmen - Langsamere Bewegung - Skills gesperrt - Skill-Memory Mutationen: - Oft ohne Crash überlebt → Crash-Dauer sinkt - Oft im Crash getroffen → Berserker-Dauer +2s, Crash bleibt - Oft bei low HP aktiviert → mehr Schadensreduktion während aktiv --- ## 7. Schurke — Skills *(in Planung)* ## 8. Magier — Skills *(in Planung)* --- ## 9. Kampf-System ### Schadensberechnung --- ## 10. Character Panel (character_panel.gd, C-Taste) Zeigt zwei Spalten: - **Stats-Spalte:** Stärke, Beweglichkeit, Intelligenz, Ausdauer, Rüstung, HP + Zusatzstats (Glück, Willenskraft, Wahrnehmung, Weisheit) - **Equipment-Spalte:** Icon-Grid mit Tooltips bei Hover, Waffenschaden + DPS Unbewaffnet: Zeigt klassenabhängige Schadenswerte. --- *DungeonCrawler — Intern, Stand März 2026*