Files
my-botty/test_plan.md
T
alex 0af8a54116 feat: auto-detect D2R key bindings from .key/.keyo file
- Read character .key file from Saved Games / D2R install dir / APPDATA
- Auto-fill empty hotkeys in [char] section (inventory, belt, potions, etc.)
- Match skill slots to configured skills for validation
- Normalize key variants (left alt ~ alt, left shift ~ shift)
- params.ini values always take priority over detected bindings
- Warn on genuine mismatches between config and .key file
2026-05-19 16:46:24 +02:00

130 lines
3.9 KiB
Markdown

# Botty Singleplayer Test Plan
## Pre-Flight Checklist
Before running, verify:
- [ ] D2R installed and running at 1280x720 windowed
- [ ] D2R language is English
- [ ] Offline play is available (no battle.net required for singleplayer)
- [ ] Character is a sorceress with Town Portal + Teleport (level 65+)
- [ ] Belt setup: Col 1=HP potions, Col 2=MP potions, Col 3-4=Rejuv
- [ ] Skill hotkeys match params.ini:
- F1 = Nova (right skill, pre-selected)
- F3 = Energy Shield, F4 = Frozen Armor, F5 = Static Field
- 5 = Teleport, 6 = Town Portal
- W = weapon switch, 7 = Battle Orders, 8 = Battle Command
## Phase 1: Launch Test
Goal: Verify botty starts without import errors.
1. Open cmd, activate the botty env:
conda activate botty
cd C:\Users\alex\Downloads\my-botty
2. Run: python src\main.py
Expected:
- "============ Botty 0.8.1-dev [name: bigfont] ============="
- Hotkey table (F7, F8, F9, F10, F11, F12)
- Console idles waiting for hotkey input
- No Python errors in console
If it crashes here, we fix the import error before proceeding.
## Phase 2: Auto Settings
Goal: Apply the required D2R graphics settings so botty's template matching works.
Preparation:
- D2R must be running (on main menu or character selection)
- Press F9 in botty console
Expected:
- Botty reads your Settings.json and rewrites it
- Botty sets launch options: -mod bigfont -txt
- Console prints: "Adapted settings successfully"
- You restart D2R and it runs at 720p with low settings
After this, restart D2R once.
## Phase 3: Character Selection
Goal: Botty detects the character selection screen and clicks Play.
1. Start D2R, navigate to character selection
2. Highlight your Nova sorc character (left-click it)
3. Make sure the "Offline" tab is selected (bottom left of char selection)
4. Press F11 in botty
Expected console output:
- "Wait for Play button" / "Found Play Btn"
- D2R difficulty key pressed (H = Hell)
- D2R loading screen appears (black screen)
Press F12 to stop botty once the loading screen appears.
If botty can't find the Play button:
- Make sure D2R is at 720p windowed (not fullscreen, not borderless)
- Make sure the window is not minimized
## Phase 4: Full Run Cycle (Travincal)
Goal: Complete first run without manual intervention.
1. D2R at character selection, sorc selected
2. Press F11
3. Watch botty:
- Selects character, starts game
- Loads into town (Kurast for Act 3 / Lut Gholein)
- Pre-buffs: Energy Shield -> Battle Orders -> Battle Command
- Casts Town Portal on ground, steps through
- Teleports to Travincal area, enters the dungeon
- Finds Travincal, attacks with Nova (right click)
- Travincal dies
- Picks up loot
- Town Portal back to town
- Save & Exit
- Returns to hero selection
- Restarts automatically
Watch for problems:
- Character doesn't move -> check Always Run is ON
- Character doesn't attack -> check Nova is pre-selected right skill
- Character doesn't TP -> check teleport hotkey (5)
- Character gets stuck pathing -> bot may need to adjust, or D2R settings off
## Phase 5: Second Run (Eldritch/Shenk)
After Trav completes, botty starts a new game and does the second configured run. Same flow, different destination.
## Phase 6: Multi-Game Stability
Run 5-10 complete rotations without touching the keyboard. Watch for:
- Consistent runs (no crashes or freezes)
- Potions being consumed
- Bot recovering from failures (auto-restart via chicken/save-and-exit)
- Memory/Python stability
## Hotkeys
F9 = Auto Settings (reconfigure D2R graphics)
F11 = Start/Pause bot
F12 = Stop bot
## Troubleshooting
- "No play button found" -> D2R not at main menu, or wrong resolution
- Character doesn't move -> "Always Run" not enabled in D2R options
- Character doesn't attack -> right skill not set to Nova, or hotkey wrong
- "Failed to detect MAIN_MENU" -> restart D2R, make sure window is visible
- OCR errors on character name -> ensure -mod bigfont is in launch options