DungeonCrawler/CHARAKTER_SYSTEM.md
Andre 463c00f47f Charakter-System ausgelagert, Skill-System massiv erweitert
- CHARAKTER_SYSTEM.md erstellt: Klassen, Grund-/Zusatzstats, freie Punkte (2/Level)
- Zusatzstats: Glück, Willenskraft, Wahrnehmung, Weisheit (klassenabhängige Startwerte)
- Skill-System: Skill-Erwerb per Level, Skill-Level (1-5), Fusion-Qualität nach Level
- Skill-Typen (Aktiv/Passiv) und Kategorien (Physisch/Magisch) mit Fusionsregeln
- Rarity-System: Common→Uncommon→Rare→Epic→Legendary mit Fusions-RNG
- Sockel getrennt nach Magisch (max 2) und Physisch (max 3), resonanzabhängig
- Alle 15 Element-Kombinationen definiert + erweiterte Hybrid-Tabelle (15 Kombis)
- Frühes Skill-Freischalten durch Spielverhalten (Zellteilung)
- PROJEKTDOKU.md verschlankt mit Verweisen auf Charakter/Skill-System

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

172 lines
5.9 KiB
Markdown

# 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`
### Skills
#### Autoattack (Taste 1, Krieger/Schurke)
- **Schaden:** Waffenschaden oder klassenabhängig unbewaffnet + Main-Stat Bonus
- **Cooldown:** GCD (Waffen-Attackspeed / Haste)
- **Reichweite:** Waffen-Reichweite oder 3.0 (unbewaffnet)
- **Animation:** autoattack
#### Zauberstab (Taste 1, Magier)
- **Schaden:** Waffenschaden + INT (magisch, ignoriert Rüstung)
- **Cooldown:** GCD
- **Reichweite:** 20.0
- Deaktiviert Autoattack, exklusiver Fernkampf-Modus
- **Animation:** autoattack
#### Frostblitz (Taste 2, Magier)
- **Schaden:** 12-20 + INT (magisch)
- **Castzeit:** 1.5 Sekunden (unterbrechbar durch Bewegung/Schaden/Springen)
- **Manakosten:** 20
- **Cooldown:** 2.5 Sekunden
- **Reichweite:** 20.0
- Castbar wird über der Aktionsleiste angezeigt
#### Heavy Strike (Taste 2, Krieger/Schurke)
- **Schaden:** 10-15 + Main-Stat Bonus
- **Cooldown:** 3 Sekunden (eigener Cooldown, löst auch GCD aus)
- **Reichweite:** 4.0
- Aktiviert automatisch Autoattack danach
- **Animation:** heavy_strike
> **Hinweis:** Skills entwickeln sich über das Skill Mastery & Fusion System weiter.
> Siehe [SKILL_SYSTEM.md](SKILL_SYSTEM.md) für Details zu Mutationen, Sockeln, Elementen und Fusion.
---
## 6. 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*