From 555b9ed2d97be81ae0bd33e7440408c3308df6a7 Mon Sep 17 00:00:00 2001 From: Patrick Engel Date: Wed, 9 Oct 2019 12:36:16 +0000 Subject: [PATCH] Update raidboss.js --- raidboss.js | 463 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 440 insertions(+), 23 deletions(-) diff --git a/raidboss.js b/raidboss.js index 6e82d9f..67595ae 100644 --- a/raidboss.js +++ b/raidboss.js @@ -240,32 +240,32 @@ Options.Triggers = [ # choose what you want to hide! (add # at the beginning to "hideall" / remove # to show) # DANCER - # hideall "Shield Samba0" - # hideall "Shield Samba1" + hideall "Shield Samba0" + hideall "Shield Samba1" # SUMMONER / BLACKMAGE / REDMAGE - # hideall "Addle0" - # hideall "Addle1" + hideall "Addle0" + hideall "Addle1" # MONK - # hideall "Mantra0" - # hideall "Mantra1" - # hideall "Mantra2" - # hideall "Mantra3" + hideall "Mantra0" + hideall "Mantra1" + hideall "Mantra2" + hideall "Mantra3" # GUNBREAKER - # hideall "Superbolide0" - # hideall "Repraisal & HoL0" - # hideall "Repraisal & HoL1" - # hideall "Repraisal & HoL2" - # hideall "Repraisal & HoL3" + hideall "Superbolide0" + hideall "Repraisal & HoL0" + hideall "Repraisal & HoL1" + hideall "Repraisal & HoL2" + hideall "Repraisal & HoL3" # SCHOLAR - # hideall "Seraph0" - # hideall "Seraph1" - # hideall "recit and indom" - # hideall "Fairy Stuff" - # hideall "recitand excog" + hideall "Seraph0" + hideall "Seraph1" + hideall "recit and indom" + hideall "Fairy Stuff" + hideall "recitand excog" # WHITEMAGE # hideall "Benediction0" @@ -292,7 +292,7 @@ Options.Triggers = [ { regex: /Addle\d/, condition: function(data) { - return data.job == 'SMN' || data.job == 'BLM'; + return data.job == 'SMN' || data.job == 'BLM' || data.job == 'RDM'; }, beforeSeconds: 4, alarmText: 'USE RAIDCOOLDOWN', @@ -380,7 +380,7 @@ Options.Triggers = [ condition: function(data) { return data.job == 'WHM'; }, - beforeSeconds: 2, + beforeSeconds: 4, alarmText: 'BENEDICTION AFTER TANKBUSTER', tts: 'Benediction after Tankbuster', }, @@ -389,7 +389,7 @@ Options.Triggers = [ condition: function(data) { return data.job == 'WHM'; }, - beforeSeconds: 2, + beforeSeconds: 4, alarmText: 'USE INDULGENCE AFTER DELTA', tts: 'INDULGENCE AFTER DELTA', }, @@ -398,7 +398,7 @@ Options.Triggers = [ condition: function(data) { return data.job == 'WHM'; }, - beforeSeconds: 2, + beforeSeconds: 4, alarmText: 'USE REGEN FOR DPS MARKS', tts: 'Regen for DPS marks', }, @@ -407,12 +407,429 @@ Options.Triggers = [ condition: function(data) { return data.job == 'WHM'; }, - beforeSeconds: 3, + beforeSeconds: 4, + alarmText: 'USE TEMPERANCE', + tts: 'use temperance for aoe', + }, + ], + }, + // E2S + { + zoneRegex: /^Eden's Gate: Descent \(Savage\)$/, + timeline: ` + + # dnc cooldowns + 25.2 "Shield Samba0" + 203.2 "Shield Samba1" + 429.8 "Shield Samba2" + 602.3 "Shield Samba3" + + # smn cooldowns + 105.2 "Addle0" + 224.7 "Addle1" + 381.4 "Addle2" + 499.0 "Addle3" + 602.3 "Addle4" + + # mnk cooldowns + 132.1 "Mantra0" + 224.7 "Mantra1" + 381.4 "Mantra2" + 558.2 "Mantra3" + + # gnb cooldowns + # invul + + # Repraisal & HoL + 25.2 "Repraisal & HoL0" + 105.2 "Repraisal & HoL1" + 203.2 "Repraisal & HoL2" + 272.7 "Repraisal & HoL3" + 381.4 "Repraisal & HoL4" + 499.0 "Repraisal & HoL5" + 602.3 "Repraisal & HoL6" + + # sch cooldowns + 25.2 "recit and indom0" + 224.7 "Succ and soil0" + 272.7 "Soil0" + 381.4 "Succ and soil1" + 386.7 "recit and indom1" + 429.8 "recit and indom2" + 499.0 "Soil1" + + # whm cooldowns + 106.6 "Temperance0" + 134.1 "Indulgence0" + 224.7 "Indulgence1" + 295.5 "Indulgence2" + 386.7 "Indulgence3" + 381.4 "Temperance1" + 429.8 "Indulgence4" + 499.0 "Indulgence5" + 558.0 "Indulgence and Temperance" + + # choose what you want to hide! (add # at the beginning to "hideall" / remove # to show) + # DANCER + hideall "Shield Samba0" + hideall "Shield Samba1" + hideall "Shield Samba2" + hideall "Shield Samba3" + + # SUMMONER / BLACKMAGE / REDMAGE + hideall "Addle0" + hideall "Addle1" + hideall "Addle2" + hideall "Addle3" + hideall "Addle4" + + # MONK + hideall "Mantra0" + hideall "Mantra1" + hideall "Mantra2" + hideall "Mantra3" + + # GUNBREAKER + hideall "Repraisal & HoL0" + hideall "Repraisal & HoL1" + hideall "Repraisal & HoL2" + hideall "Repraisal & HoL3" + hideall "Repraisal & HoL4" + hideall "Repraisal & HoL5" + hideall "Repraisal & HoL6" + + # SCHOLAR + hideall "recit and indom0" + hideall "Succ and soil0" + hideall "Soil0" + hideall "Succ and soil1" + hideall "recit and indom1" + hideall "recit and indom2" + hideall "Soil1" + + # WHITEMAGE + # hideall "Temperance0" + # hideall "Indulgence0" + # hideall "Indulgence1" + # hideall "Indulgence2" + # hideall "Indulgence3" + # hideall "Temperance1" + # hideall "Indulgence4" + # hideall "Indulgence5" + # hideall "Indulgence and Temperance" + `, + timelineTriggers: [ + // DANCER + { + regex: /Shield Samba\d/, + condition: function(data) { + return data.job == 'DNC'; + }, + beforeSeconds: 4, + alarmText: 'USE RAIDCOOLDOWN', + tts: 'Shield Samba', + }, + // SUMMONER / BLACKMAGE / REDMAGE - Just for 1 Magical DPS + { + regex: /Addle\d/, + condition: function(data) { + return data.job == 'SMN' || data.job == 'BLM' || data.job == 'RDM'; + }, + beforeSeconds: 4, + alarmText: 'USE RAIDCOOLDOWN', + tts: 'Use Addle', + }, + // MONK + { + regex: /Mantra\d/, + condition: function(data) { + return data.job == 'MNK'; + }, + beforeSeconds: 2, + alarmText: 'USE RAIDCOOLDOWN', + tts: 'Use Mantra', + }, + // GUNBREAKER INVULS - Currently Empty for this fight + // GUNBREAKER REPRAISEL AND HEART OF LIGHT + { + regex: /Repraisal & HoL\d/, + condition: function(data) { + return data.job == 'GNB'; + }, + beforeSeconds: 4, + alarmText: 'USE RAIDCOOLDOWN', + tts: 'Reprisal and Heart of Light', + }, + // SCHOLAR -- LOTS OF SCHOLAR + { + regex: /recit and indom\d/, + condition: function(data) { + return data.job == 'SCH'; + }, + beforeSeconds: 4, + alarmText: 'RECIT + INDOM', + tts: 'Recitation and Indom', + }, + { + regex: /Succ and soil\d/, + condition: function(data) { + return data.job == 'SCH'; + }, + beforeSeconds: 4, + alarmText: 'SUCC AND SOIL', + tts: 'Succ and soil', + }, + { + regex: /Soil\d/, + condition: function(data) { + return data.job == 'SCH'; + }, + beforeSeconds: 4, + alarmText: 'USE SOIL', + tts: 'use soil', + }, + // Whitemage + { + regex: /Temperance\d/, + condition: function(data) { + return data.job == 'WHM'; + }, + beforeSeconds: 4, + alarmText: 'USE TEMPERANCE', + tts: 'use temperance for aoe', + }, + { + regex: /Indulgence\d/, + condition: function(data) { + return data.job == 'WHM'; + }, + beforeSeconds: 4, + alarmText: 'USE INDULGENCE', + tts: 'use indulgence for aoe', + }, + { + regex: /Indulgence and Temperance/, + condition: function(data) { + return data.job == 'WHM'; + }, + beforeSeconds: 4, + alarmText: 'USE INDULGENCE AND TEMPERANCE', + tts: 'induglence and temperance', + }, + ], + }, + // E3S + { + zoneRegex: /^Eden's Gate: Inundation \(Savage\)$/, + timeline: ` + + # dnc cooldowns + 4.1 "Shield Samba0" + 185.1 "Shield Samba1" + 429.8 "Shield Samba2" + + # smn cooldowns + 127.6 "Addle0" + 223.4 "Addle1" + 316.2 "Addle2" + 422.4 "Addle3" + 540.7 "Addle4" + + # mnk cooldowns + 112.0 "Mantra0" + 223.4 "Mantra1" + 429.8 "Mantra2" + 488.0 "Mantra3" + 582.0 "Mantra4" + + # gnb cooldowns + # invul + 175.7 "Superbolide0" + + # Repraisal & HoL + 69.5 "Repraisal & HoL0" + 168.5 "Repraisal & HoL1" + 264.1 "Repraisal & HoL2" + 373.0 "Repraisal & HoL3" + 441.0 "Repraisal & HoL4" + 524.4 "Repraisal & HoL5" + 587.7 "Repraisal & HoL6" + + # sch cooldowns + 146.0 "Seraph0" + 358.0 "Seraph1" + 441.0 "Fey Illumination" + 449.0 "recit and indom" + 524.4 "Seraph2" + + # whm cooldowns + 12.6 "Indulgence0" + 127.6 "Indulgence and Temperance0" + 197.1 "Indulgence1" + 316.4 "Indulgence and Temperance1" + 371.0 "Indulgence2" + 441.0 "Temperance0" + 493.0 "Indulgence3" + 576.7 "Temperance1" + + # choose what you want to hide! (add # at the beginning to "hideall" / remove # to show) + # DANCER + hideall "Shield Samba0" + hideall "Shield Samba1" + hideall "Shield Samba2" + + # SUMMONER / BLACKMAGE / REDMAGE + hideall "Addle0" + hideall "Addle1" + hideall "Addle2" + hideall "Addle3" + hideall "Addle4" + + # MONK + hideall "Mantra0" + hideall "Mantra1" + hideall "Mantra2" + hideall "Mantra3" + hideall "Mantra4" + + # GUNBREAKER + hideall "Superbolide0" + hideall "Repraisal & HoL0" + hideall "Repraisal & HoL1" + hideall "Repraisal & HoL2" + hideall "Repraisal & HoL3" + hideall "Repraisal & HoL4" + hideall "Repraisal & HoL5" + hideall "Repraisal & HoL6" + + # SCHOLAR + hideall "Seraph0" + hideall "Seraph1" + hideall "Fey Illumination" + hideall "recit and indom" + hideall "Seraph2" + + # WHITEMAGE + # hideall "Indulgence0" + # hideall "Indulgence and Temperance0" + # hideall "Indulgence1" + # hideall "Indulgence and Temperance1" + # hideall "Indulgence2" + # hideall "Temperance0" + # hideall "Indulgence3" + # hideall "Temperance1" + + `, + timelineTriggers: [ + // DANCER + { + regex: /Shield Samba\d/, + condition: function(data) { + return data.job == 'DNC'; + }, + beforeSeconds: 4, + alarmText: 'USE RAIDCOOLDOWN', + tts: 'Shield Samba', + }, + // SUMMONER + { + regex: /Addle\d/, + condition: function(data) { + return data.job == 'SMN' || data.job == 'BLM'; + }, + beforeSeconds: 4, + alarmText: 'USE RAIDCOOLDOWN', + tts: 'Use Addle', + }, + // MONK + { + regex: /Mantra\d/, + condition: function(data) { + return data.job == 'MNK'; + }, + beforeSeconds: 2, + alarmText: 'USE RAIDCOOLDOWN', + tts: 'Use Mantra', + }, + // GUNBREAKER INVULS + { + regex: /Superbolide0\d/, + condition: function(data) { + return data.job == 'GNB'; + }, + beforeSeconds: 6, + alarmText: 'USE INVUL', + tts: 'Invul next Tankbuster', + }, + // GUNBREAKER REPRAISEL AND HEART OF LIGHT + { + regex: /Repraisal & HoL\d/, + condition: function(data) { + return data.job == 'GNB'; + }, + beforeSeconds: 4, + alarmText: 'USE RAIDCOOLDOWN', + tts: 'Reprisal and Heart of Light', + }, + // SCHOLAR -- LOTS OF SCHOLAR + { + regex: /Seraph\d/, + condition: function(data) { + return data.job == 'SCH'; + }, + beforeSeconds: 4, + alarmText: 'SERAPH', + tts: 'SERAPH', + }, + { + regex: /Fey Illumination/, + condition: function(data) { + return data.job == 'SCH'; + }, + beforeSeconds: 4, + alarmText: 'USE FEY ILLUMINATION', + tts: 'fey illumination', + }, + { + regex: /recit and indom/, + condition: function(data) { + return data.job == 'SCH'; + }, + beforeSeconds: 4, + alarmText: 'RECIT + INDOM', + tts: 'Recitation and Indom', + }, + // Whitemage + { + regex: /Temperance\d/, + condition: function(data) { + return data.job == 'WHM'; + }, + beforeSeconds: 4, alarmText: 'USE TEMPERANCE', tts: 'use temperance for aoe', }, + { + regex: /Indulgence\d/, + condition: function(data) { + return data.job == 'WHM'; + }, + beforeSeconds: 4, + alarmText: 'USE INDULGENCE', + tts: 'use indulgence for aoe', + }, + { + regex: /Indulgence and Temperance\d/, + condition: function(data) { + return data.job == 'WHM'; + }, + beforeSeconds: 4, + alarmText: 'USE INDULGENCE AND TEMPERANCE', + tts: 'induglence and temperance', + }, ], }, + // E4S ]; // Per trigger options. By default, each trigger uses the global options