Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c1f2cad291 | ||
|
|
285e635b0d | ||
|
|
54203ff036 | ||
|
|
6b378a4606 | ||
|
|
9707fc4563 | ||
|
|
1a4e6c9533 | ||
|
|
fb22b86d11 | ||
|
|
3c3f95142d | ||
|
|
029b8dcdc6 | ||
|
|
400d43c49c | ||
|
|
d2a3670a6a | ||
|
|
bf421a67a9 | ||
|
|
f51de30fbd | ||
|
|
32d7dc2e2a | ||
|
|
37d41ed008 | ||
|
|
5e55872668 | ||
|
|
a299051ecd | ||
|
|
7056a58958 | ||
|
|
006fb6516f | ||
|
|
04b3367935 | ||
|
|
32f67d56df | ||
|
|
49669e9919 | ||
|
|
ad2cb6a365 | ||
|
|
98f69211c1 | ||
|
|
8515b6da92 | ||
|
|
47993f141c | ||
|
|
9726690c07 | ||
|
|
f37c916e72 | ||
|
|
994646d811 | ||
|
|
c8eb88f672 | ||
|
|
8fa729ddab | ||
|
|
59d0795153 | ||
|
|
69d546f5ee | ||
|
|
9b22917660 | ||
|
|
cd979b3e4a | ||
|
|
528400503c | ||
|
|
59c8a898b7 | ||
|
|
637920fc4e | ||
|
|
3985817b19 | ||
|
|
51c7216068 | ||
|
|
196f99e5e6 | ||
|
|
92300818c3 | ||
|
|
e46edbc6aa | ||
|
|
e304e227c8 | ||
|
|
77149a621f | ||
|
|
6a213014b8 | ||
|
|
a9c3e125ab | ||
|
|
94a617f9ae | ||
|
|
c85a360152 | ||
|
|
81a783624e | ||
|
|
d679858d30 |
@@ -16,6 +16,7 @@ botty_v*/
|
||||
custom.ini
|
||||
config/custom.ini
|
||||
config/custom.*.ini
|
||||
*info_log_parsed.txt
|
||||
*info_*.png
|
||||
.vscode
|
||||
.vs/
|
||||
@@ -27,3 +28,4 @@ stats/
|
||||
.coverage
|
||||
htmlcov/
|
||||
coverage.xml
|
||||
utils/live-view/
|
||||
|
||||
@@ -4,9 +4,9 @@ Pixelbot for Diablo 2 Resurrected. This project is for informational and educati
|
||||
|
||||
[**Download here**](https://github.com/aeon0/botty/releases) and got to have a [**Discord**](https://discord.gg/Jf3J8cuXWg) nowadays I guess :man_shrugging:
|
||||
|
||||
## Getting started & Prequists
|
||||
- D2r needs to be in English Language,
|
||||
- Botty currently works with 720p D2r window (will be adjusted automatically on auto settings)
|
||||
## Getting started & Prerequisites
|
||||
- D2R needs to be in English Language,
|
||||
- Botty currently works with 720p D2R window (will be adjusted automatically on auto settings)
|
||||
|
||||
### 1) Graphics and Gameplay Settings
|
||||
|
||||
@@ -15,11 +15,11 @@ All settings will automatically be set when you execute `main.exe` and press the
|
||||
|
||||
### 2) Supported builds
|
||||
|
||||
Check the documentation for **param.ini** further down. Different Sorc builds, Hammardin, Barb, Trapsin are already implemented to different extents. It is quite straightforward to implement new classes. Give it a go if you like!
|
||||
Check the documentation for **params.ini** further down. Different Sorc builds, Hammerdin, Barb, Trapsin are already implemented to different extents. It is quite straightforward to implement new classes. Give it a go if you like!
|
||||
|
||||
### 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 any of Act 3, 4 or 5 in the respective difficulty you set in the **param.ini** once the bot starts the 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 any of Act 3, 4 or 5 in the respective difficulty you set in the **params.ini** once the bot starts the game.
|
||||
|
||||
### 4) Start Botty
|
||||
|
||||
@@ -34,12 +34,12 @@ To check if you graphic settings are good and if the bot would pick up items the
|
||||
|
||||
Check out the [development.md](development.md) docu for infos on how to build from source and details of the project structure and code.
|
||||
|
||||
## param.ini
|
||||
## params.ini
|
||||
|
||||
All botty configuration files are located in the __config__ folder. To ease the switch to new botty versions, you can also overwrite any of the .ini fields in a **custom.ini** file. When a new version of botty is released you just copy the file to the new version without having to port all your **param.ini** changes to the new version. Example:
|
||||
All botty configuration files are located in the __config__ folder. To ease the switch to new botty versions, you can also overwrite any of the .ini fields in a **custom.ini** file. When a new version of botty is released you just copy the file to the new version without having to port all your **params.ini** changes to the new version. Example:
|
||||
|
||||
```ini
|
||||
; custom.ini - overwrites 3 params in the param.ini
|
||||
; custom.ini - overwrites 3 params in the params.ini
|
||||
[general]
|
||||
name=MyCustomName
|
||||
|
||||
@@ -50,21 +50,21 @@ run_shenk=0
|
||||
|
||||
| [general] | Descriptions |
|
||||
| -------------------- | --------------------------|
|
||||
| name | Name used in terminal and discord messages |
|
||||
| custom_message_hook | Add your own message hook here to get messages about drops and botty status updates, discord webhook is default |
|
||||
| logger_lvl | Can be any of [info, debug] and determines how much output you see on the command line |
|
||||
| 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 |
|
||||
| max_consecutive_fails | Botty will stop making games if the number of consecutive fails reaches this max value |
|
||||
| randomize_runs | 0: the order will be as seen in the params.ini. 1: the order will be random |
|
||||
| difficulty | Set to `normal` `nightmare` or `hell` for game difficulty |
|
||||
| message_api_type | Which api to use to send botty messages. Supports "generic_api" (basic discord), or "discord" (discord embeds with images).
|
||||
| discord_status_count | Number of games between discord status messges being sent. Leave empty for no status reports.
|
||||
| name | Name used in terminal and discord messages. |
|
||||
| custom_message_hook | Add your own message hook here to get messages about drops and botty status updates, discord webhook is default. |
|
||||
| logger_lvl | Can be any of [info, debug] and determines how much output you see on the command line. |
|
||||
| max_game_length_s | Max game length in seconds. Botty will attempt to stop whatever it's doing and try to restart a new game at specified interval. If this fails, botty will attempt to shut down D2R and Bnet. |
|
||||
| max_consecutive_fails | Botty will stop making games if the number of consecutive fails reaches this max value. |
|
||||
| randomize_runs | Randomize the order of `[routes]` specified in `params.ini`. |
|
||||
| difficulty | Set to `normal` `nightmare` or `hell` for game difficulty. |
|
||||
| message_api_type | Which api to use to send botty messages. Supports "generic_api" (basic discord), or "discord" (discord embeds with images). |
|
||||
| discord_status_count | Number of games between discord status messages being sent. Leave empty for no status reports.
|
||||
| discord_status_condensed | Toggles condensed view of Discord status messages. 0 Full text, 1 Condensed text.
|
||||
| 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... |
|
||||
| saved_games_folder | Optional folder path of Diablo 2 : Ressurrected saved games that will be used to overwrite when running the "auto settings" |
|
||||
| d2r_path | Optional path to find the d2r.exe, if not set will be default to "C:\Program Files (x86)\Diablo II Resurrected\D2R.exe" when attempting to restart |
|
||||
| restart_d2r_when_stuck | Set to `1` and botty will attempt to restart d2r in the case that botty is unable to recover its state (e.g: game crash) |
|
||||
| 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... |
|
||||
| saved_games_folder | [Optional] Defaults to `~\Saved Games\Diablo II Resurrected`. Used to store configuration settings for `f9` / auto settings. |
|
||||
| d2r_path | [Optional] Path to `d2r.exe`. If not set, it will default to `C:\Program Files (x86)\Diablo II Resurrected\D2R.exe` when attempting to restart. |
|
||||
| restart_d2r_when_stuck | Set to `1` and botty will attempt to restart d2r in the case that botty is unable to recover its state (e.g: game crash). |
|
||||
|
||||
| [routes] | Descriptions |
|
||||
| ------------ | ------------------------------------------------------------------------ |
|
||||
@@ -74,7 +74,7 @@ run_shenk=0
|
||||
| run_shenk | Run shenk in each new game. Select "1" to run it "0" to leave it out. |
|
||||
| run_nihlathak | Run Nihlathak in each new game. Select "1" to run it "0" to leave it out. (Teleport required) |
|
||||
| run_arcane | Run Arcane Sanctuary in each new game. Select "1" to run it "0" to leave it out. (Teleport required) |
|
||||
| run_diablo | Run Diablo (just the Boss, not the trashmobs) in each new game. Select "1" to run it "0" to leave it out. (Teleport required) |
|
||||
| run_diablo | Run Diablo in each new game. Select "1" to run it "0" to leave it out. (Teleport required) |
|
||||
|
||||
| [char] | Descriptions |
|
||||
| ------------------ | -------------------------------------------------------------------------------------------------|
|
||||
@@ -94,7 +94,7 @@ run_shenk=0
|
||||
| potion4 | Hotkey to take potion in slot 4 |
|
||||
| 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_order | Hotkey for battle orders from cta (only needed if cta_available=1) |
|
||||
| battle_command | Hotkey for battle command from cta (only needed if cta_available=1) |
|
||||
| stash_gold | Bool value to stash gold each time when stashing items |
|
||||
| gold_trav_only | Hacky config that will restrict gold pickup to trav only. misc_gold must be set to 1 for this to have any effect |
|
||||
@@ -110,7 +110,8 @@ run_shenk=0
|
||||
| atk_len_diablo_deseis | Attack length for hdin or number of attack sequences when fighting Sealboss B "Lord De Seis" in Chaos Sanctuary (Diablo) |
|
||||
| atk_len_diablo_infector | Attack length for hdin or number of attack sequences when fighting Sealboss C "Infector of Souls" in Chaos Sanctuary (Diablo) |
|
||||
| atk_len_diablo_infector | Attack length for hdin or number of attack sequences when fighting Diablo in Chaos Sanctuary |
|
||||
| cs_clear_trash | If 1, most Trash mob packs from Chaos Sancturay Entrance to Pentagram and Seals A, B, C are cleared (NOT YET IMPLEMENTED). If 0, the run starts at Pentagram and just kills Sealbosses & Diablo |
|
||||
| kill_cs_trash | If 1, most Trash mob packs from Chaos Sancturay Entrance to Pentagram are cleared. If 0, the run starts at Pentagram and just kills Sealbosses & Diablo (default) |
|
||||
| cs_town_visits | If 1, it will go to town, buy pots & stash items between clearing the seals, set 0 to deactivate (default) |
|
||||
| take_health_potion | Health percentage when healing potion will be used. e.g. 0.6 = 60% helath |
|
||||
| take_mana_potion | Mana percentage when mana potion will be used |
|
||||
| take_rejuv_potion_health | Health percentag when rejuv potion will be used |
|
||||
@@ -123,7 +124,8 @@ run_shenk=0
|
||||
| belt_hp_columns | Number of belt columns for healing potions |
|
||||
| belt_mp_columns | Number of belt columns for mana potions |
|
||||
| pre_buff_every_run | 0: Will only prebuff on first run, 1: Will prebuff after each run/boss |
|
||||
| runs_per_repair | 0: Will only repair when needed, 1+: Will repair after # of runs set here |
|
||||
| runs_per_stash | 0: Will only stash after intentional item pickup, 1+: Will force stash after # of runs set here (recommend at least 4 in case of accidental pickups) |
|
||||
| runs_per_repair | 0: Will only repair when needed, 1+: Will force repair after # of runs set here |
|
||||
| id_items | Will identify items at cain before stashing them. Cain must be rescued for this to work.|
|
||||
| open_chests | Open up chests in some places. E.g. on dead ends of arcane. Note: currently bad runtime. |
|
||||
| fill_shared_stash_first | Fill stash tabs starting from right to left, filling personal stash last |
|
||||
@@ -175,6 +177,8 @@ run_shenk=0
|
||||
| shadow_warrior | Optional Hotkey for Shadow Warrior |
|
||||
| lightning_sentry | Required Hotkey for Lightning Sentry |
|
||||
| death_sentry | Required Hotkey for Death Sentry |
|
||||
| cloak_of_shadows| Optional Hotkey for Cloak of Shadows |
|
||||
| mind_blast | Optional Hotkey for Mind Blast |
|
||||
|
||||
| [barbarian] | Descriptions |
|
||||
| -------------- | ----------------------------------------------------------------------------------- |
|
||||
|
||||
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 7.7 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 8.9 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
@@ -45,5 +45,6 @@
|
||||
"Always Run": 1,
|
||||
"Quick Cast Enabled": 0,
|
||||
"Display Active Skill Bindings": 0,
|
||||
"Lobby Wide Item Drop Enabled": 1
|
||||
"Lobby Wide Item Drop Enabled": 1,
|
||||
"Item Tooltip Hotkey Appender": 1
|
||||
}
|
||||
|
||||
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 5.0 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 802 B |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 798 B |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 916 B |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 58 KiB |
|
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 9.9 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |