Skip to content

Combat Hotkeys: add Arceuus thrall summon hotkey - #555

Merged
chsami merged 4 commits into
chsami:developmentfrom
MuffinKid23:codex/combat-hotkeys-thralls
Sep 16, 2026
Merged

chsami merged 4 commits into
chsami:developmentfrom
MuffinKid23:codex/combat-hotkeys-thralls

Conversation

@MuffinKid23

Copy link
Copy Markdown
Contributor

Summary

  • Add an Arceuus - Thralls configuration section with an unassigned-by-default hotkey.
  • Select Ghost, Skeleton or Zombie in Lesser, Superior or Greater tiers (default Greater Ghost).
  • Reuse Rs2Thrall.cast for existing requirements and active/cooldown checks.
  • Dispatch through the plugin-owned executor and suppress held-key repeats and overlapping thrall requests.
  • Report rejected casts in the existing diagnostic state and log. No automatic resummoning.

Scope

Only CombatHotkeysConfig.java and CombatHotkeysPlugin.java. No jars, logs, user settings or other plugins.

Verification

Local Java compilation succeeded against the installed Microbot 2.6.22 client (Java 17, --release 11). git diff --check passed. Live in-game summoning and repository CI have not yet been verified.

chsami and others added 2 commits August 13, 2026 21:18
Promote the validated Jewelry, Jad Helper, Herbiboar, and Auto Woodcutting fixes from development. Development Build passed for the exact merged branch head.

@chsami chsami left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed head 0001c2f.

P1 lifecycle issue: thrallPending is set before dispatch, but cleared only inside the queued action (or the early executor-null check). If another hotkey action occupies the single-thread executor, queue a thrall and disable the plugin: shutdownNow() drops that queued task without running its finally. On re-enable the same plugin instance still has thrallPending=true, so every later thrall press is ignored. Make the pending state belong to an executor/startup generation and clear cancelled/rejected submissions without letting an old task clear a new request; add a queued-thrall -> shutdown -> restart regression.

CombatHotkeysPlugin.version remains 1.1.2 despite the behavior change. Please bump it and target/rebase onto development for the prescribed Hub PR build. The current targeted build hits the older branch's unrelated Farming Contracts Produce.getContractName() error before packaging.

@chsami
chsami changed the base branch from main to development September 16, 2026 08:55
@chsami

chsami commented Sep 16, 2026

Copy link
Copy Markdown
Owner

Fixed the pending thrall lifecycle with per-request tokens: shutdown/startup invalidate old requests, discarded queued work no longer blocks restart, old completion cannot clear a newer request, and refused/rejected submissions release their token. Bumped CombatHotkeysPlugin to 1.1.3. Synced development with a clean merge and retargeted the PR there. ./gradlew build -PpluginList=CombatHotkeysPlugin passes against public client 2.6.22, including five new regression tests for cancellation, stale queued/running work, rejection, and action failure. My earlier lifecycle/version/base/build blockers are addressed; fresh CI is pending.

@chsami chsami left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reviewed the request-token lifecycle fix. Queued cancellation, stale queued/running completions, refused/rejected submissions, and action failure are covered by five passing regression tests. Version/base issues are fixed, targeted CombatHotkeysPlugin build passes, and fresh expected CI is green. Replacing my earlier changes-requested review under the current fix-and-green-light instruction.

@chsami
chsami merged commit fd52b3e into chsami:development Sep 16, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants