Melee Drive · Counter window contract
Status: Locked · 2026-11-05 (Session C — pre Phase E build)
Product: Melee Drive Counter verb (FS-CMB-002)
Implementer path (DEFERRED): docs/tutorials/melee-drive-guns-singularity.md §5–§7
Packing: Counter GA + window helpers in TFAMelee; AI opens via server message / Logic Driver notify — no Tick magnet.
1. Intent
Section titled “1. Intent”Arkham-style timed intercept: AI telegraphs a punishable attack → player presses Counter → warp/connect to that attacker (ActiveAttackingEnemy) → Flow credit on success; fail = whiff-class Flow dump.
2. Locks
Section titled “2. Locks”| Rule | Lock |
|---|---|
| Window owner | Exactly one ActiveAttackingEnemy for the player at a time |
| Open | Server-only. AI wind-up telegraph start (ANS / Logic Driver OpenCounterWindow(Self)) |
| Close | Commit frame · interrupt · stun · death · timeout — whichever first |
| Duration | 450 ms default; family/AI DA clamp 300–600 ms |
| Per-AI cooldown | 2.0 s after that AI’s window closes before it may open again |
| Overlap | New open replaces prior window (old closes clean — not a player whiff) |
| Who may open | Melee / hybrid AI melee attacks only — guns never open Counter windows |
| Warp target | Always ActiveAttackingEnemy — never blind 360° re-scan |
| ADS | Ignore Counter input while ADS (bSuppressCounterWhileAiming = true) — not buffered |
| Fail | Miss window / wrong timing / cancelled = whiff-class Flow dump (FS-CMB-004) |
| Success credit | Non-fatal Counter → +1 Flow; fatal Counter → Melee Drive kill path (Asymmetric +2) via TFA.Combat.KillConfirmed |
| Net | Server opens/closes + authenticates hit; client prompt is presentation |
| Prompt | OmniVisor / world chrome on attacker (W_CounterPrompt) |
3. Flow / Singularity interaction
Section titled “3. Flow / Singularity interaction”- Counter success never forks a second combo meter — credits Kinetic Flow only.
- Fatal Counter uses the same KillConfirmed path as Melee Drive kills (Asymmetric table).
- Singularity Burst Storm kills do not re-open Counter windows mid-climax.
4. Acceptance (design)
Section titled “4. Acceptance (design)”- Window open → Counter connects to the window owner, not a different cone pawn.
- ADS → Counter input ignored (not buffered).
- Timeout / commit without Counter → no silent success; next Strike is normal.
- Failed Counter dumps Flow like a whiff.
- Two AIs trying to open → player sees only the latest
ActiveAttackingEnemy.
5. Out of scope
Section titled “5. Out of scope”- Full Logic Driver product-brain catalogs (AI Tracks A/B/C).
- Difficulty scaling tables for window duration (lab may dial 300–600).
- Phase E C++ until Melee Drive foundation ships.
6. Spec self-review
Section titled “6. Spec self-review”- Duration / open / close / cooldown / ADS / credit locked
- Plugify + KillConfirmed path cited
- No invented fourth meter