diff --git a/README.md b/README.md index 7249ddf..2366531 100644 --- a/README.md +++ b/README.md @@ -19,18 +19,11 @@ All settings will automatically be set when you execute `main.exe` and press the ### 2) Supported builds -#### Sorceress - -You can put any skills on left and right attack and see if it works out. E.g. Glacial Spike on left attack and Blizzard or right attack. -Adjust the hotkeys in the **custom.ini** or **param.ini** for the `[char]` and `[sorceress]` section accordingly. Check out the param.ini section in the Readme for more details on each param. - -#### Hammerdin - -Your standard Hammerdin. 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 tome of tps in your inventory. If you do not have an engima, leave the teleport hotkey empty in the .ini file and the hammerdin will run with vigor instead. +Check the documentation for **param.ini** further down. Currently you can set skills for Sorceress, Hammardin and Trapsin. The later two can also be set up without teleport. #### Other builds -You can "highjack" the sorc or hdin config to also run other builds. There will be a more flexibel char system comming up in the upcoming releases. +You can "highjack" any config to also run other builds. Or properly implement a new build and make a PR : ) ### 3) Start Location @@ -82,10 +75,11 @@ run_shenk=0 | [routes] | Descriptions | | ------------ | ------------------------------------------------------------------------ | -| run_trav | Run Trav in each new game. Select "1" to run it "0" to leave it out. Currentl yonly hdin with teleport is supported for this run. Also specific trav gear is suggested and use_merc=0 | +| run_trav | Run Trav in each new game. Select "1" to run it "0" to leave it out. Specific trav gear is suggested | | 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. | +| run_nihlatak | Run Nihlatak in each new game. Select "1" to run it "0" to leave it out. (Teleport required) | | [char] | Descriptions | | ------------------ | -------------------------------------------------------------------------------------------------| @@ -118,6 +112,7 @@ run_shenk=0 | 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 | +| pre_buff_every_run | 0: Will only prebuff on first run, 1: Will prebuff after each run/boss | | 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) | @@ -141,6 +136,16 @@ run_shenk=0 | redemption | Optional Hotkey for redemption | | vigor | Optional Hotkey for vigor | +| [trapsin] | Descriptions | +| -------------- | ----------------------------------------------------------------------------------- | +| teleport | Optional Hotkey for teleport. If left empty trapsin will run instead of teleport. | +| skill_left | Optional Hotkey for Left Skill | +| burst_of_speed | Optional Hotkey for Burst of Speed | +| fade | Optional Hotkey for Fade | +| shadow_warrior | Optional Hotkey for Shadow Warrior | +| lightning_sentry | Required Hotkey for Lightning Sentry | +| death_sentry | Required Hotkey for Death Sentry | + | [advanced_options] | Descriptions | | -------------------- | --------------------------------------------------------------------- | | pathing_delay_factor | A linear scaling factor, between 1 and 10, applied to pathing delays. | diff --git a/config/params.ini b/config/params.ini index a100be6..2473602 100644 --- a/config/params.ini +++ b/config/params.ini @@ -59,6 +59,7 @@ potion4=4 belt_rejuv_columns=2 belt_hp_columns=1 belt_mp_columns=1 +pre_buff_every_run=0 cta_available=0 weapon_switch=x battle_orders=f7 @@ -74,7 +75,7 @@ energy_shield= thunder_storm= telekinesis= -; Supported runs: Trav, Pindle, Eld, Shenk, Nihlatak +; Supported runs: Trav, Pindle, Eld, Shenk, Nihlatak (tele only) [hammerdin] teleport=f1 concentration=f2 diff --git a/src/bot.py b/src/bot.py index 5249d4a..2de4451 100644 --- a/src/bot.py +++ b/src/bot.py @@ -85,7 +85,7 @@ class Bot: self._picked_up_items = False self._curr_loc: Union[bool, Location] = None self._tps_left = 10 # assume half full tp book - self._pre_buffed = 0 + self._pre_buffed = False self._stopping = False self._pausing = False self._current_threads = [] @@ -265,7 +265,8 @@ class Bot: self.trigger_or_stop("create_game") def on_end_run(self): - self._pre_buffed = True + if not self._config.char["pre_buff_every_run"]: + self._pre_buffed = True success = self._char.tp_town() if success: self._tps_left -= 1 diff --git a/src/config.py b/src/config.py index e65c8e5..f7ff11e 100644 --- a/src/config.py +++ b/src/config.py @@ -88,6 +88,7 @@ class Config: "stash_gold": bool(int(self._select_val("char", "stash_gold"))), "gold_trav_only": bool(int(self._select_val("char", "gold_trav_only"))), "use_merc": bool(int(self._select_val("char", "use_merc"))), + "pre_buff_every_run": bool(int(self._select_val("char", "pre_buff_every_run"))), "cta_available": bool(int(self._select_val("char", "cta_available"))), "weapon_switch": self._select_val("char", "weapon_switch"), "battle_orders": self._select_val("char", "battle_orders"),