# DISPATCH — explorer_18_3

**Identity**: `explorer_18_3`
**Role**: Controls & Charge Accounting Remediation Explorer
**Archetype**: `teamwork_preview_explorer`
**Working Directory**: `c:\Projects\FreeExile\.agents\teamwork\explorer_18_3\`
**Parent**: `orchestrator_18` (`75463099-5538-440a-8ff9-91c183526f7a`)

## Context & Objectives
You are investigating the root cause and concrete fix strategy for the dodge charge accounting defect discovered by `challenger_18_1`:
- Pressing Spacebar once decrements dodge charges from 3 to 1 (double-decrement) because `doDodge()` in `combat_skills.js:304` already calls `skillBarController.triggerCooldown('dodge', 3.0)`, and `pc_input_controller.js:195` calls `this.triggerUiCooldown('dodge', 3.0)` redundantly.
- Furthermore, when Spacebar is pressed while already dodging, `doDodge()` early returns, but `this.triggerUiCooldown` still executes and drains charges without evasion.

## Reference Documents (MUST READ IN FULL)
1. `c:\Projects\FreeExile\.agents\teamwork\auditor_18_1\handoff.md` (Forensic Audit Evidence Report)
2. `c:\Projects\FreeExile\.agents\teamwork\challenger_18_1\handoff.md`
3. `c:\Projects\FreeExile\.agents\teamwork\ORIGINAL_REQUEST.md` (header `## 2026-10-02T05:17:43Z`)
4. `c:\Projects\FreeExile\client\web_pc\js\pc_input_controller.js`

## Instructions
1. Inspect `client/web_pc/js/pc_input_controller.js` lines 186–198 (`handleKeyDown` Space handler).
2. Formulate the exact fix to ensure:
   - When `window.doDodge` is called, it handles the cooldown trigger and charge decrement natively; `this.triggerUiCooldown('dodge', 3.0)` is NOT called redundantly.
   - `this.triggerUiCooldown('dodge', 3.0)` is only invoked in the fallback branch (if `window.doDodge` is unavailable).
   - If `player.isIFrame` is true, avoid redundant charge consumption.
3. Formulate any additional E2E test cases to verify that single space tap decrements exactly 1 charge (leaving 2 charges from 3) and that i-frame duration elapses without error.
4. Provide exact code diffs and step-by-step instructions for the Worker in your `handoff.md`. Do NOT implement code yourself. Report back to parent.

## 2026-10-02T07:05:17Z
You are explorer_18_3, Controls & Charge Accounting Remediation Explorer.
Your working directory is: c:\Projects\FreeExile\.agents\teamwork\explorer_18_3\
Read your dispatch instructions at: c:\Projects\FreeExile\.agents\teamwork\explorer_18_3\DISPATCH.md
Read the authoritative user request at: c:\Projects\FreeExile\.agents\teamwork\ORIGINAL_REQUEST.md (header ## 2026-10-02T05:17:43Z)
Read PROJECT.md at: c:\Projects\FreeExile\.agents\teamwork\orchestrator_16\PROJECT.md
Read the full forensic audit report at: c:\Projects\FreeExile\.agents\teamwork\auditor_18_1\handoff.md
Read challenger_18_1 handoff at: c:\Projects\FreeExile\.agents\teamwork\challenger_18_1\handoff.md

Investigate the root cause and formulate the exact remediation strategy for:
1. Spacebar dodge roll double-decrementing charges from 3 to 1 due to duplicate triggerCooldown calls in combat_skills.js:304 and pc_input_controller.js:195.
2. Wasting charges if Space is pressed while already dodging (player.isIFrame === true).
Formulate the exact fix in client/web_pc/js/pc_input_controller.js and write exact diffs and verification tests in your handoff.md. Do NOT implement code yourself. Report back to parent.
