fix: post-loot seal calibration hops are non-fatal
After Vizier/De Seis are dead, a failed recalibration traverse aborted the whole Diablo run (threw away two boss kills at 13:43). The seal stage re-anchors at the pentagram via template loop immediately after, so just skip the extra loot pass and continue. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1076,12 +1076,17 @@ class Hammerdin(Paladin):
|
||||
wait(0.3, 1.2)
|
||||
### LOOT ###
|
||||
self._picked_up_items |= self._pickit.pick_up_items(self)
|
||||
if not self._pather.traverse_nodes([612], self): return False # , timeout=3):
|
||||
if self._skill_hotkeys["redemption"]:
|
||||
keyboard.send(self._skill_hotkeys["redemption"])
|
||||
wait(0.3, 0.6)
|
||||
self._picked_up_items |= self._pickit.pick_up_items(self)
|
||||
if not self._pather.traverse_nodes([612], self): return False # , timeout=3): # recalibrate after loot
|
||||
# Post-loot calibration is NON-FATAL: Vizier is dead; the pentagram
|
||||
# template loop right after re-anchors position.
|
||||
if self._pather.traverse_nodes([612], self):
|
||||
if self._skill_hotkeys["redemption"]:
|
||||
keyboard.send(self._skill_hotkeys["redemption"])
|
||||
wait(0.3, 0.6)
|
||||
self._picked_up_items |= self._pickit.pick_up_items(self)
|
||||
if not self._pather.traverse_nodes([612], self):
|
||||
Logger.warning("A1-L: post-loot recalibration failed — continuing to pentagram loop")
|
||||
else:
|
||||
Logger.warning("A1-L: post-loot calibration failed — skipping extra loot pass")
|
||||
|
||||
elif seal_layout == "A2-Y":
|
||||
### APPROACH ###
|
||||
@@ -1124,7 +1129,10 @@ class Hammerdin(Paladin):
|
||||
keyboard.send(self._skill_hotkeys["redemption"])
|
||||
wait(0.3, 0.6)
|
||||
self._picked_up_items |= self._pickit.pick_up_items(self)
|
||||
if not self._pather.traverse_nodes([622], self): return False # , timeout=3): #recalibrate after loot
|
||||
# Post-loot recalibration is NON-FATAL: Vizier is dead; the pentagram
|
||||
# template loop right after re-anchors position.
|
||||
if not self._pather.traverse_nodes([622], self):
|
||||
Logger.warning("A2-Y: post-loot recalibration failed — continuing to pentagram loop")
|
||||
|
||||
else:
|
||||
Logger.warning(seal_layout + ": Invalid location for kill_deseis("+ seal_layout +"), should not happen.")
|
||||
@@ -1213,12 +1221,17 @@ class Hammerdin(Paladin):
|
||||
#if Config().general["info_screenshots"]: cv2.imwrite(f"./log/screenshots/info/info_check_deseis_dead" + seal_layout + "_" + time.strftime("%Y%m%d_%H%M%S") + ".png", grab())
|
||||
### LOOT ###
|
||||
self._picked_up_items |= self._pickit.pick_up_items(self)
|
||||
if not self._pather.traverse_nodes([641], self): return False # , timeout=3):
|
||||
if not self._pather.traverse_nodes([646], self): return False # , timeout=3):
|
||||
self._picked_up_items |= self._pickit.pick_up_items(self)
|
||||
if not self._pather.traverse_nodes([646], self): return False # , timeout=3):
|
||||
if not self._pather.traverse_nodes([640], self): return False # , timeout=3):
|
||||
self._picked_up_items |= self._pickit.pick_up_items(self)
|
||||
# Post-loot calibration hops are NON-FATAL: De Seis is already dead and
|
||||
# the seal stage re-anchors at the pentagram via template loop right
|
||||
# after. Aborting the run here threw away two dead bosses (2026-06-10).
|
||||
if self._pather.traverse_nodes([641], self) and self._pather.traverse_nodes([646], self):
|
||||
self._picked_up_items |= self._pickit.pick_up_items(self)
|
||||
if self._pather.traverse_nodes([646], self) and self._pather.traverse_nodes([640], self):
|
||||
self._picked_up_items |= self._pickit.pick_up_items(self)
|
||||
else:
|
||||
Logger.warning("B2-U: post-loot calibration hop failed — skipping last loot pass")
|
||||
else:
|
||||
Logger.warning("B2-U: post-loot calibration hop failed — skipping extra loot passes")
|
||||
|
||||
else:
|
||||
Logger.warning(seal_layout + ": Invalid location for kill_deseis("+ seal_layout +"), should not happen.")
|
||||
|
||||
Reference in New Issue
Block a user