Skip to content

Commit 6930189

Browse files
authored
raidboss: replace GameLog lines (SB) (OverlayPlugin#99)
Wasn't able to do much with the eureka stuff because we just don't have the log lines to replace the `GameLog` triggers. See comments, particularly in `eureka_hydatos.ts`.
1 parent 05219e5 commit 6930189

13 files changed

+110
-51
lines changed

ui/raidboss/data/04-sb/alliance/orbonne_monastery.txt

+3-1
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,9 @@ hideall "--sync--"
352352
6371.3 "Flare IV"
353353

354354
### Phase 3: 15% off Demi-Virgo Combo Platter
355-
6500.0 "--sync--" GameLog { code: "0044", line: "I see it now.*?" } window 500,0
355+
# https://xivapi.com/InstanceContentTextData/20933
356+
# en: I see it now. In you...his blood, my vanquisher in times...long past. But not so soon...shall I accept defeat...
357+
6500.0 "--sync--" BattleTalk2 { instanceContentTextId: "51C5" } window 500,0
356358

357359
6503.0 "Demi-Virgo Line/Tether" Ability { id: "38C2", source: "Ultima, the High Seraph" } window 8,8
358360
6509.1 "Redemption" Ability { id: "38AA", source: "Ultima, the High Seraph" }

ui/raidboss/data/04-sb/alliance/royal_city_of_rabanastre.txt

+3-2
Original file line numberDiff line numberDiff line change
@@ -196,8 +196,9 @@ hideall "--start--"
196196
2201.3 "Archaeodemon Adds" AddedCombatant { name: "Archaeodemon" } window 300,300
197197
2208.3 "--lock out--" # ??? from video
198198

199-
# TODO: could trigger instead off of Rofocale losing Sprint which happens ~here
200-
2400.0 "--sync--" GameLog { code: "0044", line: "The heavens tremble in my wake.*?" } window 500,0
199+
# https://xivapi.com/InstanceContentTextData/18031
200+
# en: The heavens tremble in my wake!
201+
2400.0 "--sync--" BattleTalk2 { instanceContentTextId: "466F" } window 500,0
201202
2417.6 "--sync--" StartsUsing { id: "268A", source: "Rofocale" } window 500,10
202203
2421.1 "Heavenly Subjugation"
203204
2433.5 "Embrace" Ability { id: "2685", source: "Rofocale" }

ui/raidboss/data/04-sb/dungeon/fractal_continuum_hard.txt

+24-16
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ hideall "--sync--"
3737

3838
# -ii 2798
3939

40-
# Unfortunately, we have no choice but to use game log lines here.
40+
# Unfortunately, we have no choice but to use BattleTalk2 lines here.
4141
# The statues the boss tethers to are useless for timeline syncs,
4242
# and the boss gains no buffs for each form.
4343

@@ -50,16 +50,24 @@ hideall "--sync--"
5050
# That is, for Form X into whatever, the dead time is determined solely by X,
5151
# regardless of whether X is followed by Y or by Z.
5252

53+
# Because the BattleTalk2 syncs are repeated below, the links and 'en' text are listed once:
54+
# https://xivapi.com/InstanceContentTextData/18509 (0x484D)
55+
# en: This humanoid prototype can perfectly replicate eikon abilities. In fact, it's already loading our data on Sephirot.
56+
# https://xivapi.com/InstanceContentTextData/18510 (0x484E)
57+
# en: Utilizing our data on Sophia, we can at last tip the scales in our favor.
58+
# https://xivapi.com/InstanceContentTextData/18511 (0x484F)
59+
# en: Successfully mimicking the Demon Zurvan earned our researchers a patent under article 42? <buzzzzzz>
60+
5361
# Exhibit Level VIII will be sealed off
5462
1000.0 "Start" SystemLogMessage { id: "7DC", param1: "95D" } window 1000,5
5563
1008.5 "Aetheroplasm" Ability { id: "2793", source: "The Ultima Warrior" } window 8.5,5
5664
1018.9 "Citadel Buster" Ability { id: "2792", source: "The Ultima Warrior" }
5765
1029.8 "Ceruleum Vent" Ability { id: "2794", source: "The Ultima Warrior" }
5866
1042.0 "Aetheroplasm" Ability { id: "2793", source: "The Ultima Warrior" } # skipped if boss is at or below 95% HP
5967

60-
1053.4 "--sync--" GameLog { code: "0044", name: "Vocal Guidance System", line: "This humanoid prototype can perfectly replicate.*?" } window 53.4,10 jump 1100.0
61-
1053.4 "--sync--" GameLog { code: "0044", name: "Vocal Guidance System", line: "Utilizing our data on Sophia.*?" } window 53.4,10 jump 1200.0
62-
1053.4 "--sync--" GameLog { code: "0044", name: "Vocal Guidance System", line: "Successfully mimicking the Demon Zurvan.*?" } window 53.4,10 jump 1300.0
68+
1053.4 "--sync--" BattleTalk2 { instanceContentTextId: "484D" } window 53.4,10 jump 1100.0
69+
1053.4 "--sync--" BattleTalk2 { instanceContentTextId: "484E" } window 53.4,10 jump 1200.0
70+
1053.4 "--sync--" BattleTalk2 { instanceContentTextId: "484F" } window 53.4,10 jump 1300.0
6371
1060.9 "Primordial Aether"
6472
1062.0 "Ceruleum Vent?"
6573
1063.5 "Infinite Fire/Infinite Ice?"
@@ -71,17 +79,17 @@ hideall "--sync--"
7179

7280
# Sephirot's block
7381

74-
1100.0 "--sync--" GameLog { code: "0044", name: "Vocal Guidance System", line: "This humanoid prototype can perfectly replicate.*?" }
82+
1100.0 "--sync--" BattleTalk2 { instanceContentTextId: "484D" }
7583
1107.5 "Primordial Aether" Ability { id: "2796", source: "The Ultima Warrior" } window 10,10
7684
1119.1 "Citadel Buster" Ability { id: "2792", source: "The Ultima Warrior" }
7785
1120.1 "Ratzon" Ability { id: "2797", source: "The Ultima Warrior" }
7886
1125.2 "Citadel Buster" Ability { id: "2792", source: "The Ultima Warrior" }
7987
1139.2 "Mass Aetheroplasm" Ability { id: "2795", source: "The Ultima Warrior" }
8088
1149.7 "Aetheroplasm" Ability { id: "2793", source: "The Ultima Warrior" }
8189

82-
1154.8 "--sync--" GameLog { code: "0044", name: "Vocal Guidance System", line: "This humanoid prototype can perfectly replicate.*?" } window 50,10 jump 1100.0
83-
1154.8 "--sync--" GameLog { code: "0044", name: "Vocal Guidance System", line: "Utilizing our data on Sophia.*?" } window 50,10 jump 1200.0
84-
1154.8 "--sync--" GameLog { code: "0044", name: "Vocal Guidance System", line: "Successfully mimicking the Demon Zurvan.*?" } window 50,10 jump 1300.0
90+
1154.8 "--sync--" BattleTalk2 { instanceContentTextId: "484D" } window 50,10 jump 1100.0
91+
1154.8 "--sync--" BattleTalk2 { instanceContentTextId: "484E" } window 50,10 jump 1200.0
92+
1154.8 "--sync--" BattleTalk2 { instanceContentTextId: "484F" } window 50,10 jump 1300.0
8593
1162.3 "Primordial Aether"
8694
1163.4 "Ceruleum Vent?"
8795
1164.9 "Infinite Fire/Infinite Ice?"
@@ -93,7 +101,7 @@ hideall "--sync--"
93101

94102
# Sophia's Block
95103

96-
1200.0 "--sync--" GameLog { code: "0044", name: "Vocal Guidance System", line: "Utilizing our data on Sophia.*?" }
104+
1200.0 "--sync--" BattleTalk2 { instanceContentTextId: "484E" }
97105
1207.5 "Primordial Aether" Ability { id: "2796", source: "The Ultima Warrior" } window 10,10
98106
1218.1 "Ceruleum Vent" Ability { id: "2794", source: "The Ultima Warrior" }
99107
1225.3 "Citadel Buster" Ability { id: "2792", source: "The Ultima Warrior" }
@@ -102,9 +110,9 @@ hideall "--sync--"
102110
1232.3 "Dischordant Cleansing" Ability { id: "279A", source: "The Ultima Warrior" }
103111
1242.3 "Aetheroplasm" Ability { id: "2793", source: "The Ultima Warrior" }
104112

105-
1248.5 "--sync--" GameLog { code: "0044", name: "Vocal Guidance System", line: "This humanoid prototype can perfectly replicate.*?" } window 50,10 jump 1100.0
106-
1248.5 "--sync--" GameLog { code: "0044", name: "Vocal Guidance System", line: "Utilizing our data on Sophia.*?" } window 50,10 jump 1200.0
107-
1248.5 "--sync--" GameLog { code: "0044", name: "Vocal Guidance System", line: "Successfully mimicking the Demon Zurvan.*?" } window 50,10 jump 1300.0
113+
1248.5 "--sync--" BattleTalk2 { instanceContentTextId: "484D" } window 50,10 jump 1100.0
114+
1248.5 "--sync--" BattleTalk2 { instanceContentTextId: "484E" } window 50,10 jump 1200.0
115+
1248.5 "--sync--" BattleTalk2 { instanceContentTextId: "484F" } window 50,10 jump 1300.0
108116
1256.0 "Primordial Aether"
109117
1257.1 "Ceruleum Vent?"
110118
1258.6 "Infinite Fire/Infinite Ice?"
@@ -116,7 +124,7 @@ hideall "--sync--"
116124

117125
# Zurvan's Block
118126

119-
1300.0 "--sync--" GameLog { code: "0044", name: "Vocal Guidance System", line: "Successfully mimicking the Demon Zurvan.*?" }
127+
1300.0 "--sync--" BattleTalk2 { instanceContentTextId: "484F" }
120128
1308.5 "Primordial Aether" Ability { id: "2796", source: "The Ultima Warrior" } window 10,10
121129
1311.1 "Infinite Fire/Infinite Ice" Ability { id: "279[DE]", source: "The Ultima Warrior" }
122130
1319.1 "Ceruleum Vent" Ability { id: "2794", source: "The Ultima Warrior" }
@@ -125,9 +133,9 @@ hideall "--sync--"
125133
1343.0 "Citadel Buster" Ability { id: "2792", source: "The Ultima Warrior" }
126134
1354.0 "Aetheroplasm" Ability { id: "2793", source: "The Ultima Warrior" }
127135

128-
1365.5 "--sync--" GameLog { code: "0044", name: "Vocal Guidance System", line: "This humanoid prototype can perfectly replicate.*?" } window 50,10 jump 1100.0
129-
1365.5 "--sync--" GameLog { code: "0044", name: "Vocal Guidance System", line: "Utilizing our data on Sophia.*?" } window 50,10 jump 1200.0
130-
1365.5 "--sync--" GameLog { code: "0044", name: "Vocal Guidance System", line: "Successfully mimicking the Demon Zurvan.*?" } window 50,10 jump 1300.0
136+
1365.5 "--sync--" BattleTalk2 { instanceContentTextId: "484D" } window 50,10 jump 1100.0
137+
1365.5 "--sync--" BattleTalk2 { instanceContentTextId: "484E" } window 50,10 jump 1200.0
138+
1365.5 "--sync--" BattleTalk2 { instanceContentTextId: "484F" } window 50,10 jump 1300.0
131139
1373.0 "Primordial Aether"
132140
1374.1 "Ceruleum Vent?"
133141
1375.6 "Infinite Fire/Infinite Ice?"

ui/raidboss/data/04-sb/eureka/eureka_anemos.ts

+3
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,9 @@ const triggerSet: TriggerSet<Data> = {
179179
netRegex: { name: 'Pazuzu', capture: false },
180180
run: (data) => data.wraithCount = 0,
181181
},
182+
// https://xivapi.com/LogMessage/916
183+
// en: 7 minutes have elapsed since your last activity. [...]
184+
// There is no network packet for these log lines; so have to use GameLog.
182185
{
183186
id: 'Eureka Falling Asleep',
184187
type: 'GameLog',

ui/raidboss/data/04-sb/eureka/eureka_hydatos.ts

+38-10
Original file line numberDiff line numberDiff line change
@@ -77,14 +77,21 @@ const triggerSet: TriggerSet<Data> = {
7777
},
7878
],
7979
triggers: [
80+
// https://xivapi.com/LogMessage/916
81+
// en: 7 minutes have elapsed since your last activity. [...]
82+
// There is no network packet for these log lines; so have to use GameLog.
8083
{
8184
id: 'BA Falling Asleep',
8285
type: 'GameLog',
8386
netRegex: { line: '7 minutes have elapsed since your last activity..*?', capture: false },
8487
response: Responses.wakeUp(),
8588
},
89+
// https://xivapi.com/LogMessage/9069
90+
// en: The memories of heroes past live on again!
91+
// TODO: Update to ActorControlSelf (category=0x020F, param1=0x236D) when available
92+
// See OverlayPlugin/cactbot#99 and OverlayPlugin/OverlayPlugin#329 for further info
8693
{
87-
id: 'BA Saved By Rememberance',
94+
id: 'BA Saved By Remembrance',
8895
type: 'GameLog',
8996
netRegex: { line: 'The memories of heroes past live on again.*?', capture: false },
9097
sound: 'Long',
@@ -249,6 +256,10 @@ const triggerSet: TriggerSet<Data> = {
249256
condition: (data, matches) => data.side === 'east' && data.me === matches.target,
250257
response: Responses.doritoStack(),
251258
},
259+
// https://xivapi.com/PublicContentTextData/2122
260+
// en: Munderg, turn flesh to ash!
261+
// TODO: Update to ActorControl (category=0x0834, param1=0x84A) when available
262+
// See OverlayPlugin/cactbot#99 and OverlayPlugin/OverlayPlugin#329 for further info
252263
{
253264
id: 'BA Owain Fire Element',
254265
type: 'GameLog',
@@ -279,6 +290,10 @@ const triggerSet: TriggerSet<Data> = {
279290
},
280291
},
281292
},
293+
// https://xivapi.com/PublicContentTextData/2123
294+
// en: Munderg, turn blood to ice!
295+
// TODO: Update to ActorControl (category=0x0834, param1=0x84B) when available
296+
// See OverlayPlugin/cactbot#99 and OverlayPlugin/OverlayPlugin#329 for further info
282297
{
283298
id: 'BA Owain Ice Element',
284299
type: 'GameLog',
@@ -512,12 +527,22 @@ const triggerSet: TriggerSet<Data> = {
512527
},
513528
{
514529
// Note: These use 00:3...: lines, without any proper "gains effect" lines.
515-
// In other words, they need to be the fully translated in game log.
530+
// In other words, they need to be fully translated in the game log.
516531
// There are no "gainsEffect" lines for the clones, only for Absolute Virtue directly.
517532
// Ideally parser logic could be added for this case, but this is where we are.
533+
// Note: Use .*? in the regex, as it appears from recent logs that special characters
534+
// may be included in these lines, e.g.:
535+
// 332E||Relative Virtue gains the effect of Umbral Essence.|
536+
//
537+
// TODO: There are ActorControl packets (GainEffect, category=0x0014) for these effects,
538+
// but the FFXIV parsing plugin does not emit 0x1A lines. This is being looked at.
539+
// See OverlayPlugin/cactbot#99 for further info.
518540
id: 'BA AV Eidos Relative Virtue Astral',
519541
type: 'GameLog',
520-
netRegex: { line: 'Relative Virtue gains the effect of Astral Essence.*?', capture: false },
542+
netRegex: {
543+
line: 'Relative Virtue gains the effect of .*?Astral Essence.*?',
544+
capture: false,
545+
},
521546
condition: (data) => data.sealed,
522547
run: (data) => {
523548
// RV clones get buffs in the reverse order that they do their attacks in.
@@ -529,7 +554,10 @@ const triggerSet: TriggerSet<Data> = {
529554
// See note above for `BA AV Eidos Relative Virtue Astral`.
530555
id: 'BA AV Eidos Relative Virtue Umbral',
531556
type: 'GameLog',
532-
netRegex: { line: 'Relative Virtue gains the effect of Umbral Essence.*?', capture: false },
557+
netRegex: {
558+
line: 'Relative Virtue gains the effect of .*?Umbral Essence.*?',
559+
capture: false,
560+
},
533561
condition: (data) => data.sealed,
534562
run: (data) => {
535563
// RV clones get buffs in the reverse order that they do their attacks in.
@@ -874,9 +902,9 @@ const triggerSet: TriggerSet<Data> = {
874902
'The Shin-Zantetsuken Containment Unit': 'Shin-Zantetsuken-Quarantäneblock',
875903
'The Lance of Virtue Containment Unit': 'Lanze der Tugend-Quarantäneblock',
876904
'The Proto Ozma Containment Unit': 'Proto-Yadis-Quarantäneblock',
877-
'Relative Virtue gains the effect of Astral Essence':
905+
'Relative Virtue gains the effect of .*?Astral Essence.*?':
878906
'Die Relative Tugend erhält den Effekt von.*?Arm der Lichts',
879-
'Relative Virtue gains the effect of Umbral Essence':
907+
'Relative Virtue gains the effect of .*?Umbral Essence.*?':
880908
'Die Relative Tugend erhält den Effekt von.*?Arm der Dunkelheit',
881909
},
882910
'replaceText': {
@@ -963,9 +991,9 @@ const triggerSet: TriggerSet<Data> = {
963991
'Proto Ozma(?! containment)': 'Proto-Ozma',
964992
'Raiden': 'Raiden',
965993
'Relative Virtue(?! gains)': 'Vertu relative',
966-
'Relative Virtue gains the effect of Astral Essence':
994+
'Relative Virtue gains the effect of .*?Astral Essence.*?':
967995
'Vertu relative bénéficie de l\'effet.*?Bras de Lumière',
968-
'Relative Virtue gains the effect of Umbral Essence':
996+
'Relative Virtue gains the effect of .*?Umbral Essence.*?':
969997
'Vertu relative bénéficie de l\'effet.*?Bras de Ténèbres',
970998
'Shadow': 'Ombre de Proto-Ozma',
971999
'Streak Lightning': 'Éclair chargeant',
@@ -1164,8 +1192,8 @@ const triggerSet: TriggerSet<Data> = {
11641192
'The Lance of Virtue Containment Unit': '美德之枪封印区',
11651193
'The Shin-Zantetsuken Containment Unit': '真·斩铁剑封印区',
11661194
'The Proto Ozma Containment Unit': '奥兹玛原型封印区',
1167-
'Relative Virtue gains the effect of Astral Essence': '相对的美德附加了“光之腕”效果',
1168-
'Relative Virtue gains the effect of Umbral Essence': '相对的美德附加了“暗之腕”效果',
1195+
'Relative Virtue gains the effect of .*?Astral Essence.*?': '相对的美德附加了“光之腕”效果',
1196+
'Relative Virtue gains the effect of .*?Umbral Essence.*?': '相对的美德附加了“暗之腕”效果',
11691197
},
11701198
'replaceText': {
11711199
'Acallam Na Senorach': '真妖枪旋',

ui/raidboss/data/04-sb/eureka/eureka_pagos.ts

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ const triggerSet: TriggerSet<Data> = {
1010
zoneId: ZoneId.TheForbiddenLandEurekaPagos,
1111
resetWhenOutOfCombat: false,
1212
triggers: [
13+
// https://xivapi.com/LogMessage/916
14+
// en: 7 minutes have elapsed since your last activity. [...]
15+
// There is no network packet for these log lines; so have to use GameLog.
1316
{
1417
id: 'Eureka Pagos Falling Asleep',
1518
type: 'GameLog',

ui/raidboss/data/04-sb/eureka/eureka_pyros.ts

+3
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ const triggerSet: TriggerSet<Data> = {
2222
netRegex: { id: '36DB', source: 'Skoll', capture: false },
2323
response: Responses.awayFromFront(),
2424
},
25+
// https://xivapi.com/LogMessage/916
26+
// en: 7 minutes have elapsed since your last activity. [...]
27+
// There is no network packet for these log lines; so have to use GameLog.
2528
{
2629
id: 'Eureka Pyros Falling Asleep',
2730
type: 'GameLog',

ui/raidboss/data/04-sb/raid/o11n.txt

+5-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,11 @@ hideall "--sync--"
5353
611.6 "Force Quit" Ability { id: "327A", source: "Level Checker" }
5454

5555
## Delta Attack
56-
1000.0 "--sync--" GameLog { code: "0044", name: "Omega", line: "Program failure detected.*?" } window 1500,100
56+
# https://xivapi.com/InstanceContentTextData/20109
57+
# en: Program failure detected. <blip> Engaging Delta Attack protocol.
58+
# Note: This BattleTalk2 log line arrives in sequence with another, both with a 4000ms display time.
59+
# As a result, this line shows up 4000ms before the message is displayed (and the GameLog line is emitted).
60+
996.0 "--sync--" BattleTalk2 { instanceContentTextId: "4E8D" } window 996,100
5761
1007.0 "--sync--" StartsUsing { id: "327B", source: "Omega" } window 1500,100
5862
1037.0 "Delta Attack" Ability { id: "327B", source: "Omega" } window 1500,100
5963
1048.4 "--targetable--"

ui/raidboss/data/04-sb/raid/o12n.txt

+8-3
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,9 @@ hideall "--sync--"
5151

5252

5353
### Phase 2: Passage of Arms
54-
500.0 "--sync--" GameLog { code: "0044", name: "Omega-M", line: "\<blip\> Limits of single combatant.*?" } window 500,0
54+
# https://xivapi.com/InstanceContentTextData/20620
55+
# en: <blip> Limits of single combatant capability reached. Progress to party combat analysis.
56+
500.0 "--sync--" BattleTalk2 { instanceContentTextId: "508C" } window 500,0
5557
514.0 "Ground Zero" Ability { id: "3313", source: "Omega-M" } # drift 0.045001
5658
514.0 "Electric Slide" Ability { id: "3314", source: "Omega" }
5759
522.0 "Efficient Bladework" Ability { id: "32F3", source: "Omega-M" } # drift -0.045
@@ -181,8 +183,11 @@ hideall "--sync--"
181183

182184

183185
### Phase 4: Laser Show Forever
184-
1800.0 "Enrage" GameLog { code: "0044", line: "\<blip\> Warning\. Calculations indicate.*?" } window 1800,0
185-
186+
# https://xivapi.com/InstanceContentTextData/20623
187+
# https://xivapi.com/InstanceContentTextData/20624
188+
# en: <blip> Warning. Calculations indicate increased probability of defeat.\n\n<bleep> Error. Further data analysis required.
189+
# May be either id depending on which is alive.
190+
1800.0 "Enrage" BattleTalk2 { instanceContentTextId: "(508F|5090)" } window 1800,0
186191
1806.0 "Laser Shower Enrage" Ability { id: "3311", source: "Omega-M" } window 20,20
187192
1806.0 "Laser Shower Enrage" Ability { id: "3312", source: "Omega" } window 20,20
188193
1812.0 "Laser Shower Enrage"

ui/raidboss/data/04-sb/raid/o12s.txt

+4-2
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@
66
hideall "--Reset--"
77
hideall "--sync--"
88

9-
# Use autos/chatlog instead of InCombat lines to start timelines for door & final boss
9+
# Use autos/BattleTalk2 instead of InCombat lines to start timelines for door & final boss
1010
# as timeline resets out of combat.
1111

12-
0.0 "Start" GameLog { code: "0044", line: "I am the Omega.*?" } window 1,0
12+
# https://xivapi.com/InstanceContentTextData/20600
13+
# en: I am the Omega and the Alpha. I will mimic your weakness to comprehend your strength.
14+
0.0 "Start" BattleTalk2 { instanceContentTextId: "5078" } window 1,1
1315
2.4 "--sync--" Ability { id: "337D", source: "Omega-M" } window 2.4,0.5 # first auto
1416
11.7 "Synthetic Shield" Ability { id: "32FD", source: "Omega-M" } window 12,5
1517
19.7 "Suppression" Ability { id: "3345", source: "Omega-M" }

ui/raidboss/data/04-sb/raid/o9n.txt

+8-2
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,10 @@ hideall "--sync--"
4343
1211.6 "--sync--" Ability { id: "3215", source: "Chaos" }
4444
1218.3 "Stray Flames" Ability { id: "316B", source: "Chaos" }
4545
1224.2 "Stray Spray" Ability { id: "316C", source: "Chaos" }
46-
1500.0 "--sync--" GameLog { code: "0044", name: "Chaos", line: "The crystal\.\.\.destroyed\!\?.*?" } window 500,10
46+
47+
# https://xivapi.com/InstanceContentTextData/20006
48+
# en: The crystal...destroyed!? YOU DARE!
49+
1500.0 "--sync--" BattleTalk2 { instanceContentTextId: "4E26" } window 500,10
4750
1503.0 "Soul of Chaos" Ability { id: "316A", source: "Chaos" } window 500,10
4851
1513.1 "--targetable--"
4952
# fake window into Water->Earth loop
@@ -77,7 +80,10 @@ hideall "--sync--"
7780
2212.8 "--sync--" Ability { id: "3215", source: "Chaos" }
7881
2219.5 "Stray Flames" Ability { id: "316B", source: "Chaos" }
7982
2225.4 "Stray Spray" Ability { id: "316C", source: "Chaos" }
80-
2500.0 "--sync--" GameLog { code: "0044", name: "Chaos", line: "The crystal\.\.\.destroyed\!\?.*?" } window 500,10
83+
84+
# https://xivapi.com/InstanceContentTextData/20006
85+
# en: The crystal...destroyed!? YOU DARE!
86+
2500.0 "--sync--" BattleTalk2 { instanceContentTextId: "4E26" } window 500,10
8187
2503.0 "Soul of Chaos" Ability { id: "316A", source: "Chaos" } window 500,10
8288
# fake window into Fire->Air loop
8389
2529.5 "Chaotic Dispersion" Ability { id: "314F", source: "Chaos" } window 50,50 jump 3212.6

0 commit comments

Comments
 (0)