From 208af0d4a817b72d0bd761f7758e7adadfe3cbd8 Mon Sep 17 00:00:00 2001 From: KenshiDRK Date: Fri, 28 May 2021 00:57:42 +0200 Subject: [PATCH 1/3] Update fields.lua Adding monstrosity fields to some packets and a few info more for 0x037 and 0x00D --- addons/libs/packets/fields.lua | 70 +++++++++++++++++++++++++--------- 1 file changed, 51 insertions(+), 19 deletions(-) diff --git a/addons/libs/packets/fields.lua b/addons/libs/packets/fields.lua index 283aded25d..bf4c6006cc 100644 --- a/addons/libs/packets/fields.lua +++ b/addons/libs/packets/fields.lua @@ -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='Ballista 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 @@ -2078,9 +2093,12 @@ enums.indi = { -- 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 -- Some red icon, I don't know where is used (ballista related?) + -- 0x0420 -- Some blue icon, I don't know where is used (ballista related?) -- 0x0800 -- and I still don't D:< -- 0x1000 -- and I still don't D:< @@ -2091,7 +2109,7 @@ enums.indi = { -- 0x0100 -- No obvious effect -- 0x0200 -- Trial Account emblem -- 0x0400 -- No obvious effect - -- 0x0800 -- Question mark icon + -- 0x0800 -- New Adventurer icon -- 0x1000 -- Mentor icon ]] fields.incoming[0x037] = L{ @@ -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='Ballista 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 0x04 Request Flag, 0x08 Trial Flag, x10 Sneak Effect, 0x20 New Adventurer Flag, 0x40 Mentor Flag {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 @@ -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 @@ -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 From f123740757b7eca9baab56089100c394b129d0ae Mon Sep 17 00:00:00 2001 From: KenshiDRK Date: Fri, 28 May 2021 02:02:40 +0200 Subject: [PATCH 2/3] Update fields.lua Changing Ballista denomination to PvP --- addons/libs/packets/fields.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/libs/packets/fields.lua b/addons/libs/packets/fields.lua index bf4c6006cc..01c9fdabfc 100644 --- a/addons/libs/packets/fields.lua +++ b/addons/libs/packets/fields.lua @@ -1369,7 +1369,7 @@ fields.incoming[0x00D] = L{ {ctype='unsigned char', label='Linkshell Blue'}, -- 26 {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='Ballista Stuff'}, -- 29 Same pattern than incoming 0x037 packet + {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 @@ -2088,7 +2088,7 @@ 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 @@ -2097,8 +2097,8 @@ enums.indi = { -- 0x00C0 -- Gryphons team icon -- 0x0100 -- Belligerency icon (used in monstrosity) -- 0x0200 -- Has some effect - -- 0x0400 -- Some red icon, I don't know where is used (ballista related?) - -- 0x0420 -- Some blue icon, I don't know where is used (ballista related?) + -- 0x0400 -- Pankration red icon + -- 0x0420 -- Pankration blue icon -- 0x0800 -- and I still don't D:< -- 0x1000 -- and I still don't D:< @@ -2129,7 +2129,7 @@ fields.incoming[0x037] = L{ {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='Ballista Stuff'}, -- 36 Ballista flags here also makes appear the score, but it is probably modified in a ballista specific packet. + {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 0x04 Request Flag, 0x08 Trial Flag, x10 Sneak Effect, 0x20 New Adventurer Flag, 0x40 Mentor Flag {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 From 8137c01a6285515884895eb37e96e239d289c72d Mon Sep 17 00:00:00 2001 From: KenshiDRK Date: Fri, 28 May 2021 02:12:43 +0200 Subject: [PATCH 3/3] Update fields.lua Some changes to redundant info --- addons/libs/packets/fields.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/libs/packets/fields.lua b/addons/libs/packets/fields.lua index 01c9fdabfc..50ca3db24d 100644 --- a/addons/libs/packets/fields.lua +++ b/addons/libs/packets/fields.lua @@ -2106,9 +2106,9 @@ enums.indi = { -- 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 + -- 0x0400 -- Sneak Effect -- 0x0800 -- New Adventurer icon -- 0x1000 -- Mentor icon ]] @@ -2130,7 +2130,7 @@ fields.incoming[0x037] = L{ {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 0x04 Request Flag, 0x08 Trial Flag, x10 Sneak Effect, 0x20 New Adventurer Flag, 0x40 Mentor Flag + {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.