Files
moonwell-client-core/docs
Sam Sung 71c9adb0e9 Lua arguments coerce and gate as the client reads them (#2622)
Lua arguments are read the way the client reads them:
- numeric strings go through the VM's own number coercion instead of Rust's parse, truncating through `_ftol` where the bytes do (SetGuildRecruitmentMode `0x4a008f`, SetWorldDetail `0x488e0a`, the compare-item and model verbs)
- `debugstack` takes numeric-string levels, ports the level window's wrapping arithmetic, prints `(tail call): ?` below level 0, and joins leftover arguments top-down (`0x703760`)
- SendAddonMessage returns first with no player object (`0x49f94b`)
- the four sell-cursor verbs gate on targeting and repair mode before their arguments (`0x4fbab7`, `0x4fbac9`)
- SetPortraitTexture checks the token after blanking; 13 unit predicates take any value, and three more check the token

Each fix has a test that fails without it.

Fixes #2501
Fixes #2502
Fixes #2527
Fixes #2529
Fixes #2530
Fixes #2532

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 01:58:50 +07:00
..