Auto-launch of D2R and bnet credential injection are now gated behind
an explicit `auto_login=0` flag in params.ini. Setting it to 1 restores
the previous behaviour. Credentials stored in bnet_name/bnet_pass are
never appended to launch options while auto_login=0.
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Adds a tkinter run-selector window accessible from the botty console via
the new select_runs_key hotkey (default F6). Users can check/uncheck any
of the 11 supported boss/farm runs; the selection updates Config in-memory
and takes effect on the next game without restarting botty.
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
- Added bnet_name, bnet_pass, char_name config options
- Launch options auto-append -bnetname/-bnetpass when credentials set
- character_select.py: OCR fallback when template matching fails
- Scans character list row-by-row, matches by name, clicks and scrolls
- target_detect: add aspect ratio filtering to reject health bars and immune text
- pickit: add 0.2-0.3s wait after pickup before moving on (fix#939)
- game_controller: detect hardcore mode and stop instead of infinite death loop
- config: add 'hardcore' flag (default 0)
Closes#959, #939, #942
- 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
* Setting Up FOHdin for CS
* replaced hammers with FOH, but not targeted yet
* finish merging
* demo
* implemented all runs. avoid nihlatak.
* replaced FOH with Hammer for Nihl
* using hammers for dia now
* reverted dia hammers to FOH, so pure FOH runs CS
* added non mob-detection attacks to trav
* some tweaks
* tweaked hammer pindle for tele amu
* improved pindle for walker FOHdin
* Pindle, Eld, Shenk, CS tweaked. Trav needs work.
* fix NoneType error if nodes aren't found
* consolidate trav code
* small adjustment
* increase attack duration in loop condition rather than attack sequence
* pindle optimizations
* optimizations of pindle, eld, shenk
* more optimizations, trav still kinda ghetto
* update target detect to include closer targets
* implement concentration with holy bolt
* nihlathak and summoner
* revised CS trash atk pattern
* tweaked sealbosses!
* CS ready for pressure tests
* implement in-chaos pickit, match/case logic over if/elif, consolidate more functions, move some to i_char.py, patch health_manager.py to prevent it from closing inventory, update inspect_items() to allow items to be dropped and not kept to be sold
* revert change
* reserve hammerdin changes for a separate PR
* get rid of extra attack sequence
* disable target/attack logs for merge
* code cleanup
Co-authored-by: mgleed <[email protected]>
* 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 <[email protected]>
* added mob detection to CS to speed up runs
* refactoring - redemption does not work
* remove unused filterimage param for template_finder.search_and_wait
* get rid of selfs, add live view within mob_detection.py
* mobcheck(self) -> mobcheck()
* cleanup, img as an arg to mobcheck
* prefix functions for encapsulation, cleanup redundant code
* simplify further
* trim
* simplify live-viewer, move
* corrected liveviewer -- opencv hue ranges to 180 not to 255
* rename funcs
* consolidate live-view into target_detect.py
* silly ide
* fix nonetype error
fox nonetype error - but no mobs are detected anymore :(
* script runs, but fails to deteect mobs
* add pytest for target detection, fix target sorting
* revert info_ss
* running now! added "mercwait" to debug runtime
* added testing back to pather.py
* update pytest, discrete blue/green filtering, cleanup code
* fix NoneType, add negative test
* consolidate tests
* fix oopsie
* add config param
* fix config param
* fixed atk sequences & logging spam
ready to merge after my final 2 tests
* undo bad import
Co-authored-by: mgleed <[email protected]>
* New Hydra Build
Only runs pindle shenk eld so far
* Adjust hydra sorc to use any alt skill on right click
* Lowered spray
* Update config/params.ini
Co-authored-by: mgleed <[email protected]>
* Added bone necro char
* Added damage_scaling option
* adjusted some targeting
* Removed colored logging statements, documented damaage_scaling option, and moved its usage to the base class i_char
* 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 <[email protected]>
* Condsensed discord message will be the only option
Condensed message will be default. removed the option from params.
* Update game_stats.py
* Update discord_embeds.py
* Update bot.py
* Update shenk_eld.py
* Update config.py
* removed a line
removed e.set_thumbnail(url=f"{self._psnURL}36L4a4994.png")
* Update README.md
* New params for runtime and break time
* New params to manage session length and break time
* Starting message
* Message adjustments
* use _default_iff in config
Co-authored-by: mgleed <[email protected]>
* Added a way to add config variables to ini files.
* Added examples
* Added examples
Co-authored-by: Your Name <[email protected]>
Co-authored-by: mgleed <[email protected]>
* init, wip
* migration from original ocr complete, now troubleshooting phase
* first
* starts now
* catching more
* pause here, fix keep_item for ItemText class
* getting close
* adjust consumable quantity to refill per Legit
* fix import, refactor tp scroll tracking
* fixed property checking
* merge master, fix discord embed
* move tp charge setter
* properly track id scrolls after use
* fix accidental stashing
* fix sell_junk and chest_label bugs
* working on drognan instead of lysander
* a2 pathing, drognan support
* fix town-start to wp pathing, change key counting
* better drognan pathing
* comment out pather stuff
* restore old asset
* proper tp tracking
* revert key pickup to decrease need by 1
* fixing gambling, WIP
* working on gambling
* add comments to transfer_items
* add comments to transfer_items
* gambling semi-working, not stashing right
* simplify gambling process
* incorporate OCR gold reading to gamble, WIP
* gambling is painful
* simplified gambling - ~done
* finally finished gambling!
* fix diablo inventory check
* do not fail purchasing routine if item template is not seen
* fix condition
* deprioritize keys, scrolls during pickit; stop clicking Misc tab at repair
* cleanup
* init
* add support for grayscale + color_filtered
* cleanup logic
* only generate grayscale templates if use_grayscale=True
* simplify template_gray logic
* fix false detection of out of gold
* gambling with OCR was too buggy--replace with max gamble item count
* cleanup