- Create MeshObject class (WorldObject + GridObject + MapObject) for housing
fixture rendering with FMeshObjectData_C, FMirroredPositionData_C, and
FHousingFixture_C entity fragments
- Spawn 10 structural MeshObjects per house (base, door assembly, walls,
corners, chimney, windows) with parent-child hierarchy and local-space
positioning
- Fix child MeshObject grid placement: use parent's world position for
server-side grid cell so child pieces are visible to nearby players,
while storing local-space offset in FMirroredPositionData_C for client
rendering
- Fix SMSG_HOUSING_DECOR_SET_EDIT_MODE_RESPONSE wire format to match retail:
PackedGUID HouseGuid + PackedGUID HouseGuid2 + uint8 IsInEditMode +
uint32 Result + PackedGUID DecorGuid (conditional)
- Remove duplicate GO 574432 dynamic spawn that caused brown rectangle on
plot floor (DB already has 23 properly-rotated pre-spawned instances)
- Add front door GO spawn (entry 602702, type Goober, displayId 116971)
- Add MeshObject to Map type list, grid infrastructure, and object store
- Implement MeshObject movement block in BaseEntity::BuildCreateUpdateBlockMovement
- Add post-purchase initialization in plot reserve handler
- Add per-player plot ownership WorldState values
until Equipped (type 9) items. Previously only binding types 1-4 were
handled, so warbound items never bound on pickup and bypassed all
trade/mail restrictions.
- Rename ITEM_FIELD_FLAG_UNK2 to ITEM_FIELD_FLAG_CONVERTED_WARBOUND to
persist BtWuE-to-soulbound conversion across sessions
- Add IsWarbandBound(), IsAccountBound(), ConvertToSoulbound() helpers
- Bind warbound items on pickup in _StoreItem (new + stack merge)
- Convert BtWuE items to permanent soulbound on equip in VisualizeItem
- Allow warbound items to be mailed cross-faction and within bnet account
- Block warbound items from player-to-player trade window
Wire all 33 garrison CMSG opcodes and ~70 SMSG opcodes. Add complete mission
data model with DB persistence, start/complete/reward lifecycle, success chance
calculation, and follower XP progression. Implement follower operations including
assign/remove from buildings, rename, favorite, inactive, heal, and recruit stubs.
Add talent and building utility handler stubs that return appropriate error codes.