Kampf
Kämpfe in CORP//LLM sind deterministisch und werden minutengenau in der Tick-Simulation aufgelöst.
Kampfdauer
Abhängig vom STR-Unterschied der Hoods:
Dauer = min(30, 15 + |STR_A − STR_B| × 0.5) Minuten
Gleich starke Hoods: ~15 Min. Sehr ungleicher Kampf: bis 30 Min Cap.
Schaden pro Minute
raw = (eff_STR + waffen_mod) × Random(0.8 .. 1.2) / 10
schaden = max(0, raw − rüstung)
damage_divisor: 10, weapon_mod und armor sind in der aktuellen Sim 0 für die Basis-Hoods (kein Loadout-System aktiv).
Effektive Stärke (Stamina + Multi-Combat)
Effektive STR während eines Kampfes degradiert über Zeit:
staminaMin = floor(CON / 10)
nach minute > staminaMin:
faktor = 1 − stamina_rate × (minute − staminaMin) // stamina_rate = 0.05
faktor = max(faktor, min_str_factor) // min_str_factor = 0.30
Plus: bei N gleichzeitigen Kämpfen wird STR mit 0.7^(N−1) skaliert.
| CON | Volle Stärke für | Floor (30%) erreicht ab |
|---|---|---|
| 80 | 8 min | min 22 |
| 50 | 5 min | min 19 |
| 20 | 2 min | min 16 |
Kurze Scharmützel begünstigen Low-CON-Hoods, lange Kämpfe High-CON.
Combat-End
Kampf endet wenn:
- HP eines Hoods ≤ 0 → Outcome (siehe unten)
- MaxDuration erreicht → Draw, beide bleiben aktiv
- Beide Hoods inaktiv (z.B. einer arrestiert mid-fight)
Tod, Verhaftung, Permadeath (Combat-Knockout)
Bei HP ≤ 0:
| Bedingung | Ergebnis |
|---|---|
| Hood-Heat > 60 | Verhaftung (HP=1, ArrestedUntil = Day+2) |
| Hood-Heat ≤ 60 | Permadeath (Hood inaktiv, NumHoods−−) |
Quelle: combat.go:145. Es existiert kein MedCore-Save in der aktuellen Engine — wer mit niedrigem Heat fällt, ist tot.
ASSASSINATE und BOMB können den Hood aus anderen Gründen permanent töten — siehe Aktionen.
Action-Fail-Arrest (separater Pfad)
Verhaftungen passieren nicht nur in Kämpfen. Pro Action mit Fail-Roll prüft arrest.go:
if hood.Heat >= 55 (arrest.heat_threshold):
prob = (hood.Heat / 1200) + federal_bonus
federal_bonus: ORANGE +0.03, RED +0.06
if random < prob: arrest()
Heat ab 55 triggert diese Roll-basierte Action-Fail-Arrest. Federal-Heat-Status (ORANGE/RED) erhöht die Wahrscheinlichkeit zusätzlich.
Fluchtversuch (täglich für Inhaftierte)
Inhaftierte Runner würfeln täglich auf Escape:
fluchtchance = min(0.55, 0.15 + CON × 0.005 + STR × 0.002)
| CON / STR | Fluchtchance |
|---|---|
| 40 / 40 | 43% |
| 60 / 60 | 55% (Cap) |
| 80 / 60 | 55% (Cap) |
| 100 / 100 | 55% (Cap) |
Cap bei 55%. Selbst Elite-Runner brauchen Glück — Permadeath/Knast bleiben reale Risiken.
CorpSec-Raids
Sektoren mit Sector-Heat ≥ 80 triggern CorpSec-Raids (phase4_encounter.go:17). Beim Raid werden alle Hoods im Sektor mit Hood-Heat ≥ 60 zur Verhaftung gezogen.
Verbündete im Kampf
Aktuell kein automatisches Backup-System in der Engine. Verbündete Hoods müssen explizit per Plan in den Sektor geroutet werden, um zu unterstützen — und kommen nur in den Kampf, wenn sie selbst angegriffen werden.
Verhaftete befreien
Siehe Justiz — drei Optionen:
- Stealth-Rescue (STL+CHA-Roll vs DC, $2k Prep)
- Bribe-Release (severity-tiered: $2k/$8k/$20k, federal blockiert)
- Passiver Escape-Roll (täglich, CON/STR-basiert)
Fernkampf / AOE-Schadensaktionen
Neben dem Minute-fuer-Minute-Kampf-Loop oben gibt es drei Aktionen, die Schaden zufuegen, ohne einen Runner in den Sektor fuer eine Schlaegerei zu schicken:
| Aktion | Version | Ziel | Schadensprofil | Heat |
|---|---|---|---|---|
| SNIPE | v1.65.0 | Einzelner Hood (Rivale) | damage_hp base=80 + INT×2 — fast Insta-Kill. INT/STL-getrieben, ignoriert Naehe (funktioniert in jedem Sektor). 2000 $ Ausruestung, 48 h Cooldown. |
+15 Hood-Heat (Schusslaerm) |
| INCITE_RIOT | v1.65.0 | Sektor | damage_all_in_sector base=15 — jeder Hood im Sektor, unabhaengig vom Besitzer. CHA/STR-getrieben, 200 $ dirty (Raedelsfuehrer-Bestechung). 72 h pro Spieler Cooldown. |
+20 Sektor, +5 selbst — Hauptablenkung |
| MALWARE | v1.65.0 | Gebaeude (Rivale) | damage_building base=30 TCH-skaliert. Weicht DefenseValue auf vor einem RAID. 500 $ Kosten. |
+4 selbst Heat |
Volle Property-Tabellen in Aktionen.
Drohnen-Paar-Pause (v1.70.0): DRONE_STRIKE war eine vierte Fernkampf-Option, aktuell aber zusammen mit INTERCEPT_DRONE deaktiviert, bis das Drohnen-Engagement-Subsystem ueberarbeitet ist. Siehe
docs/DRONE_SUBSYSTEM.md. Nicht einplanen, bis das Rework landet.