Skip to content

fix: Vale Totems carve reliability (v1.0.14) - #535

Merged
chsami merged 2 commits into
chsami:developmentfrom
infuse21:ValeTotems
Aug 24, 2026
Merged

fix: Vale Totems carve reliability (v1.0.14)#535
chsami merged 2 commits into
chsami:developmentfrom
infuse21:ValeTotems

Conversation

@infuse21

Copy link
Copy Markdown
Contributor

Summary

Fixes the recurring Failed to carve animals -> emergency-bank-recovery loop in Vale Totems. Root causes found by inspecting a live client (widget tree + per-site varbits):

  • Fix off-by-one carve dialog widget ids - the animal options are children 15-19 of interface 270, not 14-18, so the occasional randomized widget-click input either clicked dead space (carve silently lost, totem never became decoratable) or carved the previous animal in the list (wrong carve, later rejected as a duplicate).
  • Verify every carve via fletching xp and re-send swallowed inputs instead of assuming the key press landed.
  • Identify the site's three required animals from the per-site varbits (ent_totems_site_N_animal_1..3), with the NPC scan kept as a fallback - immune to spirits wandering out of scan range or ents reshuffling animals mid-carve. The site's varbit block (17611 + 18*(N-1)) is derived from the totem loc id (57016 + 6*(N-1)) found in the scene, so nothing is hardcoded per site.
  • Detect leftover carves on a partially-carved totem from the low/mid/top segment varbits and skip them - the game rejects duplicates ("You may only select animals you have not already carved."), which previously locked the bot in a fail-retry-bank loop.
  • On a rejected/unregistered carve, skip that animal and let the remaining ones fill the slots (totem state is the completion check), and re-scan once before entering error recovery.

Testing

  • ./gradlew build -PpluginList=ValeTotemPlugin
  • Sideloaded on a live account: 20+ minutes, multiple full banking rounds, zero carve errors (previously errored every few rounds), including correct recovery on a leftover partially-carved totem.

🤖 Generated with Claude Code

- verify each carve via fletching xp and retry swallowed inputs
- fix off-by-one carve dialog widget ids (options are 270,15-19, not 14-18)
- identify required animals from per-site totem varbits (NPC scan as fallback)
- pre-mark leftover carved segments from varbits so duplicates are never
  attempted (game rejects re-carving an animal already on the totem)
- skip rejected carves and re-scan once instead of hard-failing into
  emergency bank recovery

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@RLitePlus

Copy link
Copy Markdown

make sure to do your xp read on client thread

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@infuse21 infuse21 changed the title fix: Vale Totems carve reliability (v1.0.13) fix: Vale Totems carve reliability (v1.0.14) Aug 20, 2026

@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 the corrected carve widgets, site/segment varbit mapping, XP-verified input retries, and progress reset. Contributor reports sustained live validation; targeted synthetic-merge build and hosted CI pass.

@chsami
chsami merged commit ad180a9 into chsami:development Aug 24, 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.

3 participants