fix: hide arms for bodies with baked-in sleeve geometry #213
No reviewers
Labels
No labels
bug
ci-cd
client
epic:security-hardening
feature
optimization
priority:high
priority:low
priority:medium
server
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
BlackLobster/Server!213
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/body-sleeve-coverage"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ghostly robe top rendered with the player's bare arms poking through it.
Arm coverage read the cache's op24/26
full_bodyflag alone — a body thatcovers the arms usually supplies its own sleeve geometry as a second worn
model. That holds for 271 of the 275 chest items shared with the reference
configs, but a few bodies bake their sleeves into the single op23/25 worn
model, so the flag reads clear while the arm kit still has to be hidden:
Ghostly robe 6107, Rock-shell plate 6129, Spined body 6133, Skeletal top
6139.
Adds
Game.Item.BodyCoverageover a reference-derived, 468-identity-gatedpriv/data/item_body_coverage.exs(275 chest items), mirroring the existinghead-coverage table. The cache flag stays as the fallback for ids the table
does not cover — of the 97 reference chest rows the identity gate drops, only
2661 exists in 468 (renamed to "Saradomin plate") and the flag already gets it
right.
The encoder tests can now assert arm coverage end to end: the table answers
without a running cache, so the client-parity round trip covers both a body
that collapses the arm slot to a zero byte and one that keeps the arm kit.
7ed852fbe769ceab1666