This website requires JavaScript.
04fd36fa03
Merge PR #47 : port 4 unpushed local-main fixes
main
origin/main
origin/HEAD
Alex
2026-09-16 15:30:51 +02:00
29c61fd9df
fix(bot): notice when D2R has dropped to the character-select screen
origin/port/local-main-fixes
alexpolo1 and Claude Opus 5
2026-09-16 15:26:52 +02:00
580e0a5b95
fix(transmute): stop the gem-conversion pass looping forever in the stash
alexpolo1 and Claude Opus 5
2026-09-16 15:26:52 +02:00
fe6782acdc
feat(tools): inventory scanner; protect the Torch, tomes and keys from disposal
alexpolo1 and Claude Opus 5
2026-09-16 15:26:52 +02:00
d73ac0403f
fix(recovery): close panels before town detection; save+exit after 5 failed detects
alexpolo1 and Claude Opus 5
2026-09-16 15:26:51 +02:00
1367198680
Merge PR #41 : baal_xp leech + today's live-session fixes
Alex
2026-09-16 15:18:20 +02:00
190a7c5b83
feat(stealth): ask before the daily cap stops the bot, 'yes' continues
alexpolo1 and Claude Opus 5
2026-09-16 09:23:04 +02:00
576d669037
fix(shutdown): a budget stop is not a stuck game
alexpolo1 and Claude Opus 5
2026-09-16 08:59:36 +02:00
69edbf8998
test: never post to the real Discord webhook during pytest
alexpolo1 and Claude Opus 5
2026-09-15 18:31:38 +02:00
7ddaa8c5c5
fix(bot): release modifier keys at the start of every game
alexpolo1 and Claude Opus 5
2026-09-15 18:10:38 +02:00
2f79acad8d
fix(restart): a self-restarted bot resumes playing instead of waiting for F11
alexpolo1 and Claude Opus 5
2026-09-15 18:03:31 +02:00
b0d8fdf028
test: block real mouse/keyboard input and window moves during pytest
alexpolo1 and Claude Opus 5
2026-09-15 18:00:58 +02:00
f11034869b
fix(start_game): leave a game the bot did not create instead of running in it
alexpolo1 and Claude Opus 5
2026-09-15 17:49:15 +02:00
a2265475d6
Merge origin/main into baalxp
alexpolo1 and Claude Opus 5
2026-09-15 17:01:34 +02:00
83c5819578
fix(baal_xp): bound the loading-wait and stop the breaker from self-negating
alexpolo1
2026-09-15 13:05:14 +02:00
a3abd15878
docs: add the baal_xp leech cycle to the state machine section
alexpolo1
2026-09-15 07:43:38 +02:00
2333a437bd
docs(baal_xp): note that the leech enable flag resolves to the params.ini default
alexpolo1
2026-09-15 04:22:14 +02:00
aa601e67c1
fix(baal_xp): skip the 30s town-spawn wait that strands the leech cycle
alexpolo1
2026-09-14 19:41:50 +02:00
98f9b7302e
fix(baal_xp): restore the 09-08 join hardening lost in the 09-09 branch switch
alexpolo1
2026-09-14 18:35:28 +02:00
3a12c163ad
fix(baal_xp): give the rearm test a real GameStats so the give-up path runs
alexpolo1
2026-09-08 14:02:04 +02:00
c40f2efad2
fix(baal_xp): keep the leech alive when its own cycles keep failing
alexpolo1
2026-09-06 08:18:47 +02:00
165e4385d4
WIP: epitaxy pre-switch from baalxp
alexpolo1
2026-09-05 09:42:53 +02:00
d0d2a54999
fix(baal_xp): reset the game-length clock when the leech lands back in town
alexpolo1
2026-09-05 08:17:30 +02:00
0faa31f3d8
fix(skills): let a permanently-slotted skill pass preflight without a hotkey
alexpolo1 and Claude Opus 5
2026-09-04 12:26:03 +02:00
4c915f17ac
fix(skills): correct the hammerdin binds and check Blessed Hammer where it lives
alexpolo1 and Claude Opus 5
2026-09-04 12:23:41 +02:00
6688f2cb67
fix(health): an empty rejuv column is not a chicken condition
alexpolo1 and Claude Opus 5
2026-09-04 12:01:06 +02:00
c62856c618
fix(baal_xp): shorten the re-entry spawn scan, and close its docstring again
alexpolo1 and Claude Opus 5
2026-09-04 11:38:32 +02:00
e3397936d6
fix(baal_xp): self-heal the leech loop when no route is armed
alexpolo1
2026-09-04 09:51:03 +02:00
89a4d86e2d
fix(town): stop burning the NPC search on body+pose guesses; give A3 usable town markers
alexpolo1 and Claude Opus 5
2026-09-04 09:46:11 +02:00
914d4a911e
fix(inventory): stash protected items instead of stranding them in the inventory
alexpolo1 and Claude Opus 5
2026-09-04 09:17:47 +02:00
bda4c68c13
docs: record the A3 cross-act repair trip as Bug 24
alexpolo1 and Claude Opus 5
2026-09-04 07:18:41 +02:00
458887d11a
fix(repair): add in_act repair mode so a repair never triggers a cross-act trip
alexpolo1 and Claude Opus 5
2026-09-04 07:05:24 +02:00
a066d511ca
fix(a5): restore real A5 waypoint template and bound the WP scan to the game world
alexpolo1 and Claude Opus 5
2026-09-04 06:37:33 +02:00
53ddbc0f60
fix(baal_xp): keep the leech cycling when a profile [routes] section exists
alexpolo1 and Claude Opus 5
2026-09-03 21:49:55 +02:00
3ed47ed822
fix: raise maintenance budget for cross-act routes; document Trav findings (#40 )
2026-09-02 10:13:46 +02:00
21c62f2cc9
fix(baal_xp): join at 1+ players and survive a stale LOBBY template
alexpolo1 and Claude Opus 5
2026-09-02 10:12:00 +02:00
ec6599f6d3
Merge pull request #39 from alexpolo1/fix/pather-abort-never-fired
Alex
2026-08-29 00:52:03 +02:00
b8a36e8231
docs: operating handover — run, diagnose, and what is still outstanding
origin/fix/pather-abort-never-fired
alexpolo1 and Claude Opus 5
2026-08-29 00:16:52 +02:00
1c19b8bdc8
fix(pather): scan for the threshold BEFORE the anti-stuck move
alexpolo1 and Claude Opus 5
2026-08-28 22:21:06 +02:00
f43824f11d
fix(pather): the heading-rejection abort never actually fired
alexpolo1 and Claude Opus 5
2026-08-28 21:57:35 +02:00
b5922b6b19
Merge pull request #38 from alexpolo1/fix/game-menu-guard
Alex
2026-08-28 19:30:08 +02:00
a139fb3230
fix(view): pause the panel check during save_and_exit — the menu guard raced the shutdown
alexpolo1 and Claude Opus 5
2026-08-28 19:26:45 +02:00
914a107a72
fix(health): detect and close the in-game ESC menu — one bug behind three incidents
alexpolo1 and Claude Opus 5
2026-08-28 18:53:15 +02:00
9c06cd8474
Merge pull request #37 from alexpolo1/release/v0.10.0
v0.10.0
Alex
2026-08-28 17:05:38 +02:00
e17b8c6c94
release: v0.10.0 — the stealth subsystem actually runs
origin/release/v0.10.0
alexpolo1 and Claude Opus 5
2026-08-28 17:04:38 +02:00
3597c01b17
Merge pull request #36 from alexpolo1/fix/walk-hud-guard
Alex
2026-08-28 17:04:11 +02:00
ee39aa5dbf
test: scope the HUD-click invariant to every movement method, not just move()
alexpolo1 and Claude Opus 5
2026-08-28 16:57:01 +02:00
e6ba9ad830
fix(char): guard walk() against HUD clicks too, and set a >=5h session budget
alexpolo1 and Claude Opus 5
2026-08-28 16:44:33 +02:00
48f46fba7f
Merge pull request #35 from alexpolo1/fix/hud-click-guard
Alex
2026-08-28 15:09:53 +02:00
bc398c471f
fix(char): apply move jitter BEFORE the HUD guard, not after
origin/fix/hud-click-guard
alexpolo1 and Claude Opus 5
2026-08-28 15:04:01 +02:00
91e201c5f6
fix(char): move() clicked into the HUD and toggled the loot filter
alexpolo1 and Claude Opus 5
2026-08-28 14:55:38 +02:00
74c3050163
Merge pull request #31 from alexpolo1/feat/prices
Alex
2026-08-28 14:47:10 +02:00
ce394c2cb6
Merge pull request #34 from alexpolo1/fix/restart-loop-cap
Alex
2026-08-28 14:46:54 +02:00
0ce92b4e7c
Merge pull request #32 from alexpolo1/tools/spellbook-mapper
Alex
2026-08-28 14:46:40 +02:00
3942ad4cf5
docs: how to tell an AFK break from a stuck bot, and why break lengths lie
alexpolo1 and Claude Opus 5
2026-08-28 14:42:12 +02:00
913eeeff75
fix(stealth): cap the real AFK idle at ~15m, not ~26m
alexpolo1 and Claude Opus 5
2026-08-28 14:36:33 +02:00
dfd64b8f4d
fix(bot): bound the restart loop — a persistent failure restarted forever
alexpolo1 and Claude Opus 5
2026-08-28 09:23:22 +02:00
a7e9f4e50f
Merge pull request #33 from alexpolo1/feat/stealth-wiring
Alex
2026-08-28 14:15:50 +02:00
1f440cfed2
fix(health): detect and close CENTRED panels — Chronicle blocked every template match
origin/feat/stealth-wiring
alexpolo1 and Claude Opus 5
2026-08-28 13:28:57 +02:00
c8e63bc9fa
fix(stealth): roll the AFK break on the path a single-route rotation actually takes
alexpolo1 and Claude Opus 5
2026-08-28 12:46:41 +02:00
fd889a4df7
tools(spellbook): detect grid state, template-match the hotkey labels
origin/tools/spellbook-mapper
alexpolo1 and Claude Opus 5
2026-08-28 10:42:36 +02:00
2feb13f44a
tools: add spellbook mapper — read skill binds from the game, compare to config
alexpolo1 and Claude Opus 5
2026-08-28 10:27:07 +02:00
5b386391df
prices: diablo2.io scraper + discord report + FG date fix + refreshed data
origin/feat/prices
alexpolo1
2026-08-28 10:19:02 +02:00
963b19dbe5
fix(control): accepted hermes connections were non-blocking — the root of every socket timeout
alexpolo1 and Claude Opus 5
2026-08-28 06:50:59 +02:00
93185cb93c
fix(control): make hermes 'start' idempotent and report pause state in status
alexpolo1 and Claude Opus 5
2026-08-28 06:40:19 +02:00
2162046dac
fix(pather): abort after repeated heading rejections instead of guessing
alexpolo1 and Claude Opus 5
2026-08-28 01:25:55 +02:00
55075d2c23
fix(town): never fall back to Qual-Kehk when Tyrael is unreachable
alexpolo1 and Claude Opus 5
2026-08-28 01:19:27 +02:00
83c211bd5f
fix(pickit): stealth pickup-skip spun on one item until the phase timed out
alexpolo1 and Claude Opus 5
2026-08-28 01:11:49 +02:00
31dacab9e3
test: pin the act-margin invariant for BOTH act-deciding functions
alexpolo1 and Claude Opus 5
2026-08-28 01:03:01 +02:00
0a4575ea6a
fix(town): apply the Bug 28 act-margin rule to wait_for_town_spawn too
alexpolo1 and Claude Opus 5
2026-08-28 00:59:13 +02:00
f0f50a9332
perf(town): stop pending sales from triggering the A5->A4 vendor trip
alexpolo1 and Claude Opus 5
2026-08-28 00:54:49 +02:00
2966ba4f7b
Merge pull request #29 from alexpolo1/feat/stealth-wiring
Alex
2026-08-28 00:53:11 +02:00
8aa150d6a3
test: use a neutral character name in the personality seed test
alexpolo1 and Claude Opus 5
2026-08-28 00:47:23 +02:00
371abafa35
fix(stealth): actually wire the per-game chicken roll, and make the manifest check call sites
alexpolo1 and Claude Opus 5
2026-08-28 00:43:01 +02:00
00e047db98
feat(stealth): session rhythm, idle behaviour, and unproductive actions
alexpolo1 and Claude Opus 5
2026-08-28 00:35:31 +02:00
4bdc5b90db
fix(input): an unbound skill key is a no-op, not a thread-killing ValueError
alexpolo1 and Claude Opus 5
2026-08-28 00:18:39 +02:00
5211564df4
fix(stealth): manifest reports a 0% behaviour as disabled, not wired
alexpolo1 and Claude Opus 5
2026-08-28 00:17:20 +02:00
e42211231e
fix(paladin): stop pressing unbound skill keys — F4 was toggling the loot filter
alexpolo1 and Claude Opus 5
2026-08-28 00:15:33 +02:00
c3557678d5
feat(stealth): implement the four-phase remediation end to end
alexpolo1 and Claude Opus 5
2026-08-28 00:02:55 +02:00
da83f71bef
fix(stealth): make configured stealth behaviour actually run
alexpolo1 and Claude Opus 5
2026-08-27 23:52:45 +02:00
3d153e67f5
Merge pull request #28 from alexpolo1/stable
Alex
2026-08-27 22:29:49 +02:00
f70e118f88
Merge remote-tracking branch 'origin/main' into stable
alexpolo1
2026-08-27 22:25:22 +02:00
11186e2c7d
fix(town): A5 waypoint HUD false-positive, safe merc-panel dismiss, Tyrael for resurrect
alexpolo1 and Claude Opus 5
2026-08-27 21:37:33 +02:00
6ac1105fc7
fix(merc): always dismiss the panel the merc check opens (CHRONICLE stayed up all game)
alexpolo1 and Claude Opus 5
2026-08-27 20:17:38 +02:00
cad7d898a4
Merge pull request #27 from alexpolo1/stable
Alex
2026-08-27 19:40:49 +02:00
4de8f6192e
Merge remote-tracking branch 'origin/main' into stable
alexpolo1
2026-08-27 19:39:56 +02:00
7763afdcb8
ci: don't fail the build when the coverage artifact upload hits the storage quota
alexpolo1 and Claude Opus 5
2026-08-27 19:22:35 +02:00
c0e5241eb9
Merge pull request #26 from alexpolo1/stable
Alex
2026-08-27 19:13:50 +02:00
831e0d9319
docs: refresh post-mortem commit hashes after the pre-PR history rewrite
alexpolo1 and Claude Opus 5
2026-08-27 19:10:46 +02:00
489f779849
merge: bring origin/main into stable ahead of the PR
alexpolo1 and Claude Opus 5
2026-08-27 19:10:19 +02:00
402c768fc8
docs: add the run_pindle post-mortem (26-27 Aug 2026)
alexpolo1 and Claude Opus 5
2026-08-27 19:03:26 +02:00
2e7517f9b8
docs: how to read FAIL> records and tune runs from the timing digest
alexpolo1 and Claude Opus 5
2026-08-27 18:22:31 +02:00
9325c9cc63
feat(discord): 2-hourly timing + failure digest, and self-contained FAIL> records
alexpolo1 and Claude Opus 5
2026-08-27 18:21:36 +02:00
8da4c8eb9d
feat(log): time every phase and fold stealth into one spawn-to-loot timeline
alexpolo1 and Claude Opus 5
2026-08-27 18:07:33 +02:00
f01610e53f
feat(log): constant town timeline — every maintenance step start/ok/skip/fail
alexpolo1 and Claude Opus 5
2026-08-27 17:38:33 +02:00
e976749910
fix(npc): raise grid-sweep name-tag threshold so it stops clicking noise
alexpolo1 and Claude Opus 5
2026-08-27 17:12:17 +02:00
dfacb12393
fix(main): catch EOFError on shutdown so a clean exit stops logging a fake crash
alexpolo1 and Claude Opus 5
2026-08-27 16:50:46 +02:00
2402c18e06
fix(inventory): stash protected items the pickit rejected instead of hoarding them
alexpolo1 and Claude Opus 5
2026-08-27 16:04:26 +02:00
4a5459ab15
config: let the pickit decide on charms, freeing inventory slots for the cube
alexpolo1 and Claude Opus 5
2026-08-27 15:56:53 +02:00
a213509a03
fix(a5): stop burning two 4s timeouts before walking to the waypoint
alexpolo1 and Claude Opus 5
2026-08-27 15:38:57 +02:00