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

5.9 KiB

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 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