Files
ThordekkCore/sql/updates/hotfixes
luis 91f23fceef Housing: wire blizzlike door click via SpellID 1271876
Sniff-decoded from C:\sniff\housing_stuff\{alliance,horde}_housing\
dump_12.0.5.67186_2026-04-28_*.pkt: when a player clicks a housing
door GO the 12.0.5 retail client emits CMSG_CAST_SPELL with
SpellID 1,271,876 (uint32 at body offset 0x15) targeting the door.
Both faction sniffs are byte-identical in the spell-id field; only the
target PackedGUID at offset 0x3D differs. CMSG_GAME_OBJ_REPORT_USE that
follows is criteria-tracking, NOT the trigger — the cast is.

The server side had four stacked gaps blocking this flow:

A. SpellID 1271876 was missing from spell_name / spell_misc / spell_effect.
   Cast validation rejected it as unknown. Added a minimal row set with
   SPELL_EFFECT_DUMMY targeting TARGET_GAMEOBJECT_TARGET so the cast
   accepts and the SpellScript hook fires.

B. gameobject_template.Data10 (goober.spell) on the housing front-door
   templates was either zero (575017, 602702) or pointing at the older
   12.0.1 spell 1234192 (586576, 602705) / 1234193 (587318). Neither
   matches what the 12.0.5 retail client casts, so the goober mechanism
   wouldn't have routed correctly even if the spell existed. All five
   entries now point at 1271876.

C. New SpellScript spell_housing_door_open, registered against 1271876
   via spell_script_names, intercepts the cast and calls
   GameObject::Use() on the spell target. That routes to the existing
   go_housing_door::OnGossipHello which already handles edit-mode
   gating, visitor permissions, and the interior round trip.

D. The exterior_component SQL hotfix table was on an older WoW build's
   schema (FileDataID/ConditionID/HookID/Slot/SortOrder/...) that
   doesn't line up with DB2LoadInfo's 12.0.5 layout
   (Name + 3 floats + ID + Size + ParentComponentID + ModelFileDataID +
   Flags + Field_7 + Type + Field_9 + GameObjectID + Field_11 +
   ItemID + HouseExteriorWmoDataID). Without a GameObjectID column the
   hotfix loader was filling that field with zeros, so HousingMap::
   SpawnExtCompTree never spawned door GOs in the first place. Schema
   rebuilt to match the 14-field 12.0.5 record (LayoutHash 0x53EA0925).
2026-05-08 22:14:33 -03:00
..