This commit is contained in:
Marek
2026-03-29 21:12:00 +02:00
parent ea0d2b51c0
commit b9ed399d34
7 changed files with 86 additions and 7 deletions

11
plan.md
View File

@@ -54,6 +54,7 @@
- NavigationAgent3D (Wegfindung)
- EnemyMovement (Node, enemy_movement.gd)
- EnemyCombat (Node, enemy_combat.gd)
- EnemyAggro (Node, enemy_aggro.gd)
- Healthbar (Sprite3D + SubViewport, über dem Gegner, enemy_healthbar.gd)
- SubViewport
- Border (ColorRect, gelb, sichtbar bei Anvisierung)
@@ -72,15 +73,21 @@
- 5 Passive: 50% mehr Schaden (permanent aktiv, kein CD)
- targeting.gd — Klick/TAB anvisieren, Kampfmodus bei Gegner-Angriff, Auto-Targeting auf nächsten Gegner
- event_bus.gd — Autoload-Singleton, globale Signals
- enemy.gd — Gegner-Kern, State Machine (Idle, Verfolgen, Angreifen, Zurückkehren), Aggro bei Schaden, alarmiert Gegner in 3m
- enemy.gd — Gegner-Kern, State Machine (Idle, Verfolgen, Angreifen, Zurückkehren), alarmiert Gegner in 3m
- enemy_movement.gd — Navigation zum Ziel/Spawnpunkt
- enemy_combat.gd — Angriff über Event (damage_requested)
- enemy_aggro.gd — Aggro-Tabelle (Spieler → Wert), wählt Ziel mit höchstem Aggro
- Schaden = Aggro (1:1)
- Heilung = Aggro (0.5x)
- Tank = Aggro-Multiplikator (2x)
- Aggro verfällt -1/s
- Bei Spieler-Tod → Aggro auf 0
- health.gd — Leben, 1/s Regeneration, Tod bei 0 (wiederverwendbar)
- shield.gd — Schild, regeneriert nach 3s ohne Schaden, in 5s voll (wiederverwendbar)
- player_class.gd — Klassenwechsel ALT+1 bis ALT+3 (Tank/Schaden/Heiler), tauscht AbilitySet
- respawn.gd — Bei Tod: Spieler deaktivieren, 3s Timer, Respawn am Startpunkt, Leben/Schild voll
- hud.gd — Reagiert auf Events, aktualisiert HealthBar/ShieldBar/AbilityBar/RespawnTimer
- enemy_healthbar.gd — Liest Health/Shield vom Gegner, aktualisiert Balken über dem Gegner, gelber Rand bei Anvisierung
- enemy_healthbar.gd — Liest Health/Shield vom Gegner, aktualisiert Balken über dem Gegner, gelber Rand bei Anvisierung, blauer Lebensbalken wenn Spieler Ziel ist
## Abilities (Resources)
- ability.gd (Resource) — name, type, damage, range, cooldown, uses_gcd, execute()