diff --git a/FFXIVClientStructs/FFXIV/Client/Game/Object/EventObject.cs b/FFXIVClientStructs/FFXIV/Client/Game/Object/EventObject.cs index 1969571ad..cd6df182f 100644 --- a/FFXIVClientStructs/FFXIV/Client/Game/Object/EventObject.cs +++ b/FFXIVClientStructs/FFXIV/Client/Game/Object/EventObject.cs @@ -8,7 +8,16 @@ namespace FFXIVClientStructs.FFXIV.Client.Game.Object; public partial struct EventObject { [FieldOffset(0x1A0), CExporterExcel("EObj")] public nint EObjRowPtr; [FieldOffset(0x1A8), CExporterExcel("ExportedSG")] public nint ExportedSGRowPtr; + [FieldOffset(0x1B2)] public ushort SharedTimelineState; // ActorControl category 0x199 (SetSharedTimelineState) sets this field + [FieldOffset(0x1B8)] public byte Flags; + /// Plays or switches an EObj animation/effect slot. + /// Similar to MapEffect's a2. Does not appear to affect the actual visible animation directly. + /// Similar to MapEffect's a3. Each bit represents one animation (e.g. show, fadeout). Appears to use only single-bit values. + /// + /// EObjAnimation is highly similar to MapEffect; MapEffect appears to be a wrapped form of this mechanism. + /// Different scene-bound resources attached to an EObj are roughly equivalent to MapEffect's a1. + /// [MemberFunction("E8 ?? ?? ?? ?? E9 ?? ?? ?? ?? 4D 85 F6 0F 84 ?? ?? ?? ?? 8B 44 24 70 BE ?? ?? ?? ??")] - public partial void PlayAnimation(uint entityId, uint actionId, ulong unknown); + public partial void PlayAnimation(ushort sharedTimelineState, ushort bitMask, ulong context = 0); }