Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 54 additions & 22 deletions addons/libs/packets/fields.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1367,11 +1367,26 @@ fields.incoming[0x00D] = L{
{ctype='unsigned char', label='Linkshell Red'}, -- 24
{ctype='unsigned char', label='Linkshell Green'}, -- 25
{ctype='unsigned char', label='Linkshell Blue'}, -- 26
{ctype='unsigned char', label='_unknown5'}, -- 27 Probably junk from the LS color dword
{ctype='data[0x1A]', label='_unknown6'}, -- 28 DSP notes that the 6th bit of byte 54 is the Ballista flag
{ctype='unsigned char', label='_flags1'}, -- 27 0x80 Autogroup flag
{ctype='unsigned char', label='_flags2'}, -- 28 0x01 puts your weapon on hand, 0x02 Request flag,
{ctype='unsigned char', label='PvP Stuff'}, -- 29 Same pattern than incoming 0x037 packet
{ctype='unsigned char', label='_flags3'}, -- 2A 0x20 Sneak Effect flag, 0x80 New Adventurer flag
{ctype='unsigned char', label='_flags4'}, -- 2B 0x01 Mentor flag
{ctype='data[4]', label='_unknown6'}, -- 2C
{ctype='unsigned short', label='Costume'}, -- 30 ID of the Model
{ctype='data[1]', label='_unknown7'}, -- 32
{ctype='unsigned char', label='_flags5'}, -- 33 0x02 Trial Account flag, 0x40 Job Master Stars flag
{ctype='unsigned int', label='_unknown8'}, -- 34 Related to mounts
{ctype='data[4]', label='_unknown9'}, -- 38
{ctype='unsigned short', label='Pet Index', fn=index}, -- 3C
{ctype='unsigned short', label='Monstrosity Species'}, -- 3E High bit is always set while in monstrosity and determines the display of the third name
{ctype='unsigned char', label='Monstrosity Name 1'}, -- 40
{ctype='unsigned char', label='Monstrosity Name 2'}, -- 41
{ctype='unsigned char', label='Indi Bubble'}, -- 42 Geomancer (GEO) Indi spell effect on players. 0 is no effect.
{ctype='unsigned char', label='Face Flags'}, -- 43 0, 3, 4, or 8
{ctype='data[4]', label='_unknown7'}, -- 44
{ctype='bit[4]', label='_unknown10'}, -- 44
{ctype='bit[8]', label='Mount'}, -- 44 Related to Mounts, seems to be mount id + 1, except for chocobo. The value doesn't get zeroed after dismount
{ctype='bit[20]', label='_unknown11'}, -- 45
{ctype='unsigned char', label='Face'}, -- 48
{ctype='unsigned char', label='Race'}, -- 49
{ctype='unsigned short', label='Head'}, -- 4A
Expand Down Expand Up @@ -2073,25 +2088,28 @@ enums.indi = {
-- 0x08 -- Terror flag
-- 0x10 -- No obvious effect

Ballista stuff:
PvP stuff:
-- 0x0020 -- No obvious effect
-- 0x0040 -- San d'Oria ballista flag
-- 0x0060 -- Bastok ballista flag
-- 0x0080 -- Windurst Ballista flag
-- 0x0100 -- Participation icon?
-- 0x00A0 -- Wyverns team icon
-- 0x00C0 -- Gryphons team icon
-- 0x0100 -- Belligerency icon (used in monstrosity)
-- 0x0200 -- Has some effect
-- 0x0400 -- I don't know anything about ballista
-- 0x0400 -- Pankration red icon
-- 0x0420 -- Pankration blue icon
-- 0x0800 -- and I still don't D:<
-- 0x1000 -- and I still don't D:<

_flags7:
-- 0x0020 -- No obvious effect
-- 0x0040 -- Individually, this bit has no effect. When combined with 0x20, it prevents you from returning to a walking animation after you stop (sliding along the ground while bound)
-- 0x0080 -- No obvious effect
-- 0x0100 -- No obvious effect
-- 0x0100 -- Request icon
-- 0x0200 -- Trial Account emblem
-- 0x0400 -- No obvious effect
-- 0x0800 -- Question mark icon
-- 0x0400 -- Sneak Effect
-- 0x0800 -- New Adventurer icon
-- 0x1000 -- Mentor icon
]]
fields.incoming[0x037] = L{
Expand All @@ -2108,21 +2126,32 @@ fields.incoming[0x037] = L{
{ctype='unsigned char', label='LS Color Red'}, -- 31
{ctype='unsigned char', label='LS Color Green'}, -- 32
{ctype='unsigned char', label='LS Color Blue'}, -- 33
{ctype='bit[3]', label='_flags5'}, -- 34
{ctype='bit[16]', label='Pet Index'}, -- 34 From 0x08 of byte 0x34 to 0x04 of byte 0x36
{ctype='bit[2]', label='_flags6'}, -- 36
{ctype='bit[9]', label='Ballista Stuff'}, -- 36 The first few bits seem to determine the icon, but the icon appears to be tied to the type of fight, so it's more than just an icon.
{ctype='bit[8]', label='_flags7'}, -- 37 This is probably tied up in the Ballista stuff too
{ctype='bit[3]', label='_flags5'}, -- 34
{ctype='bit[16]', label='Pet Index', fn=index}, -- 34 From 0x08 of byte 0x34 to 0x04 of byte 0x36
{ctype='bit[2]', label='_flags6'}, -- 36
{ctype='bit[9]', label='PvP Stuff'}, -- 36 Ballista flags here also makes appear the score, but it is probably modified in a ballista specific packet.
{ctype='bit[8]', label='_flags7'}, -- 37
{ctype='bit[26]', label='_unknown1'}, -- 38 No obvious effect from any of these
{ctype='unsigned int', label='Time offset?', fn=time}, -- 3C For me, this is the number of seconds in 66 hours
{ctype='unsigned int', label='Timestamp', fn=time}, -- 40 This is 32 years off of JST at the time the packet is sent.
{ctype='data[8]', label='_unknown3'}, -- 44
{ctype='unsigned short', label='Costume'}, -- 44 ID of the Model
{ctype='data[2]', label='_unknown3'}, -- 46
{ctype='unsigned short', label='Fellow Index', fn=index}, -- 48
{ctype='unsigned char', label='Fishing Start Animation'}, -- 4A mostly 0x0D value and sometimes 0x0C observed
{ctype='data[1]', label='_unknown4'}, -- 4B
{ctype='data[8]', label='Bit Mask'}, -- 4C
{ctype='data[4]', label='_unknown4'}, -- 54
{ctype='unsigned short', label='Monstrosity Species'}, -- 54 High bit is always set while in monstrosity and determines the display of the third name
{ctype='unsigned char', label='Monstrosity Name 1'}, -- 56
{ctype='unsigned char', label='Monstrosity Name 2'}, -- 57
{ctype='bit[7]', label='Indi Buff', fn=e+{'indi'}}, -- 58
{ctype='bit[9]', label='_unknown5'}, -- 58
{ctype='unsigned short', label='_junk1'}, -- 5A
{ctype='unsigned int', label='_flags8'}, -- 5C Two least significant bits seem to indicate whether Wardrobes 3 and 4, respectively, are enabled
{ctype='boolbit', label='Job Master Flag'}, -- 58
{ctype='unsigned char', label='Face Flags'}, -- 59
{ctype='unsigned char', label='_unknown5'}, -- 5A
{ctype='unsigned char', label='Mount'}, -- 5B Related to Mounts, seems to be mount id + 1, except for chocobo. The value doesn't get zeroed after dismount
{ctype='boolbit', label='Wardrobe 3'}, -- 5C
{ctype='boolbit', label='Wardrobe 4'}, -- 5C
{ctype='bit[6]', label='_flags8'}, -- 5C
{ctype='data[3]', label='_junk1'}, -- 5D
}

-- Entity Animation
Expand Down Expand Up @@ -2304,8 +2333,9 @@ func.incoming[0x044][0x17] = L{
{ctype='unsigned short', label='Species'}, -- 08
{ctype='unsigned short', label='_unknown2'}, -- 0A
{ctype='unsigned short[12]',label='Instinct'}, -- 0C Instinct assignments are based off their position in the equipment list.
{ctype='unsigned short', label='_unknown3'}, -- 24
{ctype='data[118]', label='_unknown4'}, -- 26 Zeroing everything beyond this point has no notable effect.
{ctype='unsigned char', label='Monstrosity Name 1'}, -- 24
{ctype='unsigned char', label='Monstrosity Name 2'}, -- 25
{ctype='data[118]', label='_unknown3'}, -- 26 Zeroing everything beyond this point has no notable effect.
}

-- Translate Response
Expand Down Expand Up @@ -3447,7 +3477,9 @@ fields.incoming[0x0DF] = L{
{ctype='unsigned char', label='MPP', fn=percent}, -- 17
{ctype='unsigned short', label='_unknown1'}, -- 18
{ctype='unsigned short', label='_unknown2'}, -- 1A
{ctype='unsigned int', label='_unknown3'}, -- 1C
{ctype='unsigned short', label='Monstrosity Species'}, -- 1C High bit is always set while in monstrosity and determines the display of the third name
{ctype='unsigned char', label='Monstrosity Name 1'}, -- 1E
{ctype='unsigned char', label='Monstrosity Name 2'}, -- 1F
{ctype='unsigned char', label='Main job', fn=job}, -- 20
{ctype='unsigned char', label='Main job level'}, -- 21
{ctype='unsigned char', label='Sub job', fn=job}, -- 22
Expand Down