feat: Tiefengrenze ueber das Atemgas
Lint / Lint Resource (push) Has been cancelled

Macht ein Tiefenlimit mechanisch statt zur Absprache - und oeffnet die tiefen
Spots fuer den, der die richtige Flasche dabei hat.

Der Grund fuer die realen 40-45 m ist nicht der Druck, sondern der Stickstoff in
der Pressluft: tiefer wirkt er narkotisch, ab ~56 m wird auch der Sauerstoff
giftig. Wer tiefer will, atmet Trimix, wo Helium einen Teil des Stickstoffs
ersetzt. Genau so umgesetzt:

- maxDepth und gas pro Flasche in config/shared.lua; Pressluft 45 m,
  neues diving_tank_trimix 100 m
- Darunter Tiefenrausch in drei Stufen: Bildschirmeffekt, Kamerawackeln,
  hoeherer Luftverbrauch, in der letzten Stufe Schaden. Schwellen, Effekte,
  Staerken und Schaden komplett in config.narcosis
- Vorwarnung 5 m vor der Grenze, Tiefenanzeige im HUD wird rot und pulsiert
- Effekte werden beim Auftauchen, Ablegen, Tod und Resource-Stop aufgeraeumt
- Auswahlmenue zeigt Gas und Tiefengrenze pro Flasche
- Icon fuer die Trimix-Flasche, violett abgesetzt

Keine Dekompression - auf Wunsch bewusst weggelassen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-11 09:11:12 +02:00
co-authored by Claude Opus 5
parent e8ffe8870d
commit e5f47610a1
20 changed files with 315 additions and 32 deletions
+28 -8
View File
@@ -32,7 +32,7 @@ tatsächlich im Spiel lief — nicht, was „sollte gehen".
- [ ] 🟡 Flasche im Inventar ansehen → `durability`-Balken zeigt den Füllstand
- [ ] 🟡 Flasche einem anderen Spieler geben → Restluft geht mit
- [ ] 🟡 Flasche in eine Kiste legen und wieder rausnehmen → Restluft bleibt
- [ ] 🟢 Alle vier Größen einmal durch → Laufzeiten passen ungefähr (5/10/15/20 min)
- [ ] 🟢 Alle Größen einmal durch → Laufzeiten passen (5/10/15/20 min, Trimix 15)
## 3 · Auffüllen
@@ -50,13 +50,33 @@ tatsächlich im Spiel lief — nicht, was „sollte gehen".
- [ ] 🔴 Untertauchen → Luft läuft, Anzeige zählt runter
- [ ] 🟡 Warnungen bei 60 / 30 / 10 Sekunden → je genau **einmal**
- [ ] 🔴 Flasche leer unter Wasser → Meldung, Scuba aus, Ertrinken setzt ein
- [ ] 🟡 Tief tauchen → Verbrauch steigt sichtbar schneller als an der Oberfläche
- [ ] 🟢 Mit `depthDecayEnabled = true` tief tauchen → Verbrauch steigt sichtbar.
*Per Default aus, damit die Laufzeiten exakt stimmen*
- [ ] 🟢 20-Minuten-Flasche komplett leer tauchen → Laufzeit stimmt ungefähr,
keine Drift durch Frame-Drops
## 5 · HUD
## 5 · Tiefengrenze und Tiefenrausch
*Neu, komplett ungetestet. Die `timecycle`-Namen sind geraten — falls kein Effekt
kommt, in `config/client.lua` unter `narcosis.stages` einen anderen eintragen.*
- [ ] ❓ 🟡 Mit Pressluft auf ~40 m → Vorwarnung „Du näherst dich der Grenze"
- [ ] ❓ 🔴 Unter 45 m → Bildschirmeffekt setzt ein, Tiefenanzeige rot und pulsierend
- [ ] ❓ 🟡 Unter 55 m → Effekt stärker, Kamera wackelt
- [ ] ❓ 🟡 Unter 65 m → Schaden, Luft geht spürbar schneller weg
- [ ] ❓ 🔴 Auftauchen über die Grenze → **alle** Effekte verschwinden wieder
- [ ] ❓ 🔴 Mit **Trimix** auf 60 m → kein Tiefenrausch
- [ ] ❓ 🟡 Ausrüstung ablegen während des Tiefenrauschs → Effekte weg
- [ ] ❓ 🟡 Sterben im Tiefenrausch → Effekte weg, kein Timecycle bleibt hängen
- [ ] ❓ 🟡 `ensure d4rk_divegear` im Tiefenrausch → Effekte weg
- [ ] 🟢 Auswahlmenü zeigt Gas und Tiefengrenze pro Flasche
- [ ] 🟢 `narcosis.enabled = false` → nichts davon passiert
## 6 · HUD
- [x] Erscheint unter Wasser mit Ausrüstung, Tiefe/Luft/Druck stimmen
- [ ] 🟡 An Land mit angelegter Ausrüstung → HUD ist da, Tiefe steht auf 0.0 m
(Finimeter ablesen ohne Inventar)
- [ ] 🟡 Auftauchen → HUD blendet weich aus
- [ ] 🟡 Ausrüstung ablegen während es sichtbar ist → HUD verschwindet
- [ ] 🟢 Farbstufen: bernstein unter 60 s, rot unter 10 s mit Pulsieren
@@ -67,7 +87,7 @@ tatsächlich im Spiel lief — nicht, was „sollte gehen".
konnte ich nicht prüfen*
- [ ] 🟢 Export `exports.d4rk_divegear:setHudVisible(false)` funktioniert
## 6 · Lampe
## 7 · Lampe
- [x] Lampen-Anzeige im HUD schaltet um
- [ ] ❓ 🔴 **Mit Scuba-Kleidung am Ped** (Component 8) → Lampe leuchtet
@@ -78,7 +98,7 @@ tatsächlich im Spiel lief — nicht, was „sollte gehen".
- [ ] 🟡 Ausrüstung ablegen mit Lampe an → Lampe geht aus, bleibt aus
- [ ] 🟡 Sterben mit Lampe an → Lampe aus
## 7 · Ausrüstung bleibt dran
## 8 · Ausrüstung bleibt dran
*Der ursprüngliche Bug. Jeder Punkt hier ist ein eigener Weg, wie die Props
verschwinden konnten.*
@@ -92,7 +112,7 @@ verschwinden konnten.*
- [ ] 🟡 `ensure d4rk_divegear` während des Tauchens → keine Props als Leiche
in der Welt zurück
## 8 · Zu zweit
## 9 · Zu zweit
- [ ] 🔴 Beide mit Ausrüstung → jeder sieht Maske und Flasche des anderen
- [ ] ❓ 🔴 **Beide mit Lampe** → jeder sieht das Licht des anderen
@@ -101,14 +121,14 @@ verschwinden konnten.*
wenn er sie an hat. *Dafür ist der Abgleich-Thread da*
- [ ] 🟡 Einer stirbt/respawnt mit Lampe an → beim anderen geht sie aus
## 9 · Serverseitige Prüfung
## 10 · Serverseitige Prüfung
- [ ] 🟢 Normal tauchen → **keine** Warnungen oder Korrekturen im Server-Log
- [ ] 🟡 Tief tauchen mit hohem Verbrauch → Server schreibt keine Luft zurück.
*Wenn doch: `maxDrainPerSecond` in `config/shared.lua` erhöhen*
- [ ] 🟢 Flasche wegwerfen während sie getragen wird → kein Fehler im Log
## 10 · Performance
## 11 · Performance
- [ ] 🟢 Längerer Tauchgang → `resmon` bleibt niedrig
- [ ] 🟢 Mehrere Taucher mit Lampe gleichzeitig → keine spürbaren FPS-Einbrüche