Skip to content

Commit

Permalink
Merge pull request #485 from xpdota/timeline-auto-update
Browse files Browse the repository at this point in the history
Automatic Timeline Update
  • Loading branch information
xpdota authored Mar 24, 2024
2 parents a63913d + fc7be9d commit 72f3ec1
Show file tree
Hide file tree
Showing 12 changed files with 66 additions and 31 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -412,6 +412,11 @@ hideall "--sync--"
# This is the zone, but can't use this sync as it can be seen by Dahu. Sync to autos instead.
# Pride of the Lioness will be sealed off
#8000.0 "--sync--" SystemLogMessage { id: "7DC", param1: "E1C" } window 20000,0

# https://xivapi.com/PublicContentTextData/2477
# en: Why...won't...you...
# TODO: Update to ActorControlExtra (category: 0x0834, param1: 0x9AD) when available.
# See OverlayPlugin/cactbot#99 and OverlayPlugin/OverlayPlugin#329 for further info
8000.0 "--Reset--" GameLog { code: "0044", name: "Stygimoloch Warrior", line: "Why\.\.\.won't\.\.\.you\.\.\..*?" } window 0,2000 jump 0
# TODO: is there a reset dialog line for losing?
# Alternatively, we could always insert " 19:${data.me} was defeated by" from script.
Expand Down
40 changes: 24 additions & 16 deletions timelines/src/main/resources/timeline/fractal_continuum_hard.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ hideall "--sync--"

# -ii 2798

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

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

# Because the BattleTalk2 syncs are repeated below, the links and 'en' text are listed once:
# https://xivapi.com/InstanceContentTextData/18509 (0x484D)
# en: This humanoid prototype can perfectly replicate eikon abilities. In fact, it's already loading our data on Sephirot.
# https://xivapi.com/InstanceContentTextData/18510 (0x484E)
# en: Utilizing our data on Sophia, we can at last tip the scales in our favor.
# https://xivapi.com/InstanceContentTextData/18511 (0x484F)
# en: Successfully mimicking the Demon Zurvan earned our researchers a patent under article 42? <buzzzzzz>

# Exhibit Level VIII will be sealed off
1000.0 "Start" SystemLogMessage { id: "7DC", param1: "95D" } window 1000,5
1008.5 "Aetheroplasm" Ability { id: "2793", source: "The Ultima Warrior" } window 8.5,5
1018.9 "Citadel Buster" Ability { id: "2792", source: "The Ultima Warrior" }
1029.8 "Ceruleum Vent" Ability { id: "2794", source: "The Ultima Warrior" }
1042.0 "Aetheroplasm" Ability { id: "2793", source: "The Ultima Warrior" } # skipped if boss is at or below 95% HP

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

# Sephirot's block

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

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

# Sophia's Block

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

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

# Zurvan's Block

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

1365.5 "--sync--" GameLog { code: "0044", name: "Vocal Guidance System", line: "This humanoid prototype can perfectly replicate.*?" } window 50,10 jump 1100.0
1365.5 "--sync--" GameLog { code: "0044", name: "Vocal Guidance System", line: "Utilizing our data on Sophia.*?" } window 50,10 jump 1200.0
1365.5 "--sync--" GameLog { code: "0044", name: "Vocal Guidance System", line: "Successfully mimicking the Demon Zurvan.*?" } window 50,10 jump 1300.0
1365.5 "--sync--" BattleTalk2 { instanceContentTextId: "484D" } window 50,10 jump 1100.0
1365.5 "--sync--" BattleTalk2 { instanceContentTextId: "484E" } window 50,10 jump 1200.0
1365.5 "--sync--" BattleTalk2 { instanceContentTextId: "484F" } window 50,10 jump 1300.0
1373.0 "Primordial Aether"
1374.1 "Ceruleum Vent?"
1375.6 "Infinite Fire/Infinite Ice?"
Expand Down
4 changes: 3 additions & 1 deletion timelines/src/main/resources/timeline/hades-ex.txt
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,9 @@ hideall "--sync--"


### Phase 3
493.0 "--sync--" GameLog { code: "0044", name: "Hades", line: "Our plea transcends.*?" } window 500,0
# https://xivapi.com/InstanceContentTextData/23311
# en: Our plea transcends the very boundaries of the soul!
493.0 "--sync--" BattleTalk2 { instanceContentTextId: "5B0F" } window 500,0
# 00:0044:Hades:At last, you are one!
499.9 "--targetable--"
500.0 "--sync--" StartsUsing { id: "47C8", source: "Ascian Prime's Shade" } window 500,0
Expand Down
6 changes: 5 additions & 1 deletion timelines/src/main/resources/timeline/o11n.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,11 @@ hideall "--sync--"
611.6 "Force Quit" Ability { id: "327A", source: "Level Checker" }

## Delta Attack
1000.0 "--sync--" GameLog { code: "0044", name: "Omega", line: "Program failure detected.*?" } window 1500,100
# https://xivapi.com/InstanceContentTextData/20109
# en: Program failure detected. <blip> Engaging Delta Attack protocol.
# Note: This BattleTalk2 log line arrives in sequence with another, both with a 4000ms display time.
# As a result, this line shows up 4000ms before the message is displayed (and the GameLog line is emitted).
996.0 "--sync--" BattleTalk2 { instanceContentTextId: "4E8D" } window 996,100
1007.0 "--sync--" StartsUsing { id: "327B", source: "Omega" } window 1500,100
1037.0 "Delta Attack" Ability { id: "327B", source: "Omega" } window 1500,100
1048.4 "--targetable--"
Expand Down
11 changes: 8 additions & 3 deletions timelines/src/main/resources/timeline/o12n.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,9 @@ hideall "--sync--"


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


### Phase 4: Laser Show Forever
1800.0 "Enrage" GameLog { code: "0044", line: "\<blip\> Warning\. Calculations indicate.*?" } window 1800,0

# https://xivapi.com/InstanceContentTextData/20623
# https://xivapi.com/InstanceContentTextData/20624
# en: <blip> Warning. Calculations indicate increased probability of defeat.\n\n<bleep> Error. Further data analysis required.
# May be either id depending on which is alive.
1800.0 "Enrage" BattleTalk2 { instanceContentTextId: "(508F|5090)" } window 1800,0
1806.0 "Laser Shower Enrage" Ability { id: "3311", source: "Omega-M" } window 20,20
1806.0 "Laser Shower Enrage" Ability { id: "3312", source: "Omega" } window 20,20
1812.0 "Laser Shower Enrage"
Expand Down
6 changes: 4 additions & 2 deletions timelines/src/main/resources/timeline/o12s.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,12 @@
hideall "--Reset--"
hideall "--sync--"

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

0.0 "Start" GameLog { code: "0044", line: "I am the Omega.*?" } window 1,0
# https://xivapi.com/InstanceContentTextData/20600
# en: I am the Omega and the Alpha. I will mimic your weakness to comprehend your strength.
0.0 "Start" BattleTalk2 { instanceContentTextId: "5078" } window 1,1
2.4 "--sync--" Ability { id: "337D", source: "Omega-M" } window 2.4,0.5 # first auto
11.7 "Synthetic Shield" Ability { id: "32FD", source: "Omega-M" } window 12,5
19.7 "Suppression" Ability { id: "3345", source: "Omega-M" }
Expand Down
10 changes: 8 additions & 2 deletions timelines/src/main/resources/timeline/o9n.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,10 @@ hideall "--sync--"
1211.6 "--sync--" Ability { id: "3215", source: "Chaos" }
1218.3 "Stray Flames" Ability { id: "316B", source: "Chaos" }
1224.2 "Stray Spray" Ability { id: "316C", source: "Chaos" }
1500.0 "--sync--" GameLog { code: "0044", name: "Chaos", line: "The crystal\.\.\.destroyed\!\?.*?" } window 500,10

# https://xivapi.com/InstanceContentTextData/20006
# en: The crystal...destroyed!? YOU DARE!
1500.0 "--sync--" BattleTalk2 { instanceContentTextId: "4E26" } window 500,10
1503.0 "Soul of Chaos" Ability { id: "316A", source: "Chaos" } window 500,10
1513.1 "--targetable--"
# fake window into Water->Earth loop
Expand Down Expand Up @@ -77,7 +80,10 @@ hideall "--sync--"
2212.8 "--sync--" Ability { id: "3215", source: "Chaos" }
2219.5 "Stray Flames" Ability { id: "316B", source: "Chaos" }
2225.4 "Stray Spray" Ability { id: "316C", source: "Chaos" }
2500.0 "--sync--" GameLog { code: "0044", name: "Chaos", line: "The crystal\.\.\.destroyed\!\?.*?" } window 500,10

# https://xivapi.com/InstanceContentTextData/20006
# en: The crystal...destroyed!? YOU DARE!
2500.0 "--sync--" BattleTalk2 { instanceContentTextId: "4E26" } window 500,10
2503.0 "Soul of Chaos" Ability { id: "316A", source: "Chaos" } window 500,10
# fake window into Fire->Air loop
2529.5 "Chaotic Dispersion" Ability { id: "314F", source: "Chaos" } window 50,50 jump 3212.6
Expand Down
4 changes: 3 additions & 1 deletion timelines/src/main/resources/timeline/orbonne_monastery.txt
Original file line number Diff line number Diff line change
Expand Up @@ -352,7 +352,9 @@ hideall "--sync--"
6371.3 "Flare IV"

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

6503.0 "Demi-Virgo Line/Tether" Ability { id: "38C2", source: "Ultima, the High Seraph" } window 8,8
6509.1 "Redemption" Ability { id: "38AA", source: "Ultima, the High Seraph" }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -196,8 +196,9 @@ hideall "--start--"
2201.3 "Archaeodemon Adds" AddedCombatant { name: "Archaeodemon" } window 300,300
2208.3 "--lock out--" # ??? from video

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

Large diffs are not rendered by default.

Loading

0 comments on commit 72f3ec1

Please sign in to comment.