From 8a4a18c38cda5496a2324ab6fa97525da5dd00fc Mon Sep 17 00:00:00 2001
From: xiashtra <91220277+xiashtra@users.noreply.github.com>
Date: Sun, 2 Aug 2026 20:48:50 -0500
Subject: [PATCH 1/3] docs: Add `StatusEffectListForay3`
`StatusEffectListForay3` was added to the FFXIV_ACT_Plugin as line type 43.
Closes #1132.
---
docs/LogGuide.md | 107 +++++++++++++++------
resources/netlog_defs.ts | 34 ++++++-
test/helper/example_log_lines_test_data.ts | 19 ++++
util/example_log_lines.ts | 9 ++
4 files changed, 139 insertions(+), 30 deletions(-)
diff --git a/docs/LogGuide.md b/docs/LogGuide.md
index 0e88ebea84c..1514f93a227 100644
--- a/docs/LogGuide.md
+++ b/docs/LogGuide.md
@@ -8,9 +8,9 @@ for folks who want to write ACT triggers for ff14.
This guide was last updated for:
-- [FF14](https://na.finalfantasyxiv.com/lodestone/special/patchnote_log/) Patch 7.16
-- [FFXIV Plugin](https://github.com/ravahn/FFXIV_ACT_Plugin/releases) Patch 2.7.2.3
-- [OverlayPlugin](https://github.com/OverlayPlugin/OverlayPlugin/releases) Patch 0.19.43
+- [FF14](https://na.finalfantasyxiv.com/lodestone/special/patchnote_log/) Patch 7.55
+- [FFXIV Plugin](https://github.com/ravahn/FFXIV_ACT_Plugin/releases) Patch 3.0.2.5
+- [OverlayPlugin](https://github.com/OverlayPlugin/OverlayPlugin/releases) Patch 0.19.103
## TOC
@@ -162,87 +162,91 @@ This guide was last updated for:
- [Structure](#structure-27)
- [Regexes](#regexes-27)
- [Examples](#examples-27)
+ - [Line 43 (0x2B): StatusEffectListForay3](#line-43-0x2b-statuseffectlistforay3)
+ - [Structure](#structure-28)
+ - [Regexes](#regexes-28)
+ - [Examples](#examples-28)
- [Line 251 (0xFB): Debug](#line-251-0xfb-debug)
- [Line 252 (0xFC): PacketDump](#line-252-0xfc-packetdump)
- [Line 253 (0xFD): Version](#line-253-0xfd-version)
- [Line 254 (0xFE): Error](#line-254-0xfe-error)
- [OverlayPlugin Log Lines](#overlayplugin-log-lines)
- [Line 256 (0x100): LineRegistration](#line-256-0x100-lineregistration)
- - [Structure](#structure-28)
- - [Regexes](#regexes-28)
- - [Examples](#examples-28)
- - [Line 257 (0x101): MapEffect](#line-257-0x101-mapeffect)
- [Structure](#structure-29)
- [Regexes](#regexes-29)
- [Examples](#examples-29)
- - [Line 258 (0x102): FateDirector](#line-258-0x102-fatedirector)
+ - [Line 257 (0x101): MapEffect](#line-257-0x101-mapeffect)
- [Structure](#structure-30)
- [Regexes](#regexes-30)
- [Examples](#examples-30)
- - [Line 259 (0x103): CEDirector](#line-259-0x103-cedirector)
+ - [Line 258 (0x102): FateDirector](#line-258-0x102-fatedirector)
- [Structure](#structure-31)
- [Regexes](#regexes-31)
- [Examples](#examples-31)
- - [Line 260 (0x104): InCombat](#line-260-0x104-incombat)
+ - [Line 259 (0x103): CEDirector](#line-259-0x103-cedirector)
- [Structure](#structure-32)
- [Regexes](#regexes-32)
- [Examples](#examples-32)
- - [Line 261 (0x105): CombatantMemory](#line-261-0x105-combatantmemory)
+ - [Line 260 (0x104): InCombat](#line-260-0x104-incombat)
- [Structure](#structure-33)
- [Regexes](#regexes-33)
- [Examples](#examples-33)
- - [Line 262 (0x106): RSVData](#line-262-0x106-rsvdata)
+ - [Line 261 (0x105): CombatantMemory](#line-261-0x105-combatantmemory)
- [Structure](#structure-34)
- [Regexes](#regexes-34)
- [Examples](#examples-34)
- - [Line 263 (0x107): StartsUsingExtra](#line-263-0x107-startsusingextra)
+ - [Line 262 (0x106): RSVData](#line-262-0x106-rsvdata)
- [Structure](#structure-35)
- [Regexes](#regexes-35)
- [Examples](#examples-35)
- - [Line 264 (0x108): AbilityExtra](#line-264-0x108-abilityextra)
+ - [Line 263 (0x107): StartsUsingExtra](#line-263-0x107-startsusingextra)
- [Structure](#structure-36)
- [Regexes](#regexes-36)
- [Examples](#examples-36)
- - [Line 265 (0x109): ContentFinderSettings](#line-265-0x109-contentfindersettings)
+ - [Line 264 (0x108): AbilityExtra](#line-264-0x108-abilityextra)
- [Structure](#structure-37)
- [Regexes](#regexes-37)
- [Examples](#examples-37)
- - [Line 266 (0x10A): NpcYell](#line-266-0x10a-npcyell)
+ - [Line 265 (0x109): ContentFinderSettings](#line-265-0x109-contentfindersettings)
- [Structure](#structure-38)
- [Regexes](#regexes-38)
- [Examples](#examples-38)
- - [Line 267 (0x10B): BattleTalk2](#line-267-0x10b-battletalk2)
+ - [Line 266 (0x10A): NpcYell](#line-266-0x10a-npcyell)
- [Structure](#structure-39)
- [Regexes](#regexes-39)
- [Examples](#examples-39)
- - [Line 268 (0x10C): Countdown](#line-268-0x10c-countdown)
+ - [Line 267 (0x10B): BattleTalk2](#line-267-0x10b-battletalk2)
- [Structure](#structure-40)
- [Regexes](#regexes-40)
- [Examples](#examples-40)
- - [Line 269 (0x10D): CountdownCancel](#line-269-0x10d-countdowncancel)
+ - [Line 268 (0x10C): Countdown](#line-268-0x10c-countdown)
- [Structure](#structure-41)
- [Regexes](#regexes-41)
- [Examples](#examples-41)
- - [Line 270 (0x10E): ActorMove](#line-270-0x10e-actormove)
+ - [Line 269 (0x10D): CountdownCancel](#line-269-0x10d-countdowncancel)
- [Structure](#structure-42)
- [Regexes](#regexes-42)
- [Examples](#examples-42)
- - [Line 271 (0x10F): ActorSetPos](#line-271-0x10f-actorsetpos)
+ - [Line 270 (0x10E): ActorMove](#line-270-0x10e-actormove)
- [Structure](#structure-43)
- [Regexes](#regexes-43)
- [Examples](#examples-43)
- - [Line 272 (0x110): SpawnNpcExtra](#line-272-0x110-spawnnpcextra)
+ - [Line 271 (0x10F): ActorSetPos](#line-271-0x10f-actorsetpos)
- [Structure](#structure-44)
- [Regexes](#regexes-44)
- [Examples](#examples-44)
- - [Line 273 (0x111): ActorControlExtra](#line-273-0x111-actorcontrolextra)
+ - [Line 272 (0x110): SpawnNpcExtra](#line-272-0x110-spawnnpcextra)
- [Structure](#structure-45)
- [Regexes](#regexes-45)
- [Examples](#examples-45)
- - [Line 274 (0x112): ActorControlSelfExtra](#line-274-0x112-actorcontrolselfextra)
+ - [Line 273 (0x111): ActorControlExtra](#line-273-0x111-actorcontrolextra)
- [Structure](#structure-46)
- [Regexes](#regexes-46)
- [Examples](#examples-46)
+ - [Line 274 (0x112): ActorControlSelfExtra](#line-274-0x112-actorcontrolselfextra)
+ - [Structure](#structure-47)
+ - [Regexes](#regexes-47)
+ - [Examples](#examples-47)
## Data Flow
@@ -2552,6 +2556,53 @@ Parsed Log Line Examples:
+
+
+### Line 43 (0x2B): StatusEffectListForay3
+
+This line corresponds to `FFXIV_ACT_Plugin`'s `StatusEffectListForay3` opcode/packet.
+This line has information on the status effects used in some field operations content.
+
+See: [NetworkStatusEffects](#data-fields) for a discussion of the data fields.
+
+
+
+#### Structure
+
+```log
+Network Log Line Structure:
+43|[timestamp]|[id]|[name]|[jobLevelData]|[currentHp]|[maxHp]|[currentMp]|[maxMp]|[currentShield]|[?]|[x]|[y]|[z]|[heading]
+
+Parsed Log Line Structure:
+[timestamp] StatusEffectListForay3 2B:[id]:[name]:[jobLevelData]:[currentHp]:[maxHp]:[currentMp]:[maxMp]:[currentShield]:[?]:[x]:[y]:[z]:[heading]
+```
+
+#### Regexes
+
+```log
+Network Log Line Regex:
+^(?43)\|(?[^|]*)\|(?[^|]*)\|(?[^|]*)\|(?[^|]*)\|(?[^|]*)\|(?[^|]*)\|(?[^|]*)\|(?[^|]*)\|(?[^|]*)\|(?:[^|]*\|)(?[^|]*)\|(?[^|]*)\|(?[^|]*)\|(?[^|]*)\|
+
+Parsed Log Line Regex:
+(?^.{14}) StatusEffectListForay3 (?2B):(?[^:]*):(?[^:]*):(?[^:]*):(?[^:]*):(?[^:]*):(?[^:]*):(?[^:]*):(?[^:]*):[^:]*:(?[^:]*):(?[^:]*):(?[^:]*):(?[^:]*)(?:$|:)
+```
+
+#### Examples
+
+```log
+Network Log Line Examples:
+43|2026-07-31T19:22:41.7850000-05:00|10FF0001|Tini Poutini|00646428|107111|107111|10000|10000|0||906.17|906.98|259.99|-2.36|131082|0|E0000000|1083|0|E0000000|130214D3|0|10FF0001|13bdbd2997ee0fe0
+43|2026-07-31T14:30:55.5440000-05:00|10FF0002|Potato Chippy|0064641F|98122|130018|10000|10000|0||-142.73|628.25|60.65|2.79|0A0168|41F00000|E0000000|1E016C|41F00000|E0000000|121082|0|E0000000|131092|0|10FF0002|29CE0030|43F8D4A6|10FF0002|1083|0|E0000000|dc9177ad05abdc0b
+43|2026-07-31T14:37:23.5810000-05:00|10FF0002|Potato Chippy|00646425|170075|170075|10000|10000|36||508.17|-20.48|15.22|3.12|101082|0|E0000000|130314D3|0|10FF0002|1089|44C64D24|E0000000|0A108F|44C64D24|E0000000|1094|44C64D24|E0000000|12BF|44C64D24|E0000000|0F2E|41EEED91|10FF0002|0729|0|10FF0002|0727|419EED91|10FF0002|14C7|42700000|10FF0002|0c88c6434570bed2
+
+Parsed Log Line Examples:
+[19:22:41.785] StatusEffectListForay3 2B:10FF0001:Tini Poutini:00646428:107111:107111:10000:10000:0::906.17:906.98:259.99:-2.36:131082:0:E0000000:1083:0:E0000000:130214D3:0:10FF0001
+[14:30:55.544] StatusEffectListForay3 2B:10FF0002:Potato Chippy:0064641F:98122:130018:10000:10000:0::-142.73:628.25:60.65:2.79:0A0168:41F00000:E0000000:1E016C:41F00000:E0000000:121082:0:E0000000:131092:0:10FF0002:29CE0030:43F8D4A6:10FF0002:1083:0:E0000000
+[14:37:23.581] StatusEffectListForay3 2B:10FF0002:Potato Chippy:00646425:170075:170075:10000:10000:36::508.17:-20.48:15.22:3.12:101082:0:E0000000:130314D3:0:10FF0002:1089:44C64D24:E0000000:0A108F:44C64D24:E0000000:1094:44C64D24:E0000000:12BF:44C64D24:E0000000:0F2E:41EEED91:10FF0002:0729:0:10FF0002:0727:419EED91:10FF0002:14C7:42700000:10FF0002
+```
+
+
+
### Line 251 (0xFB): Debug
@@ -3387,20 +3438,20 @@ Currently, these log lines are emitted only for non-player actors (id >= 0x40000
```log
Network Log Line Structure:
-270|[timestamp]|[id]|[heading]|[?]|[?]|[x]|[y]|[z]
+270|[timestamp]|[id]|[heading]|[?]|[moveType]|[x]|[y]|[z]
Parsed Log Line Structure:
-[timestamp] 270 10E:[id]:[heading]:[?]:[?]:[x]:[y]:[z]
+[timestamp] 270 10E:[id]:[heading]:[?]:[moveType]:[x]:[y]:[z]
```
#### Regexes
```log
Network Log Line Regex:
-^(?270)\|(?[^|]*)\|(?[^|]*)\|(?[^|]*)\|(?:[^|]*\|){2}(?[^|]*)\|(?[^|]*)\|(?[^|]*)\|
+^(?270)\|(?[^|]*)\|(?[^|]*)\|(?[^|]*)\|(?:[^|]*\|)(?[^|]*)\|(?[^|]*)\|(?[^|]*)\|(?[^|]*)\|
Parsed Log Line Regex:
-(?^.{14}) 270 (?10E):(?[^:]*):(?[^:]*)(?::[^:]*){2}:(?[^:]*):(?[^:]*):(?[^:]*)(?:$|:)
+(?^.{14}) 270 (?10E):(?[^:]*):(?[^:]*):[^:]*:(?[^:]*):(?[^:]*):(?[^:]*):(?[^:]*)(?:$|:)
```
#### Examples
diff --git a/resources/netlog_defs.ts b/resources/netlog_defs.ts
index eabd924f8da..1f144803335 100644
--- a/resources/netlog_defs.ts
+++ b/resources/netlog_defs.ts
@@ -998,7 +998,7 @@ const latestLogDefinitions = {
data3: 18,
data4: 19,
data5: 20,
- // Variable number of triplets here, but at least one.
+ // triplets of fields from here (effectId + otherInfo, duration, sourceId)
},
playerIds: {
2: 3,
@@ -1084,7 +1084,7 @@ const latestLogDefinitions = {
timestamp: 1,
id: 2,
name: 3,
- // triplets of fields from here (effectId, data, playerId)?
+ // triplets of fields from here (effectId + otherInfo, duration, sourceId)
},
playerIds: {
2: 3,
@@ -1093,6 +1093,36 @@ const latestLogDefinitions = {
firstOptionalField: 4,
firstUnknownField: 4,
},
+ StatusEffectListForay3: {
+ type: '43',
+ name: 'StatusEffectListForay3',
+ source: 'FFXIV_ACT_Plugin',
+ messageType: 'StatusEffectListForay3',
+ fields: {
+ type: 0,
+ timestamp: 1,
+ id: 2,
+ name: 3,
+ jobLevelData: 4,
+ currentHp: 5,
+ maxHp: 6,
+ currentMp: 7,
+ maxMp: 8,
+ currentShield: 9,
+ // unknown0: 10,
+ x: 11,
+ y: 12,
+ z: 13,
+ heading: 14,
+ // triplets of fields from here (effectId + otherInfo, duration, sourceId)
+ },
+ playerIds: {
+ 2: 3,
+ },
+ canAnonymize: true,
+ firstOptionalField: 15,
+ firstUnknownField: 15,
+ },
ParserInfo: {
type: '249',
name: 'ParserInfo',
diff --git a/test/helper/example_log_lines_test_data.ts b/test/helper/example_log_lines_test_data.ts
index c6ce97522d8..8b136bc0b08 100644
--- a/test/helper/example_log_lines_test_data.ts
+++ b/test/helper/example_log_lines_test_data.ts
@@ -569,6 +569,25 @@ const lineTests: LineTests = {
name: 'Tini Poutini',
},
},
+ StatusEffectListForay3: {
+ lineToTest: exampleLogLines['StatusEffectListForay3'].examples.en[0],
+ expectedValues: {
+ type: '43',
+ id: '10FF0001',
+ name: 'Tini Poutini',
+ jobLevelData: '00646428',
+ currentHp: '107111',
+ maxHp: '107111',
+ currentMp: '10000',
+ maxMp: '10000',
+ currentShield: '0',
+ x: '906.17',
+ y: '906.98',
+ z: '259.99',
+ heading: '-2.36',
+ // subsquent fields are optional per netlog_defs
+ },
+ },
LineRegistration: {
lineToTest: exampleLogLines['LineRegistration'].examples.en[0],
expectedValues: {
diff --git a/util/example_log_lines.ts b/util/example_log_lines.ts
index 62bef6996a7..3c09c2c7d47 100644
--- a/util/example_log_lines.ts
+++ b/util/example_log_lines.ts
@@ -388,6 +388,15 @@ const exampleLogLines = {
],
},
},
+ StatusEffectListForay3: {
+ examples: {
+ en: [
+ '43|2026-07-31T19:22:41.7850000-05:00|10FF0001|Tini Poutini|00646428|107111|107111|10000|10000|0||906.17|906.98|259.99|-2.36|131082|0|E0000000|1083|0|E0000000|130214D3|0|10FF0001|13bdbd2997ee0fe0',
+ '43|2026-07-31T14:30:55.5440000-05:00|10FF0002|Potato Chippy|0064641F|98122|130018|10000|10000|0||-142.73|628.25|60.65|2.79|0A0168|41F00000|E0000000|1E016C|41F00000|E0000000|121082|0|E0000000|131092|0|10FF0002|29CE0030|43F8D4A6|10FF0002|1083|0|E0000000|dc9177ad05abdc0b',
+ '43|2026-07-31T14:37:23.5810000-05:00|10FF0002|Potato Chippy|00646425|170075|170075|10000|10000|36||508.17|-20.48|15.22|3.12|101082|0|E0000000|130314D3|0|10FF0002|1089|44C64D24|E0000000|0A108F|44C64D24|E0000000|1094|44C64D24|E0000000|12BF|44C64D24|E0000000|0F2E|41EEED91|10FF0002|0729|0|10FF0002|0727|419EED91|10FF0002|14C7|42700000|10FF0002|0c88c6434570bed2',
+ ],
+ },
+ },
LineRegistration: {
examples: {
en: [
From 71a0af4b955fe1b281f6723eb5370667c31af8c5 Mon Sep 17 00:00:00 2001
From: xiashtra <91220277+xiashtra@users.noreply.github.com>
Date: Mon, 3 Aug 2026 14:20:27 -0500
Subject: [PATCH 2/3] extend example to first triplet
---
docs/LogGuide.md | 8 ++++----
resources/netlog_defs.ts | 10 ++++++++--
2 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/docs/LogGuide.md b/docs/LogGuide.md
index 1514f93a227..8d39fb66e82 100644
--- a/docs/LogGuide.md
+++ b/docs/LogGuide.md
@@ -2524,10 +2524,10 @@ corresponds to row `702` on the `ItemFood` sheet
```log
Network Log Line Structure:
-42|[timestamp]|[id]|[name]
+42|[timestamp]|[id]|[name]|[data0]|[data1]|[data2]
Parsed Log Line Structure:
-[timestamp] StatusList3 2A:[id]:[name]
+[timestamp] StatusList3 2A:[id]:[name]:[data0]:[data1]:[data2]
```
#### Regexes
@@ -2571,10 +2571,10 @@ See: [NetworkStatusEffects](#data-fields) for a discussion of the data fields.
```log
Network Log Line Structure:
-43|[timestamp]|[id]|[name]|[jobLevelData]|[currentHp]|[maxHp]|[currentMp]|[maxMp]|[currentShield]|[?]|[x]|[y]|[z]|[heading]
+43|[timestamp]|[id]|[name]|[jobLevelData]|[currentHp]|[maxHp]|[currentMp]|[maxMp]|[currentShield]|[?]|[x]|[y]|[z]|[heading]|[data0]|[data1]|[data2]
Parsed Log Line Structure:
-[timestamp] StatusEffectListForay3 2B:[id]:[name]:[jobLevelData]:[currentHp]:[maxHp]:[currentMp]:[maxMp]:[currentShield]:[?]:[x]:[y]:[z]:[heading]
+[timestamp] StatusEffectListForay3 2B:[id]:[name]:[jobLevelData]:[currentHp]:[maxHp]:[currentMp]:[maxMp]:[currentShield]:[?]:[x]:[y]:[z]:[heading]:[data0]:[data1]:[data2]
```
#### Regexes
diff --git a/resources/netlog_defs.ts b/resources/netlog_defs.ts
index 1f144803335..2f9080d7ac0 100644
--- a/resources/netlog_defs.ts
+++ b/resources/netlog_defs.ts
@@ -995,10 +995,10 @@ const latestLogDefinitions = {
data0: 15,
data1: 16,
data2: 17,
+ // triplets of fields from here (effectId + otherInfo, duration, sourceId)
data3: 18,
data4: 19,
data5: 20,
- // triplets of fields from here (effectId + otherInfo, duration, sourceId)
},
playerIds: {
2: 3,
@@ -1085,6 +1085,9 @@ const latestLogDefinitions = {
id: 2,
name: 3,
// triplets of fields from here (effectId + otherInfo, duration, sourceId)
+ data0: 4,
+ data1: 5,
+ data2: 6,
},
playerIds: {
2: 3,
@@ -1109,12 +1112,15 @@ const latestLogDefinitions = {
currentMp: 7,
maxMp: 8,
currentShield: 9,
- // unknown0: 10,
+ // Field index 10 is always `0`
x: 11,
y: 12,
z: 13,
heading: 14,
// triplets of fields from here (effectId + otherInfo, duration, sourceId)
+ data0: 15,
+ data1: 16,
+ data2: 17,
},
playerIds: {
2: 3,
From 1d21005ff6bebe644260f527e44d7bebe8f54195 Mon Sep 17 00:00:00 2001
From: xiashtra <91220277+xiashtra@users.noreply.github.com>
Date: Fri, 7 Aug 2026 23:15:49 -0500
Subject: [PATCH 3/3] version bump for 7.55h1
---
docs/LogGuide.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/LogGuide.md b/docs/LogGuide.md
index 8d39fb66e82..567845e3024 100644
--- a/docs/LogGuide.md
+++ b/docs/LogGuide.md
@@ -9,8 +9,8 @@ for folks who want to write ACT triggers for ff14.
This guide was last updated for:
- [FF14](https://na.finalfantasyxiv.com/lodestone/special/patchnote_log/) Patch 7.55
-- [FFXIV Plugin](https://github.com/ravahn/FFXIV_ACT_Plugin/releases) Patch 3.0.2.5
-- [OverlayPlugin](https://github.com/OverlayPlugin/OverlayPlugin/releases) Patch 0.19.103
+- [FFXIV Plugin](https://github.com/ravahn/FFXIV_ACT_Plugin/releases) Patch 3.0.2.7
+- [OverlayPlugin](https://github.com/OverlayPlugin/OverlayPlugin/releases) Patch 0.19.104
## TOC