diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index d8010c37..4de2bb9d 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -97,6 +97,10 @@ namespace Packets { StatusEffectList = 0x014E, // updated 4.3 Effect = 0x0151, // updated 4.3 + AoeEffect8 = 0x0154, // updated 4.3 + AoeEffect16 = 0x0155, // updated 4.3 + AoeEffect24 = 0x0156, // updated 4.3 + AoeEffect32 = 0x0157, // updated 4.3 PersistantEffect = 0x0158, // updated 4.3 GCAffiliation = 0xCCFC, // OUTDATED diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index 3787e1c2..e1f875c9 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -344,6 +344,46 @@ struct FFXIVIpcEffect : FFXIVIpcBasePacket uint32_t padding_78; }; +template< int size > +struct FFXIVIpcAoeEffect +{ + uint64_t animationTargetId; + uint32_t actionId; + + uint32_t globalEffectCounter; + float animationLockTime; + + uint32_t someTargetId; + + uint16_t hiddenAnimation; + + uint16_t rotation; + + uint16_t actionAnimationId; + uint8_t unknown1E; + + Common::ActionEffectDisplayType effectDisplayType; + + uint8_t unknown20; + uint8_t effectCount; + + uint32_t padding_22[2]; + + EffectEntry effects[size]; + + uint16_t padding_6A[3]; + + uint32_t effectTargetId[size]; + uint32_t effectFlags; + + uint32_t padding_78; +}; + +struct FFXIVIpcAoeEffect8 : FFXIVIpcBasePacket< AoeEffect8 >, FFXIVIpcAoeEffect< 8 > {}; +struct FFXIVIpcAoeEffect16 : FFXIVIpcBasePacket< AoeEffect16 >, FFXIVIpcAoeEffect< 16 > {}; +struct FFXIVIpcAoeEffect24 : FFXIVIpcBasePacket< AoeEffect24 >, FFXIVIpcAoeEffect< 24 > {}; +struct FFXIVIpcAoeEffect32 : FFXIVIpcBasePacket< AoeEffect32 >, FFXIVIpcAoeEffect< 32 > {}; + /** * Structural representation of the packet sent by the server