212 Commits

Author SHA1 Message Date
alexpolo1
40e4dd8a4f Skill hotkeys select the RIGHT slot - fix cast flow, prove auto-binding live
Live finding (fresh game, 2026-06-12): D2R skill hotkeys select onto the
RIGHT skill slot, not the left as the old comments assumed. The left slot
permanently holds Blessed Hammer. Consequence: _cast_hammers pressing the
hammer hotkey after activating an aura was REPLACING the aura on the right
slot every cast cycle - the true root cause of fights running without
Concentration. _cast_hammers no longer touches the hammer hotkey: select
aura (lands on right, stays active), hold stand-still, spam left-click.
Verified live: full Diablo kill at 09:04, ~55s from last seal to kill.

Auto skill binding proven end-to-end (tools/set_binds_from_params.py):
blessed_hammer/concentration/redemption/vigor/holy_shield/teleport all
bound via the in-game picker and visually verified (6/7 OK; conviction
correctly reported missing - not skilled on this char).

- capture tool + preflight verify now watch the RIGHT slot
- fresh skill slot templates + clean PICKER_* cell templates captured at
  current settings (blessed_hammer, concentration, redemption, vigor,
  holy_shield, teleport)
- removed bogus conviction.png (had captured vigor's icon)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 09:13:52 +02:00
FiskenPoul
95f520e968 Resolve merge conflicts, keeping local Win10 specific changes 2026-06-05 21:47:11 +02:00
alex
4b96155a37 Hammerdin Diablo/Pindle fixes
- Fix merc icon detection: expanded ROI from 40x40 to 60x60 (matchTemplate requires search area > template)
- Add MercPanelText screen object using mercenary_screen.png for reliable merc alive check
- Bot merc check now uses MercPanelText instead of generic LeftPanel
- Diablo: wait for boss to spawn before attacking (up to 15s), use conviction aura
- Diablo/Pindle attack lengths increased (diablo 3->10s, pindle 3->8s)
- Aura key switch delay increased from 50-100ms to 200-300ms for reliable activation
- Add conviction hotkey (F5) to hammerdin config
- Move Pindle CTA pre-buff from town to after entering red portal
- More aggressive healing thresholds (health potion at 98%, rejuv at 85%)
- Max game length increased from 160s to 600s for full Diablo runs
2026-06-02 19:41:42 +02:00
alex
2baf51c717 Fix merc detection and portal clicking
- Crop A5_RED_PORTAL template to remove empty space (center now aligns with portal)
- Fix merc_icon ROI from 10,9,50,50 to 15,14,40,40 (matches 40x40 merc templates)
- Lower MercIcon threshold from 0.9 to 0.85, add MERC_A2_2 variant
- Add merc panel confirmation with 'O' key before resurrect (prevents false resurrect when icon detection fails)
- Override capabilities to can_teleport_natively
2026-06-01 22:20:49 +02:00
alex
2cd683ac7b Add not enough gold screenshot logging and new MISSING_GOLD template
- src/inventory/vendor.py: Log screenshots when NotEnoughGold detected
  during gambling, purchasing, and repairing
- src/ui_manager.py: Update NotEnoughGold to use new MISSING_GOLD template
  from assets/npc/missing_gold/ (full dialog match instead of color-based)
- assets/npc/missing_gold/missing_gold.png: New template for the popup
2026-06-01 11:21:53 +02:00
alex
f59ffd5d1f fix: raise stash page limit to 20 for ROTW support, fix merc_icon ROI, add red resurrect button detection 2026-06-01 09:27:42 +02:00
alex
9491169549 Add gold tracking to stats and fix game resolution 2026-05-28 16:52:41 +02:00
alex
dc224bec5c Fix CTA spam, traverse_nodes_fixed crash, and add skill preflight/setter
- config: cta_available=0 (user has no CTA weapon; was causing 5 failed
  weapon-swap attempts per run)
- pather: traverse_nodes_fixed now allows can_teleport_with_charges chars
  through instead of raising ValueError; when charges deplete mid-path
  char.move() falls back to walking gracefully
- utils: add skill_preflight.py (visual hotkey verification, all blizz_sorc
  skills use side=right) and skill_hotkey_setter.py (automated picker binding
  with step-by-step logging)
- test: add test_skill_preflight.py (3 passing tests)
- assets: add sorc skill icon templates for preflight matching
- tools: add capture_sorc_skill_icons.py and set_sorc_skill_hotkeys.py
- key_detector: extend VK map with numpad/F-key/symbol codes; add
  validate_key_bindings() and parse_key_file(); fix char_name lookup

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 19:26:00 +02:00
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
Randi
6f6c663b43 Added eldritch routine to firelock. Also made minor adjustments to a3 error finding stash to reduce error rate. 2026-03-24 22:51:06 -04:00
Randi
fdd0fc2230 Adjusted a3_stash_left pic as it could misclick cain on occasion. 2026-03-23 13:58:40 -04:00
Randi
5d5a9c2a63 Made improvements to resolve issues with finding stash in a3. Created left and right stash pictures to reduce issues of being covered. Also implemented move on first failure in an attempt to move merc. 2026-03-23 13:38:41 -04:00
Randi
eb75fc9aee Made adjustment to determining if stash is full of gold. Also remade inv_no_gold picture as it would detect numbers starting with 91 as 0. 2026-03-23 12:11:27 -04:00
Randi
593e509bc6 Added gheed's wager, horizon boots, and sunders to be picked up. Also fixed error that was causing set and unique names to be improperly reported. 2026-03-11 19:14:51 -04:00
Randi
68ed191efc Made fix to ensure the new warlock expansion uniques would get stashed. 2026-02-27 20:43:31 -05:00
Randi
bbe5395f4a Added worldstone shards to be stashed. 2026-02-19 23:38:50 -05:00
Randi
ed0a8270cf Added grimories to bnip files. 2026-02-17 22:22:14 -05:00
Randi
6f4f4ca472 Updated bnip files to support warlock skillers. 2026-02-16 21:55:48 -05:00
Randi
b243aec74f Added void base to bnip 2026-02-15 14:24:31 -05:00
Randi
b27911adae Updated stash tabs to work with Warlock expansion. 2026-02-14 23:26:15 -05:00
Randi
43e5a8ecab Fixed the missing string issue and inventory tab names. 2026-02-14 20:17:05 -05:00
Randi
c82051f276 Adjusted barbarian to use leap attack skill. 2025-11-15 15:39:57 -05:00
Randi
466c698b1d Updated Anya shopper to properly filter on +3 3/20 gloves. Also added MA 3/20 gloves in addition to the current jav gloves. 2024-06-24 20:54:15 -04:00
Randi
58bc20ce0e Made fixes to anya shop for shopping 3/20 jav gloves as previous implementation used old font which didn't work. 2024-06-20 19:50:53 -04:00
Randi
ed70c8e688 Tried to fixed issue of failed teleport at start. Fixed issue that prevented potions from being picked up. Fixed item inspection issue with tooltip. 2024-05-23 19:33:11 -04:00
Randi
39788df29c Set params.ini to match sorc. Updated environment.yml to set dependencies on package versions such as mss 7.0.1. Updated discord_embeds.py to work with latest discord version. Updated save_exit button image. Updated char_state image and roi. 2024-05-19 21:44:00 -04:00
Gleed
4a0396fe81 Enhancement: Replace pather.adjust_abs_range_to_screen() with ui_manager.get_closest_non_hud_pixel() (#908) 2022-06-19 15:06:15 -04:00
Gleed
21a79272ea Bugfix: Esc/close space on common.close() (#876)
* init

* more robust inventory close() logic, added asset

* leave health manager, probably better performance
2022-06-16 13:28:52 -04:00
Gleed
5127417bd3 Major feature: NTIP pickit syntax integration, OCR pickit, OCR item property filtering (#724)
By @Riddle1001 @Ezro @mgleed @D2RLegit Sosa
2022-06-16 09:46:14 -04:00
mgleed
16a9832af0 Bugfix: update active character template 2022-06-12 14:18:46 -04:00
NeoIsrafil
cdd16dbb92 Enhancement: Sazabi set
* Add files via upload

Sazabis sword found to add since its decent for barb fury mercs.

* Update pickit.ini

Adds sazabi sword to pickit so users can turn it on if they want it.

* Update pickit.ini

* Add files via upload

sazabi helmet for addition to complete sazabi set

* Add files via upload

there, the pngs.  I don't know why I missed them the first time....sorry bout that

* Add files via upload

* Delete set_sazabi_sword.png

* Delete set_sazabi_helmet.JPG

* Delete set_sazabi_helmet.png

* Delete set_sazabi_sword.JPG

* Add files via upload

Fixed images
2022-06-10 22:01:00 -04:00
Legit
54888942f5 Bugfix: Better pathing for walkers in trav (#790)
* Better pathing for walkers in trav

* Add files via upload

* trim a few templates

* re-add column asset, utilize another v2 asset

* fix tab/space issue

Co-authored-by: mgleed <aliigleed16@gmail.com>
2022-06-07 00:00:04 -04:00
badbrad2889
129c00ac44 Feature: Support transmute of all gem quality (chipped, etc.) (#736)
* Added the ability to transmute all gem types and select in params.ini

* Added the assets

* Updated STD to standard for transmute and updated ini for list style

* Changed the assets to standard

* changed list in INI to run only flawless by default

* Optimized the transmute: will only need to go through search once

* update tab selection

* Update params.ini

Co-authored-by: mgleed <aliigleed16@gmail.com>
2022-06-06 23:27:13 -04:00
mgleed
f7ea236823 Bugfix: character select active asset ignored hardcore characters (#838) 2022-06-06 21:53:35 -04:00
Legit
f0c6d5a6b7 Bugfix: getting stuck at act 2 portal location
* Updates act 2 template

* Add files via upload

* Delete a2_town_27.png

* Delete a2_town_22.png

* Add files via upload

* Delete a2_town_20.png

* Add files via upload

* Add files via upload

* Delete a2_town_22.png

* Add files via upload

* Update a2.py

* Update params.ini

* remove guy with shadow. asset already existed and added

Co-authored-by: mgleed <aliigleed16@gmail.com>
2022-06-06 11:16:03 -04:00
Legit
cf7eaa6d09 Bugfix: Non-UTF-8 characters in corpse pickup text caused corpse to be missed
* Update to corpse pickup

* Add files via upload

* Update ui_manager.py

Co-authored-by: mgleed <aliigleed16@gmail.com>
2022-05-20 22:51:01 -04:00
mgleed
580d9c6253 Bugfix: Revert keyboard save/exit 2022-05-14 05:32:51 -04:00
roozhou
376fb05225 Enhancement: Faster save and exit using keyboard (#697)
* Enhancement: Faster save and exit using keyboard

* Enhancement: faster chicken

1) Remove delay among key/mouse release (human can do it simutaneously
2) Save screenshot after save_and_exit
2022-05-09 04:07:48 -04:00
mgleed
a15f7207fe Bugfix: Cleanup assets at bottom of shenk stairs, add two more templates 2022-04-23 15:21:10 -04:00
mgleed
2dc1356cf7 Bugfixes: A2 TP stuck, also recapture some templates for d2r v2.4
* add _capture_template switch to template_finder.py _main function, replace eldritch templates

* update some trav templates

* update template_finder.py, update act 3 town templates

* update missing Eldritch templates

* add redudant eldritch templates and update nodes

* update shenk templates

* update trav assets, add redundant assets w nodes

* bugfix: a2 tp out of range of a2 templates

Co-authored-by: aeon0 <aeon4@pm.me>
2022-04-20 19:06:55 -04:00
mgleed
811d656022 Increase padding from 1 to 2 spaces, pad gold (#711) 2022-04-20 12:16:24 +02:00
aeon0
9bc085af3a feat/restricted-mouse-clicks (#709)
* feat/restricted-mouse-clicks

* fix typos, use GoldBtnInventory ScreenObject, use personal.specific_inventory_roi()

* make smaller gold button, trim ROI, and use grayscale to search

* remove unused roi

* fix circular import by reverting to Config inventory area and adding open_inventory_area variable, adjust code throughout

* simplify

* revert to template finding due to circular import with ui_manager

* grayscale template match

Co-authored-by: mgleed <aliigleed16@gmail.com>
2022-04-18 17:00:18 +02:00
mgleed
470f42b1b9 Bugfix: renamed mod folder from ifilter to botty and narrowed rmtree (#690)
* fix

* didn't save
2022-04-03 21:13:03 -04:00
mgleed
09a33ccf3d Feature/enhancement: Support for D2R launch options and cosmetic mods (#677)
Breaking change to param: `d2r_path`
2022-04-02 21:27:03 -04:00
mgleed
82576282ab Enhancement: Update OCR model for large numbers 2022-03-31 17:16:09 -04:00
roozhou
e64f1151f3 Enhancement: Use keyboard to select difficulty (#661)
* Enhancement: Use keyboard to select difficulty

* press instead of send

if somehow the select difficult menu is not available when the while True: loop is running, will still work.

* simplify, delete now unused assets

* cleanup more

Co-authored-by: jagarop <cfigueiroa@gmail.com>
Co-authored-by: mgleed <aliigleed16@gmail.com>
2022-03-25 22:35:45 -04:00
mgleed
1adeb3a32a Bugfix: Some NPC's don't open to misc tab (#642)
* init

* cleanup

* clean

* cleanup
2022-03-16 21:52:29 -04:00
mgleed
1abf57eae1 Bugfix/refactor: Safer screen transitions for laggy setups (#641)
* init

* update

* WIP. cleanup code. refactor stashing routines, etc. hopefully now closer to lag-proof

* more simplification, ready for testing

* change default normalize_monitor and adjust code accordingly. testing

* undo save/exit keyboard

* forgot to save a couple

* fix gold checking
2022-03-16 16:06:12 -04:00
mgleed
95b27f099f Bugfix/refactor: Search for open panels instead of skill icons (#631)
* init

* add town logic

* add additional close asset for HELP menu

* fin

* a
2022-03-11 17:46:30 -05:00
mgleed
54203ff036 Bugfix: Chicken if stats/skill icons pop up to avoid accidental allocations (#618)
* init

* simplify

* undo
2022-03-09 15:39:44 -05:00