Commit Graph

566 Commits

Author SHA1 Message Date
John Wu
6a213014b8 Enhancement: Add more chest assets (#547) v0.6.6 2022-02-14 21:08:02 -05:00
jobithu
a9c3e125ab Feature: Diablo optimization & Killing Trash in Chaos Sanctuary (#460)
* C1F & B1S switched to static pathing

* Improved overall robustness

* improved A layout check consistency

* added A layout check consistency & CTA rebuff

* Home now a loop, B now first seal to pop.

* Trash clear at pentagram, B1S, C1F loop added.

* Changed DeSeis attack pattern so MERC can kill

* tweaked diablo spawn timer & vizier attack pattern

* fixed minor pickit error.

* fixed Layout B Check loop & improved C1F

* improved C1F pathing home

* improved B layout check by removing trash kill

* added C2G static path to infector & loop home

* tweaked pathing

* lots of pathing tweaks to increase consistency

* Clarified Logger.Info

* Fixed A1L Tele to Lava Bug

* Fixed A1Y Tele Lava bug

* Fixed B2U missing pentagram on loop back

* fixed logger

* Completely reworked layout checks

* Reworked C seal layout check

* fixed ending up too low at Diablo

* optimized loop home for C

* added all seals

* removed duplicate trash sequence at C

* Fixed B2U looping home, added essence

* Template Check Threshold raised for Layout Checks

* Reverted A layout check back to inital version

* Aggressive Layout Checks implemented.

* Replaced Pentagram Templates to improve [602]

* Fixed loops for new pent layout

* Reverted A layout checks back to initial version

* merged 6.1?

i hope it worked.

* Pressure Test: A2Y 98% layout check success

* Massive improvements on Layout Checks

* Integrated Skizot's A4 merchants

* Fixed an error on A1L.

* fixed a small error on final pickit

* Slight Cleanup

* tweaked A2Y nodes to avoid lava jumps

* Added B2U Seal Logging

* Add templ. to 611 & 610 to fix stuck pather

* WiZ/SwePow suggestions

* Some more tweaking

* Trying to improve B layout checks (not full run)

* Seal B logic pressure test (no full run)

* added timeouts to weak traversenodes (no full run)

* Pacifist Version - just checking layouts no bosses

* Pure Layoutcheck Pressure Test (double checks)

* Pacifist mode: Layout Check

* Update bot.py

* Added Templates to improve Layoutchecks

* Tweaked B2U Templates (Pacifist Version)

* add B2U nodes & calibration to impr. layout check

* added nodes to layout checks

* Added A1L Calibration Node for Layoutcheck

* Full running script

* Fixed Calibrations - Full Run

* fixed mousover keyerror

* yet another mousover

* fixed a pather issue on B1S, full run

* yet another mousover. full run.

* mousover... ful run

* yet another mousover. full run

* fixed C2G looping across pentagram

* Update game.ini

* WiZ testing

* added seal_node to sealdance

* added C1F layoutcheck nodes

* Added Wiz Speedrun

* tweaked wait in sealdance

* A1L-Static path to Pentagrram

* added A2Y hop 622

* A2Y static path home

* B1S static path home

* changed C1F fake template

* added new C1F seals & static home

* Speed or no speed

Using kill_cs_trash config

* fixed a 36b key error

* Random guess actually is random now

It wasnt random at all before so trying out if this is better

* Minor fixes and tweaks

* B2U - Static Path Home

* Redworked C1F - not stable yet

* Seal order B,C,A and DeSeis fix

There was copy/paste bug in DeSeis making it use wrong atk_len and then I also tuned the attacks a bit.

* fixed final B2U issue, should be stable now!

* added B2U 644_646 static path

* added mapping

* A seals fixed hopefully

More testing tomorrow!

* run diablo py

Yours is the diabloC, I didnt have time to compare them before sleep and wanted you to have both in case

* so this should be super stable now!

* Reverted A1L & A2Y Seal Order (but kept WiZ Idea)

* Reverted Seal Order

* Added Rudi TP :)

* all loop home now

* added TP  template to loop

* typo

* stashs & shrine gfx, TP counter

* removed pent_6 (many false positives looping home)

* clean up for aeon

* fixed typos

* New A2Y & C2G home pathing

* Reworked C1F 704 to avoid stuck

* Ready to test!

* fixed pather clicking outside D2R

* Tweaked Seal A

* Loot to Sealdance() & A2Y tweaks

* removed FALSE from TP fail

* Updated Readme.md

* remove env

* clean up code

* account for used tp

* Removed Dia C1F 700s and replaced with 650s

* Moved Seals, Fights & Pickit to Hammerdin file

* #Trapsin now supported for Arcane and CS
#Trapsin now optionally uses defensive spells Cloak of Shadows and Mind Blast
#Trapsin now waits for Shadow Warrior before using CTA

* Update readme

* Working version

* added  trapsin

* added nova sorc

* added nova sorc

* added light & nova sorc

* added clear trash, issue on 1 function

* Added Clearing Trash

* added 1 tele stop between WP & Pentagram

* fixed mistake on i_char

* CS Trash is now available for beta testing

* fixed a minor issue

* percised some debug logging

* Added CS Trash for Necro, Trapsin, Sorc (no blizz)

* added CS trash to Necro, Trapsin, Sorc_Light _Nova

* # moved functions from chars back to diablo.py
# removed CS for all chars execept hammerdin
# added seal_layout to sealboss functions
# added location to cs_kill_trash functions

* removed pickit from hammerdin.py

* trying to fix some attribute errors for pre_move

* forgot to add _char for pather.traverse_nodes

* added & removed some ._char, now it runs :)

* fixed a missing argument & cleaned up

* clear_trash=1 implemented & working

* added more kill_trash options

* added more debug info & generic kill trash spots

* fixed some debugger errors

* hammerdin done

* updated readme for cs_trash

* #merged A1L and A2Y pathing to char.py
# added A2Y static pathing to Pentagram

* fixed some errors ...

* A1L & A2Y work with new pathing logic

* Ok generic Diablo.py should now work

* and hammerdin.py aswell

* full run

* moved C1F static path to hammerdin.py

* fixed an error for pathing

* Improved A LC consistency to >99%

* Colors!

* added 2 A1L LC templates

* moved pickit to hammerdin.py

* 4min runs

* removed timeouts. 88% killrate right now.

* Added Logparser (thanks famE)

* separated log parser columns

* tweaked log parser

* changed positions of de seis kill screenshots

* added clearing trash between Pent & LC

* fixed missing _self

* Added option for cs_town_visits between seals

* Improved B1S loop home & tweaked some messages

* fixed an error not clearing seals & added colors

* removed 632 duplication & not needed LC templates

* added clear trash to A & B LC

* added pickup at 646

* added PENT_2 Template & removed fail shrine checks

* Added C2G Templates currently only 82% good runs

* Added Hybrid Calibration Nodes

* re-added templates for LC

* added 1px to WP->PENT traverse to avoid missing it

* tweaked home from 632 for not missing pent

* added more redemption before 632 calibration

* merged individual seals to one function

* fixed seal template error

* Added LC function. Fixed C2G & Loop to Pent-Stable

* added atk_len for diablo

* fixed typo so log parser stats are right

* added & increased threshold to LC calibration

* fixed new LC threshold oO - should push less often

* reverted B LC back to initial order

* log parser tweaks

* added shrine check to pather.py

* replaced 630640 with 647

* added B1S LC templates & changed shrine check

* swapped LC for B (current had 75%)

* reworked cs_trash up to LC

* log parse counts templates used

* Fixed B Layout checks

* log parser now w. templates. shrine check added

* just changes to debug names & adding a nicer table for botty start :P

* #best match & time_out=0.1,
#return false on nodes
#new shrine ROI

* Force Stashing before running Dia, logger wording

* shrine check less frequent. char.py cleaned up

* reworked trash layout B

* added 603 ROF1 templates

* added info to params.ini to reduce Q&A in discord

* # added stash every run param
# transferred trash choreography to char.py
# reverted some template changes.

* Ready to merge. Not perfect, but much better!

* small fix before merging

* Update nova_sorc.py

* Update basic.py

* added missing templates causing an error @602

* C2G: static path LC 661 & comment screenshots

* various changes--changed some info to debug, changed floats in config, adjusted runs_per_stash logic

* autoformatting made me commit

* nodes for trash between pent & seal. A works B is bad.

* fix bool -> bool(int(

* added calibration nodes for trash pent>seal

* Full run for testing efficacy of new trash nodes

* fixed a pathing issue

* reverted back to old method for trash.

* Ready for merge.

Co-authored-by: WiZ <32465449+SwePow@users.noreply.github.com>
Co-authored-by: aeon0 <aeon4@pm.me>
Co-authored-by: mgleed <aliigleed16@gmail.com>
2022-02-14 16:25:45 -05:00
Vladimir Makaev
94a617f9ae Bugfix: incorrect path offset for shenk. Optimize tele charges (#545)
* Fix incorrect path offset for shenk. Enable using charges to optimize the run

* Do offset in case can_teleport_natively vs can_teleport_with_charges
2022-02-14 16:21:47 -05:00
mgleed
c85a360152 Bugfix: Messenger has no attribute "send" 2022-02-14 12:58:48 -05:00
mgleed
81a783624e Bump to v0.6.5 (#536) 2022-02-13 08:33:39 -05:00
Ezro
d679858d30 Refactor: Track nopickup status in GameStats and only /nopickup once (#534)
* Track nopick status in GameStats and only /nopick once

* Rename var from nopick_active to nopickup_active
2022-02-11 22:39:00 -05:00
mgleed
5bb62a9642 Bugfix: string literal, added tp charges debug line (#535) v0.6.5 2022-02-11 21:50:57 -05:00
Vladimir Makaev
27388b82fc Bugfix: remap keybind is crashing (#533) 2022-02-11 13:48:11 -05:00
mgleed
35b5d7d6f8 Bugfix: Correct handling of empty img parameter 2022-02-11 13:47:17 -05:00
mgleed
883aa4468a Bugfix: Incorrect merge for turning off gold pickup (#530) 2022-02-08 21:28:14 -05:00
mgleed
64908630f4 Update transmute.py (#528) 2022-02-08 20:57:46 -05:00
mgleed
56bde23156 Cleanup: Artifact from recent PR (#521) 2022-02-08 20:56:05 -05:00
Vladimir Makaev
9c0fa2207c Bugfix: Skip Transmuting if Cube isn't empty (#529) 2022-02-08 20:52:42 -05:00
Vladimir Makaev
a1a1a5f375 Fix barbarian crashing on pre_move() (#527)
Co-authored-by: Vladimir Makayev <vmakaev@fb.com>
2022-02-08 20:32:36 -05:00
Steve6030
4e35b8a1a8 Correcting poison resist asset spelling. (#523) 2022-02-08 20:32:10 -05:00
Brett Davis
589fda539f Bugfix: Config constructor no longer takes a string (#522) 2022-02-08 20:31:29 -05:00
mgleed
c65ae545df Bugfix: Provide precompiled tesserocr (#520)
* Revert tesserocr to conda-forge rather than pip

Tesserocr with Tesseract > 5 works with pip install but installer fails if user doesn't have VS compilers. Will revisit

* fixed by providing precompiled tesserocr
2022-02-06 15:14:12 -05:00
RB-Development
5ae6194d23 gambling bugfix (#519)
* Update ui_manager.py

Fix for gambling issue. Looks like self._config.char["gamble_items"] always returns true. Therefore im checking if the first entry is empty and go for a not.
not self._config.char["gamble_items"][0]==""

* simplify

Co-authored-by: mgleed <aliigleed16@gmail.com>
2022-02-06 12:09:50 -05:00
mgleed
b83dbb8e8d Track item charges with OCR (#516) 2022-02-06 00:12:45 -05:00
mgleed
f8e41d525b OCR as a service (#505) 2022-02-05 23:49:17 -05:00
Vladimir Makaev
d9624e04c1 Fix game isn't restarted when in main menu / character selection screen (#517)
* Fix max_game_length_s isn't properly tracked during character selection

* Fix restart routine not waiting for main menu to appear.
2022-02-05 21:23:44 -05:00
mgleed
f4ff1b953f bugfix: runs_per_repair = 0 modulo issue (#515) 2022-02-05 15:58:30 -05:00
pokzcodes
da6ccc6250 Kill d2r when botty cannot recover and shuts down (#511) 2022-02-05 13:52:41 -05:00
pokzcodes
a87d72a044 Added exception handling to Discord API calls (#510)
* added exception handling to discord api calls

* restored accidental deleted vars

* removed word "discord" from log in generic api
2022-02-05 13:24:41 -05:00
mgleed
ab1d496fff Change always_repair to runs_per_repair (#509)
**This is potentially a breaking change for users using `always_repair`**

Co-authored-by: Vladimir Makaev <vmakaev@gmail.com>
2022-02-05 13:24:13 -05:00
mgleed
5d4e7e8dec Add more act 5 paths (#506)
* initial

* finished a TODO!
2022-02-05 13:22:52 -05:00
mgleed
e4f2ae4826 Bugfix: vendor_stash merging artifact (#514) 2022-02-05 10:30:00 -05:00
mgleed
1315d9decb Bugfix for TP charge detection: use color_filter instead of template match threshold (#513) 2022-02-05 10:29:36 -05:00
Vladimir Makaev
c358282e68 Launch botty from town or main menu; fix character recovery after restart/death (#494)
* Add ability to launch botty from either main menu or town

* Fix game recovery routine is stuck forever on character selection screen

* Move _char_template to class variable to be able to share among instances

* fix character recovery and character select, support offline/online. WIP

Co-authored-by: Vladimir Makayev <vmakaev@fb.com>
Co-authored-by: mgleed <aliigleed16@gmail.com>
2022-02-04 20:27:56 -05:00
Vladimir Makaev
c57e820d63 Fix character stuck trying to teleport in town (#512) 2022-02-04 19:02:43 -05:00
Vladimir Makaev
6b1e155197 Support Gem Transmuting (#491)
Co-authored-by: Vladimir Makayev
2022-02-04 17:58:41 -05:00
Vladimir Makaev
47c5e20238 Optimized handling of teleport charges (#476) 2022-02-04 14:59:39 -05:00
RB-Development
36d3c2e913 Gambling by @RB-Development (#445)
This branch will detect if stash is full of gold. Afterwards the gambling functionality (currently only in act 4 implemented) will be called. The bot will gamble for specific items (determined in params.ini) until no gold is left. He will check for properties specified in pickit.ini and sell not matching items.
Supported items are: ring, amulet, circlet, coronet, talon

Leverages recent advanced pickit PR.
2022-02-04 14:12:56 -05:00
mgleed
06623142f7 Controller item spacing 2022-02-04 12:42:38 -05:00
mgleed
1b9fdad539 fix gold stashing (#508) 2022-02-04 12:25:50 -05:00
egut125
c0a598cc34 Merge pull request #503 from aeon0/max-consecutive-fails
New Param for fails, if max is reached, kill botty. Defaults off.
2022-02-04 10:15:16 -05:00
egut125
e3fd1b61f5 Merge pull request #504 from aeon0/stash-bugfix
stash bugfix
2022-02-03 22:31:20 -05:00
mgleed
2dcc8fcdfe gdi 2022-02-03 22:26:32 -05:00
mgleed
6fe9a18d43 Make gold low priority during pickit (#502)
By @codahq
2022-02-03 18:10:29 -05:00
egut125
9f8bed6efb New Param for fails, if max is reached, kill botty. Defaults off. 2022-02-03 14:45:45 -05:00
mgleed
0121c7af2e Allow color_filter to range <0, >180 in H; etc. (#492)
* initial

* move image erosion from item_cropper.py to misc.py for planned use elsewhere

Co-authored-by: aeon0 <aeon4@pm.me>
2022-02-03 07:28:55 +01:00
mgleed
1d84a86e0b Updates to template_search, trim lots of code throughout (#499)
* initial

* Support list of templates (not just template names) as an input for search()

* fix grayscale for new list of templates
2022-02-03 07:17:57 +01:00
mgleed
99f8c65c2e Nihlathak spelling (#488)
Unified the variety of nihlathak spellings throughout the codebase
2022-02-01 21:34:21 -05:00
Vladimir Makaev
0ec7ced4d6 Nihlathak pathing for lightning sorc (#495) 2022-02-01 16:51:13 -05:00
RB-Development
551a547ddb Advanced pickit (#383)
* logic for ident, first attr. advanced pickit

* logic advanced vs normal pickit

* logic_empty_ID_Tome

* small adj. to fit PR

* converted yaml to ini. changed some val.

* changed param to auto_ident

* pickit integration

* added set in routine

* reset bot init value

* bugfix

* removed old id logic

* added_nested_filter

* changed pickit

* bugfix replace

* added some more props

* Cleanup

* cleanup

* cleanup

* started unittests

* unittest

* small pickit adjustments

* Added missing fct. after merge

* bugfix due to static method in config.py

* added comments in pickit.ini

* Update pickit.ini

* Update params.ini

* Update ui_manager.py

* Update pickit.ini

Co-authored-by: aeon0
Co-authored-by: mgleed
2022-01-30 19:40:36 -05:00
aeon0
09caab2120 Move messanger (#498) 2022-01-30 15:30:47 +01:00
aeon0
2905ee5d31 Remove configs (#497)
* remove config window always on top

* remove message highlights

* only use win32api for window offset
2022-01-30 13:26:10 +01:00
aeon0
e9d31f220f Config cleanup (#496) 2022-01-30 11:59:52 +01:00
aeon0
27f0e3d793 Revert "Add Linting (#487)" (#490)
This reverts commit 5e1a783394.
2022-01-28 18:24:47 +01:00
aeon0
5e1a783394 Add Linting (#487)
* add black linting

* fix linting

* doc update
2022-01-28 17:47:03 +01:00