Game Opcodes:SetPushEventConditionWithTriggerBox

From FFXIV Classic Wiki
Revision as of 22:05, 19 March 2020 by Jorge (talk | contribs) (Changed 'circle' to 'box', also tested if it was still the case with this opcode, and yes it still is.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Sets a push event trigger to this actor. "Push" events are collision tested events, this one specifically assigning a predefined trigger box to an actor. This seems to be some kind of driver for BG Objects.

Opcode - 0x175
Source - Server
Data Size - 0x40 bytes
Requirements - None

Data

Offset Data Type Length Variable Description
0x00 int32 4 Bytes bgObjectID BG Object ID
0x04 int32 4 Bytes layoutID Layout ID
0x08 int32 4 Bytes actorID Actor ID that this triggers from? 1.22+ it is just set to 0x4.
0x0C float 4 Bytes unknown
0x10 int32 4 Bytes unknown
0x14 byte 1 Bytes options Format is 000[W] [Z][Y][XX] If 0x11; triggers when player leaves the box. If 0x1, triggers when player enters the box.
0x15 byte 1 Bytes priority
0x16 byte 1 Bytes isSilent
0x17 string 32 Bytes eventName The name of the event that will be sent when a Start/End event is fired.
0x37 byte 1 Bytes unknown
0x38 string 8 Bytes reactionName DoorStandard passes to _onReaction. MarketEntrance to dwti for Limsa, dtwi for Gridania and Ul'dah.

Notes

MarketEntrance is the only known actor that uses this trigger. The box it uses presumably defined by dtwi, dtwo, utwi, utwo in the MapLayoutResourceData file.

DoorStandard also uses this programmatically in its script to trigger doors opening/closing when a player goes near them.

Visual Layout

Packet Data layout
0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xA 0xB 0xC 0xD 0xE 0xF
0x00 bgObjectID layoutID actorID unknown
0x10 unknown options priority isSilent
0x20 eventName
0x30 unk reactionName