117 Commits

Author SHA1 Message Date
aeon0
6b869570a4 Bump version to: 0.4.1 (#126) 2021-11-27 00:52:14 +01:00
mgleed
fdcdd90b43 Auto offset (#120)
* automatically calculate offsets, not-yet working

* space

* space

* float to int

* working

* clean

* clean2

* auto adjust windowed mode depending on screen res and botty res

* clean screen instance, fix tests

* remove test png

Co-authored-by: aeon0 <aeon4@pm.me>
2021-11-26 23:26:42 +01:00
mgleed
e9c877029d Merge pull request #108 from mgleed/telekinesis2
Telekinesis for pots/gold/scroll
2021-11-26 14:41:02 -05:00
mgleed
54e2b818b6 tp scrolls 2021-11-26 14:34:14 -05:00
mgleed
b31f999722 fix pass through
Co-authored-by: aeon0 <aeon4@pm.me>
2021-11-26 14:26:58 -05:00
aeon0
2b7ca3472c Actually use the failsave for red portal miss (#123) 2021-11-26 18:48:20 +01:00
aeon0
55e5ddb384 Change item pickup logic (#122) 2021-11-26 17:41:27 +01:00
ggodev
b27ebc7a26 added normal gems (#117)
* added normal gems

* additional blacklisted items

* moved runes after gems

* reverted the blacklist change
2021-11-26 17:00:04 +01:00
aeon0
e76c2e9904 Fix game creation bug which somehow let's you create online games (#121) 2021-11-26 16:40:29 +01:00
jagarop
735059f15e Update uniq_weapon_death_web.png (#119)
fix
2021-11-26 06:20:59 +01:00
mgleed
4e3dfdb7c2 recaptured 1080p full rejuv template, seems to work now when rejuv_potion=0 (#115) 2021-11-26 00:07:25 +01:00
ggodev
589faf2a82 items overhaul for 1280_720, credits: Legit#4080 (#113)
* Disabled auto-pick for gold. Caused calculated item position to change.

* items overhaul for 1280_720, credits: Legit#4080

* added blacklisted items back

* fixed regular rejuv parameter

Co-authored-by: ggodev <ggodev@datamax.bg>
2021-11-25 22:28:12 +01:00
mgleed
2d9634a6d3 Merge branch 'master' into telekinesis2 2021-11-25 16:13:09 -05:00
reqyl
79fbd1285a Lowres shop support (#114)
* Add shopping support for 1280_720

* Lower threshold for ias glove template a bit
2021-11-25 21:40:41 +01:00
mgleed
a0dd945c28 whitespace 2021-11-25 14:37:32 -05:00
mgleed
f5dad6e79b variable parallelism 2021-11-24 21:16:12 -05:00
mgleed
473912417f ensure delay of at least cast_duration 2021-11-24 21:10:22 -05:00
Mitchell Gleed
98996c321b Item scores (#109)
* Update run.py

* add % confidence (last_item.score) to item pickup printout
2021-11-24 22:43:12 +01:00
mgleed
16b6f9d231 fine-tuning 2021-11-24 16:19:02 -05:00
mgleed
00833e3228 fine-tuning 2021-11-24 16:16:41 -05:00
mgleed
9911334289 fine-tuning 2021-11-24 15:59:27 -05:00
mgleed
5c461f096a brief wait after pick 2021-11-24 15:39:34 -05:00
mgleed
bc8aea48a8 initial telekinesis 2021-11-24 15:33:22 -05:00
aeon0
918ccc4f4e Update params.ini 2021-11-24 19:35:40 +01:00
aeon0
e5dd04466e bump version to 0.4.0 (#106) 2021-11-24 19:11:57 +01:00
aeon0
6bea13545a Change default settings (#105)
* Change default settings

* Add another shenk tempalte at start

* fix path

* actually make screenshot with item hovered
2021-11-24 18:44:23 +01:00
aeon0
6cf3b4c236 Fixing belt manager to use all columns (#104) 2021-11-24 17:28:49 +01:00
aeon0
9bd9eba6b2 Robustify cta switch (#97)
* Robusitfy cta switch and empty tp check

* drive by fix for server issue
2021-11-23 22:23:09 +01:00
aeon0
d50d6c37fa Belt manager (#95)
* BeltManager implementation

* fix pot need calculation
2021-11-23 21:19:33 +01:00
aeon0
781d9a3494 when you have a bunch of small fixes but dont want to do a pr for each... (#94) 2021-11-23 21:11:48 +01:00
ggodev
3817638264 Disabled auto-pick for gold. Caused calculated item position to change. (#93)
Co-authored-by: ggodev <ggodev@datamax.bg>
2021-11-23 17:48:29 +01:00
aeon0
7e2c8df8db Another color check after finding items (#92) 2021-11-23 15:12:55 +01:00
aeon0
f965c36464 Fix logo found on save and exit screen (#91) 2021-11-23 13:27:44 +01:00
aeon0
ece7abb6e8 Fix game recovery (#88)
* drive by fix, discord config bug

* drive by fix for game recovery

* add info screenshot

* fix game recovery?
2021-11-23 11:04:17 +01:00
bjoerm
db28973d15 Small typo fix. (#86) 2021-11-23 09:22:21 +01:00
reqyl
585c0ccd85 Allow to control desired hp/mp column (#66) 2021-11-22 22:49:23 +01:00
aeon0
02fe089f68 Add game stats to log file and discord (#85) 2021-11-22 22:46:53 +01:00
aeon0
e601e39c98 Check all items before stashing them (#84)
* Check all items before stashing them

* also throw out potions
2021-11-22 20:54:54 +01:00
aeon0
6b1cdc4425 Fix item find issues when there is fire in the img (#82) 2021-11-22 20:10:41 +01:00
aeon0
be12f8dcd5 Add additional debug options to color checker (#83) 2021-11-22 20:10:30 +01:00
ggodev
fd883077e0 run counter & logger messages (#81) 2021-11-22 20:10:02 +01:00
aeon0
5267443210 Fix eld fallback (#79)
* fix fallback for sorc on eld

* add adaptable tempalte threshold for config
2021-11-21 19:20:10 +01:00
aeon0
ad3925fac8 Add item names to color checker (#78) 2021-11-21 17:53:38 +01:00
ggodev
c0bf19912e i (#69)
chipped and flawed gems + param reordering

Co-authored-by: ggodev <ggodev@datamax.bg>
2021-11-21 16:17:23 +01:00
bjoerm
dfe1a7372c Added missing asset for magic monarch & added eth wire fleece (#70)
* Added two missing Tal Rasha set assets (in 1920x1080).

* 1920x1080 asset for missing monarch.

* Added eth wire fleece armor (1920x1080).

* Default for wire fleece to 0 as it is not available for other resolutions yet.
2021-11-21 16:09:56 +01:00
jagarop
ab5f006a5f rip jah (#76)
* rip jah

in memoriam

* Revert "rip jah"

This reverts commit a634a19b9e520cc5e71c874794020ec627003b08.

* rip jah

in memoriam
2021-11-21 16:09:11 +01:00
Mitchell Gleed
d008b14230 Boooty (#77)
Lmao
2021-11-21 16:05:11 +01:00
aeon0
d12dfec564 Fix redemption (#72)
* Force blackmailed items to have higher score

* fix redemption aura to be optional
2021-11-20 20:42:30 +01:00
aeon0
28156fc50f New shenk template (#73)
* Force blackmailed items to have higher score

* Add aditional shenk template
2021-11-20 20:42:22 +01:00
aeon0
f6edcd89ba Update language info 2021-11-20 10:31:51 +01:00
aeon0
ab642066cf Update README.md 2021-11-20 09:14:21 +01:00
aeon0
8c04a29d9a Bump version to 0.3.0-dev 2021-11-20 00:00:33 +01:00
aeon0
f279c4193c Add bug issue template 2021-11-19 18:27:01 +01:00
cpamabotte
e3ab8fa849 Named bot (#64) 2021-11-19 17:45:15 +01:00
bjoerm
6cdb7b1c8a Added small explanation to JavaShopper class. (#62) 2021-11-19 17:44:59 +01:00
bjoerm
967184d48a Added missing gems. (#63) 2021-11-19 17:43:55 +01:00
aeon0
da7a72efc6 Force blackmailed items to have higher score (#65) 2021-11-19 17:40:37 +01:00
aeon0
c20d936d3c fix set amu asset issue (#60) 2021-11-19 10:40:26 +01:00
aeon0
6a6421e8d3 Retry on red portal if missed (#59) 2021-11-19 10:22:24 +01:00
aeon0
a9f9531c58 Adapt release process (#58)
* Detect no more tps and check weapon switch

* Adapt release process
2021-11-19 10:10:43 +01:00
aeon0
30d383edab Detect no more tps and check weapon switch (#57) 2021-11-19 00:53:34 +01:00
reqyl
d63d72735e Add missing eldritch template (#56)
* Add missing eldritch template

For high res eldritch start template is missing.

* Add .venv to gitignore
2021-11-18 23:27:14 +01:00
aeon0
95c87404ab Update video (#55)
* update video

* update img
2021-11-18 18:46:18 +01:00
aeon0
90f939011d update templates (#54) 2021-11-18 18:17:52 +01:00
aeon0
62b4129fb1 fix color checker (#53) 2021-11-18 17:30:00 +01:00
bjoerm
bd133ce55f Updated readme.md (#52)
* Added note about supported resolution.
Added small additional explanations.

* Update README.md

Co-authored-by: aeon0 <aeon4@pm.me>
2021-11-18 17:29:40 +01:00
aeon0
8e7930667a param clean up (#51) 2021-11-18 16:48:37 +01:00
aeon0
7ff93d8809 ignore whole folder for screenshots 2021-11-18 15:42:22 +01:00
aeon0
dbf5e1dd7d make it run a bit smoother (#50) 2021-11-18 15:41:50 +01:00
mw
ea8a93539e add advanced params section with pathing delay (#48)
Adds a new params section, "advanced_options"
Adds a new param to the advanced_options section, "pathing_delay_factor"

The pathing delay factor will allow users to scale the otherwise static delays in the pathing `move` operations based on their own needs.
2021-11-18 08:22:17 +01:00
aeon0
b6fb588599 fix save exit and tp bad windowed coordinates 2021-11-17 23:01:09 +01:00
aeon0
db994eeee4 Recover from being stuck (#46)
* recover from being stuck

* remove shutdown within bot.py
2021-11-17 22:49:38 +01:00
aeon0
8f772daf86 Fixes and fail saves (#44)
* remove old discord, add offset_left, fix coordinate clamping

* proper bot thread
2021-11-17 21:12:29 +01:00
jagarop
89bea55100 fix runtime error pre buff (#43) 2021-11-17 19:07:34 +01:00
jagarop
8c5a5fc656 🙇‍♂️ 🙏 📿 (#40)
* 🙇‍♂️ 🙏 📿

* on_end_game

please change the location of "self._pre_buffed = 0" inside "def on_end_game(self):" if the location is not ideal.
2021-11-17 17:39:07 +01:00
Cr4zyEight
da6faba447 actually stashing gold (wasnt implemented yet) (#28)
* actually stashing gold (wasnt implemented yet)

* deleted unused import

Co-authored-by: Vincent Frebel <frebel@wkg-software.de>
2021-11-17 11:27:23 +01:00
jagarop
934e1df26f fix ui_manager.repair_and_fill_up_tp (#41) 2021-11-17 06:13:00 +01:00
aeon0
5750825c9e Support 1280x720 (#19) 2021-11-16 22:58:48 +01:00
aeon0
302d1c9ba0 dont take ss when search for exit (#39) 2021-11-16 22:09:39 +01:00
aeon0
568378fea8 Revert "clip monitor coordinates" (#38)
* Revert "clip monitor coordinates (#37)"

This reverts commit 40b01fd7c0.

* Update pather.py
2021-11-16 21:57:22 +01:00
reqyl
20229ef10f Javazon gg gloves shopper script (#24)
* Javazon gg gloves shopper script

* Add normalize_monitor kwarg to search()

- Make sure to normalize monitor pos in javashopper script

* Make shop reset more robust

* Move glove template images

* Add stats logging on exit

* Rename module and move into shop package

* fixup! Add normalize_monitor kwarg to search()
2021-11-16 21:41:00 +01:00
aeon0
40b01fd7c0 clip monitor coordinates (#37) 2021-11-16 21:39:45 +01:00
aeon0
375febc48d fix needing a tomb (#36) 2021-11-16 21:39:21 +01:00
aeon0
39f298e9ed Robust/item pick discord (#35)
* robust against sending itempickup twice

* remove new lines
2021-11-16 21:39:05 +01:00
aeon0
50cff5cef9 robustify death (#34) 2021-11-16 19:01:43 +01:00
aeon0
751fdea7ab add thunderstorm to sorc prebuff (#33) 2021-11-16 18:06:18 +01:00
aeon0
5adcb42c71 shut down d2r and bnet if botty gets stuck (#32) 2021-11-16 18:06:01 +01:00
aeon0
62dbde1e25 new discord filter for items (#31) 2021-11-16 18:03:17 +01:00
Cr4zyEight
307e8e40a8 botty folder not so cluttered (#18)
* botty folder not so cluttered

* added timestamp to info_screenshots + gitignore + added optional to params.ini + Readme

* Fix: TabError: inconsistent use of tabs and spaces in indentation -.-

* some stupid things...

Co-authored-by: Vincent Frebel <frebel@wkg-software.de>
Co-authored-by: aeon0 <aeon4@pm.me>
2021-11-16 14:51:57 +01:00
Cr4zyEight
f11c502f18 implemented loot_screenshots (#17)
* implemented loot_screenshots

* added timestamp + gitignore

* Readme

Co-authored-by: Vincent Frebel <frebel@wkg-software.de>
2021-11-16 14:49:27 +01:00
aeon0
054ad70598 randomness and delays (#29) 2021-11-16 01:19:18 +01:00
aeon0
8501fe1114 update ci.yml 2021-11-15 20:31:23 +01:00
aeon0
4ad6246c54 Pickit/items 1280x720 (#26) 2021-11-15 20:22:28 +01:00
aeon0
2c7bb42907 make action trigger on PR 2021-11-14 11:56:40 +01:00
aeon0
2b018a7f65 rename workflow 2021-11-14 11:53:00 +01:00
aeon0
810a76aba7 Setting up CI (#22) 2021-11-14 11:25:11 +01:00
aeon0
ce498893d3 add first test 2021-11-14 07:51:40 +01:00
aeon0
8d7851a188 allow pathes in temlpate tracker to not exist 2021-11-14 06:38:36 +01:00
aeon0
c339175477 misc to close down diablo and bnet 2021-11-14 06:38:19 +01:00
reqyl
21102e3de8 fix anya templates and images (#20) 2021-11-14 06:19:19 +01:00
aeon0
eb29821dcc add anya as npc 2021-11-13 16:12:06 +01:00
aeon0
752ac290c5 new res config 2021-11-13 12:38:01 +01:00
aeon0
d47542ed0f remove keys flag remove, doesnt work anyway 2021-11-13 09:03:33 +01:00
aeon0
b7d1ef676b update settings for even lower graphics and framerate cap 2021-11-13 08:59:12 +01:00
aeon0
65f74acba0 actually use the do_chicken on chicken 2021-11-13 00:51:35 +01:00
aeon0
abb4cfb97c add missing tp docu 2021-11-13 00:12:10 +01:00
aeon0
9d2ad41c52 try again on save and exit 2021-11-12 19:47:37 +01:00
aeon0
9680760ae6 random updates and optimizations 2021-11-12 19:42:09 +01:00
aeon0
333bb7feb1 update discord 2021-11-12 06:36:02 +01:00
aeon0
e7927fd86a aaand make it a bool... 2021-11-12 00:40:53 +01:00
aeon0
9e46126c9e missing es_available in config.py 2021-11-12 00:39:01 +01:00
Mitchell Gleed
77f52558ba support for different difficulties (#13) 2021-11-11 23:56:03 +01:00
jagarop
32a619a0b2 energy_shield (#12)
* add energy shield

* add energy shield
2021-11-11 23:54:42 +01:00
Mitchell Gleed
af807bb8e2 Suppress low runes (#14)
* suppress low runes from discord log

* suppress low runes from discord log
2021-11-11 23:53:37 +01:00
Mitchell Gleed
fa9f7b2f3e Add merc_chicken param and add highlighted variation of save&exit button (#11)
* typo fix

* add merc chicken param, add highlighted save/exit button

* update readme

* remove files from other branch

* remove debug images, adjust gitignore

* fixed requested changes, revert 1 old logger change
2021-11-11 23:51:52 +01:00
Mitchell Gleed
5fd3aabf72 typo fix (#10) 2021-11-11 17:14:46 +01:00
aeon0
125925fb3e update readme.md 2021-11-10 23:26:09 +01:00
895 changed files with 2981 additions and 1060 deletions

32
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,32 @@
---
name: Bug report
about: Create a report to help improve botty
title: ''
labels: ''
assignees: ''
---
**Botty Version**
What version of botty are you running? Are you using a pre-compiled release? Which one. Are you using the latest master branch? On which commit?
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. etc.
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots / Video**
If applicable, add screenshots or even better a short video of the error happening to help explain your problem. Botty often automatically makes screenshots when something goes wrong. Add these also.
**Logs**
Add the relevant part of the info.log in this section. Either upload it as a fail or copy-paste the relevant part in here.
**Additional info**
Add any other information about the problem here.

47
.github/workflows/ci.yml vendored Normal file
View File

@@ -0,0 +1,47 @@
name: Botty - CI
on: [pull_request]
jobs:
tests:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Setup Miniconda Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
# TODO: The below setp only chaches conda packages, need to cache pip seperatly
- name: Cache conda
uses: actions/cache@v2
env:
# Increase this value to reset cache if environment.yml has not changed
CACHE_NUMBER: 0
with:
path: ~/conda_pkgs_dir
key: conda-${{ env.CACHE_NUMBER }}-${{hashFiles('environment.yml') }}
- name: Cache pip
uses: actions/cache@v2
env:
# Increase this value to reset cache if environment.yml has not changed
CACHE_NUMBER: 0
with:
path: ~/pip
key: pip-${{ env.CACHE_NUMBER }}-${{ hashFiles('environment.yml') }}
- name: Install Miniconda
uses: conda-incubator/setup-miniconda@v2
with:
python-version: 3.8
activate-environment: botty
channel-priority: strict
environment-file: environment.yml
use-only-tar-bz2: true # Needed for caching
- name: Activate conda
shell: powershell
run: |
C:\Miniconda\condabin\conda.bat init powershell
set PYTHONPATH=./src
- name: Pytest
shell: powershell
run: |
C:\Miniconda\condabin\conda.bat activate botty
python -c "import sys; print(sys.version)"
pytest -v -s

7
.gitignore vendored
View File

@@ -1,4 +1,5 @@
__pycache__/
.pytest_cache/
*_generated.py
playground.py
*.pyc
@@ -13,3 +14,9 @@ run.onefile-build/
generated/
botty_v*/
custom.ini
*info_*.png
.vscode
.vs/
info_screenshots/
loot_screenshots/
.venv

View File

@@ -1,2 +0,0 @@
DO WHATEVER YOU WANT PUBLIC LICENSE
(Minus the Blizzard assets, they are copyrighted by them I guess)

108
README.md
View File

@@ -1,31 +1,18 @@
# <img src="assets/docs/header_green.png" width="370">
Simple Pixelbot for Diablo 2 Resurrected written in python and opencv. Obviously only use it in offline mode as it is against the TOS of Blizzard to use it online!
[**Download here**](https://github.com/aeon0/botty/releases). Got to have a [**Discord**](https://discord.gg/CnkfsjqN) nowadays I guess :man_shrugging:
Simple Pixelbot for Diablo 2 Resurrected single player written in python and opencv. Botty does not work for online games and is not intended for this usage!
[**Download here**](https://github.com/aeon0/botty/releases). Got to have a [**Discord**](https://discord.gg/Jf3J8cuXWg) nowadays I guess :man_shrugging:
And please. I urge you to actually read that README! It will make your life a lot easier.
[![Watch the video](assets/docs/video_thumbnail.png)](https://vimeo.com/641410429)
## What it does
- Run Pindle, Eldtritch, Shenk
- Pickit with per item config
- Stash picked up items (using all 4 stashes)
- Prebuff
- Revive Merc if dead
- Heal at Malah if needed
- Shop for tps and repair at Lazurk
- Take potions (health and mana) and chicken if in trouble during fights
- Check for death. In this case start another game and pick up corpse.
- Supported builds: Sorceress (Blizz, Light, Meteor), Hammerdin
- Auto Settings and Debug Color Mode to easily verify your settings
- Runs in Hyper-V
- Highly configurable, consult the param.ini section for more details
[![Watch the video](assets/docs/video_thumbnail.png)](https://streamable.com/67h9ay)
## Getting started
Botty only supports English language! Botty is currently working in 1080p or 720p and will try to adjust the D2R settings accordingly depending on your monitor res and your botty setting for "res" in the [general] section.
### 1) Graphics and Gameplay Settings
All settings will automatically be set when you execute `run.exe` and press the hotkey for "Adjust D2R settings" (default f9). Note that D2R should not run during this process, or if it does you will have to restart afterwards. It is not a 100% thing, in rare cases you might still have to fiddle around with your brightness. I suggest using the "Color Test Mode" to verify your settings.</br>
All settings will automatically be set when you execute `run.exe` and press the hotkey for "Adjust D2R settings" (default f9). Note that D2R should not run during this process, or if it does you will have to restart afterwards. It is not a 100% thing, in rare cases you might still have to fiddle around with your brightness. I suggest using the "Graphic Debugger" to verify your settings. Also, there are sample screenshots of how graphics should look like: <a href="/assets/docs/sample_graphics.png">Example 1</a>, <a href="/assets/docs/sample_graphics_2.png">Example 2</a></br>
**Note**: There have been issues reported with image sharpening being truned on via the graphic card settings itself outside of D2R. Try turning it off when running botty.
### 2) Supported builds
@@ -37,14 +24,15 @@ Adjust the hotkeys in the __custom.ini__ or __param.ini__ for the `[char]` and `
Your standard Hammerdin with Enigma. Dont think I have to explain much here. Same story as with sorc, set up your skills in the .ini file to what you have in D2R or the other way around. When running more than just pindle or shenk you need to start with a full tomb of tps in your inventory.
### 3) Start Location
Open up D2R and wait till you are at the hero selection screen. Make sure the char you running with is selected and will be in A5 hell when starting a hell game.
Open up D2R and wait till you are at the hero selection screen. Make sure the char you running with is selected and will be in A5 in the respective difficulty you set in the __param.ini__ once the bot starts the game.
### 5) Start Botty
Download the a prebuilt release [here](https://github.com/aeon0/botty/releases). Start `run.exe` in the botty folder. Move to your D2R window and press the start key (default f11). You can always force stop botty with f12.
### 4) Start Botty
Download the a prebuilt release [here](https://github.com/aeon0/botty/releases). Start `run.exe` in the botty folder. Switch (ALT+TAB) to your D2R window and press the start key (default f11). You can always force stop botty with f12.
## Color Test Mode
To check if you graphic settings are good and if the bot would pick up items there is a **Color Test Mode** built in. Start botty and press F10 (Default key). This will open up a (mostly black) window. Start a game in D2R and throw some items of different type on the ground. If you now bring forward the debug window all items should show up with their names while the background is black. If you throw an item on the ground that should be picked up, it will have a red circle.</br>
<img src="assets/docs/color_checker.png" width="400">
## Graphic Debugger
To check if you graphic settings are good and if the bot would pick up items there is a **Graphic Debugger Mode** built in. Start botty and press F10 (Default key). This will open up a (mostly black) window. Start a game in D2R and go to A5. You should see some templates with blue circles detected and scores printed out to the console. E.g. for 720p you should see scores higher 0.8 for the templates. To check item finding, throw some items of different types on the ground. The debug window should show the item names with black background. If you throw an item on the ground that should be picked up, it will have a red circle. The console will print out the scores for each item that would be picked up. Scores should be well above 0.9 for these items.</br>
<img src="assets/docs/graphic_debugger.png" width="900">
## Development
Check out the [development.md](development.md) docu for infos on how to build from source and details of the project structure and code.
@@ -61,30 +49,34 @@ run_pindle=1
run_shenk=0
```
[general] | Descriptions
[general] | Descriptions
--------------------------------|---------------------------------------------
name | Name used in terminal and discord messages
monitor | Select on which monitor D2R is running in case multiple are available
min_game_length_s | Games must have at least this length, will wait in hero selection for if game is too quick (to avoid server connection issues)
res | Resolution settings can be any of [1920_1080, 1280_720]
max_game_length_s | Botty will attempt to stop whatever its doing and try to restart a new game. Note if this fails, botty will attempt to shut down D2R and Bnet
exit_key | Pressing this key (anywhere), will force botty to shut down
resume_key | After starting the exe botty will wait for this keypress to atually start botting away
color_checker_key | Pressing this key will start a debug mode to check if the color filtering works with your settings. It also includes the item search and marks items it would pick up with red circles
graphic_debugger_key | Pressing this key will start a debug mode to check if the color filtering works with your settings. It also includes the item search and marks items it would pick up with red circles
logger_lvl | Can be any of [info, debug] and determines how much output you see on the command line
randomize_runs | If 0, the order will always be pindle -> eldritch/shenk. If 1 the order will be random.
send_drops_to_discord | If 1 sends your drops to the discord channel "drop-log"
custom_discord_hook | If 1 sends a message about drops to this hook and will update you in case botty got stuck and can not resume
difficulty | Set to `normal` `nightmare` or `hell` for game difficulty
custom_discord_hook | Add your own discord hook here to get messages about drops and in case botty got stuck and can not resume
info_screenshots | If 1, the bot takes a screenshot with timestamp on every stuck / chicken / timeout / inventory full event. This is 1 by Default, so remember to clean up the folder every once in a while
loot_screenshots | If 1, the bot takes a screenshot with timestamp everytime he presses show_items button and saves it to loot_screenshots folder. Remember to clear them once in a while...
[routes] | Descriptions
[routes] | Descriptions
--------------------------------|---------------------------------------------
run_pindle | Run Pindle in each new game. Select "1" to run it "0" to leave it out.
run_eldritch | Run Eldritch in each new game. Select "1" to run it "0" to leave it out.
run_shenk | Run shenk in each new game. Select "1" to run it "0" to leave it out.
[char] | Descriptions
[char] | Descriptions
--------------------------------|---------------------------------------------
type | Build type. Currently only "sorceress" or "hammerdin" is supported
casting_frames | Depending on your char and fcr you will have a specific casting frame count. Check it here: https://diablo2.diablowiki.net/Breakpoints and fill in the right number. Determines how much delay there is after each teleport for example.
slow_walk | With this set to 1 the char will have a large delay for each running action in town. Set this to 1 if you keep getting stuck during traversing town.
static_path_pindle | If set to 1, the pathing is done by staticly recorded screen positions. Otherwise it uses reference templates
static_path_eldritch | If set to 1, the pathing is done by staticly recorded screen positions. Otherwise it uses reference templates
stash_gold | Bool value to stash gold each time when stashing items
atk_len_pindle | Attack length for hdin or number of attack sequences for sorc when fighting pindle
atk_len_eldritch | Attack length for hdin or number of attack sequences for sorc when fighting eldritch
atk_len_shenk | Attack length for hdin or number of attack sequences for sorc when fighting shenk
@@ -92,39 +84,51 @@ num_loot_columns | Number of columns in inventory used for loot (from left!). Re
take_health_potion | Health percentage when healing potion will be used
take_mana_potion | Mana percentage when mana potion will be used. Currently belt managment is not very clever and it is safest to only pick up health pots and make sure mana reg is enough for pindle to not need mana pots.
heal_merc | Merc health percentage when giving healing potion to merc
chicken | Health percentage when chicken (leaving game)
chicken | Will chicken (leave game) when player health percentage drops below set value, range 0 to 1. Set to 0 to not chicken.
merc_chicken | Will chicken (leave game) when merc health percentage drops below set value, range 0 to 1. Set to 0 to not chicken.
show_items | Hotkey for "show items"
inventory_screen | Hotkey to open up inventory
stand_still | Hotkey for "stand still". Note this can not be the default shift key as it would interfere with the merc healing routine.
tp | Hotkey for using a town portal
belt_rows | Integer value of how many rows the char's belt has
show_belt | Hotkey for "show belt"
potion1 | Hotkey to take poition in slot 1
potion2 | Hotkey to take poition in slot 2
potion3 | Hotkey to take poition in slot 3
potion4 | Hotkey to take poition in slot 4
potion1 | Hotkey to take potion in slot 1
potion2 | Hotkey to take potion in slot 2
potion3 | Hotkey to take potion in slot 3
potion4 | Hotkey to take potion in slot 4
belt_rejuv_columns | Number of belt columns for rejuv potions
belt_hp_columns | Number of belt columns for healing potions
belt_mp_columns | Number of belt columns for mana potions
cta_available | 0: no cta available, 1: cta is available and should be used during prebuff
weapon_switch | Hotkey for "weapon switch" (only needed if cta_available=1)
battle_order | Hotkey for battle order from cta (only needed if cta_available=1)
battle_command | Hotkey for battle command from cta (only needed if cta_available=1)
[sorceress] | Descriptions
[sorceress] | Descriptions
--------------------------------|---------------------------------------------
teleport | Hotkey for teleport
skill_left | Hotkey for skill that is used on left mouse btn (e.g. Glacial Spike)
skill_right | Hotkey for skill that is used on right mouse btn (e.g. Blizzard)
forzen_armor | Hotkey for frozen armor (or any of the other armors)
telekinesis | Hotkey for telekinesis
teleport | Required Hotkey for teleport
skill_left | Required Hotkey for skill that is used on left mouse btn (e.g. Glacial Spike)
skill_right | Required Hotkey for skill that is used on right mouse btn (e.g. Blizzard)
frozen_armor | Optional Hotkey for frozen armor (or any of the other armors)
energy_shield | Optional Hotkey for energy shield
thunder_storm | Optional Hotkey for thunder storm
[hammerdin] | Descriptions
[hammerdin] | Descriptions
--------------------------------|---------------------------------------------
teleport | Hotkey for teleport
concentration | Hotkey for Concentration
redemption | Hotkey for redemption
teleport | Required Hotkey for teleport
concentration | Required Hotkey for Concentration
redemption | Optional Hotkey for redemption
holy_shield | Hotkey for Holy Shield
blessed_hammer | Hotkey for Blessed Hammer
[items] | Descriptions
[advanced_options] | Descriptions
--------------------------------|---------------------------------------------
item_type | Select "1" if item should be picked up, "0" if not.
pathing_delay_factor | A linear scaling factor, between 1 and 10, applied to pathing delays.
template_threshold | Threshold to find templates used during pathing.
[items] | Descriptions
--------------------------------|---------------------------------------------
item_type | 0: Item will not be picked up. 1: Item will be picked up. 2: Item will be picked up and a discord message will be sent.
## Support this project
This project is free. Support it by contributing in any technical way, giving feedback, PRs or by submitting issues. That being said, I am not above accepting some pixel currency :) So if you want to send some fg my way to keep my dopamine high, here is my d2jsp: aeon0 (https://forums.d2jsp.org/user.php?i=768967).
Support it by contributing in any technical way, giving feedback, bug reports or submitting PRs.

View File

@@ -5,7 +5,7 @@
"MaxLuminance": 600,
"HDRContrast": 200,
"Contrast": 100,
"Screen Resolution (Windowed)": "1920x1051",
"Screen Resolution (Windowed)": "1280x720",
"Resolution Scale": 100,
"Sharpening": 6,
"Game Resolution": 1,
@@ -13,19 +13,19 @@
"Blended Shadows": 0,
"Perspective": 0,
"VSync": 1,
"Framerate Cap": 0,
"Framerate Cap": 60,
"Framerate Target": 0,
"Window Mode": 1,
"Graphic Presets": 0,
"Window Mode": 0,
"Graphic Presets": 4,
"Texture Quality": 4,
"Texture Anisotropy": 0,
"Ambient Occlusion Quality": 1,
"Ambient Occlusion Quality": 0,
"Character Detail": 2,
"Environment Detail": 2,
"Atmospherics Quality": 2,
"Transparency Quality": 3,
"Shadow Quality": 1,
"Anti Aliasing": 1,
"Anti Aliasing": 0,
"Dynamic Resolution Scaling": 0,
"Vfx Lighting Quality": 0,
"Safe Screen Percent": 100,
@@ -37,8 +37,10 @@
"Low Vision Mode": 1,
"Color Blind Mode": 0,
"Color Blind Strength": 100,
"Auto Gold Enabled": 1,
"Item Name Display": 0,
"Allow Chat": 0,
"Show Clock": 1,
"Auto Gold Enabled": 0,
"Chat Gem Mode": 1,
"Item Name Display": 1,
"Chat Background": 0,
"Always Run": 1
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 930 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 239 KiB

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

View File

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Some files were not shown because too many files have changed in this diff Show More