# Run Countess Route Plan ## Goal Record path data and templates for the Countess run (Act 1 Forgotten Tower) so it executes reliably with Hammerdin. ## Current State - `src/run/countess.py` exists and is wired into bot.py - `Location` constants defined in `pather.py`: A1_TOWER_LEVEL2_ENTER through A1_TOWER_LEVEL5_ENTER, A1_COUNTESS_SAFE_DIST - `config/game.ini` has 5 path entries — all set to `0,0` (placeholders) - Run is disabled in `params.ini` (`order=run_arcane, run_pindle`) ## Paths Needed (5 entries in game.ini) | Config Key | Description | How to Record | |---|---|---| | `a1_tower_level2_enter` | First click point inside tower after entering from Black Marsh | Walk into tower, record first position on L2 | | `a1_tower_level3_enter` | Click point at top of stairs to L3 | Walk up stairs, record position at L3 entrance | | `a1_tower_level4_enter` | Click point at top of stairs to L4 | Walk up stairs, record position at L4 entrance | | `a1_tower_level5_enter` | Click point at top of stairs to L5 | Walk up stairs, record position at L5 entrance | | `a1_countess_safe_dist` | Click point near Countess (safe hammer range) | Walk to Countess, step back to hammer range | ## Recording Steps ### 1. Record path coordinates 1. Start botty, let it waypoint to Black Marsh 2. Enter the tower manually (walk through the door) 3. Run `static_run_recorder.py`: ``` conda activate botty cd src/utils python static_run_recorder.py ``` 4. Right-click each target position in game order (L2 enter → L3 enter → L4 enter → L5 enter → Countess safe distance) 5. Copy the printed coordinate list ### 2. Update game.ini Replace the `0,0` values with recorded coordinates. Format: `x,y` per line, or comma-separated for multi-point paths. Example: ```ini a1_tower_level2_enter=400,300 a1_tower_level3_enter=410,280 a1_tower_level4_enter=420,260 a1_tower_level5_enter=430,240 a1_countess_safe_dist=450,200 ``` ### 3. Test the run 1. Add `run_countess` back to `order=` in `params.ini` 2. Start botty and verify it navigates through all tower levels 3. Adjust coordinates if it misses stairs or clicks in wrong spots ## Hammerdin-Specific Notes - `atk_len_countess=3.0` is already set in `params.ini` - Hammerdin uses `kill_countess()` method — ensure conviction aura is active before engaging - Safe distance should account for hammer swing range (~3-4 game units) ## Path Recorder Alternative If `static_run_recorder.py` is inconvenient, use `node_recorder.py`: ``` cd src/utils python node_recorder.py ``` Follow on-screen prompts to record nodes, then copy the generated path coordinates. ## Acceptance Criteria - Botty enters Black Marsh via waypoint - Navigates L2 → L3 → L4 → L5 without getting stuck - Reaches Countess and engages - Completes kill and returns to town - No false template matches on tower stairs