- Set EditorMode UpdateField via SetHousingEditorModeUpdateField() when
entering/exiting edit mode. The client reads this from
PlayerHouseInfoComponentData to enable ClickTarget (flag 16) for decor
selection. Without it, the housing editor stays in mode 0 and all click
flags are disabled.
- Set UNIT_FLAG_PACIFIED, UNIT_FLAG2_NO_ACTIONS and SilencedSchoolMask=127
during edit mode (sniff-verified retail behavior). Clear on exit.
- Revert ignoreNestedChangesMask from true to false in
HousingStorageData::WriteUpdate. The true flag forced full-map Create
format inside VALUES_UPDATE which crashes the client (BLZ_ALLOC 41GB)
on subsequent Decor map updates after placing decor. The original
partial-serialization issue was actually caused by ContentsChangedMask=0
which is already fixed by the Account::SendUpdateToPlayer override.
- Fix SMSG_HOUSING_UPDATE_HOUSE_INFO to send actual BnetAccountGuid
instead of ObjectGuid::Empty so house owner displays correctly in the
settings/permissions UI.
- Make character_housing position columns SQL update idempotent to avoid
duplicate column errors when schema already includes posX/posY/posZ.