Skip to content

Fix Construction 2 butler handling - #523

Open
FibbyBibby wants to merge 1 commit into
chsami:developmentfrom
FibbyBibby:fix-construction-butler
Open

Fix Construction 2 butler handling#523
FibbyBibby wants to merge 1 commit into
chsami:developmentfrom
FibbyBibby:fix-construction-butler

Conversation

@FibbyBibby

Copy link
Copy Markdown

Summary

Fixes servant handling issues in Construction 2 that could cause the script to become stuck or significantly reduce XP/hr.

The initial issue occurred when the script needed to call the servant. It would open the House Options tab and hover over the Call Servant button, but would always fail to actually click it. This prevented the construction cycle from continuing correctly and could cause the script to stall, resulting in XP/hr rates being cut roughly in half.

While fixing the initial Call Servant issue, additional problems were found with the servant's bank-trip handling. The script could repeatedly attempt to call the servant while he was away at the bank, or fail to properly handle him when he returned with planks.

Changes

  • Fixes the script opening House Options and hovering over Call Servant without clicking it.
  • Re-queries the House Options and Call Servant widgets instead of relying on stale widget references.
  • Improves reliability of the initial servant call.
  • Tracks when the servant has been sent to the bank.
  • Prevents Call Servant from being spammed while the servant is away.
  • Detects and handles the servant's return with planks.
  • Adds fallback handling if the servant's return dialogue is missed.
  • Improves repeated plank retrieval cycles so construction can continue without unnecessary stalls.
  • Improves handling of stale NPC and construction object references.

Testing

  • .\gradlew build completed successfully.
  • Tested in-game using the Demon Butler with Mahogany Tables.
  • Verified House Options opens and Call Servant is clicked successfully.
  • Verified construction begins/continues correctly after calling the servant.
  • Verified the script continues building while the servant is away at the bank.
  • Verified Call Servant is not spammed while the servant is away.
  • Verified the servant is handled correctly when he returns with planks.
  • Verified repeated bank trips and construction cycles continue functioning.

@FibbyBibby
FibbyBibby changed the base branch from main to development August 8, 2026 18:26
@FibbyBibby
FibbyBibby force-pushed the fix-construction-butler branch from f1fd4e4 to 011b9d6 Compare August 8, 2026 18:30

chsami commented Aug 13, 2026

Copy link
Copy Markdown
Owner

I built the PR's synthetic merge result against Microbot 2.6.19; ConstructionPluginJar and the Gradle test task pass. I’m holding the merge because the remaining work is substantial and should stay contributor-owned:

  1. ConstructionPlugin.version is still 1.3.2; Hub changes require a version bump.
  2. The one-file fix is currently +847/-176 and rewrites/reformats most of ConstructionScript, including build/remove/state logic unrelated to calling the servant. Please narrow this to the servant/bank-trip changes or split the mechanical refactor into a separate PR so the behavioral fix can be reviewed safely.
  3. The previous outside-house recovery called returnToTheHouse(); the rewritten state calculation now falls back to Idle, and returnToTheHouse() is left unused. Please restore that recovery or explain and live-test the intended replacement.
  4. Please rebase onto the current development branch, which has moved since this PR opened.

The reported Demon Butler/Mahogany Table testing is useful. Once the diff is focused, recovery behavior is covered, and the version is bumped, this should be much safer to merge.

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