Files
moonwell-client-core/docs
Sam Sung aadbf8823b Game objects use their type's interact range, as 1.12.1's do (#2419)
A door lit its interact cursor out to 5.5556 yd, where 1.12.1 stops at 5.0. benilla used the NPC-service reach for every game object type.

In 1.12.1, `0x5f3130` tests `(dx² + dz²) + dy² <= r²` against the object's position. `r` is the type handler's `+0xc`: 5.0 by default (`0x5f2f67`), 5.5555553 for types 2, 9, 24, 26 and 27, 10 for type 4, 100 for chairs and fishing nodes, and 0 for type 12. When a known spell opens the lock, its maximum range is used instead (`0x5f3328`). Without one, state 2 refuses with error 0xe5. A chair then seats strictly within 3 yd.

Now the cursor, the click and the walk all use those ranges. The walk stops at 0.9 × the handler range.

Tests cover the door at 5.2 and 5.0 yd, a spell opener, a destroyed object, the chair and click-to-move; each fails without its piece.

Fixes #2410

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

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-25 22:28:37 +07:00
..