diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index ca042e79..f6dba912 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -336,6 +336,7 @@ namespace Sapphire::Network::Packets ClientTrigger = 0x017D, // updated 5.25 DiscoveryHandler = 0x02C8, // updated 5.25 + PlaceFieldMarkerPreset = 0x23F, // updated 5.25 PlaceFieldMarker = 0x013C, // updated 5.0 SkillHandler = 0x0241, // updated 5.25 GMCommand1 = 0x01EC, // updated 5.25 diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index d3eee984..cf00709c 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -1681,6 +1681,31 @@ namespace Sapphire::Network::Packets::Server uint8_t bitmask; }; + /** + * Structural representation of the packet sent by the server + * to place/remove field marker presets + */ + struct FFXIVIpcPlaceFieldMarkerPreset : FFXIVIpcBasePacket< PlaceFieldMarkerPreset > + { + enum FieldMarkerStatus + { + A = 0x1, + B = 0x2, + C = 0x4, + D = 0x8, + One = 0x10, + Two = 0x20, + Three = 0x40, + Four = 0x80 + }; + /*! which fieldmarks to show */ + enum FieldMarkerStatus status; + /*! A coordinates would be (float)Xints[0]/1000.0, (float)Yints[0]/1000.0, (float)Zints[0]/1000.0 */ + uint32_t Xints[8]; + uint32_t Yints[8]; + uint32_t Zints[8]; + }; + /** * Structural representation of the packet sent by the server * to mount a player