This repository has been archived on 2026-10-31. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Ananta-ps/pkg/protocol/methods/donor_npc_methods4229938.go

24 lines
1.5 KiB
Go

package methods
//
// Verbatim copy of the donor build's static-NPC contracts (2026-09-17).
// Everything here exists so the donor's NPC-spawn card can run exactly as it did in the build
// that was verified in-game — no "simplification", no reuse of neighbouring contracts. That
// last point is the whole reason this file exists rather than reusing CivilianMethods4229938:
// the first port fed the wrong nested contract into ClientStaticNpcInitData (the 46-field
// SceneMethods.AgentSyncClientInfo instead of this 43-field Npc variant), which shifted every
// field after AgentSyncClientInfo and made the client silently drop the whole packet.
// The Donor prefix keeps these apart from the civilian variants already compiled into the
// solution so the two paths can be compared side by side without ambiguity.
// Field order in every class below follows lua/LuaGen/AutoGen/RPCSerializeAuto.lua.
//
// IGameSceneToClient positional arguments; both nested values are native structs.
// RPCSerializeAuto.lua WriteClientNpcPoiActionData (4229938).
// Complex argument, with ClientBaseEntityData's static-NPC discriminator.
// SpawnNPC2's ClientStaticNpcInitData uses CustomFlagType=2, not onlyFields.
// Field order: lua/LuaGen/AutoGen/RPCSerializeAuto.lua WriteClientStaticNpcInitData.
// Full current-build AOI projection for an NPC AgentUnit. This contract is
// consumed by UnitsManager.SyncAgentEnterAOI and initializes the BaseUnit
// modules that own animation and physical reactions.
// Field order: RPCSerializeAuto.lua WriteRaidBattleUnitAgent (build 4229938).