From 6b37721993f7887fe7c3e4fb3ef62f61e5a46b5b Mon Sep 17 00:00:00 2001 From: MnFeN Date: Mon, 1 Jun 2026 12:09:26 +0800 Subject: [PATCH] Correct EventObject PlayAnimation method --- .../FFXIV/Client/Game/Object/EventObject.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/FFXIVClientStructs/FFXIV/Client/Game/Object/EventObject.cs b/FFXIVClientStructs/FFXIV/Client/Game/Object/EventObject.cs index 1969571add..cd6df182fa 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); }