update
This commit is contained in:
6
doc/features.md
Normal file
6
doc/features.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
- tarverne verteidigen
|
||||||
|
- portale spawnen
|
||||||
|
- protale besiegen -> stärker werden
|
||||||
|
- rotes protal besigen -> welle geschafft
|
||||||
|
- rotes portal bricht nach timer aus -> greift tarverne an
|
||||||
|
- tarverne tod -> game over
|
||||||
12
doc/scenes/player/features.md
Normal file
12
doc/scenes/player/features.md
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
- WASD bewegung
|
||||||
|
- Leertaste springen mit gravitation
|
||||||
|
|
||||||
|
- gruppe "player"
|
||||||
|
- thirs-person camera
|
||||||
|
- RMB+Hold kamera bewegung, player ausrichtung
|
||||||
|
- leertaste springen
|
||||||
|
- listener
|
||||||
|
- player stirbt
|
||||||
|
- player wird gespawnt
|
||||||
|
- events
|
||||||
|
- fähigkeit verwenden
|
||||||
11
doc/scenes/player/specs.md
Normal file
11
doc/scenes/player/specs.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
- CharacterBody3D
|
||||||
|
- CollisionShape3D - capsule
|
||||||
|
-
|
||||||
|
|
||||||
|
- init.gd - daten initialisieren
|
||||||
|
- listener.gd - listener registrieren
|
||||||
|
- movement.gd - player bewegung
|
||||||
|
- camera.gd - kamera bewegung
|
||||||
|
- ability.gd -
|
||||||
|
- targeting.gd
|
||||||
|
- role.gd
|
||||||
0
doc/specs.md
Normal file
0
doc/specs.md
Normal file
58
plan.md
58
plan.md
@@ -22,12 +22,12 @@ scenes/ — Darstellung + Input
|
|||||||
healthbar_status.gd — Target-Border + Aggro-Farbwechsel
|
healthbar_status.gd — Target-Border + Aggro-Farbwechsel
|
||||||
healthbar_effects.gd — Effekt-Icons auf Healthbar
|
healthbar_effects.gd — Effekt-Icons auf Healthbar
|
||||||
player/ — Spieler + player_stats
|
player/ — Spieler + player_stats
|
||||||
role/ — Rollenwechsel + Ability/AbilitySet-Klassen
|
role/ — Rollenwechsel + Ability/AbilitySet-Klassen
|
||||||
damage/ — set.tres + abilities/
|
damage/ — set.tres + abilities/
|
||||||
tank/ — set.tres + abilities/
|
tank/ — set.tres + abilities/
|
||||||
healer/ — set.tres + abilities/
|
healer/ — set.tres + abilities/
|
||||||
enemy/ — Gegner + enemy_stats
|
enemy/ — Gegner + enemy_stats
|
||||||
boss/ — Boss + boss_stats
|
boss/ — Boss + boss_stats
|
||||||
portal/ — Portal + Gate + portal_stats
|
portal/ — Portal + Gate + portal_stats
|
||||||
dungeon/ — Dungeon + dungeon_manager
|
dungeon/ — Dungeon + dungeon_manager
|
||||||
hud/ — HUD (4 Skripte: vitals, respawn, abilities, effects)
|
hud/ — HUD (4 Skripte: vitals, respawn, abilities, effects)
|
||||||
@@ -49,7 +49,7 @@ autoloads/ — Globaler Zustand
|
|||||||
- Taverne
|
- Taverne
|
||||||
- Player
|
- Player
|
||||||
- Portale (dynamisch)
|
- Portale (dynamisch)
|
||||||
- Gegner
|
- Gegner
|
||||||
- HUD
|
- HUD
|
||||||
|
|
||||||
## Architektur
|
## Architektur
|
||||||
@@ -254,14 +254,14 @@ autoloads/ — Globaler Zustand
|
|||||||
- world.tscn — Hauptszene (100x100m)
|
- world.tscn — Hauptszene (100x100m)
|
||||||
- Systems (alle Systeme als Child-Nodes, siehe Systeme-Sektion)
|
- Systems (alle Systeme als Child-Nodes, siehe Systeme-Sektion)
|
||||||
- NavigationRegion3D
|
- NavigationRegion3D
|
||||||
- Boden (MeshInstance3D, 100x100m PlaneMesh)
|
- Boden (MeshInstance3D, 100x100m PlaneMesh)
|
||||||
- Kollision (StaticBody3D, WorldBoundaryShape3D)
|
- Kollision (StaticBody3D, WorldBoundaryShape3D)
|
||||||
- Licht (DirectionalLight3D, 45°, Schatten)
|
- Licht (DirectionalLight3D, 45°, Schatten)
|
||||||
- Taverne (StaticBody3D, BoxMesh, Mitte der Karte)
|
- Taverne (StaticBody3D, BoxMesh, Mitte der Karte)
|
||||||
- Gruppe (tavern)
|
- Gruppe (tavern)
|
||||||
- HitArea (Area3D) — nimmt Invasions-Schaden entgegen
|
- HitArea (Area3D) — nimmt Invasions-Schaden entgegen
|
||||||
- Healthbar (Sprite3D + SubViewport, groß, nur Health — kein Schild)
|
- Healthbar (Sprite3D + SubViewport, groß, nur Health — kein Schild)
|
||||||
- Registriert bei Stats mit TavernStats Resource
|
- Registriert bei Stats mit TavernStats Resource
|
||||||
- Spieler (Instanz von player.tscn)
|
- Spieler (Instanz von player.tscn)
|
||||||
- HUD (Instanz von hud.tscn)
|
- HUD (Instanz von hud.tscn)
|
||||||
- PortalSpawner (Node, portal_spawner.gd)
|
- PortalSpawner (Node, portal_spawner.gd)
|
||||||
@@ -272,7 +272,7 @@ autoloads/ — Globaler Zustand
|
|||||||
- Kollision (CapsuleShape3D, 1.8m x 0.3m)
|
- Kollision (CapsuleShape3D, 1.8m x 0.3m)
|
||||||
- Mesh (CapsuleMesh)
|
- Mesh (CapsuleMesh)
|
||||||
- CameraPivot (Node3D, camera.gd)
|
- CameraPivot (Node3D, camera.gd)
|
||||||
- Camera3D
|
- Camera3D
|
||||||
- Movement (Node, movement.gd) — WASD + Springen, liest Werte von Stats
|
- Movement (Node, movement.gd) — WASD + Springen, liest Werte von Stats
|
||||||
- Ability (Node, ability.gd) — Input-Handler 1/2/3/4, emittiert ability_use_requested
|
- Ability (Node, ability.gd) — Input-Handler 1/2/3/4, emittiert ability_use_requested
|
||||||
- Role (Node, role/role.gd) — Rollenwechsel ALT+1/2/3, emittiert role_changed (auch bei _ready)
|
- Role (Node, role/role.gd) — Rollenwechsel ALT+1/2/3, emittiert role_changed (auch bei _ready)
|
||||||
@@ -291,25 +291,25 @@ autoloads/ — Globaler Zustand
|
|||||||
- NavigationAgent3D
|
- NavigationAgent3D
|
||||||
- Bewegung wird vom AI-System (ai_system.gd) gesteuert — Enemy hat keinen eigenen Movement-Node
|
- Bewegung wird vom AI-System (ai_system.gd) gesteuert — Enemy hat keinen eigenen Movement-Node
|
||||||
- Healthbar (Sprite3D + SubViewport, healthbar.gd) — Health-Anzeige
|
- Healthbar (Sprite3D + SubViewport, healthbar.gd) — Health-Anzeige
|
||||||
- HealthbarShield (Node, healthbar_shield.gd) — Shield-Anzeige
|
- HealthbarShield (Node, healthbar_shield.gd) — Shield-Anzeige
|
||||||
- HealthbarStatus (Node, healthbar_status.gd) — Target-Border + Aggro-Farbe
|
- HealthbarStatus (Node, healthbar_status.gd) — Target-Border + Aggro-Farbe
|
||||||
- HealthbarEffects (Node, healthbar_effects.gd) — Effekt-Icons
|
- HealthbarEffects (Node, healthbar_effects.gd) — Effekt-Icons
|
||||||
- init.gd — Registriert bei Stats mit EnemyStats Resource, Detection-Area Signal
|
- init.gd — Registriert bei Stats mit EnemyStats Resource, Detection-Area Signal
|
||||||
- Aggro-Regeln (Werte in AggroConfig Resource):
|
- Aggro-Regeln (Werte in AggroConfig Resource):
|
||||||
- Aufbau:
|
- Aufbau:
|
||||||
- Schaden = Aggro (1:1), Tank 2x Multiplikator
|
- Schaden = Aggro (1:1), Tank 2x Multiplikator
|
||||||
- Heilung = 0.5x Aggro auf alle Gegner die Heiler kennen
|
- Heilung = 0.5x Aggro auf alle Gegner die Heiler kennen
|
||||||
- Aggro-Spread: 50% des Aggro an Gegner im alert_radius (10m)
|
- Aggro-Spread: 50% des Aggro an Gegner im alert_radius (10m)
|
||||||
- Detection-Area (10m): +1 Aggro, Alert an Nachbarn im alert_radius
|
- Detection-Area (10m): +1 Aggro, Alert an Nachbarn im alert_radius
|
||||||
- Kampfstatus:
|
- Kampfstatus:
|
||||||
- Spieler in DetectionArea → immer im Kampf (kein Decay)
|
- Spieler in DetectionArea → immer im Kampf (kein Decay)
|
||||||
- Spieler verlässt DetectionArea → 5s Combat-Timeout, dann Decay
|
- Spieler verlässt DetectionArea → 5s Combat-Timeout, dann Decay
|
||||||
- Schaden verursachen setzt Combat-Timer zurück
|
- Schaden verursachen setzt Combat-Timer zurück
|
||||||
- Abbau (nach Combat-Timeout):
|
- Abbau (nach Combat-Timeout):
|
||||||
- Basis: -aggro_decay/s (default 1.0)
|
- Basis: -aggro_decay/s (default 1.0)
|
||||||
- Exponentieller Decay basierend auf Zeit seit Kampfende (1%·2^sekunden)
|
- Exponentieller Decay basierend auf Zeit seit Kampfende (1%·2^sekunden)
|
||||||
- Ohne Aggro: Gegner kehrt zum Portal zurück, regeneriert
|
- Ohne Aggro: Gegner kehrt zum Portal zurück, regeneriert
|
||||||
- Bei Spieler-Tod → Aggro auf 0
|
- Bei Spieler-Tod → Aggro auf 0
|
||||||
|
|
||||||
## Boss (enemy/)
|
## Boss (enemy/)
|
||||||
- boss.tscn — wie enemy.tscn aber größer (Mesh lila, 1.5x)
|
- boss.tscn — wie enemy.tscn aber größer (Mesh lila, 1.5x)
|
||||||
@@ -324,9 +324,9 @@ autoloads/ — Globaler Zustand
|
|||||||
- HitArea (Area3D)
|
- HitArea (Area3D)
|
||||||
- DetectionArea (Area3D, Auto-Targeting bei Betreten)
|
- DetectionArea (Area3D, Auto-Targeting bei Betreten)
|
||||||
- Healthbar (Sprite3D + SubViewport, healthbar.gd)
|
- Healthbar (Sprite3D + SubViewport, healthbar.gd)
|
||||||
- HealthbarShield (Node, healthbar_shield.gd)
|
- HealthbarShield (Node, healthbar_shield.gd)
|
||||||
- HealthbarStatus (Node, healthbar_status.gd)
|
- HealthbarStatus (Node, healthbar_status.gd)
|
||||||
- HealthbarEffects (Node, healthbar_effects.gd)
|
- HealthbarEffects (Node, healthbar_effects.gd)
|
||||||
- init.gd — Registriert bei Stats mit PortalStats Resource
|
- init.gd — Registriert bei Stats mit PortalStats Resource
|
||||||
- Spawnt Gegner bei HP-Schwellen (→ SpawnSystem)
|
- Spawnt Gegner bei HP-Schwellen (→ SpawnSystem)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user