From 77125bf825973a5a2f2f54f6792b14f9ada17978 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Mon, 12 Jan 2026 03:19:12 -0500 Subject: [PATCH 01/75] add initial triggers and timeline --- ui/raidboss/data/07-dt/raid/r11s.ts | 685 +++++++++++++++++++++++++++ ui/raidboss/data/07-dt/raid/r11s.txt | 361 ++++++++++++++ 2 files changed, 1046 insertions(+) create mode 100644 ui/raidboss/data/07-dt/raid/r11s.ts create mode 100644 ui/raidboss/data/07-dt/raid/r11s.txt diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts new file mode 100644 index 0000000000..aae2f11b3e --- /dev/null +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -0,0 +1,685 @@ +import Conditions from '../../../../../resources/conditions'; +import { UnreachableCode } from '../../../../../resources/not_reached'; +import Outputs from '../../../../../resources/outputs'; +import { Responses } from '../../../../../resources/responses'; +import { DirectionOutputCardinal, Directions } from '../../../../../resources/util'; +import ZoneId from '../../../../../resources/zone_id'; +import { RaidbossData } from '../../../../../types/data'; +import { TriggerSet } from '../../../../../types/trigger'; + +type Phase = 'one' | 'arenaSplit'; + +export interface Data extends RaidbossData { + phase: Phase; + actorPositions: { [id: string]: { x: number; y: number; heading: number } }; + weapons: { + id: string; + type: 'stack' | 'healerGroups' | 'protean'; + dir: number; + actor: { x: number; y: number; heading: number }; + }[]; + weaponMechCount: number; + domDirectionCount: { + vertCount: number; + horizCount: number; + outerSafe: DirectionOutputCardinal[]; + }; + hasMeteor: boolean; + fireballCount: number; + hasAtomic: boolean; + heartbreakerCount: number; +} + +const center = { + x: 100, + y: 100, +}; + +const phaseMap: { [id: string]: Phase } = { + 'B43F': 'arenaSplit', // Flatliner +}; + +const headMarkerData = { + // Vfx Path: target_ae_s5f + 'cometSpread': '008B', + // Vfx Path: com_share4a1 + 'partnerStack': '00A1', + // Vfx Path: com_share3t + 'fiveHitStack': '0131', + // Vfx Path: lockon8_t0w + 'meteor': '00F4', + 'fireBreath': '00F4', + // Vfx Path: share_laser_5sec_0t, targets The Tyrant + 'lineStack': '020D', + // Vfx Path: m0017trg_a0c + 'atomicImpact': '001E', + 'meteorTether': '0164', + 'closeTether': '0039', + 'farTether': '00F9', +} as const; +console.assert(headMarkerData); + +const triggerSet: TriggerSet = { + id: 'AacHeavyweightM3Savage', + zoneId: ZoneId.AacHeavyweightM3Savage, + timelineFile: 'r11s.txt', + initData: () => ({ + phase: 'one', + actorPositions: {}, + weapons: [], + weaponMechCount: 0, + domDirectionCount: { + horizCount: 0, + vertCount: 0, + outerSafe: ['dirN', 'dirE', 'dirS', 'dirW'], + }, + hasMeteor: false, + fireballCount: 0, + hasAtomic: false, + heartbreakerCount: 0, + }), + timelineTriggers: [ + { + id: 'R11S Powerful Gust', + regex: /Powerful Gust/, + beforeSeconds: 6.3, + alertText: (_data, _matches, output) => output.text!(), + outputStrings: { + text: { + en: 'Bait Gust', + }, + }, + }, + ], + triggers: [ + { + id: 'R11S Phase Tracker', + type: 'StartsUsing', + netRegex: { id: Object.keys(phaseMap), source: 'The Tyrant' }, + suppressSeconds: 1, + run: (data, matches) => { + const phase = phaseMap[matches.id]; + if (phase === undefined) + throw new UnreachableCode(); + + data.phase = phase; + }, + }, + { + id: 'R11S ActorSetPos Tracker', + type: 'ActorSetPos', + netRegex: { id: '4[0-9A-Fa-f]{7}', capture: true }, + run: (data, matches) => + data.actorPositions[matches.id] = { + x: parseFloat(matches.x), + y: parseFloat(matches.y), + heading: parseFloat(matches.heading), + }, + }, + { + id: 'R11S Crown of Arcadia', + type: 'StartsUsing', + netRegex: { id: 'B406', source: 'The Tyrant', capture: false }, + response: Responses.bigAoe(), + }, + { + id: 'R11S Raw Steel Trophy Axe', + type: 'StartsUsing', + netRegex: { id: 'B422', capture: false }, + response: Responses.spread(), + }, + { + id: 'R11S Raw Steel Trophy Scythe', + type: 'StartsUsing', + netRegex: { id: 'B423', capture: false }, + infoText: (_data, _matches, output) => output.text!(), + outputStrings: { + text: { + en: 'Party Stack/Tank Cones', + }, + }, + }, + // For logic reasons Ultimate has to be before normal Trophy Weapons + { + id: 'R11S Ultimate Trophy Weapons', + type: 'ActorControlExtra', + netRegex: { category: '0197', param1: ['11D1', '11D2', '11D3'], capture: true }, + condition: (data) => data.weaponMechCount > 1, + delaySeconds: (data) => { + if (data.weaponMechCount > 2) + return 3.7; + return 0; + }, + durationSeconds: (data) => { + if (data.weaponMechCount < 3) + return 8.7; + return 5; + }, + countdownSeconds: (data) => { + if (data.weaponMechCount < 3) + return 8.7; + return 5; + }, + infoText: (_data, matches, output) => { + const mechanic = matches.param1 === '11D1' + ? 'healerGroups' + : (matches.param1 === '11D2' ? 'stack' : 'protean'); + + return output[mechanic]!(); + }, + run: (data) => data.weaponMechCount++, + outputStrings: { + healerGroups: Outputs.healerGroups, + stack: Outputs.stackMiddle, + protean: Outputs.protean, + }, + }, + { + id: 'R11S Trophy Weapons', + type: 'ActorControlExtra', + netRegex: { category: '0197', param1: ['11D1', '11D2', '11D3'], capture: true }, + condition: (data) => data.weaponMechCount < 2, + preRun: (data, matches) => { + const actor = data.actorPositions[matches.id]; + + if (actor === undefined) + return; + + data.weapons.push({ + id: matches.id, + type: matches.param1 === '11D1' + ? 'healerGroups' + : (matches.param1 === '11D2' ? 'stack' : 'protean'), + dir: Math.atan2(actor.x - center.x, actor.y - center.y), + actor: actor, + }); + }, + delaySeconds: (data) => { + if (data.weaponMechCount === 0) + return 0; + if (data.weaponMechCount === 1) + return 10.6; + return 0; + }, + durationSeconds: (data) => { + if (data.weaponMechCount < 2) + return 20.9; + return 0; + }, + infoText: (data, _matches, output) => { + // Have info for 1st or 2nd mech + if (data.weaponMechCount < 2 && data.weapons.length > 2) { + data.weaponMechCount++; + let candidates = data.weapons; + data.weapons = []; + + // First weapon is the one facing towards middle + const weapon1 = candidates.find((c) => + (Math.abs(c.dir - c.actor.heading) % Math.PI) < 0.1 + ); + if (weapon1 === undefined) + return; + candidates = candidates.filter((c) => c !== weapon1); + // remap dir to weapon1 + candidates.forEach((c) => { + c.dir = Math.atan2(c.actor.x - weapon1.actor.x, c.actor.y - weapon1.actor.y); + }); + // second weapon is facing first weapon + const weapon2 = candidates.find((c) => + (Math.abs(c.dir - c.actor.heading) % Math.PI) < 0.1 + ); + // third weapon is the last remaining one + const weapon3 = candidates.find((c) => c !== weapon2); + if (weapon2 === undefined || weapon3 === undefined) + return; + return output.text!({ + weapon1: output[weapon1.type]!(), + weapon2: output[weapon2.type]!(), + weapon3: output[weapon3.type]!(), + }); + } + }, + outputStrings: { + text: { + en: '${weapon1} => ${weapon2} => ${weapon3}', + }, + healerGroups: Outputs.healerGroups, + stack: Outputs.stackMiddle, + protean: Outputs.protean, + }, + }, + { + id: 'R11S Comet Spread', + type: 'HeadMarker', + netRegex: { id: headMarkerData['cometSpread'], capture: true }, + condition: Conditions.targetIsYou(), + response: Responses.spread(), + }, + { + id: 'R11S Crushing Comet', + type: 'StartsUsing', + netRegex: { id: 'B415', source: 'The Tyrant', capture: true }, + response: Responses.stackMarkerOn(), + }, + { + id: 'R11S Dance Of Domination Trophy', + type: 'StartsUsing', + netRegex: { id: 'B7BB', source: 'The Tyrant', capture: false }, + response: Responses.bigAoe(), + }, + { + // Adapted from normal mode + id: 'R11S Dance Of Domination Trophy Safe Spots', + // B7BC Explosion + type: 'StartsUsingExtra', + netRegex: { id: 'B7BC', capture: true }, + preRun: (data, matches) => { + // Determine whether the AoE is orthogonal or diagonal + // Discard diagonal headings, then count orthogonals. + const headingDirNum = Directions.hdgTo8DirNum(parseFloat(matches.heading)); + if (headingDirNum % 2 === 0) { + const isVert = headingDirNum % 4 === 0; + const isHoriz = headingDirNum % 4 === 2; + if (isVert) { + data.domDirectionCount.vertCount += 1; + if (parseFloat(matches.x) < center.x - 5) + data.domDirectionCount.outerSafe = data.domDirectionCount.outerSafe.filter((dir) => + dir !== 'dirW' + ); + else if (parseFloat(matches.x) > center.x + 5) + data.domDirectionCount.outerSafe = data.domDirectionCount.outerSafe.filter((dir) => + dir !== 'dirE' + ); + } else if (isHoriz) { + data.domDirectionCount.horizCount += 1; + if (parseFloat(matches.y) < center.y - 5) + data.domDirectionCount.outerSafe = data.domDirectionCount.outerSafe.filter((dir) => + dir !== 'dirN' + ); + else if (parseFloat(matches.y) > center.y + 5) + data.domDirectionCount.outerSafe = data.domDirectionCount.outerSafe.filter((dir) => + dir !== 'dirS' + ); + } else { + console.error(`Bad Domination heading data: ${matches.heading}`); + } + } + }, + infoText: (data, _matches, output) => { + if (data.domDirectionCount.outerSafe.length !== 1) + return; + + const outerSafeDir = data.domDirectionCount.outerSafe[0]; + + if (outerSafeDir === undefined) + return; + + if (data.domDirectionCount.vertCount === 1) + return output.northSouth!({ dir: output[outerSafeDir]!() }); + else if (data.domDirectionCount.horizCount === 1) + return output.eastWest!({ dir: output[outerSafeDir]!() }); + }, + // clear the safe dirs array to prevent further outputs + run: (data) => { + if (data.domDirectionCount.outerSafe.length === 1) + data.domDirectionCount.outerSafe = []; + }, + outputStrings: { + northSouth: { + en: 'N/S Mid / ${dir} Outer + Partner Stacks', + }, + eastWest: { + en: 'E/W Mid / ${dir} Outer + Partner Stacks', + }, + ...Directions.outputStringsCardinalDir, + }, + }, + { + id: 'R11S Charybdistopia', + type: 'StartsUsing', + netRegex: { id: 'B425', source: 'The Tyrant', capture: false }, + response: Responses.hpTo1Aoe(), + }, + { + id: 'R11S One and Only', + type: 'StartsUsing', + netRegex: { id: 'B429', source: 'The Tyrant', capture: false }, + response: Responses.bigAoe(), + }, + { + id: 'R11S Great Wall of Fire', + // Target is boss, Line AOE that will later explode + type: 'StartsUsing', + netRegex: { id: 'B42B', source: 'The Tyrant', capture: false }, + infoText: (_data, _matches, output) => output.sharedTankbuster!(), + outputStrings: { + sharedTankbuster: Outputs.sharedTankbuster, + }, + }, + { + id: 'R11S Fire and Fury', + type: 'StartsUsing', + netRegex: { id: 'B42F', source: 'The Tyrant', capture: false }, + response: Responses.goSides(), + }, + { + id: 'R11S Meteor', + type: 'HeadMarker', + netRegex: { id: headMarkerData['meteor'], capture: true }, + condition: (data, matches) => { + if (data.me === matches.target && data.phase === 'one') + return true; + return false; + }, + response: Responses.meteorOnYou(), + run: (data) => data.hasMeteor = true, + }, + { + id: 'R11S Fearsome Fireball', + type: 'HeadMarker', + netRegex: { id: headMarkerData['lineStack'], capture: true }, + condition: (data) => { + data.fireballCount = data.fireballCount + 1; + return !data.hasMeteor; + }, + delaySeconds: 0.1, // Delay for meteor headmarkers + alertText: (data, matches, output) => { + if (data.fireballCount === 1) { + if (data.role === 'tank') + return output.wildChargeTank!(); + return output.wildCharge!(); + } + if (data.role === 'tank') + return output.tetherBusters!(); + return output.wildChargeMeteor!(); + }, + run: (data) => data.hasMeteor = false, + outputStrings: { + wildCharge: { + en: 'Wild Charge (behind tank)', + }, + wildChargeMeteor: { + en: 'Wild Charge (behind meteor)', + }, + wildChargeTank: { + en: 'Wild Charge (be in front)', + }, + tetherBusters: Outputs.tetherBusters, + }, + }, + { + id: 'R11S Triple Tyrannhilation', + type: 'StartsUsing', + netRegex: { id: 'B43C', source: 'The Tyrant', capture: false }, + alertText: (_data, _matches, output) => output.losMeteor!(), + outputStrings: { + losMeteor: { + en: 'LoS behind 3x meteor', + }, + }, + }, + { + id: 'R11S Flatliner', + type: 'StartsUsing', + netRegex: { id: 'B43F', source: 'The Tyrant', capture: false }, + infoText: (_data, _matches, output) => output.flatliner!(), + outputStrings: { + flatliner: { + en: 'Short knockback to sides', + fr: 'Légère poussée vers les côtés', + cn: '向两侧短距离击退', + ko: '양 옆으로 짧은 넉백', + }, + }, + }, + { + id: 'R11S Explosion Towers', // Knockback towers + type: 'StartsUsing', + netRegex: { id: 'B444', source: 'The Tyrant', capture: false }, + durationSeconds: 10, + suppressSeconds: 1, + alertText: (_data, _matches, output) => output.knockbackTowers!(), + outputStrings: { + knockbackTowers: { + en: 'Get Knockback Towers', + fr: 'Prenez une tour (poussée)', + cn: '踩击退塔', + ko: '넉백탑 들어가기', + }, + }, + }, + { + id: 'R11S Fire Breath', + type: 'HeadMarker', + netRegex: { id: headMarkerData['fireBreath'], capture: true }, + condition: (data, matches) => { + if (data.me === matches.target && data.phase === 'arenaSplit') + return true; + return false; + }, + infoText: (_data, _matches, output) => output.fireBreath!(), + outputStrings: { + fireBreath: { + en: 'Fire Breath on YOU', + }, + }, + }, + { + id: 'R11S Massive Meteor', + type: 'HeadMarker', + netRegex: { id: headMarkerData['fiveHitStack'], capture: false }, + suppressSeconds: 1, + alertText: (_data, _matches, output) => output.stackFivex!(), + outputStrings: { + stackFivex: { + en: 'Stack 5x', + de: '5x Sammeln', + fr: '5x Packages', + ja: '頭割り5回', + cn: '5连分摊', + ko: '쉐어 5번', + tc: '5連分攤', + }, + }, + }, + { + id: 'R11S Arcadion Avalanche West Safe', + type: 'StartsUsing', + netRegex: { id: ['B44E', 'B450'], source: 'The Tyrant', capture: false }, + infoText: (_data, _matches, output) => output.westSafe!(), + outputStrings: { + westSafe: { + en: 'Tower Knockback to West', + fr: 'Prenez une tour (poussée vers l\'Ouest)', + cn: '被塔击飞到左侧平台', + ko: '탑 넉백 서쪽으로', + }, + }, + }, + { + id: 'R11S Arcadion Avalanche East Safe', + type: 'StartsUsing', + netRegex: { id: ['B44A', 'B44C'], source: 'The Tyrant', capture: false }, + infoText: (_data, _matches, output) => output.eastSafe!(), + outputStrings: { + eastSafe: { + en: 'Tower Knockback to East', + fr: 'Prenez une tour (poussée vers l\'Est)', + cn: '被塔击飞到右侧平台', + ko: '탑 넉백 동쪽으로', + }, + }, + }, + { + id: 'R11S Arcadion Avalanche Follow Up North Safe', + type: 'StartsUsing', + netRegex: { id: ['B44B', 'B451'], source: 'The Tyrant', capture: true }, + delaySeconds: (_data, matches) => parseFloat(matches.castTime) - 6, + infoText: (_data, _matches, output) => output.goNorth!(), + outputStrings: { + goNorth: Outputs.north, + }, + }, + { + id: 'R11S Arcadion Avalanche Follow Up South Safe', + type: 'StartsUsing', + netRegex: { id: ['B44D', 'B44F'], source: 'The Tyrant', capture: true }, + delaySeconds: (_data, matches) => parseFloat(matches.castTime) - 6, + infoText: (_data, _matches, output) => output.goSouth!(), + outputStrings: { + goSouth: Outputs.south, + }, + }, + { + id: 'R11S Atomic Impact Collect', + type: 'HeadMarker', + netRegex: { id: headMarkerData['atomicImpact'], capture: true }, + condition: Conditions.targetIsYou(), + run: (data) => data.hasAtomic = true, + }, + { + id: 'R11S Mammoth Meteor', + // Occurs same time as Atomic Impact headmarkers + type: 'StartsUsingExtra', + netRegex: { id: 'B453', capture: true }, + suppressSeconds: 1, + delaySeconds: 0.1, + infoText: (data, matches, output) => { + // Mammoth Meteor is always at two opposite intercardinals. + // Once we see one, we know where the safespots are + // without waiting on the second. + const meteorX = parseFloat(matches.x); + const meteorY = parseFloat(matches.y); + const meteorQuad = Directions.xyToIntercardDirOutput(meteorX, meteorY, center.x, center.y); + if (data.hasAtomic) { + if (meteorQuad === 'dirNE' || meteorQuad === 'dirSW') + return output.comboDir!({ dir1: output.nw!(), dir2: output.se!() }); + return output.comboDir!({ dir1: output.ne!(), dir2: output.sw!() }); + } + return output.getMiddle!(); + }, + outputStrings: { + nw: Outputs.dirNW, + ne: Outputs.dirNE, + sw: Outputs.dirSW, + se: Outputs.dirSE, + comboDir: { + en: 'Go ${dir1}/${dir2} => Bait Impacts, Avoid Corners', + }, + getMiddle: { + en: 'Proximity AoE; Get Middle => Bait Puddles', + }, + }, + }, + { + id: 'R11S Cosmic Kiss', // Meteor towers + type: 'StartsUsing', + netRegex: { id: 'B456', source: 'The Tyrant', capture: false }, + condition: (data) => { + if (data.hasAtomic) + return false; + return true; + }, + suppressSeconds: 1, + response: Responses.getTowers(), + }, + { + id: 'R11S Two-way Fireball', + type: 'StartsUsing', + netRegex: { id: 'B7BD', source: 'The Tyrant', capture: false }, + alertText: (data, _matches, output) => { + if (data.hasAtomic) + return output.twoWayAtomic!(); + return output.twoWay!(); + }, + outputStrings: { + twoWay: { + en: 'East/West Line Stack', + }, + twoWayAtomic: { + en: 'Move; East/West Line Stack', + }, + }, + }, + { + id: 'R11S Four-way Fireball', + type: 'StartsUsing', + netRegex: { id: 'B45A', source: 'The Tyrant', capture: false }, + alertText: (data, _matches, output) => { + if (data.hasAtomic) + return output.fourWayAtomic!(); + return output.fourWay!(); + }, + outputStrings: { + fourWay: { + en: 'Intercardinal Line Stack', + }, + fourWayAtomic: { + en: 'Stay Corner, Intercardinal Line Stack', + }, + }, + }, + { + id: 'R11S Heartbreaker (Enrage Sequence)', + type: 'StartsUsing', + netRegex: { id: 'B45D', source: 'The Tyrant', capture: true }, + preRun: (data) => data.heartbreakerCount = data.heartbreakerCount + 1, + infoText: (data, _matches, output) => { + switch (data.heartbreakerCount) { + case 1: + return output.heartbreaker1!({ + tower: output.getTower!(), + stack: output.stack5x!(), + }); + case 2: + return output.heartbreaker2!({ + tower: output.getTower!(), + stack: output.stack6x!(), + }); + case 3: + return output.heartbreaker3!({ + tower: output.getTower!(), + stack: output.stack7x!(), + }); + } + }, + outputStrings: { + getTower: { + en: 'Get Tower', + de: 'Turm nehmen', + fr: 'Prenez la tour', + ja: '塔を踏む', + cn: '踩塔', + ko: '장판 들어가기', + tc: '踩塔', + }, + stack5x: { + en: 'Stack 5x', + de: '5x Sammeln', + fr: '5x Packages', + ja: '頭割り5回', + cn: '5连分摊', + ko: '쉐어 5번', + tc: '5連分攤', + }, + stack6x: { + en: 'Stack 6x', + }, + stack7x: { + en: 'Stack 7x', + }, + heartbreaker1: { + en: '${tower} => ${stack}', + }, + heartbreaker2: { + en: '${tower} => ${stack}', + }, + heartbreaker3: { + en: '${tower} => ${stack}', + }, + }, + }, + ], +}; + +export default triggerSet; diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt new file mode 100644 index 0000000000..9c6b5f31ea --- /dev/null +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -0,0 +1,361 @@ +### AAC HEAVYWEIGHT M3 (SAVAGE) +# ZoneId: 1325 + +# -ii B405 B40E B40D B40A B41E B42D B429 B426 B437 B43B B445 B455 B439 B458 B461 B446 +# -it "The Tyrant" + +hideall "--Reset--" +hideall "--sync--" + +0.0 "--Reset--" ActorControl { command: "4000000F" } window 0,100000 jump 0 + +0.0 "--sync--" InCombat { inGameCombat: "1" } window 0,1 +10.6 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } window 10,10 +17.7 "Raw Steel Trophy (Scythe/Axe)" Ability { id: ["B423", "B422"], source: "The Tyrant" } +24.0 "Raw Steel" Ability { id: ["B40F", "B40B"], source: "The Tyrant" } # Only tanks +25.1 "Heavy Hitter/Impact" #Ability { id: ["B410","B40C"], source: "The Tyrant" } # Only non-tanks + +# Trophy Weapons 1 +33.1 "--middle--" Ability { id: "B404", source: "The Tyrant" } +38.4 "Trophy Weapons" Ability { id: "B416", source: "The Tyrant" } +48.2 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } +48.4 "--jump scythe--" Ability { id: "B544", source: "The Tyrant" } +50.3 "Sweeping Victory" Ability { id: "B41C", source: "The Tyrant" } +50.4 "Assault Evolved (scythe)" Ability { id: "B419", source: "The Tyrant" } +53.5 "--jump sword--" Ability { id: "B545", source: "The Tyrant" } +55.4 "Sharp Taste" Ability { id: "B41D", source: "The Tyrant" } +55.5 "Assault Evolved (sword)" Ability { id: "B41A", source: "The Tyrant" } +58.6 "--jump axe--" Ability { id: "B543", source: "The Tyrant" } +60.5 "Heavy Weight" Ability { id: "B41B", source: "The Tyrant" } +60.6 "Assault Evolved (axe)" Ability { id: "B418", source: "The Tyrant" } + +# Trophy Weapons 2 +67.7 "--middle--" Ability { id: "B404", source: "The Tyrant" } +72.7 "Trophy Weapons" Ability { id: "B416", source: "The Tyrant" } +79.8 "Void Stardust" Ability { id: "B412", source: "The Tyrant" } +83.9 "Cometite" #Ability { id: "B413", source: "The Tyrant" } +85.9 "Cometite" #Ability { id: "B413", source: "The Tyrant" } +87.9 "Cometite" #Ability { id: "B413", source: "The Tyrant" } +89.9 "Comet/Crushing Comet" Ability { id: ["B414", "B415"], source: "The Tyrant" } +92.7 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } +92.9 "--jump axe--" Ability { id: "B543", source: "The Tyrant" } +94.8 "Heavy Weight" Ability { id: "B41B", source: "The Tyrant" } +94.9 "Assault Evolved (axe)" Ability { id: "B418", source: "The Tyrant" } +98.0 "--jump sword--" Ability { id: "B545", source: "The Tyrant" } +99.9 "Sharp Taste" Ability { id: "B41D", source: "The Tyrant" } +100.0 "Assault Evolved (sword)" Ability { id: "B41A", source: "The Tyrant" } +103.1 "--jump scythe--" Ability { id: "B544", source: "The Tyrant" } +105.0 "Sweeping Victory" #Ability { id: "B41C", source: "The Tyrant" } +105.1 "Assault Evolved (scythe)" Ability { id: "B419", source: "The Tyrant" } +110.2 "Cometite" #Ability { id: "B413", source: "The Tyrant" } +112.2 "Cometite" #Ability { id: "B413", source: "The Tyrant" } +114.2 "Cometite" #Ability { id: "B413", source: "The Tyrant" } +116.2 "Crushing Comet/Comet" Ability { id: ["B415", "B414"], source: "The Tyrant" } +122.2 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } + +# Dance of Domination +130.4 "--middle--" Ability { id: "B404", source: "The Tyrant" } +134.6 "Dance of Domination Trophy" Ability { id: "B7BB", source: "The Tyrant" } +141.3 "Dance of Domination" Ability { id: "B41F", source: "The Tyrant" } +142.0 "Dance of Domination" #Ability { id: "B421", source: "The Tyrant" } +142.6 "Dance of Domination" #Ability { id: "B421", source: "The Tyrant" } +143.2 "Dance of Domination" #Ability { id: "B421", source: "The Tyrant" } +143.8 "Dance of Domination" #Ability { id: "B421", source: "The Tyrant" } +144.4 "Dance of Domination" #Ability { id: "B421", source: "The Tyrant" } +145.5 "Dance of Domination" Ability { id: "B7EA", source: "The Tyrant" } +150.5 "Eye of the Hurricane" Ability { id: "B424", source: "The Tyrant" } +150.7 "Explosion" Ability { id: "B420", source: "The Tyrant" } +151.1 "Explosion" Ability { id: "B7BC", source: "The Tyrant" } +156.4 "Raw Steel Trophy (Axe/Scythe)" Ability { id: ["B422", "B423"], source: "The Tyrant" } +163.8 "Raw Steel" Ability { id: ["B40F", "B40B"], source: "The Tyrant" } # Only tanks +163.8 "Impact/Heavy Hitter" #Ability { id: ["B40C","B410"], source: "The Tyrant" } # Only non-tanks + +# Ultimate Trophy Weapons +171.8 "--middle--" Ability { id: "B404", source: "The Tyrant" } +178.9 "Charybdistopia" Ability { id: "B425", source: "The Tyrant" } +184.6 "Ultimate Trophy Weapons" Ability { id: "B7ED", source: "The Tyrant" } +192.4 "Assault Apex" Ability { id: "B7EE", source: "The Tyrant" } +192.6 "--jump sword--" Ability { id: "B545", source: "The Tyrant" } +194.5 "Sharp Taste" Ability { id: "B41D", source: "The Tyrant" } +194.6 "Assault Evolved (sword)" Ability { id: "B41A", source: "The Tyrant" } +197.7 "--jump scythe)" Ability { id: "B544", source: "The Tyrant" } +199.6 "Sweeping Victory" Ability { id: "B41C", source: "The Tyrant" } +199.7 "Assault Evolved (scythe)" Ability { id: "B419", source: "The Tyrant" } +202.8 "--jump axe--" Ability { id: "B543", source: "The Tyrant" } +204.7 "Heavy Weight" Ability { id: "B41B", source: "The Tyrant" } +204.8 "Assault Evolved (axe)" Ability { id: "B418", source: "The Tyrant" } +207.9 "--jump sword--" Ability { id: "B545", source: "The Tyrant" } +209.8 "Sharp Taste" #Ability { id: "B41D", source: "The Tyrant" } +209.9 "Assault Evolved (sword)" Ability { id: "B41A", source: "The Tyrant" } +213.0 "--jump axe--" Ability { id: "B543", source: "The Tyrant" } +214.9 "Heavy Weight" Ability { id: "B41B", source: "The Tyrant" } +215.0 "Assault Evolved (axe)" Ability { id: "B418", source: "The Tyrant" } +218.1 "--jump scythe--" Ability { id: "B544", source: "The Tyrant" } +220.0 "Sweeping Victory" Ability { id: "B41C", source: "The Tyrant" } +220.1 "Assault Evolved (scythe)" Ability { id: "B419", source: "The Tyrant" } +221.2 "--middle--" Ability { id: "B404", source: "The Tyrant" } +226.3 "Powerful Gust" Ability { id: "B427", source: "The Tyrant" } +227.3 "Immortal Reign" Ability { id: "B428", source: "The Tyrant" } + +# Orbitel Omen 1 +240.4 "One and Only" Ability { id: "B42A", source: "The Tyrant" } +252.6 "Great Wall of Fire (castbar)" Ability { id: "B42B", source: "The Tyrant" } +252.8 "Great Wall of Fire 1" #Ability { id: "B42C", source: "The Tyrant" } +256.0 "Great Wall of Fire 2" #Ability { id: "B42C", source: "The Tyrant" } +256.6 "Explosion" Ability { id: "B42E", source: "The Tyrant" } +259.8 "Explosion" Ability { id: "B42E", source: "The Tyrant" } +266.1 "Orbital Omen (castbar)" Ability { id: "B432", source: "The Tyrant" } +274.8 "Fire and Fury (castbar)" Ability { id: "B42F", source: "The Tyrant" } +275.2 "Orbital Omen 1" #Ability { id: "B433", source: "The Tyrant" } +275.8 "Fire and Fury" #Ability { id: "B431", source: "The Tyrant" } +275.8 "Fire and Fury" #Ability { id: "B430", source: "The Tyrant" } +276.8 "Orbital Omen 2" #Ability { id: "B433", source: "The Tyrant" } +278.4 "Orbital Omen 3" #Ability { id: "B433", source: "The Tyrant" } +279.8 "Orbital Omen 4" #Ability { id: "B433", source: "The Tyrant" } + +# Meteorain +285.0 "--middle--" Ability { id: "B404", source: "The Tyrant" } +292.1 "Meteorain" Ability { id: "B434", source: "The Tyrant" } +300.1 "Fearsome Fireball" Ability { id: "B43A", source: "The Tyrant" } +301.3 "Cosmic Kiss" Ability { id: "B435", source: "Comet" } +309.3 "Foregone Fatality" Ability { id: "B436", source: "The Tyrant" } +310.2 "Fearsome Fireball" Ability { id: "B43A", source: "The Tyrant" } +311.4 "Cosmic Kiss" Ability { id: "B435", source: "Comet" } +314.0 "Explosion" Ability { id: "B438", source: "Comet" } +319.3 "Foregone Fatality" Ability { id: "B436", source: "The Tyrant" } +320.2 "Fearsome Fireball" Ability { id: "B43A", source: "The Tyrant" } +321.4 "Cosmic Kiss" Ability { id: "B435", source: "Comet" } +324.0 "Explosion" Ability { id: "B438", source: "Comet" } +329.3 "Foregone Fatality" Ability { id: "B436", source: "The Tyrant" } +330.2 "Fearsome Fireball" Ability { id: "B43A", source: "The Tyrant" } +334.0 "--sync--" Ability { id: "B43B", source: "The Tyrant" } +334.0 "Explosion" #Ability { id: "B438", source: "Comet" } +342.9 "Triple Tyrannhilation" Ability { id: "B43C", source: "The Tyrant" } +344.0 "Shockwave" #Ability { id: "B43D", source: "The Tyrant" } +344.4 "--sync--" #Ability { id: "B43E", source: "Comet" } +345.4 "Shockwave" #Ability { id: "B43D", source: "The Tyrant" } +345.8 "--sync--" #Ability { id: "B43E", source: "Comet" } +346.8 "Shockwave" #Ability { id: "B43D", source: "The Tyrant" } +347.2 "--sync--" #Ability { id: "B43E", source: "Comet" } +347.6 "--sync--" Ability { id: "B460", source: "The Tyrant" } + +# Arena Split +# NOTE: Need to move to safe spot at meteor 3 +359.8 "Flatliner (castbar)" Ability { id: "B43F", source: "The Tyrant" } window 360,10 +361.8 "Flatliner (split)" Ability { id: "BA90", source: "The Tyrant" } +375.9 "Majestic Meteor" Ability { id: "B440", source: "The Tyrant" } +389.0 "Explosion" Ability { id: "B444", source: "The Tyrant" } +397.0 "--meteor 1--" #StartsUsing { id: "B441", source: "The Tyrant" } +399.0 "--meteor 2--" #StartsUsing { id: "B441", source: "The Tyrant" } +400.0 "Majestic Meteor 1" #Ability { id: "B441", source: "The Tyrant" } +401.1 "--meteor 3--" #StartsUsing { id: "B441", source: "The Tyrant" } +402.0 "Majestic Meteor 2" #Ability { id: "B441", source: "The Tyrant" } +403.9 "Majestic Meteowrath x2" Ability { id: "B443", source: "The Tyrant" } +403.9 "Majestic Meteorain x2" #Ability { id: "B442", source: "The Tyrant" } +403.9 "Fire Breath x2" Ability { id: "B447", source: "The Tyrant" } +404.1 "Majestic Meteor 3" #Ability { id: "B441", source: "The Tyrant" } +421.1 "Explosion" Ability { id: "B444", source: "The Tyrant" } + +429.1 "--meteor 1--" #StartsUsing { id: "B441", source: "The Tyrant" } +431.1 "--meteor 2--" #StartsUsing { id: "B441", source: "The Tyrant" } +432.1 "Majestic Meteor 1" #Ability { id: "B441", source: "The Tyrant" } +433.1 "--meteor 3--" #StartsUsing { id: "B441", source: "The Tyrant" } +434.1 "Majestic Meteor 2" #Ability { id: "B441", source: "The Tyrant" } +436.0 "Majestic Meteowrath x2" Ability { id: "B443", source: "The Tyrant" } +436.0 "Majestic Meteorain x2" Ability { id: "B442", source: "The Tyrant" } +436.0 "Fire Breath x2" Ability { id: "B447", source: "The Tyrant" } +436.1 "Majestic Meteor 3" #Ability { id: "B441", source: "The Tyrant" } +445.3 "Massive Meteor (castbar)" Ability { id: "B448", source: "The Tyrant" } +446.4 "Massive Meteor x5" #Ability { id: "B449", source: "The Tyrant" } duration 5.6 +458.8 "Explosion" Ability { id: "B444", source: "The Tyrant" } +459.1 "Arcadion Avalanche (castbar)" Ability { id: ["B44A", "B44C", "B44E", "B450"], source: "The Tyrant" } +468.7 "Arcadion Avalanche" Ability { id: ["B44B", "B44D", "B44F", "B451"], source: "The Tyrant" } +479.4 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } + +# Orbital Omen 2 +# Normal arena +490.5 "Great Wall of Fire (castbar)" Ability { id: "B42B", source: "The Tyrant" } +490.7 "Great Wall of Fire 1" #Ability { id: "B42C", source: "The Tyrant" } +493.9 "Great Wall of Fire 2" #Ability { id: "B42C", source: "The Tyrant" } +494.5 "Explosion" Ability { id: "B42E", source: "The Tyrant" } +497.7 "Explosion" Ability { id: "B42E", source: "The Tyrant" } +504.0 "Orbital Omen (castbar)" Ability { id: "B432", source: "The Tyrant" } +512.7 "Fire and Fury (castbar)" Ability { id: "B42F", source: "The Tyrant" } +513.1 "Orbital Omen 1" #Ability { id: "B433", source: "The Tyrant" } +513.7 "Fire and Fury" Ability { id: "B431", source: "The Tyrant" } +513.7 "Fire and Fury" Ability { id: "B430", source: "The Tyrant" } +514.7 "Orbital Omen 2" #Ability { id: "B433", source: "The Tyrant" } +516.3 "Orbital Omen 3" #Ability { id: "B433", source: "The Tyrant" } +517.7 "Orbital Omen 4" #Ability { id: "B433", source: "The Tyrant" } +521.8 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } +527.0 "--middle--" Ability { id: "B404", source: "The Tyrant" } + +# Ecliptic Stampede +534.1 "Ecliptic Stampede" Ability { id: "B452", source: "The Tyrant" } +541.2 "Mammoth Meteor x2" #Ability { id: "B453", source: "The Tyrant" } +541.2 "Atomic Impact 1" Ability { id: "B454", source: "The Tyrant" } +544.2 "Atomic Impact 2" Ability { id: "B454", source: "The Tyrant" } +547.2 "Atomic Impact 3" Ability { id: "B454", source: "The Tyrant" } +550.2 "Atomic Impact 4" Ability { id: "B454", source: "The Tyrant" } +553.2 "Atomic Impact 5" Ability { id: "B454", source: "The Tyrant" } +556.2 "Atomic Impact 6" Ability { id: "B454", source: "The Tyrant" } +557.2 "Cosmic Kiss" Ability { id: "B456", source: "The Tyrant" } +557.2 "Weighty Impact" #Ability { id: "B457", source: "The Tyrant" } +566.8 "Majestic Meteowrath" Ability { id: "B459", source: "The Tyrant" } +570.2 "Two-way Fireball / Four-way Fireball (castbar)" Ability { id: ["B7BD", "B45A"], source: "The Tyrant" } +571.1 "Two-way Fireball / Four-way Fireball" Ability { id: ["B7BE", "B45B"], source: "The Tyrant" } +579.4 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } + +# Heartbreak (Enrage Sequence) +584.6 "--middle--" Ability { id: "B404", source: "The Tyrant" } +586.7 "--sync--" Ability { id: "B45C", source: "The Tyrant" } +593.3 "Heartbreak Kick" Ability { id: "B45D", source: "The Tyrant" } +594.4 "Heartbreak Kick 1" #Ability { id: "B45E", source: "The Tyrant" } +596.4 "Heartbreak Kick 2" #Ability { id: "B45E", source: "The Tyrant" } +598.4 "Heartbreak Kick 3" #Ability { id: "B45E", source: "The Tyrant" } +600.4 "Heartbreak Kick 4" #Ability { id: "B45E", source: "The Tyrant" } +602.4 "Heartbreak Kick 5" #Ability { id: "B45E", source: "The Tyrant" } +604.4 "--sync--" Ability { id: "B45F", source: "The Tyrant" } +612.4 "Heartbreak Kick" Ability { id: "B45D", source: "The Tyrant" } +613.5 "Heartbreak Kick 1" #Ability { id: "B45E", source: "The Tyrant" } +615.5 "Heartbreak Kick 2" #Ability { id: "B45E", source: "The Tyrant" } +617.5 "Heartbreak Kick 3" #Ability { id: "B45E", source: "The Tyrant" } +619.5 "Heartbreak Kick 4" #Ability { id: "B45E", source: "The Tyrant" } +621.5 "Heartbreak Kick 5" #Ability { id: "B45E", source: "The Tyrant" } +623.5 "Heartbreak Kick 6" #Ability { id: "B45E", source: "The Tyrant" } +625.5 "--sync--" Ability { id: "B45F", source: "The Tyrant" } +633.5 "Heartbreak Kick" Ability { id: "B45D", source: "The Tyrant" } +634.6 "Heartbreak Kick 1" #Ability { id: "B45E", source: "The Tyrant" } +636.6 "Heartbreak Kick 2" #Ability { id: "B45E", source: "The Tyrant" } +638.6 "Heartbreak Kick 3" #Ability { id: "B45E", source: "The Tyrant" } +640.6 "Heartbreak Kick 4" #Ability { id: "B45E", source: "The Tyrant" } +642.6 "Heartbreak Kick 5" #Ability { id: "B45E", source: "The Tyrant" } +644.6 "Heartbreak Kick 6" #Ability { id: "B45E", source: "The Tyrant" } +646.6 "Heartbreak Kick 7" #Ability { id: "B45E", source: "The Tyrant" } +648.6 "--sync--" Ability { id: "B45F", source: "The Tyrant" } +651.6 "--sync--" StartsUsing { id: "B462", source: "The Tyrant" } +659.6 "Heartbreaker (Enrage)" Ability { id: "B462", source: "The Tyrant" } +659.6 "--untargetable--" +659.8 "Heartbreaker (Enrage)" Ability { id: "B463", source: "The Tyrant" } + +# IGNORED ABILITIES +# B40A Raw Steel: VFX for Axe +# B40D Raw Steel: VFX for Scythe +# B40E Raw Steel: VFX for Scythe, comes after B40D +# B41E Dance of Domination: VFX +# B42D Great Wall of Fire: VFX +# B426 Charybdis: Knocbkack Damage from standing in tornado +# B429 One and Only: VFX +# B42B Great Wall of Fire: VFX +# B439 Fearsome Fireball: VFX +# B446 Fire Breath: VFX +# B437 Unmitigated Explosion: Meteors dropped too close to each other +# B445 Unmitigated Explosion: Missed tower during arena split +# B458 Unmitigated Explosion: Missed tower during Ecliptic Stampede +# B461 Tough Break: Missed Heartbreak soaks +# B405 --sync--: Auto-attack + +# ALL ENCOUNTER ABILITIES +# B404 --sync-- +# B405 --sync-- +# B406 Crown of Arcadia +# B40A Raw Steel +# B40B Raw Steel: Shared tankbuster +# B40C Impact +# B40D Raw Steel +# B40E Raw Steel +# B40F Raw Steel +# B410 Heavy Hitter +# B412 Void Stardust +# B413 Cometite +# B414 Comet +# B415 Crushing Comet +# B416 Trophy Weapons +# B417 Assault Evolved: Castbar +# B418 Assault Evolved: Damage from inside Trophy Axe chariot +# B419 Assault Evolved: Damage from outside of Trophy Scythe donut +# B41A Assault Evolved: Damage from Trophy Sword cross aoe +# B41B Heavy Weight: Damage from Trophy Axe group share +# B41C Sweeping Victory: Damage from Trophy Scythe protean +# B41D Sharp Taste: Damage from Trophy Sword healer group line aoe +# B41E Dance of Domination +# B41F Dance of Domination +# B420 Explosion +# B421 Dance of Domination +# B422 Raw Steel Trophy +# B423 Raw Steel Trophy +# B424 Eye of the Hurricane +# B425 Charybdistopia +# B426 Charybdis +# B427 Powerful Gust +# B428 Immortal Reign +# B429 One and Only +# B42A One and Only +# B42B Great Wall of Fire +# B42C Great Wall of Fire +# B42D Great Wall of Fire +# B42E Explosion +# B42F Fire and Fury +# B430 Fire and Fury +# B431 Fire and Fury +# B432 Orbital Omen +# B433 Orbital Omen +# B434 Meteorain +# B435 Cosmic Kiss +# B436 Foregone Fatality +# B437 Unmitigated Explosion +# B438 Explosion +# B439 Fearsome Fireball +# B43A Fearsome Fireball +# B43B Triple Tyrannhilation +# B43C Triple Tyrannhilation +# B43D Shockwave +# B43E --sync-- +# B43F Flatliner +# B440 Majestic Meteor +# B441 Majestic Meteor +# B442 Majestic Meteorain +# B443 Majestic Meteowrath +# B444 Explosion +# B445 Unmitigated Explosion +# B446 Fire Breath +# B447 Fire Breath +# B448 Massive Meteor +# B449 Massive Meteor +# B44A Arcadion Avalanche: VFX for NE Safe +# B44B Arcadion Avalanche: Damage for NE Safe +# B44C Arcadion Avalanche: VFX for SE Safe +# B44D Arcadion Avalanche: Damage for SE Safe +# B44E Arcadion Avalanche: VFX for SW Safe +# B44F Arcadion Avalanche: Damage for SW Safe +# B450 Arcadion Avalanche: VFX for NW Safe +# B451 Arcadion Avalanche: Damage for NW Safe +# B452 Ecliptic Stampede +# B453 Mammoth Meteor +# B454 Atomic Impact +# B455 Majestic Meteor +# B456 Cosmic Kiss +# B457 Weighty Impact +# B458 Unmitigated Explosion +# B459 Majestic Meteowrath +# B45A Four-way Fireball +# B45B Four-way Fireball +# B45C --sync-- +# B45D Heartbreak Kick +# B45E Heartbreak Kick +# B45F --sync-- +# B460 --sync-- +# B461 Tough Break +# B462 Heartbreaker +# B463 Heartbreaker +# B543 Assault Evolved: VFX Jumping to Trophy Axe +# B544 Assault Evolved: VFX Jumping to Trophy Scythe +# B545 Assault Evolved: VFX Jumping to Trophy Sword +# B7BD Two-way Fireball: VFX +# B7BE Two-way Fireball +# B7BB Dance of Domination Trophy +# B7BC Explosion +# B7EA Dance of Domination +# B7ED Ultimate Trophy Weapons +# B7EE Assault Apex +# BA90 Flatliner \ No newline at end of file From fca841894234f60cb35891ce229ba304c7776134 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Mon, 12 Jan 2026 03:56:44 -0500 Subject: [PATCH 02/75] lint + fixes --- ui/raidboss/data/07-dt/raid/r11s.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index aae2f11b3e..b228cc3420 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -377,13 +377,13 @@ const triggerSet: TriggerSet = { { id: 'R11S Fearsome Fireball', type: 'HeadMarker', - netRegex: { id: headMarkerData['lineStack'], capture: true }, + netRegex: { id: headMarkerData['lineStack'], capture: false }, condition: (data) => { data.fireballCount = data.fireballCount + 1; return !data.hasMeteor; }, delaySeconds: 0.1, // Delay for meteor headmarkers - alertText: (data, matches, output) => { + alertText: (data, _matches, output) => { if (data.fireballCount === 1) { if (data.role === 'tank') return output.wildChargeTank!(); @@ -542,8 +542,8 @@ const triggerSet: TriggerSet = { // Occurs same time as Atomic Impact headmarkers type: 'StartsUsingExtra', netRegex: { id: 'B453', capture: true }, - suppressSeconds: 1, delaySeconds: 0.1, + suppressSeconds: 1, infoText: (data, matches, output) => { // Mammoth Meteor is always at two opposite intercardinals. // Once we see one, we know where the safespots are @@ -622,7 +622,7 @@ const triggerSet: TriggerSet = { { id: 'R11S Heartbreaker (Enrage Sequence)', type: 'StartsUsing', - netRegex: { id: 'B45D', source: 'The Tyrant', capture: true }, + netRegex: { id: 'B45D', source: 'The Tyrant', capture: false }, preRun: (data) => data.heartbreakerCount = data.heartbreakerCount + 1, infoText: (data, _matches, output) => { switch (data.heartbreakerCount) { From cd085ef618ad81e81066a2ea7e9b152a0f2adf4b Mon Sep 17 00:00:00 2001 From: Legends0 Date: Mon, 12 Jan 2026 17:13:43 -0500 Subject: [PATCH 03/75] capture cosmic kiss for subsequent wild charge calls --- ui/raidboss/data/07-dt/raid/r11s.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index b228cc3420..bfa0c0a1ab 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -407,6 +407,14 @@ const triggerSet: TriggerSet = { tetherBusters: Outputs.tetherBusters, }, }, + { + id: 'R11S Meteor Cleanup', + // Player hit by Cosmic Kiss + type: 'Ability', + netRegex: { id: 'B435', source: 'Comet', capture: true }, + condition: Conditions.targetIsYou(), + run: (data) => data.hasMeteor = false, + }, { id: 'R11S Triple Tyrannhilation', type: 'StartsUsing', From 576d59b2abd5f78e4ff499723d79415543ef8d24 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Mon, 12 Jan 2026 17:19:25 -0500 Subject: [PATCH 04/75] add counts for DoD and Cometite --- ui/raidboss/data/07-dt/raid/r11s.txt | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index 9c6b5f31ea..64fa889f7b 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -33,9 +33,9 @@ hideall "--sync--" 67.7 "--middle--" Ability { id: "B404", source: "The Tyrant" } 72.7 "Trophy Weapons" Ability { id: "B416", source: "The Tyrant" } 79.8 "Void Stardust" Ability { id: "B412", source: "The Tyrant" } -83.9 "Cometite" #Ability { id: "B413", source: "The Tyrant" } -85.9 "Cometite" #Ability { id: "B413", source: "The Tyrant" } -87.9 "Cometite" #Ability { id: "B413", source: "The Tyrant" } +83.9 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } +85.9 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } +87.9 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } 89.9 "Comet/Crushing Comet" Ability { id: ["B414", "B415"], source: "The Tyrant" } 92.7 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } 92.9 "--jump axe--" Ability { id: "B543", source: "The Tyrant" } @@ -47,22 +47,22 @@ hideall "--sync--" 103.1 "--jump scythe--" Ability { id: "B544", source: "The Tyrant" } 105.0 "Sweeping Victory" #Ability { id: "B41C", source: "The Tyrant" } 105.1 "Assault Evolved (scythe)" Ability { id: "B419", source: "The Tyrant" } -110.2 "Cometite" #Ability { id: "B413", source: "The Tyrant" } -112.2 "Cometite" #Ability { id: "B413", source: "The Tyrant" } -114.2 "Cometite" #Ability { id: "B413", source: "The Tyrant" } +110.2 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } +112.2 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } +114.2 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } 116.2 "Crushing Comet/Comet" Ability { id: ["B415", "B414"], source: "The Tyrant" } 122.2 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } # Dance of Domination 130.4 "--middle--" Ability { id: "B404", source: "The Tyrant" } 134.6 "Dance of Domination Trophy" Ability { id: "B7BB", source: "The Tyrant" } -141.3 "Dance of Domination" Ability { id: "B41F", source: "The Tyrant" } -142.0 "Dance of Domination" #Ability { id: "B421", source: "The Tyrant" } -142.6 "Dance of Domination" #Ability { id: "B421", source: "The Tyrant" } -143.2 "Dance of Domination" #Ability { id: "B421", source: "The Tyrant" } -143.8 "Dance of Domination" #Ability { id: "B421", source: "The Tyrant" } -144.4 "Dance of Domination" #Ability { id: "B421", source: "The Tyrant" } -145.5 "Dance of Domination" Ability { id: "B7EA", source: "The Tyrant" } +141.3 "Dance of Domination 1" Ability { id: "B41F", source: "The Tyrant" } +142.0 "Dance of Domination 2" #Ability { id: "B421", source: "The Tyrant" } +142.6 "Dance of Domination 3" #Ability { id: "B421", source: "The Tyrant" } +143.2 "Dance of Domination 4" #Ability { id: "B421", source: "The Tyrant" } +143.8 "Dance of Domination 5" #Ability { id: "B421", source: "The Tyrant" } +144.4 "Dance of Domination 6" #Ability { id: "B421", source: "The Tyrant" } +145.5 "Dance of Domination 7" Ability { id: "B7EA", source: "The Tyrant" } 150.5 "Eye of the Hurricane" Ability { id: "B424", source: "The Tyrant" } 150.7 "Explosion" Ability { id: "B420", source: "The Tyrant" } 151.1 "Explosion" Ability { id: "B7BC", source: "The Tyrant" } @@ -358,4 +358,4 @@ hideall "--sync--" # B7EA Dance of Domination # B7ED Ultimate Trophy Weapons # B7EE Assault Apex -# BA90 Flatliner \ No newline at end of file +# BA90 Flatliner From f81426bee7dcdda73d29bf53bbec455ce7ff36bf Mon Sep 17 00:00:00 2001 From: Legends0 Date: Mon, 12 Jan 2026 17:21:27 -0500 Subject: [PATCH 05/75] add duration for DoD bigAoe --- ui/raidboss/data/07-dt/raid/r11s.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index bfa0c0a1ab..f6d05944b5 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -265,6 +265,7 @@ const triggerSet: TriggerSet = { id: 'R11S Dance Of Domination Trophy', type: 'StartsUsing', netRegex: { id: 'B7BB', source: 'The Tyrant', capture: false }, + durationSeconds: 10.9, response: Responses.bigAoe(), }, { From f34872d87e44fd8d56e98d1a181afe0d0b864500 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Tue, 13 Jan 2026 00:51:22 -0500 Subject: [PATCH 06/75] add Majestic Meteowrath Tethers --- ui/raidboss/data/07-dt/raid/r11s.ts | 58 ++++++++++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index f6d05944b5..4f935d3c19 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -1,13 +1,14 @@ import Conditions from '../../../../../resources/conditions'; import { UnreachableCode } from '../../../../../resources/not_reached'; import Outputs from '../../../../../resources/outputs'; +import { callOverlayHandler } from '../../../../../resources/overlay_plugin_api'; import { Responses } from '../../../../../resources/responses'; import { DirectionOutputCardinal, Directions } from '../../../../../resources/util'; import ZoneId from '../../../../../resources/zone_id'; import { RaidbossData } from '../../../../../types/data'; import { TriggerSet } from '../../../../../types/trigger'; -type Phase = 'one' | 'arenaSplit'; +type Phase = 'one' | 'arenaSplit' | 'ecliptic'; export interface Data extends RaidbossData { phase: Phase; @@ -27,6 +28,7 @@ export interface Data extends RaidbossData { hasMeteor: boolean; fireballCount: number; hasAtomic: boolean; + meteowrathTetherDirNum?: number; heartbreakerCount: number; } @@ -37,6 +39,7 @@ const center = { const phaseMap: { [id: string]: Phase } = { 'B43F': 'arenaSplit', // Flatliner + 'B452': 'ecliptic', // Ecliptic Stampede }; const headMarkerData = { @@ -592,6 +595,59 @@ const triggerSet: TriggerSet = { suppressSeconds: 1, response: Responses.getTowers(), }, + { + id: 'R11S Majestic Meteowrath Tethers', + type: 'Tether', + netRegex: { id: [headMarkerData.closeTether, headMarkerData.farTether], capture: true }, + condition: (data, matches) => { + if ( + data.me === matches.target && + data.phase === 'ecliptic' && + data.meteowrathTetherDirNum === undefined + ) + return true; + return false; + }, + suppressSeconds: 99, + promise: async (data, matches) => { + const actors = (await callOverlayHandler({ + call: 'getCombatants', + ids: [parseInt(matches.sourceId, 16)], + })).combatants; + const actor = actors[0]; + if (actors.length !== 1 || actor === undefined) { + console.error( + `R11S Majestic Meteowrath Tethers: Wrong actor count ${actors.length}`, + ); + return; + } + + const dirNum = Directions.xyTo8DirNum(actor.PosX, actor.PosY, center.x, center.y); + data.meteowrathTetherDirNum = dirNum; + }, + infoText: (data, matches, output) => { + if (data.meteowrathTetherDirNum === undefined) + return; + type dirNumStretchMap = { + [key: number]: string; + }; + // TODO: Make config for options? + const stretchCW: dirNumStretchMap = { + 0: 'dirSW', + 2: 'dirNW', + 4: 'dirNE', + 6: 'dirSE', + }; + const stretchDir = stretchCW[data.meteowrathTetherDirNum]; + return output.stretchTetherDir!({ dir: output[stretchDir ?? '???']!() }); + }, + outputStrings: { + ...Directions.outputStrings8Dir, + stretchTetherDir: { + en: 'Stretch Tether ${dir}', + }, + }, + }, { id: 'R11S Two-way Fireball', type: 'StartsUsing', From 0b0185b96a2e7c79d4ce0fcd8601d6e82e9959be Mon Sep 17 00:00:00 2001 From: Legends0 Date: Tue, 13 Jan 2026 00:58:12 -0500 Subject: [PATCH 07/75] remove unused matches --- ui/raidboss/data/07-dt/raid/r11s.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 4f935d3c19..91d67c482c 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -625,7 +625,7 @@ const triggerSet: TriggerSet = { const dirNum = Directions.xyTo8DirNum(actor.PosX, actor.PosY, center.x, center.y); data.meteowrathTetherDirNum = dirNum; }, - infoText: (data, matches, output) => { + infoText: (data, _matches, output) => { if (data.meteowrathTetherDirNum === undefined) return; type dirNumStretchMap = { From 90cb7f97d2649b23d84c87bf604369f992879013 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Tue, 13 Jan 2026 18:56:25 -0500 Subject: [PATCH 08/75] fix for out of order log lines Co-authored-by: valarnin --- ui/raidboss/data/07-dt/raid/r11s.ts | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 91d67c482c..2ad8f093dd 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -182,7 +182,19 @@ const triggerSet: TriggerSet = { type: 'ActorControlExtra', netRegex: { category: '0197', param1: ['11D1', '11D2', '11D3'], capture: true }, condition: (data) => data.weaponMechCount < 2, - preRun: (data, matches) => { + delaySeconds: (data) => { + if (data.weaponMechCount === 0) + return 0.1; + if (data.weaponMechCount === 1) + return 10.6; + return 0.1; + }, + durationSeconds: (data) => { + if (data.weaponMechCount < 2) + return 20.9; + return 0; + }, + infoText: (data, matches, output) => { const actor = data.actorPositions[matches.id]; if (actor === undefined) @@ -196,20 +208,6 @@ const triggerSet: TriggerSet = { dir: Math.atan2(actor.x - center.x, actor.y - center.y), actor: actor, }); - }, - delaySeconds: (data) => { - if (data.weaponMechCount === 0) - return 0; - if (data.weaponMechCount === 1) - return 10.6; - return 0; - }, - durationSeconds: (data) => { - if (data.weaponMechCount < 2) - return 20.9; - return 0; - }, - infoText: (data, _matches, output) => { // Have info for 1st or 2nd mech if (data.weaponMechCount < 2 && data.weapons.length > 2) { data.weaponMechCount++; From a555b5f32ac9b82e0ba26175ebdfe1deec6f3566 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Wed, 14 Jan 2026 19:05:34 -0500 Subject: [PATCH 09/75] cones => cleaves, add axe tank mech to the output Using existing phrasing where applicable. --- ui/raidboss/data/07-dt/raid/r11s.ts | 51 +++++++++++++++++++++++++++-- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 2ad8f093dd..41808a83c4 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -129,16 +129,61 @@ const triggerSet: TriggerSet = { id: 'R11S Raw Steel Trophy Axe', type: 'StartsUsing', netRegex: { id: 'B422', capture: false }, - response: Responses.spread(), + infoText: (data, _matches, output) => { + return output.text!({ + party: output.partySpread!(), + tank: output.sharedTankStack!(), + }); + }, + outputStrings: { + partySpread: { + en: 'Party Spread', + }, + sharedTankStack: { + en: 'Tank Stack', + de: 'Tanks Sammeln', + fr: 'Package Tanks', + ja: 'タンク頭割り', + cn: '坦克分摊', + ko: '탱끼리 모이기', + tc: '坦克分攤', + }, + text: { + en: '${party}/${tank}', + }, + }, }, { id: 'R11S Raw Steel Trophy Scythe', type: 'StartsUsing', netRegex: { id: 'B423', capture: false }, - infoText: (_data, _matches, output) => output.text!(), + infoText: (_data, _matches, output) => { + return output.text!({ + party: output.partyStack!(), + tank: output.tankCleaves!(), + }); + }, outputStrings: { + partyStack: { + en: 'Party Stack', + de: 'In der Gruppe sammeln', + fr: 'Package en groupe', + ja: 'あたまわり', + cn: '分摊', + ko: '쉐어', + tc: '分攤', + }, + tankCleaves: { + en: 'Tank Cleaves', + de: 'Tank Cleaves', + fr: 'Tank Cleaves', + ja: 'タンク前方攻撃', + cn: '坦克顺劈', + ko: '광역 탱버', + tc: '坦克順劈', + }, text: { - en: 'Party Stack/Tank Cones', + en: '${party}/${tank}', }, }, }, From 0518bea05261911cff89cf0424f3b273146d1c1c Mon Sep 17 00:00:00 2001 From: Legends0 Date: Wed, 14 Jan 2026 19:08:54 -0500 Subject: [PATCH 10/75] remove unused data --- ui/raidboss/data/07-dt/raid/r11s.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 41808a83c4..c899493ec2 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -129,7 +129,7 @@ const triggerSet: TriggerSet = { id: 'R11S Raw Steel Trophy Axe', type: 'StartsUsing', netRegex: { id: 'B422', capture: false }, - infoText: (data, _matches, output) => { + infoText: (_data, _matches, output) => { return output.text!({ party: output.partySpread!(), tank: output.sharedTankStack!(), From c474ec7558bfd63f25fdd2a81ed7d29df9a32d4b Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 15 Jan 2026 18:02:05 -0500 Subject: [PATCH 11/75] additional info for dance of domination aoes --- ui/raidboss/data/07-dt/raid/r11s.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index c899493ec2..3d3a773deb 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -311,8 +311,20 @@ const triggerSet: TriggerSet = { id: 'R11S Dance Of Domination Trophy', type: 'StartsUsing', netRegex: { id: 'B7BB', source: 'The Tyrant', capture: false }, - durationSeconds: 10.9, - response: Responses.bigAoe(), + durationSeconds: 7, // 10.9s overall + infoText: (_data, _matches, output) => output.text!(), + outputStrings: { + text: { + en: 'AoE x6 => Big AoE', + }, + }, + }, + { + id: 'R11S Dance Of Domination Trophy Big AoE', + type: 'StartsUsing', + netRegex: { id: 'B7BB', source: 'The Tyrant', capture: false }, + delaySeconds: 3.9, // This gives a 7s warning + response: Responses.bigAoe('alert'), }, { // Adapted from normal mode From 55c05e491fbd94de37a329c9e2ded16fc8abfacf Mon Sep 17 00:00:00 2001 From: Legends0 Date: Fri, 16 Jan 2026 20:43:39 -0500 Subject: [PATCH 12/75] +2 delay on the bigAoe, adjust durations --- ui/raidboss/data/07-dt/raid/r11s.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 3d3a773deb..813344e96b 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -309,9 +309,10 @@ const triggerSet: TriggerSet = { }, { id: 'R11S Dance Of Domination Trophy', + // 2s cast, but B41F damage cast (0.5s) starts ~6s later. type: 'StartsUsing', netRegex: { id: 'B7BB', source: 'The Tyrant', capture: false }, - durationSeconds: 7, // 10.9s overall + durationSeconds: 5.9, // 12.9s from B7BB to bigAoe B7EA infoText: (_data, _matches, output) => output.text!(), outputStrings: { text: { @@ -323,7 +324,8 @@ const triggerSet: TriggerSet = { id: 'R11S Dance Of Domination Trophy Big AoE', type: 'StartsUsing', netRegex: { id: 'B7BB', source: 'The Tyrant', capture: false }, - delaySeconds: 3.9, // This gives a 7s warning + delaySeconds: 5.9, // This gives a 7s warning + durationSeconds: 7, response: Responses.bigAoe('alert'), }, { From f7d9bc93db451f71325922a74a304c9341bffbc7 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Fri, 16 Jan 2026 20:45:47 -0500 Subject: [PATCH 13/75] move comment --- ui/raidboss/data/07-dt/raid/r11s.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 813344e96b..426a1524cc 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -312,7 +312,7 @@ const triggerSet: TriggerSet = { // 2s cast, but B41F damage cast (0.5s) starts ~6s later. type: 'StartsUsing', netRegex: { id: 'B7BB', source: 'The Tyrant', capture: false }, - durationSeconds: 5.9, // 12.9s from B7BB to bigAoe B7EA + durationSeconds: 5.9, infoText: (_data, _matches, output) => output.text!(), outputStrings: { text: { @@ -322,6 +322,7 @@ const triggerSet: TriggerSet = { }, { id: 'R11S Dance Of Domination Trophy Big AoE', + // There are 12.9s from B7BB startsUsing to bigAoe B7EA Ability type: 'StartsUsing', netRegex: { id: 'B7BB', source: 'The Tyrant', capture: false }, delaySeconds: 5.9, // This gives a 7s warning From c73935a57e3836580406324643ed8b881b65bdf9 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Fri, 16 Jan 2026 21:07:45 -0500 Subject: [PATCH 14/75] further adjustments to DoD --- ui/raidboss/data/07-dt/raid/r11s.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 426a1524cc..7d969b6642 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -312,7 +312,8 @@ const triggerSet: TriggerSet = { // 2s cast, but B41F damage cast (0.5s) starts ~6s later. type: 'StartsUsing', netRegex: { id: 'B7BB', source: 'The Tyrant', capture: false }, - durationSeconds: 5.9, + delaySeconds: 3.7, // 5s before AoEs start + durationSeconds: 5, infoText: (_data, _matches, output) => output.text!(), outputStrings: { text: { @@ -325,8 +326,8 @@ const triggerSet: TriggerSet = { // There are 12.9s from B7BB startsUsing to bigAoe B7EA Ability type: 'StartsUsing', netRegex: { id: 'B7BB', source: 'The Tyrant', capture: false }, - delaySeconds: 5.9, // This gives a 7s warning - durationSeconds: 7, + delaySeconds: 8.7, // Around the first hit (B41F) + durationSeconds: 4.2, response: Responses.bigAoe('alert'), }, { From eea606551444213c2225d34fd47da7ac63ab588f Mon Sep 17 00:00:00 2001 From: Legends0 Date: Fri, 16 Jan 2026 22:01:11 -0500 Subject: [PATCH 15/75] add duration to One and Only --- ui/raidboss/data/07-dt/raid/r11s.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 7d969b6642..710fc97abc 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -407,6 +407,7 @@ const triggerSet: TriggerSet = { id: 'R11S One and Only', type: 'StartsUsing', netRegex: { id: 'B429', source: 'The Tyrant', capture: false }, + durationSeconds: 6, response: Responses.bigAoe(), }, { From ef814cff766fbdd38c51d3477f81e1fa21d3f680 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Sat, 17 Jan 2026 00:37:00 -0500 Subject: [PATCH 16/75] add Void Stardust 1st baitPuddles, remove DoD bigAoe --- ui/raidboss/data/07-dt/raid/r11s.ts | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 710fc97abc..472a3fb74e 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -294,6 +294,21 @@ const triggerSet: TriggerSet = { protean: Outputs.protean, }, }, + { + id: 'R11S Void Stardust', + type: 'StartsUsing', + netRegex: { id: 'B412', source: 'The Tyrant', capture: false }, + infoText: (_data, _matches, output) => output.baitPuddles!(), + outputStrings: { + baitPuddles: { + en: 'Bait 3x puddles', + de: 'Ködere Flächen x3', + fr: 'Déposez les flaques 3x', + cn: '诱导3次圈圈', + ko: '장판 유도 3x', + }, + }, + }, { id: 'R11S Comet Spread', type: 'HeadMarker', @@ -310,6 +325,7 @@ const triggerSet: TriggerSet = { { id: 'R11S Dance Of Domination Trophy', // 2s cast, but B41F damage cast (0.5s) starts ~6s later. + // There are 12.9s from B7BB startsUsing to bigAoe B7EA Ability type: 'StartsUsing', netRegex: { id: 'B7BB', source: 'The Tyrant', capture: false }, delaySeconds: 3.7, // 5s before AoEs start @@ -322,8 +338,7 @@ const triggerSet: TriggerSet = { }, }, { - id: 'R11S Dance Of Domination Trophy Big AoE', - // There are 12.9s from B7BB startsUsing to bigAoe B7EA Ability + type: 'StartsUsing', netRegex: { id: 'B7BB', source: 'The Tyrant', capture: false }, delaySeconds: 8.7, // Around the first hit (B41F) From 293ce27c6ba9331b61acc441104ac7a4151f231a Mon Sep 17 00:00:00 2001 From: Legends0 Date: Sat, 17 Jan 2026 00:51:50 -0500 Subject: [PATCH 17/75] add Void Stardust End trigger for bait => stack/spread --- ui/raidboss/data/07-dt/raid/r11s.ts | 33 +++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 472a3fb74e..39751b1722 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -19,6 +19,7 @@ export interface Data extends RaidbossData { dir: number; actor: { x: number; y: number; heading: number }; }[]; + voidStardust?: 'spread' | 'stack'; weaponMechCount: number; domDirectionCount: { vertCount: number; @@ -82,6 +83,25 @@ const triggerSet: TriggerSet = { heartbreakerCount: 0, }), timelineTriggers: [ + { + id: 'R11S Void Stardust End', + regex: /^Crushing Comet/, + beforeSeconds: 11.1, + infoText: (data, _matches, output) => { + if (data.voidStardust === 'spread') + return output.baitPuddlesThenStack!(); + if (data.voidStardust === 'stack') + return output.baitPuddlesThenSpread!(); + }, + outputStrings: { + baitPuddlesThenStack: { + en: 'Bait 3x Puddles => Stack', + }, + baitPuddlesThenSpread: { + en: 'Bait 3x Puddles => Spread', + }, + }, + }, { id: 'R11S Powerful Gust', regex: /Powerful Gust/, @@ -309,6 +329,13 @@ const triggerSet: TriggerSet = { }, }, }, + { + id: 'R11S Comet Spread Collect', + type: 'HeadMarker', + netRegex: { id: headMarkerData['cometSpread'], capture: false }, + suppressSeconds: 1, + run: (data) => data.voidStardust = 'spread', + }, { id: 'R11S Comet Spread', type: 'HeadMarker', @@ -316,6 +343,12 @@ const triggerSet: TriggerSet = { condition: Conditions.targetIsYou(), response: Responses.spread(), }, + { + id: 'R11S Crushing Comet Collect', + type: 'StartsUsing', + netRegex: { id: 'B415', source: 'The Tyrant', capture: false }, + run: (data) => data.voidStardust = 'stack', + }, { id: 'R11S Crushing Comet', type: 'StartsUsing', From 73de66192bb667c7bbf369639915d92d9c30be6d Mon Sep 17 00:00:00 2001 From: Legends0 Date: Sat, 17 Jan 2026 00:53:10 -0500 Subject: [PATCH 18/75] cut error --- ui/raidboss/data/07-dt/raid/r11s.ts | 8 -------- 1 file changed, 8 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 39751b1722..226ef0f2bd 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -370,14 +370,6 @@ const triggerSet: TriggerSet = { }, }, }, - { - - type: 'StartsUsing', - netRegex: { id: 'B7BB', source: 'The Tyrant', capture: false }, - delaySeconds: 8.7, // Around the first hit (B41F) - durationSeconds: 4.2, - response: Responses.bigAoe('alert'), - }, { // Adapted from normal mode id: 'R11S Dance Of Domination Trophy Safe Spots', From d5daada61e4f80a9e74f168235064f0a7a1a85dc Mon Sep 17 00:00:00 2001 From: Legends0 Date: Sat, 17 Jan 2026 01:29:29 -0500 Subject: [PATCH 19/75] add suppress due to sync back --- ui/raidboss/data/07-dt/raid/r11s.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 226ef0f2bd..186565ae08 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -87,6 +87,7 @@ const triggerSet: TriggerSet = { id: 'R11S Void Stardust End', regex: /^Crushing Comet/, beforeSeconds: 11.1, + suppressSeconds: 3, infoText: (data, _matches, output) => { if (data.voidStardust === 'spread') return output.baitPuddlesThenStack!(); From 86a5b36d2c218c3f2f35f16c2d267f7b36b2cc2a Mon Sep 17 00:00:00 2001 From: Legends0 Date: Sat, 17 Jan 2026 23:56:52 -0500 Subject: [PATCH 20/75] add Maelstrom related triggers and remove timelinetrigger --- ui/raidboss/data/07-dt/raid/r11s.ts | 55 ++++++++++++++++++++++------- 1 file changed, 42 insertions(+), 13 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 186565ae08..9e3f59e1f2 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -26,6 +26,7 @@ export interface Data extends RaidbossData { horizCount: number; outerSafe: DirectionOutputCardinal[]; }; + maelstromCount: number; hasMeteor: boolean; fireballCount: number; hasAtomic: boolean; @@ -77,6 +78,7 @@ const triggerSet: TriggerSet = { vertCount: 0, outerSafe: ['dirN', 'dirE', 'dirS', 'dirW'], }, + maelstromCount: 0, hasMeteor: false, fireballCount: 0, hasAtomic: false, @@ -103,17 +105,6 @@ const triggerSet: TriggerSet = { }, }, }, - { - id: 'R11S Powerful Gust', - regex: /Powerful Gust/, - beforeSeconds: 6.3, - alertText: (_data, _matches, output) => output.text!(), - outputStrings: { - text: { - en: 'Bait Gust', - }, - }, - }, ], triggers: [ { @@ -229,11 +220,14 @@ const triggerSet: TriggerSet = { return 8.7; return 5; }, - infoText: (_data, matches, output) => { + infoText: (data, matches, output) => { const mechanic = matches.param1 === '11D1' ? 'healerGroups' : (matches.param1 === '11D2' ? 'stack' : 'protean'); - + if (data.weaponMechCount === 7) + return output.mechanicThenBait!({ mech: output[mechanic]!(), bait: output.bait!() }); + if (data.weaponMechCount > 3) + return output.mechanicThenMove!({ mech: output[mechanic]!(), move: output.move!() }); return output[mechanic]!(); }, run: (data) => data.weaponMechCount++, @@ -241,6 +235,16 @@ const triggerSet: TriggerSet = { healerGroups: Outputs.healerGroups, stack: Outputs.stackMiddle, protean: Outputs.protean, + move: Outputs.moveAway, + bait: { + en: 'Bait Gust', + }, + mechanicThenMove: { + en: '${mech} => ${move}', + }, + mechanicThenBait: { + en: '${mech} => ${bait}', + }, }, }, { @@ -444,6 +448,31 @@ const triggerSet: TriggerSet = { netRegex: { id: 'B425', source: 'The Tyrant', capture: false }, response: Responses.hpTo1Aoe(), }, + { + id: 'R11S Maelstrom Count', + type: 'AddedCombatant', + netRegex: { name: 'Maelstrom', capture: false }, + run: (data) => data.maelstromCount = data.maelstromCount + 1, + }, + { + id: 'R11S Maelstrom 3 Reminder', + type: 'AddedCombatant', + netRegex: { name: 'Maelstrom', capture: false }, + condition: (data) => data.maelstromCount === 3, + response: Responses.moveAway(), + }, + { + id: 'R11S Powerful Gust Reminder', + type: 'AddedCombatant', + netRegex: { name: 'Maelstrom', capture: false }, + condition: (data) => data.maelstromCount === 4, + infoText: (data, _matches, output) => output.bait!(), + outputStrings: { + bait: { + en: 'Bait Gust', + }, + }, + }, { id: 'R11S One and Only', type: 'StartsUsing', From be99d3e0e2e8c9d5b75055a471fbb4726fba0480 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Sun, 18 Jan 2026 00:02:47 -0500 Subject: [PATCH 21/75] lint + add comment --- ui/raidboss/data/07-dt/raid/r11s.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 9e3f59e1f2..6fcd755261 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -87,6 +87,8 @@ const triggerSet: TriggerSet = { timelineTriggers: [ { id: 'R11S Void Stardust End', + // The second set of Crushing Comet/Comet does not have a related startsUsing cast + // Timing is on the last Assault Evolved regex: /^Crushing Comet/, beforeSeconds: 11.1, suppressSeconds: 3, @@ -466,7 +468,7 @@ const triggerSet: TriggerSet = { type: 'AddedCombatant', netRegex: { name: 'Maelstrom', capture: false }, condition: (data) => data.maelstromCount === 4, - infoText: (data, _matches, output) => output.bait!(), + infoText: (_data, _matches, output) => output.bait!(), outputStrings: { bait: { en: 'Bait Gust', From 661595e4c5ffe74ee904ed016d8c88d777763896 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Sun, 18 Jan 2026 15:21:50 -0500 Subject: [PATCH 22/75] convert void stardust timelinetrigger to trigger --- ui/raidboss/data/07-dt/raid/r11s.ts | 58 +++++++++++++++++------------ 1 file changed, 34 insertions(+), 24 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 6fcd755261..1de39361f3 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -20,6 +20,7 @@ export interface Data extends RaidbossData { actor: { x: number; y: number; heading: number }; }[]; voidStardust?: 'spread' | 'stack'; + assaultEvolvedCount: number; weaponMechCount: number; domDirectionCount: { vertCount: number; @@ -78,36 +79,14 @@ const triggerSet: TriggerSet = { vertCount: 0, outerSafe: ['dirN', 'dirE', 'dirS', 'dirW'], }, + assaultEvolvedCount: 0, maelstromCount: 0, hasMeteor: false, fireballCount: 0, hasAtomic: false, heartbreakerCount: 0, }), - timelineTriggers: [ - { - id: 'R11S Void Stardust End', - // The second set of Crushing Comet/Comet does not have a related startsUsing cast - // Timing is on the last Assault Evolved - regex: /^Crushing Comet/, - beforeSeconds: 11.1, - suppressSeconds: 3, - infoText: (data, _matches, output) => { - if (data.voidStardust === 'spread') - return output.baitPuddlesThenStack!(); - if (data.voidStardust === 'stack') - return output.baitPuddlesThenSpread!(); - }, - outputStrings: { - baitPuddlesThenStack: { - en: 'Bait 3x Puddles => Stack', - }, - baitPuddlesThenSpread: { - en: 'Bait 3x Puddles => Spread', - }, - }, - }, - ], + timelineTriggers: [], triggers: [ { id: 'R11S Phase Tracker', @@ -377,6 +356,37 @@ const triggerSet: TriggerSet = { }, }, }, + { + id: 'R11S Void Stardust End', + // The second set of comets does not have a startsUsing cast + // Timing is on the last Assault Evolved + type: 'StartsUsing', + netRegex: { id: ['B418', 'B419', 'B41A'], source: 'The Tyrant', capture: true }, + condition: (data) => { + if (data.voidStardust !== undefined) { + data.assaultEvolvedCount = data.assaultEvolvedCount + 1; + if (data.assaultEvolvedCount === 3) + return true; + } + return false; + }, + delaySeconds: (_data, matches) => parseFloat(matches.castTime), + suppressSeconds: 1, + infoText: (data, _matches, output) => { + if (data.voidStardust === 'spread') + return output.baitPuddlesThenStack!(); + if (data.voidStardust === 'stack') + return output.baitPuddlesThenSpread!(); + }, + outputStrings: { + baitPuddlesThenStack: { + en: 'Bait 3x Puddles => Stack', + }, + baitPuddlesThenSpread: { + en: 'Bait 3x Puddles => Spread', + }, + }, + }, { // Adapted from normal mode id: 'R11S Dance Of Domination Trophy Safe Spots', From 853740433f2037abc11e2af04f41c8105f3de79c Mon Sep 17 00:00:00 2001 From: Legends0 Date: Sun, 18 Jan 2026 15:59:31 -0500 Subject: [PATCH 23/75] remove unncessary assert --- ui/raidboss/data/07-dt/raid/r11s.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 1de39361f3..a57c1352d8 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -63,7 +63,6 @@ const headMarkerData = { 'closeTether': '0039', 'farTether': '00F9', } as const; -console.assert(headMarkerData); const triggerSet: TriggerSet = { id: 'AacHeavyweightM3Savage', From 151e8e67561c8ba81cf07a0dc64f7e67f08fb06e Mon Sep 17 00:00:00 2001 From: Legends0 Date: Mon, 19 Jan 2026 22:35:41 -0500 Subject: [PATCH 24/75] pluralize tank stack Co-authored-by: valarnin --- ui/raidboss/data/07-dt/raid/r11s.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index a57c1352d8..a1650ec1a9 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -132,7 +132,7 @@ const triggerSet: TriggerSet = { en: 'Party Spread', }, sharedTankStack: { - en: 'Tank Stack', + en: 'Tanks Stack', de: 'Tanks Sammeln', fr: 'Package Tanks', ja: 'タンク頭割り', From cd89f6c2f7affe5cb364c6b0e9078dc8457f4785 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Mon, 19 Jan 2026 22:37:52 -0500 Subject: [PATCH 25/75] rework condition code Co-authored-by: valarnin --- ui/raidboss/data/07-dt/raid/r11s.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index a1650ec1a9..bec59ba378 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -362,11 +362,11 @@ const triggerSet: TriggerSet = { type: 'StartsUsing', netRegex: { id: ['B418', 'B419', 'B41A'], source: 'The Tyrant', capture: true }, condition: (data) => { - if (data.voidStardust !== undefined) { - data.assaultEvolvedCount = data.assaultEvolvedCount + 1; - if (data.assaultEvolvedCount === 3) - return true; - } + if (data.voidStardust === undefined) + return false; + data.assaultEvolvedCount++; + if (data.assaultEvolvedCount === 3) + return true; return false; }, delaySeconds: (_data, matches) => parseFloat(matches.castTime), From dbd0b66693e25598c13c78fa8ec3c9cf036756f6 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Mon, 19 Jan 2026 22:39:40 -0500 Subject: [PATCH 26/75] refactor domination prerun Co-authored-by: valarnin --- ui/raidboss/data/07-dt/raid/r11s.ts | 46 +++++++++++++---------------- 1 file changed, 20 insertions(+), 26 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index bec59ba378..666ecfa9ed 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -396,33 +396,27 @@ const triggerSet: TriggerSet = { // Determine whether the AoE is orthogonal or diagonal // Discard diagonal headings, then count orthogonals. const headingDirNum = Directions.hdgTo8DirNum(parseFloat(matches.heading)); - if (headingDirNum % 2 === 0) { - const isVert = headingDirNum % 4 === 0; - const isHoriz = headingDirNum % 4 === 2; - if (isVert) { - data.domDirectionCount.vertCount += 1; - if (parseFloat(matches.x) < center.x - 5) - data.domDirectionCount.outerSafe = data.domDirectionCount.outerSafe.filter((dir) => - dir !== 'dirW' - ); - else if (parseFloat(matches.x) > center.x + 5) - data.domDirectionCount.outerSafe = data.domDirectionCount.outerSafe.filter((dir) => - dir !== 'dirE' - ); - } else if (isHoriz) { - data.domDirectionCount.horizCount += 1; - if (parseFloat(matches.y) < center.y - 5) - data.domDirectionCount.outerSafe = data.domDirectionCount.outerSafe.filter((dir) => - dir !== 'dirN' - ); - else if (parseFloat(matches.y) > center.y + 5) - data.domDirectionCount.outerSafe = data.domDirectionCount.outerSafe.filter((dir) => - dir !== 'dirS' - ); - } else { - console.error(`Bad Domination heading data: ${matches.heading}`); - } + if (headingDirNum % 2 !== 0) + return; + const isVert = headingDirNum % 4 === 0; + let dangerDir: DirectionOutputCardinal | undefined = undefined; + if (isVert) { + data.domDirectionCount.vertCount += 1; + if (parseFloat(matches.x) < center.x - 5) + dangerDir = 'dirW'; + else if (parseFloat(matches.x) > center.x + 5) + dangerDir = 'dirE'; + } else { + data.domDirectionCount.horizCount += 1; + if (parseFloat(matches.y) < center.y - 5) + dangerDir = 'dirN'; + else if (parseFloat(matches.y) > center.y + 5) + dangerDir = 'dirS'; } + if (dangerDir !== undefined) + data.domDirectionCount.outerSafe = data.domDirectionCount.outerSafe.filter((dir) => + dir !== dangerDir + ); }, infoText: (data, _matches, output) => { if (data.domDirectionCount.outerSafe.length !== 1) From ee05801e83ccda6dffb931f5ed8b027b8580473a Mon Sep 17 00:00:00 2001 From: Legends0 Date: Tue, 20 Jan 2026 18:47:47 -0500 Subject: [PATCH 27/75] replace promise with existing ActorSetPos collector --- ui/raidboss/data/07-dt/raid/r11s.ts | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 666ecfa9ed..0082fc2175 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -31,7 +31,6 @@ export interface Data extends RaidbossData { hasMeteor: boolean; fireballCount: number; hasAtomic: boolean; - meteowrathTetherDirNum?: number; heartbreakerCount: number; } @@ -737,32 +736,21 @@ const triggerSet: TriggerSet = { condition: (data, matches) => { if ( data.me === matches.target && - data.phase === 'ecliptic' && - data.meteowrathTetherDirNum === undefined + data.phase === 'ecliptic' ) return true; return false; }, suppressSeconds: 99, - promise: async (data, matches) => { - const actors = (await callOverlayHandler({ - call: 'getCombatants', - ids: [parseInt(matches.sourceId, 16)], - })).combatants; - const actor = actors[0]; - if (actors.length !== 1 || actor === undefined) { - console.error( - `R11S Majestic Meteowrath Tethers: Wrong actor count ${actors.length}`, - ); + infoText: (data, matches, output) => { + const actor = data.actorPositions[matches.sourceId]; + if (actor === undefined) return; - } - const dirNum = Directions.xyTo8DirNum(actor.PosX, actor.PosY, center.x, center.y); - data.meteowrathTetherDirNum = dirNum; - }, - infoText: (data, _matches, output) => { - if (data.meteowrathTetherDirNum === undefined) + const dirNum = Directions.xyTo8DirNum(actor.x, actor.y, center.x, center.y); + if (dirNum === undefined) return; + type dirNumStretchMap = { [key: number]: string; }; @@ -773,7 +761,7 @@ const triggerSet: TriggerSet = { 4: 'dirNE', 6: 'dirSE', }; - const stretchDir = stretchCW[data.meteowrathTetherDirNum]; + const stretchDir = stretchCW[dirNum]; return output.stretchTetherDir!({ dir: output[stretchDir ?? '???']!() }); }, outputStrings: { From 3ea1b158199d1174808445c183767cfcad375748 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Tue, 20 Jan 2026 18:49:06 -0500 Subject: [PATCH 28/75] remove unused overlayhandler --- ui/raidboss/data/07-dt/raid/r11s.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 0082fc2175..8fbc08d9be 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -1,7 +1,6 @@ import Conditions from '../../../../../resources/conditions'; import { UnreachableCode } from '../../../../../resources/not_reached'; import Outputs from '../../../../../resources/outputs'; -import { callOverlayHandler } from '../../../../../resources/overlay_plugin_api'; import { Responses } from '../../../../../resources/responses'; import { DirectionOutputCardinal, Directions } from '../../../../../resources/util'; import ZoneId from '../../../../../resources/zone_id'; From e556b93f7038854c86b7e206bd78d08a9a2650e3 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 22 Jan 2026 00:08:09 -0500 Subject: [PATCH 29/75] fix delays during ultimate trophy weapons --- ui/raidboss/data/07-dt/raid/r11s.ts | 45 +++++++++++++++++++++++------ 1 file changed, 36 insertions(+), 9 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 8fbc08d9be..d1f26b8c3e 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -9,6 +9,11 @@ import { TriggerSet } from '../../../../../types/trigger'; type Phase = 'one' | 'arenaSplit' | 'ecliptic'; +type WeaponInfo = { + delay: number; + duration: number; +}; + export interface Data extends RaidbossData { phase: Phase; actorPositions: { [id: string]: { x: number; y: number; heading: number } }; @@ -62,6 +67,34 @@ const headMarkerData = { 'farTether': '00F9', } as const; +const ultimateTrophyWeaponsMap: (WeaponInfo | undefined)[] = [ + undefined, undefined, + { + delay: 0, + duration: 8.7, + }, + { + delay: 4.7, + duration: 5.1, + }, + { + delay: 5.8, + duration: 5.1, + }, + { + delay: 6.9, + duration: 5.1, + }, + { + delay: 8, + duration: 5.1, + }, + { + delay: 9.1, + duration: 5.1, + }, +]; + const triggerSet: TriggerSet = { id: 'AacHeavyweightM3Savage', zoneId: ZoneId.AacHeavyweightM3Savage, @@ -184,19 +217,13 @@ const triggerSet: TriggerSet = { netRegex: { category: '0197', param1: ['11D1', '11D2', '11D3'], capture: true }, condition: (data) => data.weaponMechCount > 1, delaySeconds: (data) => { - if (data.weaponMechCount > 2) - return 3.7; - return 0; + return ultimateTrophyWeaponsMap[data.weaponMechCount]?.delay ?? 0; }, durationSeconds: (data) => { - if (data.weaponMechCount < 3) - return 8.7; - return 5; + return ultimateTrophyWeaponsMap[data.weaponMechCount]?.duration ?? 0; }, countdownSeconds: (data) => { - if (data.weaponMechCount < 3) - return 8.7; - return 5; + return ultimateTrophyWeaponsMap[data.weaponMechCount]?.duration ?? 0; }, infoText: (data, matches, output) => { const mechanic = matches.param1 === '11D1' From db664d638b815e3b41d6275a39019815ffdd6831 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 22 Jan 2026 00:10:17 -0500 Subject: [PATCH 30/75] lint --- ui/raidboss/data/07-dt/raid/r11s.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index d1f26b8c3e..15f624618d 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -68,7 +68,8 @@ const headMarkerData = { } as const; const ultimateTrophyWeaponsMap: (WeaponInfo | undefined)[] = [ - undefined, undefined, + undefined, + undefined, { delay: 0, duration: 8.7, From b65e92e7c74a863ff8c6dc60245fbe9f3c7792fa Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 22 Jan 2026 01:09:35 -0500 Subject: [PATCH 31/75] fix differing raw steel tank timings + branch I used the wrong spell id in one of the matches and didn't notice the 1.1s difference that B40B was the actual hit vs B40F. --- ui/raidboss/data/07-dt/raid/r11s.txt | 488 ++++++++++++++++----------- 1 file changed, 282 insertions(+), 206 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index 64fa889f7b..5dde978347 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -11,232 +11,308 @@ hideall "--sync--" 0.0 "--sync--" InCombat { inGameCombat: "1" } window 0,1 10.6 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } window 10,10 -17.7 "Raw Steel Trophy (Scythe/Axe)" Ability { id: ["B423", "B422"], source: "The Tyrant" } -24.0 "Raw Steel" Ability { id: ["B40F", "B40B"], source: "The Tyrant" } # Only tanks -25.1 "Heavy Hitter/Impact" #Ability { id: ["B410","B40C"], source: "The Tyrant" } # Only non-tanks -# Trophy Weapons 1 -33.1 "--middle--" Ability { id: "B404", source: "The Tyrant" } -38.4 "Trophy Weapons" Ability { id: "B416", source: "The Tyrant" } -48.2 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } -48.4 "--jump scythe--" Ability { id: "B544", source: "The Tyrant" } -50.3 "Sweeping Victory" Ability { id: "B41C", source: "The Tyrant" } -50.4 "Assault Evolved (scythe)" Ability { id: "B419", source: "The Tyrant" } -53.5 "--jump sword--" Ability { id: "B545", source: "The Tyrant" } -55.4 "Sharp Taste" Ability { id: "B41D", source: "The Tyrant" } -55.5 "Assault Evolved (sword)" Ability { id: "B41A", source: "The Tyrant" } -58.6 "--jump axe--" Ability { id: "B543", source: "The Tyrant" } -60.5 "Heavy Weight" Ability { id: "B41B", source: "The Tyrant" } -60.6 "Assault Evolved (axe)" Ability { id: "B418", source: "The Tyrant" } +15.7 "--sync--" StartsUsing { id: "B422", source: "The Tyrant" } jump "r11s-raw-steel-axe-1" +15.7 "--sync--" StartsUsing { id: "B423", source: "The Tyrant" } jump "r11s-raw-steel-scythe-1" +17.7 "Raw Steel Trophy (Scythe/Axe)" #Ability { id: ["B423", "B422"], source: "The Tyrant" } +24.0 "Raw Steel?" #Ability { id: "B40B", source: "The Tyrant" } # Only tanks +25.1 "Heavy Hitter/Impact x6" #Ability { id: ["B410", "B40C"], source: "The Tyrant" } # Only non-tanks +25.1 "Raw Steel x2?" #Ability { id: "B40F", source: "The Tyrant" } # Only tanks +33.1 "--middle--" #Ability { id: "B404", source: "The Tyrant" } +38.4 "Trophy Weapons" #Ability { id: "B416", source: "The Tyrant" } -# Trophy Weapons 2 -67.7 "--middle--" Ability { id: "B404", source: "The Tyrant" } -72.7 "Trophy Weapons" Ability { id: "B416", source: "The Tyrant" } -79.8 "Void Stardust" Ability { id: "B412", source: "The Tyrant" } -83.9 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } -85.9 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } -87.9 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } -89.9 "Comet/Crushing Comet" Ability { id: ["B414", "B415"], source: "The Tyrant" } -92.7 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } -92.9 "--jump axe--" Ability { id: "B543", source: "The Tyrant" } -94.8 "Heavy Weight" Ability { id: "B41B", source: "The Tyrant" } -94.9 "Assault Evolved (axe)" Ability { id: "B418", source: "The Tyrant" } -98.0 "--jump sword--" Ability { id: "B545", source: "The Tyrant" } -99.9 "Sharp Taste" Ability { id: "B41D", source: "The Tyrant" } -100.0 "Assault Evolved (sword)" Ability { id: "B41A", source: "The Tyrant" } -103.1 "--jump scythe--" Ability { id: "B544", source: "The Tyrant" } -105.0 "Sweeping Victory" #Ability { id: "B41C", source: "The Tyrant" } -105.1 "Assault Evolved (scythe)" Ability { id: "B419", source: "The Tyrant" } -110.2 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } -112.2 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } -114.2 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } -116.2 "Crushing Comet/Comet" Ability { id: ["B415", "B414"], source: "The Tyrant" } -122.2 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } +# Raw Steel Axe First +115.7 label "r11s-raw-steel-axe-1" +117.7 "Raw Steel Trophy Axe" Ability { id: "B422", source: "The Tyrant" } +124.0 "Raw Steel" Ability { id: "B40B", source: "The Tyrant" } # Only tanks +125.1 "Impact x6" Ability { id: "B40C", source: "The Tyrant" } # Only non-tanks +133.1 "--middle--" Ability { id: "B404", source: "The Tyrant" } +138.4 "Trophy Weapons" Ability { id: "B416", source: "The Tyrant" } +148.2 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } +148.4 "--jump scythe--" Ability { id: "B544", source: "The Tyrant" } +150.3 "Sweeping Victory" Ability { id: "B41C", source: "The Tyrant" } +150.4 "Assault Evolved (scythe)" Ability { id: "B419", source: "The Tyrant" } +153.5 "--jump sword--" Ability { id: "B545", source: "The Tyrant" } +155.4 "Sharp Taste" Ability { id: "B41D", source: "The Tyrant" } +155.5 "Assault Evolved (sword)" Ability { id: "B41A", source: "The Tyrant" } +158.6 "--jump axe--" Ability { id: "B543", source: "The Tyrant" } +160.5 "Heavy Weight" Ability { id: "B41B", source: "The Tyrant" } +160.6 "Assault Evolved (axe)" Ability { id: "B418", source: "The Tyrant" } -# Dance of Domination -130.4 "--middle--" Ability { id: "B404", source: "The Tyrant" } -134.6 "Dance of Domination Trophy" Ability { id: "B7BB", source: "The Tyrant" } -141.3 "Dance of Domination 1" Ability { id: "B41F", source: "The Tyrant" } -142.0 "Dance of Domination 2" #Ability { id: "B421", source: "The Tyrant" } -142.6 "Dance of Domination 3" #Ability { id: "B421", source: "The Tyrant" } -143.2 "Dance of Domination 4" #Ability { id: "B421", source: "The Tyrant" } -143.8 "Dance of Domination 5" #Ability { id: "B421", source: "The Tyrant" } -144.4 "Dance of Domination 6" #Ability { id: "B421", source: "The Tyrant" } -145.5 "Dance of Domination 7" Ability { id: "B7EA", source: "The Tyrant" } -150.5 "Eye of the Hurricane" Ability { id: "B424", source: "The Tyrant" } -150.7 "Explosion" Ability { id: "B420", source: "The Tyrant" } -151.1 "Explosion" Ability { id: "B7BC", source: "The Tyrant" } -156.4 "Raw Steel Trophy (Axe/Scythe)" Ability { id: ["B422", "B423"], source: "The Tyrant" } -163.8 "Raw Steel" Ability { id: ["B40F", "B40B"], source: "The Tyrant" } # Only tanks -163.8 "Impact/Heavy Hitter" #Ability { id: ["B40C","B410"], source: "The Tyrant" } # Only non-tanks +# Trophy Weapons 2 (Axe) +167.7 "--middle--" Ability { id: "B404", source: "The Tyrant" } +172.7 "Trophy Weapons" Ability { id: "B416", source: "The Tyrant" } +179.8 "Void Stardust" Ability { id: "B412", source: "The Tyrant" } +183.9 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } +185.9 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } +187.9 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } +189.9 "Comet/Crushing Comet" Ability { id: ["B414", "B415"], source: "The Tyrant" } +192.7 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } +192.9 "--jump axe--" Ability { id: "B543", source: "The Tyrant" } +194.8 "Heavy Weight" Ability { id: "B41B", source: "The Tyrant" } +194.9 "Assault Evolved (axe)" Ability { id: "B418", source: "The Tyrant" } +198.0 "--jump sword--" Ability { id: "B545", source: "The Tyrant" } +199.9 "Sharp Taste" Ability { id: "B41D", source: "The Tyrant" } +200.0 "Assault Evolved (sword)" Ability { id: "B41A", source: "The Tyrant" } +203.1 "--jump scythe--" Ability { id: "B544", source: "The Tyrant" } +205.0 "Sweeping Victory" #Ability { id: "B41C", source: "The Tyrant" } +205.1 "Assault Evolved (scythe)" Ability { id: "B419", source: "The Tyrant" } +210.2 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } +212.2 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } +214.2 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } +216.2 "Crushing Comet/Comet" Ability { id: ["B415", "B414"], source: "The Tyrant" } +222.2 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } + +# Dance of Domination (Axe) +230.4 "--middle--" Ability { id: "B404", source: "The Tyrant" } +234.6 "Dance of Domination Trophy" Ability { id: "B7BB", source: "The Tyrant" } +241.3 "Dance of Domination 1" Ability { id: "B41F", source: "The Tyrant" } +242.0 "Dance of Domination 2" #Ability { id: "B421", source: "The Tyrant" } +242.6 "Dance of Domination 3" #Ability { id: "B421", source: "The Tyrant" } +243.2 "Dance of Domination 4" #Ability { id: "B421", source: "The Tyrant" } +243.8 "Dance of Domination 5" #Ability { id: "B421", source: "The Tyrant" } +244.4 "Dance of Domination 6" #Ability { id: "B421", source: "The Tyrant" } +245.5 "Dance of Domination 7" Ability { id: "B7EA", source: "The Tyrant" } +250.5 "Eye of the Hurricane" Ability { id: "B424", source: "The Tyrant" } +250.7 "Explosion" Ability { id: "B420", source: "The Tyrant" } +251.1 "Explosion" Ability { id: "B7BC", source: "The Tyrant" } +256.4 "Raw Steel Trophy Scythe" Ability { id: "B423", source: "The Tyrant" } +263.8 "Heavy Hitter" Ability { id: "B410", source: "The Tyrant" } # Only non-tanks +263.8 "Raw Steel x2" #Ability { id: "B40F", source: "The Tyrant" } # Only tanks +271.8 "--middle--" Ability { id: "B404", source: "The Tyrant" } + +# Ultimate Trophy Weapons (Axe) +278.9 StartsUsing { id: "B425", source: "The Tyrant" } forcejump "r11s-charybdistopia" + +# Raw Steel Scythe First +1015.7 label "r11s-raw-steel-scythe-1" +1017.7 "Raw Steel Trophy Scythe" Ability { id: "B423", source: "The Tyrant" } +1025.1 "Heavy Hitter" Ability { id: "B410", source: "The Tyrant" } # Only non-tanks +1025.1 "Raw Steel x2" #Ability { id: "B40F", source: "The Tyrant" } # Only tanks +1033.1 "--middle--" Ability { id: "B404", source: "The Tyrant" } + +# Trophy Weapons 1 (Scythe) +1038.4 "Trophy Weapons" Ability { id: "B416", source: "The Tyrant" } +1048.2 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } +1048.4 "--jump scythe--" Ability { id: "B544", source: "The Tyrant" } +1050.3 "Sweeping Victory" Ability { id: "B41C", source: "The Tyrant" } +1050.4 "Assault Evolved (scythe)" Ability { id: "B419", source: "The Tyrant" } +1053.5 "--jump sword--" Ability { id: "B545", source: "The Tyrant" } +1055.4 "Sharp Taste" Ability { id: "B41D", source: "The Tyrant" } +1055.5 "Assault Evolved (sword)" Ability { id: "B41A", source: "The Tyrant" } +1058.6 "--jump axe--" Ability { id: "B543", source: "The Tyrant" } +1060.5 "Heavy Weight" Ability { id: "B41B", source: "The Tyrant" } +1060.6 "Assault Evolved (axe)" Ability { id: "B418", source: "The Tyrant" } + +# Trophy Weapons 2 (Scythe) +1067.7 "--middle--" Ability { id: "B404", source: "The Tyrant" } +1072.7 "Trophy Weapons" Ability { id: "B416", source: "The Tyrant" } +1079.8 "Void Stardust" Ability { id: "B412", source: "The Tyrant" } +1083.9 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } +1085.9 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } +1087.9 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } +1089.9 "Comet/Crushing Comet" Ability { id: ["B414", "B415"], source: "The Tyrant" } +1092.7 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } +1092.9 "--jump axe--" Ability { id: "B543", source: "The Tyrant" } +1094.8 "Heavy Weight" Ability { id: "B41B", source: "The Tyrant" } +1094.9 "Assault Evolved (axe)" Ability { id: "B418", source: "The Tyrant" } +1098.0 "--jump sword--" Ability { id: "B545", source: "The Tyrant" } +1099.9 "Sharp Taste" Ability { id: "B41D", source: "The Tyrant" } +1100.0 "Assault Evolved (sword)" Ability { id: "B41A", source: "The Tyrant" } +1103.1 "--jump scythe--" Ability { id: "B544", source: "The Tyrant" } +1105.0 "Sweeping Victory" #Ability { id: "B41C", source: "The Tyrant" } +1105.1 "Assault Evolved (scythe)" Ability { id: "B419", source: "The Tyrant" } +1110.2 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } +1112.2 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } +1114.2 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } +1116.2 "Crushing Comet/Comet" Ability { id: ["B415", "B414"], source: "The Tyrant" } +1122.2 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } + +# Dance of Domination (Scythe) +1130.4 "--middle--" Ability { id: "B404", source: "The Tyrant" } +1134.6 "Dance of Domination Trophy" Ability { id: "B7BB", source: "The Tyrant" } +1141.3 "Dance of Domination 1" Ability { id: "B41F", source: "The Tyrant" } +1142.0 "Dance of Domination 2" #Ability { id: "B421", source: "The Tyrant" } +1142.6 "Dance of Domination 3" #Ability { id: "B421", source: "The Tyrant" } +1143.2 "Dance of Domination 4" #Ability { id: "B421", source: "The Tyrant" } +1143.8 "Dance of Domination 5" #Ability { id: "B421", source: "The Tyrant" } +1144.4 "Dance of Domination 6" #Ability { id: "B421", source: "The Tyrant" } +1145.5 "Dance of Domination 7" Ability { id: "B7EA", source: "The Tyrant" } +1150.5 "Eye of the Hurricane" Ability { id: "B424", source: "The Tyrant" } +1150.7 "Explosion" Ability { id: "B420", source: "The Tyrant" } +1151.1 "Explosion" Ability { id: "B7BC", source: "The Tyrant" } +1156.4 "Raw Steel Trophy Axe" Ability { id: "B422", source: "The Tyrant" } +1162.7 "Raw Steel" Ability { id: "B40B", source: "The Tyrant" } # Only tanks +1163.8 "Impact x6" Ability { id: "B40C", source: "The Tyrant" } # Only non-tanks +1171.8 "--middle--" Ability { id: "B404", source: "The Tyrant" } # Ultimate Trophy Weapons -171.8 "--middle--" Ability { id: "B404", source: "The Tyrant" } -178.9 "Charybdistopia" Ability { id: "B425", source: "The Tyrant" } -184.6 "Ultimate Trophy Weapons" Ability { id: "B7ED", source: "The Tyrant" } -192.4 "Assault Apex" Ability { id: "B7EE", source: "The Tyrant" } -192.6 "--jump sword--" Ability { id: "B545", source: "The Tyrant" } -194.5 "Sharp Taste" Ability { id: "B41D", source: "The Tyrant" } -194.6 "Assault Evolved (sword)" Ability { id: "B41A", source: "The Tyrant" } -197.7 "--jump scythe)" Ability { id: "B544", source: "The Tyrant" } -199.6 "Sweeping Victory" Ability { id: "B41C", source: "The Tyrant" } -199.7 "Assault Evolved (scythe)" Ability { id: "B419", source: "The Tyrant" } -202.8 "--jump axe--" Ability { id: "B543", source: "The Tyrant" } -204.7 "Heavy Weight" Ability { id: "B41B", source: "The Tyrant" } -204.8 "Assault Evolved (axe)" Ability { id: "B418", source: "The Tyrant" } -207.9 "--jump sword--" Ability { id: "B545", source: "The Tyrant" } -209.8 "Sharp Taste" #Ability { id: "B41D", source: "The Tyrant" } -209.9 "Assault Evolved (sword)" Ability { id: "B41A", source: "The Tyrant" } -213.0 "--jump axe--" Ability { id: "B543", source: "The Tyrant" } -214.9 "Heavy Weight" Ability { id: "B41B", source: "The Tyrant" } -215.0 "Assault Evolved (axe)" Ability { id: "B418", source: "The Tyrant" } -218.1 "--jump scythe--" Ability { id: "B544", source: "The Tyrant" } -220.0 "Sweeping Victory" Ability { id: "B41C", source: "The Tyrant" } -220.1 "Assault Evolved (scythe)" Ability { id: "B419", source: "The Tyrant" } -221.2 "--middle--" Ability { id: "B404", source: "The Tyrant" } -226.3 "Powerful Gust" Ability { id: "B427", source: "The Tyrant" } -227.3 "Immortal Reign" Ability { id: "B428", source: "The Tyrant" } +1173.9 label "r11s-charybdistopia" +1178.9 "Charybdistopia" Ability { id: "B425", source: "The Tyrant" } +1184.6 "Ultimate Trophy Weapons" Ability { id: "B7ED", source: "The Tyrant" } +1192.4 "Assault Apex" Ability { id: "B7EE", source: "The Tyrant" } +1192.6 "--jump sword--" Ability { id: "B545", source: "The Tyrant" } +1194.5 "Sharp Taste" Ability { id: "B41D", source: "The Tyrant" } +1194.6 "Assault Evolved (sword)" Ability { id: "B41A", source: "The Tyrant" } +1197.7 "--jump scythe)" Ability { id: "B544", source: "The Tyrant" } +1199.6 "Sweeping Victory" Ability { id: "B41C", source: "The Tyrant" } +1199.7 "Assault Evolved (scythe)" Ability { id: "B419", source: "The Tyrant" } +1202.8 "--jump axe--" Ability { id: "B543", source: "The Tyrant" } +1204.7 "Heavy Weight" Ability { id: "B41B", source: "The Tyrant" } +1204.8 "Assault Evolved (axe)" Ability { id: "B418", source: "The Tyrant" } +1207.9 "--jump sword--" Ability { id: "B545", source: "The Tyrant" } +1209.8 "Sharp Taste" #Ability { id: "B41D", source: "The Tyrant" } +1209.9 "Assault Evolved (sword)" Ability { id: "B41A", source: "The Tyrant" } +1213.0 "--jump axe--" Ability { id: "B543", source: "The Tyrant" } +1214.9 "Heavy Weight" Ability { id: "B41B", source: "The Tyrant" } +1215.0 "Assault Evolved (axe)" Ability { id: "B418", source: "The Tyrant" } +1218.1 "--jump scythe--" Ability { id: "B544", source: "The Tyrant" } +1220.0 "Sweeping Victory" Ability { id: "B41C", source: "The Tyrant" } +1220.1 "Assault Evolved (scythe)" Ability { id: "B419", source: "The Tyrant" } +1221.2 "--middle--" Ability { id: "B404", source: "The Tyrant" } +1226.3 "Powerful Gust" Ability { id: "B427", source: "The Tyrant" } +1227.3 "Immortal Reign" Ability { id: "B428", source: "The Tyrant" } # Orbitel Omen 1 -240.4 "One and Only" Ability { id: "B42A", source: "The Tyrant" } -252.6 "Great Wall of Fire (castbar)" Ability { id: "B42B", source: "The Tyrant" } -252.8 "Great Wall of Fire 1" #Ability { id: "B42C", source: "The Tyrant" } -256.0 "Great Wall of Fire 2" #Ability { id: "B42C", source: "The Tyrant" } -256.6 "Explosion" Ability { id: "B42E", source: "The Tyrant" } -259.8 "Explosion" Ability { id: "B42E", source: "The Tyrant" } -266.1 "Orbital Omen (castbar)" Ability { id: "B432", source: "The Tyrant" } -274.8 "Fire and Fury (castbar)" Ability { id: "B42F", source: "The Tyrant" } -275.2 "Orbital Omen 1" #Ability { id: "B433", source: "The Tyrant" } -275.8 "Fire and Fury" #Ability { id: "B431", source: "The Tyrant" } -275.8 "Fire and Fury" #Ability { id: "B430", source: "The Tyrant" } -276.8 "Orbital Omen 2" #Ability { id: "B433", source: "The Tyrant" } -278.4 "Orbital Omen 3" #Ability { id: "B433", source: "The Tyrant" } -279.8 "Orbital Omen 4" #Ability { id: "B433", source: "The Tyrant" } +1240.4 "One and Only" Ability { id: "B42A", source: "The Tyrant" } +1252.6 "Great Wall of Fire (castbar)" Ability { id: "B42B", source: "The Tyrant" } +1252.8 "Great Wall of Fire 1" #Ability { id: "B42C", source: "The Tyrant" } +1256.0 "Great Wall of Fire 2" #Ability { id: "B42C", source: "The Tyrant" } +1256.6 "Explosion" Ability { id: "B42E", source: "The Tyrant" } +1259.8 "Explosion" Ability { id: "B42E", source: "The Tyrant" } +1266.1 "Orbital Omen (castbar)" Ability { id: "B432", source: "The Tyrant" } +1274.8 "Fire and Fury (castbar)" Ability { id: "B42F", source: "The Tyrant" } +1275.2 "Orbital Omen 1" #Ability { id: "B433", source: "The Tyrant" } +1275.8 "Fire and Fury" #Ability { id: "B431", source: "The Tyrant" } +1275.8 "Fire and Fury" #Ability { id: "B430", source: "The Tyrant" } +1276.8 "Orbital Omen 2" #Ability { id: "B433", source: "The Tyrant" } +1278.4 "Orbital Omen 3" #Ability { id: "B433", source: "The Tyrant" } +1279.8 "Orbital Omen 4" #Ability { id: "B433", source: "The Tyrant" } # Meteorain -285.0 "--middle--" Ability { id: "B404", source: "The Tyrant" } -292.1 "Meteorain" Ability { id: "B434", source: "The Tyrant" } -300.1 "Fearsome Fireball" Ability { id: "B43A", source: "The Tyrant" } -301.3 "Cosmic Kiss" Ability { id: "B435", source: "Comet" } -309.3 "Foregone Fatality" Ability { id: "B436", source: "The Tyrant" } -310.2 "Fearsome Fireball" Ability { id: "B43A", source: "The Tyrant" } -311.4 "Cosmic Kiss" Ability { id: "B435", source: "Comet" } -314.0 "Explosion" Ability { id: "B438", source: "Comet" } -319.3 "Foregone Fatality" Ability { id: "B436", source: "The Tyrant" } -320.2 "Fearsome Fireball" Ability { id: "B43A", source: "The Tyrant" } -321.4 "Cosmic Kiss" Ability { id: "B435", source: "Comet" } -324.0 "Explosion" Ability { id: "B438", source: "Comet" } -329.3 "Foregone Fatality" Ability { id: "B436", source: "The Tyrant" } -330.2 "Fearsome Fireball" Ability { id: "B43A", source: "The Tyrant" } -334.0 "--sync--" Ability { id: "B43B", source: "The Tyrant" } -334.0 "Explosion" #Ability { id: "B438", source: "Comet" } -342.9 "Triple Tyrannhilation" Ability { id: "B43C", source: "The Tyrant" } -344.0 "Shockwave" #Ability { id: "B43D", source: "The Tyrant" } -344.4 "--sync--" #Ability { id: "B43E", source: "Comet" } -345.4 "Shockwave" #Ability { id: "B43D", source: "The Tyrant" } -345.8 "--sync--" #Ability { id: "B43E", source: "Comet" } -346.8 "Shockwave" #Ability { id: "B43D", source: "The Tyrant" } -347.2 "--sync--" #Ability { id: "B43E", source: "Comet" } -347.6 "--sync--" Ability { id: "B460", source: "The Tyrant" } +1285.0 "--middle--" Ability { id: "B404", source: "The Tyrant" } +1292.1 "Meteorain" Ability { id: "B434", source: "The Tyrant" } +1300.1 "Fearsome Fireball" Ability { id: "B43A", source: "The Tyrant" } +1301.3 "Cosmic Kiss" Ability { id: "B435", source: "Comet" } +1309.3 "Foregone Fatality" Ability { id: "B436", source: "The Tyrant" } +1310.2 "Fearsome Fireball" Ability { id: "B43A", source: "The Tyrant" } +1311.4 "Cosmic Kiss" Ability { id: "B435", source: "Comet" } +1314.0 "Explosion" Ability { id: "B438", source: "Comet" } +1319.3 "Foregone Fatality" Ability { id: "B436", source: "The Tyrant" } +1320.2 "Fearsome Fireball" Ability { id: "B43A", source: "The Tyrant" } +1321.4 "Cosmic Kiss" Ability { id: "B435", source: "Comet" } +1324.0 "Explosion" Ability { id: "B438", source: "Comet" } +1329.3 "Foregone Fatality" Ability { id: "B436", source: "The Tyrant" } +1330.2 "Fearsome Fireball" Ability { id: "B43A", source: "The Tyrant" } +1334.0 "--sync--" Ability { id: "B43B", source: "The Tyrant" } +1334.0 "Explosion" #Ability { id: "B438", source: "Comet" } +1342.9 "Triple Tyrannhilation" Ability { id: "B43C", source: "The Tyrant" } +1344.0 "Shockwave" #Ability { id: "B43D", source: "The Tyrant" } +1344.4 "--sync--" #Ability { id: "B43E", source: "Comet" } +1345.4 "Shockwave" #Ability { id: "B43D", source: "The Tyrant" } +1345.8 "--sync--" #Ability { id: "B43E", source: "Comet" } +1346.8 "Shockwave" #Ability { id: "B43D", source: "The Tyrant" } +1347.2 "--sync--" #Ability { id: "B43E", source: "Comet" } +1347.6 "--sync--" Ability { id: "B460", source: "The Tyrant" } # Arena Split # NOTE: Need to move to safe spot at meteor 3 -359.8 "Flatliner (castbar)" Ability { id: "B43F", source: "The Tyrant" } window 360,10 -361.8 "Flatliner (split)" Ability { id: "BA90", source: "The Tyrant" } -375.9 "Majestic Meteor" Ability { id: "B440", source: "The Tyrant" } -389.0 "Explosion" Ability { id: "B444", source: "The Tyrant" } -397.0 "--meteor 1--" #StartsUsing { id: "B441", source: "The Tyrant" } -399.0 "--meteor 2--" #StartsUsing { id: "B441", source: "The Tyrant" } -400.0 "Majestic Meteor 1" #Ability { id: "B441", source: "The Tyrant" } -401.1 "--meteor 3--" #StartsUsing { id: "B441", source: "The Tyrant" } -402.0 "Majestic Meteor 2" #Ability { id: "B441", source: "The Tyrant" } -403.9 "Majestic Meteowrath x2" Ability { id: "B443", source: "The Tyrant" } -403.9 "Majestic Meteorain x2" #Ability { id: "B442", source: "The Tyrant" } -403.9 "Fire Breath x2" Ability { id: "B447", source: "The Tyrant" } -404.1 "Majestic Meteor 3" #Ability { id: "B441", source: "The Tyrant" } -421.1 "Explosion" Ability { id: "B444", source: "The Tyrant" } +1359.8 "Flatliner (castbar)" Ability { id: "B43F", source: "The Tyrant" } window 360,10 +1361.8 "Flatliner (split)" Ability { id: "BA90", source: "The Tyrant" } +1375.9 "Majestic Meteor" Ability { id: "B440", source: "The Tyrant" } +1389.0 "Explosion" Ability { id: "B444", source: "The Tyrant" } +1397.0 "--meteor 1--" #StartsUsing { id: "B441", source: "The Tyrant" } +1399.0 "--meteor 2--" #StartsUsing { id: "B441", source: "The Tyrant" } +1400.0 "Majestic Meteor 1" #Ability { id: "B441", source: "The Tyrant" } +1401.1 "--meteor 3--" #StartsUsing { id: "B441", source: "The Tyrant" } +1402.0 "Majestic Meteor 2" #Ability { id: "B441", source: "The Tyrant" } +1403.9 "Majestic Meteowrath x2" Ability { id: "B443", source: "The Tyrant" } +1403.9 "Majestic Meteorain x2" #Ability { id: "B442", source: "The Tyrant" } +1403.9 "Fire Breath x2" Ability { id: "B447", source: "The Tyrant" } +1404.1 "Majestic Meteor 3" #Ability { id: "B441", source: "The Tyrant" } +1421.1 "Explosion" Ability { id: "B444", source: "The Tyrant" } -429.1 "--meteor 1--" #StartsUsing { id: "B441", source: "The Tyrant" } -431.1 "--meteor 2--" #StartsUsing { id: "B441", source: "The Tyrant" } -432.1 "Majestic Meteor 1" #Ability { id: "B441", source: "The Tyrant" } -433.1 "--meteor 3--" #StartsUsing { id: "B441", source: "The Tyrant" } -434.1 "Majestic Meteor 2" #Ability { id: "B441", source: "The Tyrant" } -436.0 "Majestic Meteowrath x2" Ability { id: "B443", source: "The Tyrant" } -436.0 "Majestic Meteorain x2" Ability { id: "B442", source: "The Tyrant" } -436.0 "Fire Breath x2" Ability { id: "B447", source: "The Tyrant" } -436.1 "Majestic Meteor 3" #Ability { id: "B441", source: "The Tyrant" } -445.3 "Massive Meteor (castbar)" Ability { id: "B448", source: "The Tyrant" } -446.4 "Massive Meteor x5" #Ability { id: "B449", source: "The Tyrant" } duration 5.6 -458.8 "Explosion" Ability { id: "B444", source: "The Tyrant" } -459.1 "Arcadion Avalanche (castbar)" Ability { id: ["B44A", "B44C", "B44E", "B450"], source: "The Tyrant" } -468.7 "Arcadion Avalanche" Ability { id: ["B44B", "B44D", "B44F", "B451"], source: "The Tyrant" } -479.4 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } +1429.1 "--meteor 1--" #StartsUsing { id: "B441", source: "The Tyrant" } +1431.1 "--meteor 2--" #StartsUsing { id: "B441", source: "The Tyrant" } +1432.1 "Majestic Meteor 1" #Ability { id: "B441", source: "The Tyrant" } +1433.1 "--meteor 3--" #StartsUsing { id: "B441", source: "The Tyrant" } +1434.1 "Majestic Meteor 2" #Ability { id: "B441", source: "The Tyrant" } +1436.0 "Majestic Meteowrath x2" Ability { id: "B443", source: "The Tyrant" } +1436.0 "Majestic Meteorain x2" Ability { id: "B442", source: "The Tyrant" } +1436.0 "Fire Breath x2" Ability { id: "B447", source: "The Tyrant" } +1436.1 "Majestic Meteor 3" #Ability { id: "B441", source: "The Tyrant" } +1445.3 "Massive Meteor (castbar)" Ability { id: "B448", source: "The Tyrant" } +1446.4 "Massive Meteor x5" #Ability { id: "B449", source: "The Tyrant" } duration 5.6 +1458.8 "Explosion" Ability { id: "B444", source: "The Tyrant" } +1459.1 "Arcadion Avalanche (castbar)" Ability { id: ["B44A", "B44C", "B44E", "B450"], source: "The Tyrant" } +1468.7 "Arcadion Avalanche" Ability { id: ["B44B", "B44D", "B44F", "B451"], source: "The Tyrant" } +1479.4 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } # Orbital Omen 2 # Normal arena -490.5 "Great Wall of Fire (castbar)" Ability { id: "B42B", source: "The Tyrant" } -490.7 "Great Wall of Fire 1" #Ability { id: "B42C", source: "The Tyrant" } -493.9 "Great Wall of Fire 2" #Ability { id: "B42C", source: "The Tyrant" } -494.5 "Explosion" Ability { id: "B42E", source: "The Tyrant" } -497.7 "Explosion" Ability { id: "B42E", source: "The Tyrant" } -504.0 "Orbital Omen (castbar)" Ability { id: "B432", source: "The Tyrant" } -512.7 "Fire and Fury (castbar)" Ability { id: "B42F", source: "The Tyrant" } -513.1 "Orbital Omen 1" #Ability { id: "B433", source: "The Tyrant" } -513.7 "Fire and Fury" Ability { id: "B431", source: "The Tyrant" } -513.7 "Fire and Fury" Ability { id: "B430", source: "The Tyrant" } -514.7 "Orbital Omen 2" #Ability { id: "B433", source: "The Tyrant" } -516.3 "Orbital Omen 3" #Ability { id: "B433", source: "The Tyrant" } -517.7 "Orbital Omen 4" #Ability { id: "B433", source: "The Tyrant" } -521.8 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } -527.0 "--middle--" Ability { id: "B404", source: "The Tyrant" } +1490.5 "Great Wall of Fire (castbar)" Ability { id: "B42B", source: "The Tyrant" } +1490.7 "Great Wall of Fire 1" #Ability { id: "B42C", source: "The Tyrant" } +1493.9 "Great Wall of Fire 2" #Ability { id: "B42C", source: "The Tyrant" } +1494.5 "Explosion" Ability { id: "B42E", source: "The Tyrant" } +1497.7 "Explosion" Ability { id: "B42E", source: "The Tyrant" } +1504.0 "Orbital Omen (castbar)" Ability { id: "B432", source: "The Tyrant" } +1512.7 "Fire and Fury (castbar)" Ability { id: "B42F", source: "The Tyrant" } +1513.1 "Orbital Omen 1" #Ability { id: "B433", source: "The Tyrant" } +1513.7 "Fire and Fury" Ability { id: "B431", source: "The Tyrant" } +1513.7 "Fire and Fury" Ability { id: "B430", source: "The Tyrant" } +1514.7 "Orbital Omen 2" #Ability { id: "B433", source: "The Tyrant" } +1516.3 "Orbital Omen 3" #Ability { id: "B433", source: "The Tyrant" } +1517.7 "Orbital Omen 4" #Ability { id: "B433", source: "The Tyrant" } +1521.8 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } +1527.0 "--middle--" Ability { id: "B404", source: "The Tyrant" } # Ecliptic Stampede -534.1 "Ecliptic Stampede" Ability { id: "B452", source: "The Tyrant" } -541.2 "Mammoth Meteor x2" #Ability { id: "B453", source: "The Tyrant" } -541.2 "Atomic Impact 1" Ability { id: "B454", source: "The Tyrant" } -544.2 "Atomic Impact 2" Ability { id: "B454", source: "The Tyrant" } -547.2 "Atomic Impact 3" Ability { id: "B454", source: "The Tyrant" } -550.2 "Atomic Impact 4" Ability { id: "B454", source: "The Tyrant" } -553.2 "Atomic Impact 5" Ability { id: "B454", source: "The Tyrant" } -556.2 "Atomic Impact 6" Ability { id: "B454", source: "The Tyrant" } -557.2 "Cosmic Kiss" Ability { id: "B456", source: "The Tyrant" } -557.2 "Weighty Impact" #Ability { id: "B457", source: "The Tyrant" } -566.8 "Majestic Meteowrath" Ability { id: "B459", source: "The Tyrant" } -570.2 "Two-way Fireball / Four-way Fireball (castbar)" Ability { id: ["B7BD", "B45A"], source: "The Tyrant" } -571.1 "Two-way Fireball / Four-way Fireball" Ability { id: ["B7BE", "B45B"], source: "The Tyrant" } -579.4 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } +1534.1 "Ecliptic Stampede" Ability { id: "B452", source: "The Tyrant" } +1541.2 "Mammoth Meteor x2" #Ability { id: "B453", source: "The Tyrant" } +1541.2 "Atomic Impact 1" Ability { id: "B454", source: "The Tyrant" } +1544.2 "Atomic Impact 2" Ability { id: "B454", source: "The Tyrant" } +1547.2 "Atomic Impact 3" Ability { id: "B454", source: "The Tyrant" } +1550.2 "Atomic Impact 4" Ability { id: "B454", source: "The Tyrant" } +1553.2 "Atomic Impact 5" Ability { id: "B454", source: "The Tyrant" } +1556.2 "Atomic Impact 6" Ability { id: "B454", source: "The Tyrant" } +1557.2 "Cosmic Kiss" Ability { id: "B456", source: "The Tyrant" } +1557.2 "Weighty Impact" #Ability { id: "B457", source: "The Tyrant" } +1566.8 "Majestic Meteowrath" Ability { id: "B459", source: "The Tyrant" } +1570.2 "Two-way Fireball / Four-way Fireball (castbar)" Ability { id: ["B7BD", "B45A"], source: "The Tyrant" } +1571.1 "Two-way Fireball / Four-way Fireball" Ability { id: ["B7BE", "B45B"], source: "The Tyrant" } +1579.4 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } # Heartbreak (Enrage Sequence) -584.6 "--middle--" Ability { id: "B404", source: "The Tyrant" } -586.7 "--sync--" Ability { id: "B45C", source: "The Tyrant" } -593.3 "Heartbreak Kick" Ability { id: "B45D", source: "The Tyrant" } -594.4 "Heartbreak Kick 1" #Ability { id: "B45E", source: "The Tyrant" } -596.4 "Heartbreak Kick 2" #Ability { id: "B45E", source: "The Tyrant" } -598.4 "Heartbreak Kick 3" #Ability { id: "B45E", source: "The Tyrant" } -600.4 "Heartbreak Kick 4" #Ability { id: "B45E", source: "The Tyrant" } -602.4 "Heartbreak Kick 5" #Ability { id: "B45E", source: "The Tyrant" } -604.4 "--sync--" Ability { id: "B45F", source: "The Tyrant" } -612.4 "Heartbreak Kick" Ability { id: "B45D", source: "The Tyrant" } -613.5 "Heartbreak Kick 1" #Ability { id: "B45E", source: "The Tyrant" } -615.5 "Heartbreak Kick 2" #Ability { id: "B45E", source: "The Tyrant" } -617.5 "Heartbreak Kick 3" #Ability { id: "B45E", source: "The Tyrant" } -619.5 "Heartbreak Kick 4" #Ability { id: "B45E", source: "The Tyrant" } -621.5 "Heartbreak Kick 5" #Ability { id: "B45E", source: "The Tyrant" } -623.5 "Heartbreak Kick 6" #Ability { id: "B45E", source: "The Tyrant" } -625.5 "--sync--" Ability { id: "B45F", source: "The Tyrant" } -633.5 "Heartbreak Kick" Ability { id: "B45D", source: "The Tyrant" } -634.6 "Heartbreak Kick 1" #Ability { id: "B45E", source: "The Tyrant" } -636.6 "Heartbreak Kick 2" #Ability { id: "B45E", source: "The Tyrant" } -638.6 "Heartbreak Kick 3" #Ability { id: "B45E", source: "The Tyrant" } -640.6 "Heartbreak Kick 4" #Ability { id: "B45E", source: "The Tyrant" } -642.6 "Heartbreak Kick 5" #Ability { id: "B45E", source: "The Tyrant" } -644.6 "Heartbreak Kick 6" #Ability { id: "B45E", source: "The Tyrant" } -646.6 "Heartbreak Kick 7" #Ability { id: "B45E", source: "The Tyrant" } -648.6 "--sync--" Ability { id: "B45F", source: "The Tyrant" } -651.6 "--sync--" StartsUsing { id: "B462", source: "The Tyrant" } -659.6 "Heartbreaker (Enrage)" Ability { id: "B462", source: "The Tyrant" } -659.6 "--untargetable--" -659.8 "Heartbreaker (Enrage)" Ability { id: "B463", source: "The Tyrant" } +1584.6 "--middle--" Ability { id: "B404", source: "The Tyrant" } +1586.7 "--sync--" Ability { id: "B45C", source: "The Tyrant" } +1593.3 "Heartbreak Kick" Ability { id: "B45D", source: "The Tyrant" } +1594.4 "Heartbreak Kick 1" #Ability { id: "B45E", source: "The Tyrant" } +1596.4 "Heartbreak Kick 2" #Ability { id: "B45E", source: "The Tyrant" } +1598.4 "Heartbreak Kick 3" #Ability { id: "B45E", source: "The Tyrant" } +1600.4 "Heartbreak Kick 4" #Ability { id: "B45E", source: "The Tyrant" } +1602.4 "Heartbreak Kick 5" #Ability { id: "B45E", source: "The Tyrant" } +1604.4 "--sync--" Ability { id: "B45F", source: "The Tyrant" } +1612.4 "Heartbreak Kick" Ability { id: "B45D", source: "The Tyrant" } +1613.5 "Heartbreak Kick 1" #Ability { id: "B45E", source: "The Tyrant" } +1615.5 "Heartbreak Kick 2" #Ability { id: "B45E", source: "The Tyrant" } +1617.5 "Heartbreak Kick 3" #Ability { id: "B45E", source: "The Tyrant" } +1619.5 "Heartbreak Kick 4" #Ability { id: "B45E", source: "The Tyrant" } +1621.5 "Heartbreak Kick 5" #Ability { id: "B45E", source: "The Tyrant" } +1623.5 "Heartbreak Kick 6" #Ability { id: "B45E", source: "The Tyrant" } +1625.5 "--sync--" Ability { id: "B45F", source: "The Tyrant" } +1633.5 "Heartbreak Kick" Ability { id: "B45D", source: "The Tyrant" } +1634.6 "Heartbreak Kick 1" #Ability { id: "B45E", source: "The Tyrant" } +1636.6 "Heartbreak Kick 2" #Ability { id: "B45E", source: "The Tyrant" } +1638.6 "Heartbreak Kick 3" #Ability { id: "B45E", source: "The Tyrant" } +1640.6 "Heartbreak Kick 4" #Ability { id: "B45E", source: "The Tyrant" } +1642.6 "Heartbreak Kick 5" #Ability { id: "B45E", source: "The Tyrant" } +1644.6 "Heartbreak Kick 6" #Ability { id: "B45E", source: "The Tyrant" } +1646.6 "Heartbreak Kick 7" #Ability { id: "B45E", source: "The Tyrant" } +1648.6 "--sync--" Ability { id: "B45F", source: "The Tyrant" } +1651.6 "--sync--" StartsUsing { id: "B462", source: "The Tyrant" } +1659.6 "Heartbreaker (Enrage)" Ability { id: "B462", source: "The Tyrant" } +1659.6 "--untargetable--" +1659.8 "Heartbreaker (Enrage)" Ability { id: "B463", source: "The Tyrant" } # IGNORED ABILITIES # B40A Raw Steel: VFX for Axe From 6b6be1d125aa9ad5c147d1fdbe9563a669150d70 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 22 Jan 2026 01:18:52 -0500 Subject: [PATCH 32/75] fix missing sync --- ui/raidboss/data/07-dt/raid/r11s.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index 5dde978347..2b233cb7d6 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -82,7 +82,7 @@ hideall "--sync--" 271.8 "--middle--" Ability { id: "B404", source: "The Tyrant" } # Ultimate Trophy Weapons (Axe) -278.9 StartsUsing { id: "B425", source: "The Tyrant" } forcejump "r11s-charybdistopia" +278.9 "--sync--" StartsUsing { id: "B425", source: "The Tyrant" } forcejump "r11s-charybdistopia" # Raw Steel Scythe First 1015.7 label "r11s-raw-steel-scythe-1" From c00addff5ab315055e5f7ded943ef129a77d44dc Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 22 Jan 2026 01:48:46 -0500 Subject: [PATCH 33/75] fix charyb startsusing sync, replace weapons with 3 matching --- ui/raidboss/data/07-dt/raid/r11s.txt | 117 ++++++++++++++------------- 1 file changed, 62 insertions(+), 55 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index 2b233cb7d6..70e0e4030e 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -29,15 +29,15 @@ hideall "--sync--" 133.1 "--middle--" Ability { id: "B404", source: "The Tyrant" } 138.4 "Trophy Weapons" Ability { id: "B416", source: "The Tyrant" } 148.2 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } -148.4 "--jump scythe--" Ability { id: "B544", source: "The Tyrant" } -150.3 "Sweeping Victory" Ability { id: "B41C", source: "The Tyrant" } -150.4 "Assault Evolved (scythe)" Ability { id: "B419", source: "The Tyrant" } -153.5 "--jump sword--" Ability { id: "B545", source: "The Tyrant" } -155.4 "Sharp Taste" Ability { id: "B41D", source: "The Tyrant" } -155.5 "Assault Evolved (sword)" Ability { id: "B41A", source: "The Tyrant" } -158.6 "--jump axe--" Ability { id: "B543", source: "The Tyrant" } -160.5 "Heavy Weight" Ability { id: "B41B", source: "The Tyrant" } -160.6 "Assault Evolved (axe)" Ability { id: "B418", source: "The Tyrant" } +148.4 "--jump 1--" Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } +150.3 "Weapon 1" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } +150.4 "Assault Evolved 1" Ability { id: ["B419". "B41A", B418"], source: "The Tyrant" } +153.5 "--jump 2--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } +155.4 "Weapon 2" Ability { id: ["B41D", "B41B, "B41C"], source: "The Tyrant" } +155.5 "Assault Evolved 2" Ability { id: ["B41A", B418", "B419"], source: "The Tyrant" } +158.6 "--jump 3--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } +160.5 "Weapon 3" Ability { id: ["B41B, "B41C", "B41D"], source: "The Tyrant" } +160.6 "Assault Evolved 3" Ability { id: ["B418", "B419", "B41A"], source: "The Tyrant" } # Trophy Weapons 2 (Axe) 167.7 "--middle--" Ability { id: "B404", source: "The Tyrant" } @@ -48,15 +48,15 @@ hideall "--sync--" 187.9 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } 189.9 "Comet/Crushing Comet" Ability { id: ["B414", "B415"], source: "The Tyrant" } 192.7 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } -192.9 "--jump axe--" Ability { id: "B543", source: "The Tyrant" } -194.8 "Heavy Weight" Ability { id: "B41B", source: "The Tyrant" } -194.9 "Assault Evolved (axe)" Ability { id: "B418", source: "The Tyrant" } -198.0 "--jump sword--" Ability { id: "B545", source: "The Tyrant" } -199.9 "Sharp Taste" Ability { id: "B41D", source: "The Tyrant" } -200.0 "Assault Evolved (sword)" Ability { id: "B41A", source: "The Tyrant" } -203.1 "--jump scythe--" Ability { id: "B544", source: "The Tyrant" } -205.0 "Sweeping Victory" #Ability { id: "B41C", source: "The Tyrant" } -205.1 "Assault Evolved (scythe)" Ability { id: "B419", source: "The Tyrant" } +192.9 "--jump 1--" Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } +194.8 "Weapon 1" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } +194.9 "Assault Evolved 1" Ability { id: ["B419", "B41A", B418"], source: "The Tyrant" } +198.0 "--jump 2--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } +199.9 "Weapon 2" Ability { id: ["B41D", "B41B, "B41C"], source: "The Tyrant" } +200.0 "Assault Evolved 2" Ability { id: "B41A", B418", "B419"], source: "The Tyrant" } +203.1 "--jump scythe--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } +205.0 "Weapon 3" Ability { id: ["B41B, "B41C", "B41D"], source: "The Tyrant" } +205.1 "Assault Evolved 3" Ability { id: "["B418", "B419", "B41A"], source: "The Tyrant" } 210.2 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } 212.2 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } 214.2 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } @@ -82,7 +82,14 @@ hideall "--sync--" 271.8 "--middle--" Ability { id: "B404", source: "The Tyrant" } # Ultimate Trophy Weapons (Axe) -278.9 "--sync--" StartsUsing { id: "B425", source: "The Tyrant" } forcejump "r11s-charybdistopia" +273.9 "--sync--" StartsUsing { id: "B425", source: "The Tyrant" } jump "r11s-charybdistopia" +278.9 "Charybdistopia" Ability { id: "B425", source: "The Tyrant" } +284.6 "Ultimate Trophy Weapons" #Ability { id: "B7ED", source: "The Tyrant" } +292.4 "Assault Apex" #Ability { id: "B7EE", source: "The Tyrant" } +292.6 "--jump 1--" #Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } +294.5 "Weapon 1" #Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } +294.6 "Assault Evolved 1" #Ability { id: ["B419", "B41A", B418"], source: "The Tyrant" } + # Raw Steel Scythe First 1015.7 label "r11s-raw-steel-scythe-1" @@ -94,15 +101,15 @@ hideall "--sync--" # Trophy Weapons 1 (Scythe) 1038.4 "Trophy Weapons" Ability { id: "B416", source: "The Tyrant" } 1048.2 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } -1048.4 "--jump scythe--" Ability { id: "B544", source: "The Tyrant" } -1050.3 "Sweeping Victory" Ability { id: "B41C", source: "The Tyrant" } -1050.4 "Assault Evolved (scythe)" Ability { id: "B419", source: "The Tyrant" } -1053.5 "--jump sword--" Ability { id: "B545", source: "The Tyrant" } -1055.4 "Sharp Taste" Ability { id: "B41D", source: "The Tyrant" } -1055.5 "Assault Evolved (sword)" Ability { id: "B41A", source: "The Tyrant" } -1058.6 "--jump axe--" Ability { id: "B543", source: "The Tyrant" } -1060.5 "Heavy Weight" Ability { id: "B41B", source: "The Tyrant" } -1060.6 "Assault Evolved (axe)" Ability { id: "B418", source: "The Tyrant" } +1048.4 "--jump 1--" Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } +1050.3 "Weapon 1" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } +1050.4 "Assault Evolved 1" Ability { id: ["B419". "B41A", B418"], source: "The Tyrant" } +1053.5 "--jump 2--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } +1055.4 "Weapon 2" Ability { id: ["B41D", "B41B, "B41C"], source: "The Tyrant" } +1055.5 "Assault Evolved 2" Ability { id: ["B41A", B418", "B419"], source: "The Tyrant" } +1058.6 "--jump 3--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } +1060.5 "Weapon 3" Ability { id: ["B41B, "B41C", "B41D"], source: "The Tyrant" } +1060.6 "Assault Evolved 3" Ability { id: ["B418", "B419", "B41A"], source: "The Tyrant" } # Trophy Weapons 2 (Scythe) 1067.7 "--middle--" Ability { id: "B404", source: "The Tyrant" } @@ -113,15 +120,15 @@ hideall "--sync--" 1087.9 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } 1089.9 "Comet/Crushing Comet" Ability { id: ["B414", "B415"], source: "The Tyrant" } 1092.7 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } -1092.9 "--jump axe--" Ability { id: "B543", source: "The Tyrant" } -1094.8 "Heavy Weight" Ability { id: "B41B", source: "The Tyrant" } -1094.9 "Assault Evolved (axe)" Ability { id: "B418", source: "The Tyrant" } -1098.0 "--jump sword--" Ability { id: "B545", source: "The Tyrant" } -1099.9 "Sharp Taste" Ability { id: "B41D", source: "The Tyrant" } -1100.0 "Assault Evolved (sword)" Ability { id: "B41A", source: "The Tyrant" } -1103.1 "--jump scythe--" Ability { id: "B544", source: "The Tyrant" } -1105.0 "Sweeping Victory" #Ability { id: "B41C", source: "The Tyrant" } -1105.1 "Assault Evolved (scythe)" Ability { id: "B419", source: "The Tyrant" } +1092.9 "--jump 1--" Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } +1094.8 "Weapon 1" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } +1094.9 "Assault Evolved 1" Ability { id: ["B419", "B41A", B418"], source: "The Tyrant" } +1098.0 "--jump 2--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } +1099.9 "Weapon 2" Ability { id: ["B41D", "B41B, "B41C"], source: "The Tyrant" } +1100.0 "Assault Evolved 2" Ability { id: "B41A", B418", "B419"], source: "The Tyrant" } +1103.1 "--jump scythe--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } +1105.0 "Weapon 3" Ability { id: ["B41B, "B41C", "B41D"], source: "The Tyrant" } +1105.1 "Assault Evolved 3" Ability { id: "["B418", "B419", "B41A"], source: "The Tyrant" } 1110.2 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } 1112.2 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } 1114.2 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } @@ -151,24 +158,24 @@ hideall "--sync--" 1178.9 "Charybdistopia" Ability { id: "B425", source: "The Tyrant" } 1184.6 "Ultimate Trophy Weapons" Ability { id: "B7ED", source: "The Tyrant" } 1192.4 "Assault Apex" Ability { id: "B7EE", source: "The Tyrant" } -1192.6 "--jump sword--" Ability { id: "B545", source: "The Tyrant" } -1194.5 "Sharp Taste" Ability { id: "B41D", source: "The Tyrant" } -1194.6 "Assault Evolved (sword)" Ability { id: "B41A", source: "The Tyrant" } -1197.7 "--jump scythe)" Ability { id: "B544", source: "The Tyrant" } -1199.6 "Sweeping Victory" Ability { id: "B41C", source: "The Tyrant" } -1199.7 "Assault Evolved (scythe)" Ability { id: "B419", source: "The Tyrant" } -1202.8 "--jump axe--" Ability { id: "B543", source: "The Tyrant" } -1204.7 "Heavy Weight" Ability { id: "B41B", source: "The Tyrant" } -1204.8 "Assault Evolved (axe)" Ability { id: "B418", source: "The Tyrant" } -1207.9 "--jump sword--" Ability { id: "B545", source: "The Tyrant" } -1209.8 "Sharp Taste" #Ability { id: "B41D", source: "The Tyrant" } -1209.9 "Assault Evolved (sword)" Ability { id: "B41A", source: "The Tyrant" } -1213.0 "--jump axe--" Ability { id: "B543", source: "The Tyrant" } -1214.9 "Heavy Weight" Ability { id: "B41B", source: "The Tyrant" } -1215.0 "Assault Evolved (axe)" Ability { id: "B418", source: "The Tyrant" } -1218.1 "--jump scythe--" Ability { id: "B544", source: "The Tyrant" } -1220.0 "Sweeping Victory" Ability { id: "B41C", source: "The Tyrant" } -1220.1 "Assault Evolved (scythe)" Ability { id: "B419", source: "The Tyrant" } +1192.6 "--jump 1--" Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } +1194.5 "Weapon 1" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } +1194.6 "Assault Evolved 1" Ability { id: ["B419", "B41A", B418"], source: "The Tyrant" } +1197.7 "--jump 2--" Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } +1199.6 "Weapon 2" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } +1199.7 "Assault Evolved 2" Ability { id: ["B419", "B41A", B418"], source: "The Tyrant" } +1202.8 "--jump 3--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } +1204.7 "Weapon 3" Ability { id: ["B41D", "B41B", "B41C"], source: "The Tyrant" } +1204.8 "Assault Evolved 3" Ability { id: ["B41A", B418", "B419"], source: "The Tyrant" } +1207.9 "--jump 4--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } +1209.8 "Weapon 4" Ability { id: ["B41D", "B41B", "B41C"], source: "The Tyrant" } +1209.9 "Assault Evolved 4" Ability { id: ["B41A", B418", "B419"], source: "The Tyrant" } +1213.0 "--jump 5--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } +1214.9 "Weapon 5" Ability { id: ["B41B", "B41C", "B41D"], source: "The Tyrant" } +1215.0 "Assault Evolved 5" Ability { id: [B418", "B419", "B41A"], source: "The Tyrant" } +1218.1 "--jump 6--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } +1220.0 "Weapon 6" Ability { id: ["B41B", "B41C", "B41D"], source: "The Tyrant" } +1220.1 "Assault Evolved 6" Ability { id: [B418", "B419", "B41A"], source: "The Tyrant" } 1221.2 "--middle--" Ability { id: "B404", source: "The Tyrant" } 1226.3 "Powerful Gust" Ability { id: "B427", source: "The Tyrant" } 1227.3 "Immortal Reign" Ability { id: "B428", source: "The Tyrant" } From 9790f577013f0188f8ca611a00b1a193450d365c Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 22 Jan 2026 01:54:49 -0500 Subject: [PATCH 34/75] typos --- ui/raidboss/data/07-dt/raid/r11s.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index 70e0e4030e..031a1b2268 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -31,7 +31,7 @@ hideall "--sync--" 148.2 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } 148.4 "--jump 1--" Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } 150.3 "Weapon 1" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } -150.4 "Assault Evolved 1" Ability { id: ["B419". "B41A", B418"], source: "The Tyrant" } +150.4 "Assault Evolved 1" Ability { id: ["B419", "B41A", B418"], source: "The Tyrant" } 153.5 "--jump 2--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } 155.4 "Weapon 2" Ability { id: ["B41D", "B41B, "B41C"], source: "The Tyrant" } 155.5 "Assault Evolved 2" Ability { id: ["B41A", B418", "B419"], source: "The Tyrant" } @@ -103,7 +103,7 @@ hideall "--sync--" 1048.2 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } 1048.4 "--jump 1--" Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } 1050.3 "Weapon 1" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } -1050.4 "Assault Evolved 1" Ability { id: ["B419". "B41A", B418"], source: "The Tyrant" } +1050.4 "Assault Evolved 1" Ability { id: ["B419", "B41A", B418"], source: "The Tyrant" } 1053.5 "--jump 2--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } 1055.4 "Weapon 2" Ability { id: ["B41D", "B41B, "B41C"], source: "The Tyrant" } 1055.5 "Assault Evolved 2" Ability { id: ["B41A", B418", "B419"], source: "The Tyrant" } From 04c323c02b66b033dba6020d4cf0ef493c14ca2d Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 22 Jan 2026 01:59:11 -0500 Subject: [PATCH 35/75] prevent voidStardust from being overwritten once set --- ui/raidboss/data/07-dt/raid/r11s.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 15f624618d..ec04536272 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -345,7 +345,11 @@ const triggerSet: TriggerSet = { type: 'HeadMarker', netRegex: { id: headMarkerData['cometSpread'], capture: false }, suppressSeconds: 1, - run: (data) => data.voidStardust = 'spread', + run: (data) => { + // Only setting this once + if (data.voidStardust === undefined) + data.voidStardust = 'spread'; + }, }, { id: 'R11S Comet Spread', @@ -358,7 +362,11 @@ const triggerSet: TriggerSet = { id: 'R11S Crushing Comet Collect', type: 'StartsUsing', netRegex: { id: 'B415', source: 'The Tyrant', capture: false }, - run: (data) => data.voidStardust = 'stack', + run: (data) => { + // Only setting this once + if (data.voidStardust === undefined) + data.voidStardust = 'stack'; + }, }, { id: 'R11S Crushing Comet', From b818ac22226b868d8675c70a06f965fd2f1eb9cb Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 22 Jan 2026 02:03:05 -0500 Subject: [PATCH 36/75] missing quote --- ui/raidboss/data/07-dt/raid/r11s.txt | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index 031a1b2268..c3d30f841d 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -31,10 +31,10 @@ hideall "--sync--" 148.2 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } 148.4 "--jump 1--" Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } 150.3 "Weapon 1" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } -150.4 "Assault Evolved 1" Ability { id: ["B419", "B41A", B418"], source: "The Tyrant" } +150.4 "Assault Evolved 1" Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } 153.5 "--jump 2--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } 155.4 "Weapon 2" Ability { id: ["B41D", "B41B, "B41C"], source: "The Tyrant" } -155.5 "Assault Evolved 2" Ability { id: ["B41A", B418", "B419"], source: "The Tyrant" } +155.5 "Assault Evolved 2" Ability { id: ["B41A", "B418", "B419"], source: "The Tyrant" } 158.6 "--jump 3--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } 160.5 "Weapon 3" Ability { id: ["B41B, "B41C", "B41D"], source: "The Tyrant" } 160.6 "Assault Evolved 3" Ability { id: ["B418", "B419", "B41A"], source: "The Tyrant" } @@ -50,10 +50,10 @@ hideall "--sync--" 192.7 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } 192.9 "--jump 1--" Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } 194.8 "Weapon 1" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } -194.9 "Assault Evolved 1" Ability { id: ["B419", "B41A", B418"], source: "The Tyrant" } +194.9 "Assault Evolved 1" Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } 198.0 "--jump 2--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } 199.9 "Weapon 2" Ability { id: ["B41D", "B41B, "B41C"], source: "The Tyrant" } -200.0 "Assault Evolved 2" Ability { id: "B41A", B418", "B419"], source: "The Tyrant" } +200.0 "Assault Evolved 2" Ability { id: "B41A", "B418", "B419"], source: "The Tyrant" } 203.1 "--jump scythe--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } 205.0 "Weapon 3" Ability { id: ["B41B, "B41C", "B41D"], source: "The Tyrant" } 205.1 "Assault Evolved 3" Ability { id: "["B418", "B419", "B41A"], source: "The Tyrant" } @@ -88,7 +88,7 @@ hideall "--sync--" 292.4 "Assault Apex" #Ability { id: "B7EE", source: "The Tyrant" } 292.6 "--jump 1--" #Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } 294.5 "Weapon 1" #Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } -294.6 "Assault Evolved 1" #Ability { id: ["B419", "B41A", B418"], source: "The Tyrant" } +294.6 "Assault Evolved 1" #Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } # Raw Steel Scythe First @@ -103,10 +103,10 @@ hideall "--sync--" 1048.2 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } 1048.4 "--jump 1--" Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } 1050.3 "Weapon 1" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } -1050.4 "Assault Evolved 1" Ability { id: ["B419", "B41A", B418"], source: "The Tyrant" } +1050.4 "Assault Evolved 1" Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } 1053.5 "--jump 2--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } 1055.4 "Weapon 2" Ability { id: ["B41D", "B41B, "B41C"], source: "The Tyrant" } -1055.5 "Assault Evolved 2" Ability { id: ["B41A", B418", "B419"], source: "The Tyrant" } +1055.5 "Assault Evolved 2" Ability { id: ["B41A", "B418", "B419"], source: "The Tyrant" } 1058.6 "--jump 3--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } 1060.5 "Weapon 3" Ability { id: ["B41B, "B41C", "B41D"], source: "The Tyrant" } 1060.6 "Assault Evolved 3" Ability { id: ["B418", "B419", "B41A"], source: "The Tyrant" } @@ -122,10 +122,10 @@ hideall "--sync--" 1092.7 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } 1092.9 "--jump 1--" Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } 1094.8 "Weapon 1" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } -1094.9 "Assault Evolved 1" Ability { id: ["B419", "B41A", B418"], source: "The Tyrant" } +1094.9 "Assault Evolved 1" Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } 1098.0 "--jump 2--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } 1099.9 "Weapon 2" Ability { id: ["B41D", "B41B, "B41C"], source: "The Tyrant" } -1100.0 "Assault Evolved 2" Ability { id: "B41A", B418", "B419"], source: "The Tyrant" } +1100.0 "Assault Evolved 2" Ability { id: "B41A", "B418", "B419"], source: "The Tyrant" } 1103.1 "--jump scythe--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } 1105.0 "Weapon 3" Ability { id: ["B41B, "B41C", "B41D"], source: "The Tyrant" } 1105.1 "Assault Evolved 3" Ability { id: "["B418", "B419", "B41A"], source: "The Tyrant" } @@ -160,16 +160,16 @@ hideall "--sync--" 1192.4 "Assault Apex" Ability { id: "B7EE", source: "The Tyrant" } 1192.6 "--jump 1--" Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } 1194.5 "Weapon 1" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } -1194.6 "Assault Evolved 1" Ability { id: ["B419", "B41A", B418"], source: "The Tyrant" } +1194.6 "Assault Evolved 1" Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } 1197.7 "--jump 2--" Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } 1199.6 "Weapon 2" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } -1199.7 "Assault Evolved 2" Ability { id: ["B419", "B41A", B418"], source: "The Tyrant" } +1199.7 "Assault Evolved 2" Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } 1202.8 "--jump 3--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } 1204.7 "Weapon 3" Ability { id: ["B41D", "B41B", "B41C"], source: "The Tyrant" } -1204.8 "Assault Evolved 3" Ability { id: ["B41A", B418", "B419"], source: "The Tyrant" } +1204.8 "Assault Evolved 3" Ability { id: ["B41A", "B418", "B419"], source: "The Tyrant" } 1207.9 "--jump 4--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } 1209.8 "Weapon 4" Ability { id: ["B41D", "B41B", "B41C"], source: "The Tyrant" } -1209.9 "Assault Evolved 4" Ability { id: ["B41A", B418", "B419"], source: "The Tyrant" } +1209.9 "Assault Evolved 4" Ability { id: ["B41A", "B418", "B419"], source: "The Tyrant" } 1213.0 "--jump 5--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } 1214.9 "Weapon 5" Ability { id: ["B41B", "B41C", "B41D"], source: "The Tyrant" } 1215.0 "Assault Evolved 5" Ability { id: [B418", "B419", "B41A"], source: "The Tyrant" } From 45c551ab277c9aa894b69f998be214f4bb4b692c Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 22 Jan 2026 02:07:55 -0500 Subject: [PATCH 37/75] another missing quote --- ui/raidboss/data/07-dt/raid/r11s.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index c3d30f841d..63ce920a74 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -33,10 +33,10 @@ hideall "--sync--" 150.3 "Weapon 1" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } 150.4 "Assault Evolved 1" Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } 153.5 "--jump 2--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } -155.4 "Weapon 2" Ability { id: ["B41D", "B41B, "B41C"], source: "The Tyrant" } +155.4 "Weapon 2" Ability { id: ["B41D", "B41B", "B41C"], source: "The Tyrant" } 155.5 "Assault Evolved 2" Ability { id: ["B41A", "B418", "B419"], source: "The Tyrant" } 158.6 "--jump 3--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } -160.5 "Weapon 3" Ability { id: ["B41B, "B41C", "B41D"], source: "The Tyrant" } +160.5 "Weapon 3" Ability { id: ["B41B", "B41C", "B41D"], source: "The Tyrant" } 160.6 "Assault Evolved 3" Ability { id: ["B418", "B419", "B41A"], source: "The Tyrant" } # Trophy Weapons 2 (Axe) @@ -52,10 +52,10 @@ hideall "--sync--" 194.8 "Weapon 1" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } 194.9 "Assault Evolved 1" Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } 198.0 "--jump 2--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } -199.9 "Weapon 2" Ability { id: ["B41D", "B41B, "B41C"], source: "The Tyrant" } +199.9 "Weapon 2" Ability { id: ["B41D", "B41B", "B41C"], source: "The Tyrant" } 200.0 "Assault Evolved 2" Ability { id: "B41A", "B418", "B419"], source: "The Tyrant" } 203.1 "--jump scythe--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } -205.0 "Weapon 3" Ability { id: ["B41B, "B41C", "B41D"], source: "The Tyrant" } +205.0 "Weapon 3" Ability { id: ["B41B", "B41C", "B41D"], source: "The Tyrant" } 205.1 "Assault Evolved 3" Ability { id: "["B418", "B419", "B41A"], source: "The Tyrant" } 210.2 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } 212.2 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } @@ -105,10 +105,10 @@ hideall "--sync--" 1050.3 "Weapon 1" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } 1050.4 "Assault Evolved 1" Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } 1053.5 "--jump 2--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } -1055.4 "Weapon 2" Ability { id: ["B41D", "B41B, "B41C"], source: "The Tyrant" } +1055.4 "Weapon 2" Ability { id: ["B41D", "B41B", "B41C"], source: "The Tyrant" } 1055.5 "Assault Evolved 2" Ability { id: ["B41A", "B418", "B419"], source: "The Tyrant" } 1058.6 "--jump 3--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } -1060.5 "Weapon 3" Ability { id: ["B41B, "B41C", "B41D"], source: "The Tyrant" } +1060.5 "Weapon 3" Ability { id: ["B41B", "B41C", "B41D"], source: "The Tyrant" } 1060.6 "Assault Evolved 3" Ability { id: ["B418", "B419", "B41A"], source: "The Tyrant" } # Trophy Weapons 2 (Scythe) @@ -124,10 +124,10 @@ hideall "--sync--" 1094.8 "Weapon 1" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } 1094.9 "Assault Evolved 1" Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } 1098.0 "--jump 2--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } -1099.9 "Weapon 2" Ability { id: ["B41D", "B41B, "B41C"], source: "The Tyrant" } +1099.9 "Weapon 2" Ability { id: ["B41D", "B41B", "B41C"], source: "The Tyrant" } 1100.0 "Assault Evolved 2" Ability { id: "B41A", "B418", "B419"], source: "The Tyrant" } 1103.1 "--jump scythe--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } -1105.0 "Weapon 3" Ability { id: ["B41B, "B41C", "B41D"], source: "The Tyrant" } +1105.0 "Weapon 3" Ability { id: ["B41B", "B41C", "B41D"], source: "The Tyrant" } 1105.1 "Assault Evolved 3" Ability { id: "["B418", "B419", "B41A"], source: "The Tyrant" } 1110.2 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } 1112.2 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } From a0d6bb9b577e94f80fe4bf0bd450bed0b51b29dd Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 22 Jan 2026 02:45:20 -0500 Subject: [PATCH 38/75] missing bracket --- ui/raidboss/data/07-dt/raid/r11s.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index 63ce920a74..f6df626774 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -53,7 +53,7 @@ hideall "--sync--" 194.9 "Assault Evolved 1" Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } 198.0 "--jump 2--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } 199.9 "Weapon 2" Ability { id: ["B41D", "B41B", "B41C"], source: "The Tyrant" } -200.0 "Assault Evolved 2" Ability { id: "B41A", "B418", "B419"], source: "The Tyrant" } +200.0 "Assault Evolved 2" Ability { id: ["B41A", "B418", "B419"], source: "The Tyrant" } 203.1 "--jump scythe--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } 205.0 "Weapon 3" Ability { id: ["B41B", "B41C", "B41D"], source: "The Tyrant" } 205.1 "Assault Evolved 3" Ability { id: "["B418", "B419", "B41A"], source: "The Tyrant" } @@ -125,7 +125,7 @@ hideall "--sync--" 1094.9 "Assault Evolved 1" Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } 1098.0 "--jump 2--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } 1099.9 "Weapon 2" Ability { id: ["B41D", "B41B", "B41C"], source: "The Tyrant" } -1100.0 "Assault Evolved 2" Ability { id: "B41A", "B418", "B419"], source: "The Tyrant" } +1100.0 "Assault Evolved 2" Ability { id: ["B41A", "B418", "B419"], source: "The Tyrant" } 1103.1 "--jump scythe--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } 1105.0 "Weapon 3" Ability { id: ["B41B", "B41C", "B41D"], source: "The Tyrant" } 1105.1 "Assault Evolved 3" Ability { id: "["B418", "B419", "B41A"], source: "The Tyrant" } From 7cb70836b3a94c2ccb614be03ec471328091d2c0 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 22 Jan 2026 02:58:47 -0500 Subject: [PATCH 39/75] breakout comet/crushing comet --- ui/raidboss/data/07-dt/raid/r11s.txt | 205 ++++++++++++++++++--------- 1 file changed, 139 insertions(+), 66 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index f6df626774..ebc78d1600 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -10,7 +10,8 @@ hideall "--sync--" 0.0 "--Reset--" ActorControl { command: "4000000F" } window 0,100000 jump 0 0.0 "--sync--" InCombat { inGameCombat: "1" } window 0,1 -10.6 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } window 10,10 +5.6 "--sync--" StartsUsing { id: "B406", source: "The Tyrant" } window 10,10 +10.6 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } 15.7 "--sync--" StartsUsing { id: "B422", source: "The Tyrant" } jump "r11s-raw-steel-axe-1" 15.7 "--sync--" StartsUsing { id: "B423", source: "The Tyrant" } jump "r11s-raw-steel-scythe-1" @@ -44,81 +45,151 @@ hideall "--sync--" 172.7 "Trophy Weapons" Ability { id: "B416", source: "The Tyrant" } 179.8 "Void Stardust" Ability { id: "B412", source: "The Tyrant" } 183.9 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } + +184.9 "--sync--" StartsUsing { id: "B414", source: "The Tyrant" } jump "r11s-axe-1-comet-1" +184.9 "--sync--" StartsUsing { id: "B415", source: "The Tyrant" } jump "r11s-axe-1-crush-1" 185.9 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } 187.9 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } -189.9 "Comet/Crushing Comet" Ability { id: ["B414", "B415"], source: "The Tyrant" } -192.7 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } -192.9 "--jump 1--" Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } -194.8 "Weapon 1" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } -194.9 "Assault Evolved 1" Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } -198.0 "--jump 2--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } -199.9 "Weapon 2" Ability { id: ["B41D", "B41B", "B41C"], source: "The Tyrant" } -200.0 "Assault Evolved 2" Ability { id: ["B41A", "B418", "B419"], source: "The Tyrant" } -203.1 "--jump scythe--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } -205.0 "Weapon 3" Ability { id: ["B41B", "B41C", "B41D"], source: "The Tyrant" } -205.1 "Assault Evolved 3" Ability { id: "["B418", "B419", "B41A"], source: "The Tyrant" } -210.2 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } -212.2 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } -214.2 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } -216.2 "Crushing Comet/Comet" Ability { id: ["B415", "B414"], source: "The Tyrant" } -222.2 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } +189.9 "Comet/Crushing Comet?" #Ability { id: ["B414", "B415"], source: "The Tyrant" } +192.7 "Assault Evolved" #Ability { id: "B417", source: "The Tyrant" } +192.9 "--jump 1--" #Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } +194.8 "Weapon 1" #Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } +194.9 "Assault Evolved 1" #Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } + +284.9 label "r11s-axe-1-comet-1" +289.9 "Comet" Ability { id: "B414", source: "The Tyrant" } +292.7 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } +292.9 "--jump 1--" Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } +294.8 "Weapon 1" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } +294.9 "Assault Evolved 1" Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } +298.0 "--jump 2--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } +299.9 "Weapon 2" Ability { id: ["B41D", "B41B", "B41C"], source: "The Tyrant" } +300.0 "Assault Evolved 2" Ability { id: "B41A", "B418", "B419"], source: "The Tyrant" } +303.1 "--jump scythe--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } +305.0 "Weapon 3" Ability { id: ["B41B", "B41C", "B41D"], source: "The Tyrant" } +305.1 "Assault Evolved 3" Ability { id: ["B418", "B419", "B41A"], source: "The Tyrant" } +310.2 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } +312.2 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } +314.2 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } +316.2 "Crushing Comet" Ability { id: "B415", source: "The Tyrant" } + +317.2 "--sync--" StartsUsing { id: "B406", source: "The Tyrant" } jump "r11s-axe-1-post-cometcrush" +322.2 "Crown of Arcadia" #Ability { id: "B406", source: "The Tyrant" } +330.4 "--middle--" #Ability { id: "B404", source: "The Tyrant" } +334.6 "Dance of Domination Trophy" #Ability { id: "B7BB", source: "The Tyrant" } +341.3 "Dance of Domination 1" #Ability { id: "B41F", source: "The Tyrant" } +342.0 "Dance of Domination 2" #Ability { id: "B421", source: "The Tyrant" } + +484.9 label "r11s-axe-1-crush-1" +489.9 "Crushing Comet" Ability { id: "B415", source: "The Tyrant" } +492.7 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } +492.9 "--jump 1--" Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } +494.8 "Weapon 1" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } +494.9 "Assault Evolved 1" Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } +498.0 "--jump 2--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } +499.9 "Weapon 2" Ability { id: ["B41D", "B41B", "B41C"], source: "The Tyrant" } +500.0 "Assault Evolved 2" Ability { id: ["B41A", "B418", "B419"], source: "The Tyrant" } +503.1 "--jump scythe--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } +505.0 "Weapon 3" Ability { id: ["B41B", "B41C", "B41D"], source: "The Tyrant" } +505.1 "Assault Evolved 3" Ability { id: "["B418", "B419", "B41A"], source: "The Tyrant" } +510.2 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } +512.2 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } +514.2 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } +516.2 "Comet" Ability { id: "B414", source: "The Tyrant" } + +517.2 label "r11s-axe-1-post-cometcrush" +522.2 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } # Dance of Domination (Axe) -230.4 "--middle--" Ability { id: "B404", source: "The Tyrant" } -234.6 "Dance of Domination Trophy" Ability { id: "B7BB", source: "The Tyrant" } -241.3 "Dance of Domination 1" Ability { id: "B41F", source: "The Tyrant" } -242.0 "Dance of Domination 2" #Ability { id: "B421", source: "The Tyrant" } -242.6 "Dance of Domination 3" #Ability { id: "B421", source: "The Tyrant" } -243.2 "Dance of Domination 4" #Ability { id: "B421", source: "The Tyrant" } -243.8 "Dance of Domination 5" #Ability { id: "B421", source: "The Tyrant" } -244.4 "Dance of Domination 6" #Ability { id: "B421", source: "The Tyrant" } -245.5 "Dance of Domination 7" Ability { id: "B7EA", source: "The Tyrant" } -250.5 "Eye of the Hurricane" Ability { id: "B424", source: "The Tyrant" } -250.7 "Explosion" Ability { id: "B420", source: "The Tyrant" } -251.1 "Explosion" Ability { id: "B7BC", source: "The Tyrant" } -256.4 "Raw Steel Trophy Scythe" Ability { id: "B423", source: "The Tyrant" } -263.8 "Heavy Hitter" Ability { id: "B410", source: "The Tyrant" } # Only non-tanks -263.8 "Raw Steel x2" #Ability { id: "B40F", source: "The Tyrant" } # Only tanks -271.8 "--middle--" Ability { id: "B404", source: "The Tyrant" } +530.4 "--middle--" Ability { id: "B404", source: "The Tyrant" } +534.6 "Dance of Domination Trophy" Ability { id: "B7BB", source: "The Tyrant" } +541.3 "Dance of Domination 1" Ability { id: "B41F", source: "The Tyrant" } +542.0 "Dance of Domination 2" #Ability { id: "B421", source: "The Tyrant" } +542.6 "Dance of Domination 3" #Ability { id: "B421", source: "The Tyrant" } +543.2 "Dance of Domination 4" #Ability { id: "B421", source: "The Tyrant" } +543.8 "Dance of Domination 5" #Ability { id: "B421", source: "The Tyrant" } +544.4 "Dance of Domination 6" #Ability { id: "B421", source: "The Tyrant" } +545.5 "Dance of Domination 7" Ability { id: "B7EA", source: "The Tyrant" } +550.5 "Eye of the Hurricane" Ability { id: "B424", source: "The Tyrant" } +550.7 "Explosion" Ability { id: "B420", source: "The Tyrant" } +551.1 "Explosion" Ability { id: "B7BC", source: "The Tyrant" } +556.4 "Raw Steel Trophy Scythe" Ability { id: "B423", source: "The Tyrant" } +563.8 "Heavy Hitter" Ability { id: "B410", source: "The Tyrant" } # Only non-tanks +563.8 "Raw Steel x2" #Ability { id: "B40F", source: "The Tyrant" } # Only tanks +571.8 "--middle--" Ability { id: "B404", source: "The Tyrant" } # Ultimate Trophy Weapons (Axe) -273.9 "--sync--" StartsUsing { id: "B425", source: "The Tyrant" } jump "r11s-charybdistopia" -278.9 "Charybdistopia" Ability { id: "B425", source: "The Tyrant" } -284.6 "Ultimate Trophy Weapons" #Ability { id: "B7ED", source: "The Tyrant" } -292.4 "Assault Apex" #Ability { id: "B7EE", source: "The Tyrant" } -292.6 "--jump 1--" #Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } -294.5 "Weapon 1" #Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } -294.6 "Assault Evolved 1" #Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } +573.9 "--sync--" StartsUsing { id: "B425", source: "The Tyrant" } jump "r11s-charybdistopia" +578.9 "Charybdistopia" Ability { id: "B425", source: "The Tyrant" } +584.6 "Ultimate Trophy Weapons" #Ability { id: "B7ED", source: "The Tyrant" } +592.4 "Assault Apex" #Ability { id: "B7EE", source: "The Tyrant" } +592.6 "--jump 1--" #Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } +594.5 "Weapon 1" #Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } +594.6 "Assault Evolved 1" #Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } # Raw Steel Scythe First -1015.7 label "r11s-raw-steel-scythe-1" -1017.7 "Raw Steel Trophy Scythe" Ability { id: "B423", source: "The Tyrant" } -1025.1 "Heavy Hitter" Ability { id: "B410", source: "The Tyrant" } # Only non-tanks -1025.1 "Raw Steel x2" #Ability { id: "B40F", source: "The Tyrant" } # Only tanks -1033.1 "--middle--" Ability { id: "B404", source: "The Tyrant" } +715.7 label "r11s-raw-steel-scythe-1" +717.7 "Raw Steel Trophy Scythe" Ability { id: "B423", source: "The Tyrant" } +725.1 "Heavy Hitter" Ability { id: "B410", source: "The Tyrant" } # Only non-tanks +725.1 "Raw Steel x2" #Ability { id: "B40F", source: "The Tyrant" } # Only tanks +733.1 "--middle--" Ability { id: "B404", source: "The Tyrant" } # Trophy Weapons 1 (Scythe) -1038.4 "Trophy Weapons" Ability { id: "B416", source: "The Tyrant" } -1048.2 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } -1048.4 "--jump 1--" Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } -1050.3 "Weapon 1" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } -1050.4 "Assault Evolved 1" Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } -1053.5 "--jump 2--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } -1055.4 "Weapon 2" Ability { id: ["B41D", "B41B", "B41C"], source: "The Tyrant" } -1055.5 "Assault Evolved 2" Ability { id: ["B41A", "B418", "B419"], source: "The Tyrant" } -1058.6 "--jump 3--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } -1060.5 "Weapon 3" Ability { id: ["B41B", "B41C", "B41D"], source: "The Tyrant" } -1060.6 "Assault Evolved 3" Ability { id: ["B418", "B419", "B41A"], source: "The Tyrant" } +738.4 "Trophy Weapons" Ability { id: "B416", source: "The Tyrant" } +748.2 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } +748.4 "--jump 1--" Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } +750.3 "Weapon 1" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } +750.4 "Assault Evolved 1" Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } +753.5 "--jump 2--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } +755.4 "Weapon 2" Ability { id: ["B41D", "B41B", "B41C"], source: "The Tyrant" } +755.5 "Assault Evolved 2" Ability { id: ["B41A", "B418", "B419"], source: "The Tyrant" } +758.6 "--jump 3--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } +760.5 "Weapon 3" Ability { id: ["B41B", "B41C", "B41D"], source: "The Tyrant" } +760.6 "Assault Evolved 3" Ability { id: ["B418", "B419", "B41A"], source: "The Tyrant" } # Trophy Weapons 2 (Scythe) -1067.7 "--middle--" Ability { id: "B404", source: "The Tyrant" } -1072.7 "Trophy Weapons" Ability { id: "B416", source: "The Tyrant" } -1079.8 "Void Stardust" Ability { id: "B412", source: "The Tyrant" } -1083.9 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } -1085.9 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } -1087.9 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } -1089.9 "Comet/Crushing Comet" Ability { id: ["B414", "B415"], source: "The Tyrant" } +767.7 "--middle--" Ability { id: "B404", source: "The Tyrant" } +772.7 "Trophy Weapons" Ability { id: "B416", source: "The Tyrant" } +779.8 "Void Stardust" Ability { id: "B412", source: "The Tyrant" } +783.9 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } + +784.9 "--sync--" StartsUsing { id: "B414", source: "The Tyrant" } jump "r11s-scythe-1-comet-1" +784.9 "--sync--" StartsUsing { id: "B415", source: "The Tyrant" } jump "r11s-scythe-1-crush-1" +785.9 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } +787.9 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } +789.9 "Comet/Crushing Comet?" #Ability { id: ["B414", "B415"], source: "The Tyrant" } +792.7 "Assault Evolved" #Ability { id: "B417", source: "The Tyrant" } +792.9 "--jump 1--" #Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } +794.8 "Weapon 1" #Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } +794.9 "Assault Evolved 1" #Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } + +884.9 label "r11s-scythe-1-comet-1" +889.9 "Comet" Ability { id: "B414", source: "The Tyrant" } +892.7 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } +892.9 "--jump 1--" Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } +894.8 "Weapon 1" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } +894.9 "Assault Evolved 1" Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } +898.0 "--jump 2--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } +899.9 "Weapon 2" Ability { id: ["B41D", "B41B", "B41C"], source: "The Tyrant" } +900.0 "Assault Evolved 2" Ability { id: ["B41A", "B418", "B419"], source: "The Tyrant" } +903.1 "--jump scythe--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } +905.0 "Weapon 3" Ability { id: ["B41B", "B41C", "B41D"], source: "The Tyrant" } +905.1 "Assault Evolved 3" Ability { id: "["B418", "B419", "B41A"], source: "The Tyrant" } +910.2 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } +912.2 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } +914.2 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } +916.2 "Crushing Comet" Ability { id: "B415", source: "The Tyrant" } + +917.2 "--sync--" StartsUsing { id: "B406", source: "The Tyrant" } jump "r11s-scythe-1-post-cometcrush" +922.2 "Crown of Arcadia" #Ability { id: "B406", source: "The Tyrant" } +930.4 "--middle--" #Ability { id: "B404", source: "The Tyrant" } +934.6 "Dance of Domination Trophy" #Ability { id: "B7BB", source: "The Tyrant" } +941.3 "Dance of Domination 1" #Ability { id: "B41F", source: "The Tyrant" } +942.0 "Dance of Domination 2" #Ability { id: "B421", source: "The Tyrant" } + +1084.9 label "r11s-scythe-1-crush-1" +1089.9 "Crushing Comet" Ability { id: "B415", source: "The Tyrant" } 1092.7 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } 1092.9 "--jump 1--" Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } 1094.8 "Weapon 1" Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } @@ -132,7 +203,9 @@ hideall "--sync--" 1110.2 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } 1112.2 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } 1114.2 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } -1116.2 "Crushing Comet/Comet" Ability { id: ["B415", "B414"], source: "The Tyrant" } +1116.2 "Comet" Ability { id: "B414", source: "The Tyrant" } + +1117.2 label "r11s-scythe-1-post-cometcrush" 1122.2 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } # Dance of Domination (Scythe) @@ -172,10 +245,10 @@ hideall "--sync--" 1209.9 "Assault Evolved 4" Ability { id: ["B41A", "B418", "B419"], source: "The Tyrant" } 1213.0 "--jump 5--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } 1214.9 "Weapon 5" Ability { id: ["B41B", "B41C", "B41D"], source: "The Tyrant" } -1215.0 "Assault Evolved 5" Ability { id: [B418", "B419", "B41A"], source: "The Tyrant" } +1215.0 "Assault Evolved 5" Ability { id: ["B418", "B419", "B41A"], source: "The Tyrant" } 1218.1 "--jump 6--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } 1220.0 "Weapon 6" Ability { id: ["B41B", "B41C", "B41D"], source: "The Tyrant" } -1220.1 "Assault Evolved 6" Ability { id: [B418", "B419", "B41A"], source: "The Tyrant" } +1220.1 "Assault Evolved 6" Ability { id: ["B418", "B419", "B41A"], source: "The Tyrant" } 1221.2 "--middle--" Ability { id: "B404", source: "The Tyrant" } 1226.3 "Powerful Gust" Ability { id: "B427", source: "The Tyrant" } 1227.3 "Immortal Reign" Ability { id: "B428", source: "The Tyrant" } From 6848c362a6ff61823e4c21f4f2f01e5b37611bca Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 22 Jan 2026 03:02:16 -0500 Subject: [PATCH 40/75] fix another missing bracket --- ui/raidboss/data/07-dt/raid/r11s.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index ebc78d1600..f86367a92e 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -64,7 +64,7 @@ hideall "--sync--" 294.9 "Assault Evolved 1" Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } 298.0 "--jump 2--" Ability { id: ["B545", "B543", "B544"], source: "The Tyrant" } 299.9 "Weapon 2" Ability { id: ["B41D", "B41B", "B41C"], source: "The Tyrant" } -300.0 "Assault Evolved 2" Ability { id: "B41A", "B418", "B419"], source: "The Tyrant" } +300.0 "Assault Evolved 2" Ability { id: ["B41A", "B418", "B419"], source: "The Tyrant" } 303.1 "--jump scythe--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } 305.0 "Weapon 3" Ability { id: ["B41B", "B41C", "B41D"], source: "The Tyrant" } 305.1 "Assault Evolved 3" Ability { id: ["B418", "B419", "B41A"], source: "The Tyrant" } From 2e047c47631dec417470eb4f70078580312bbb18 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 22 Jan 2026 03:08:12 -0500 Subject: [PATCH 41/75] add comments --- ui/raidboss/data/07-dt/raid/r11s.txt | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index f86367a92e..dbc18c5635 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -9,10 +9,10 @@ hideall "--sync--" 0.0 "--Reset--" ActorControl { command: "4000000F" } window 0,100000 jump 0 -0.0 "--sync--" InCombat { inGameCombat: "1" } window 0,1 5.6 "--sync--" StartsUsing { id: "B406", source: "The Tyrant" } window 10,10 10.6 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } +# Branch for Raw Steel Axe or Raw Steel Scythe First 15.7 "--sync--" StartsUsing { id: "B422", source: "The Tyrant" } jump "r11s-raw-steel-axe-1" 15.7 "--sync--" StartsUsing { id: "B423", source: "The Tyrant" } jump "r11s-raw-steel-scythe-1" 17.7 "Raw Steel Trophy (Scythe/Axe)" #Ability { id: ["B423", "B422"], source: "The Tyrant" } @@ -46,6 +46,7 @@ hideall "--sync--" 179.8 "Void Stardust" Ability { id: "B412", source: "The Tyrant" } 183.9 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } +# Branch for Raw Steel Axe + Comet or Crushing Comet First 184.9 "--sync--" StartsUsing { id: "B414", source: "The Tyrant" } jump "r11s-axe-1-comet-1" 184.9 "--sync--" StartsUsing { id: "B415", source: "The Tyrant" } jump "r11s-axe-1-crush-1" 185.9 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } @@ -56,6 +57,7 @@ hideall "--sync--" 194.8 "Weapon 1" #Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } 194.9 "Assault Evolved 1" #Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } +# Raw Steel Axe First + Comet First 284.9 label "r11s-axe-1-comet-1" 289.9 "Comet" Ability { id: "B414", source: "The Tyrant" } 292.7 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } @@ -80,6 +82,7 @@ hideall "--sync--" 341.3 "Dance of Domination 1" #Ability { id: "B41F", source: "The Tyrant" } 342.0 "Dance of Domination 2" #Ability { id: "B421", source: "The Tyrant" } +# Raw Steel Axe First + Crushing Comet First 484.9 label "r11s-axe-1-crush-1" 489.9 "Crushing Comet" Ability { id: "B415", source: "The Tyrant" } 492.7 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } @@ -91,7 +94,7 @@ hideall "--sync--" 500.0 "Assault Evolved 2" Ability { id: ["B41A", "B418", "B419"], source: "The Tyrant" } 503.1 "--jump scythe--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } 505.0 "Weapon 3" Ability { id: ["B41B", "B41C", "B41D"], source: "The Tyrant" } -505.1 "Assault Evolved 3" Ability { id: "["B418", "B419", "B41A"], source: "The Tyrant" } +505.1 "Assault Evolved 3" Ability { id: ["B418", "B419", "B41A"], source: "The Tyrant" } 510.2 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } 512.2 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } 514.2 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } @@ -154,6 +157,7 @@ hideall "--sync--" 779.8 "Void Stardust" Ability { id: "B412", source: "The Tyrant" } 783.9 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } +# Branch for Raw Steel Scythe + Comet or Crushing Comet First 784.9 "--sync--" StartsUsing { id: "B414", source: "The Tyrant" } jump "r11s-scythe-1-comet-1" 784.9 "--sync--" StartsUsing { id: "B415", source: "The Tyrant" } jump "r11s-scythe-1-crush-1" 785.9 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } @@ -164,6 +168,7 @@ hideall "--sync--" 794.8 "Weapon 1" #Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } 794.9 "Assault Evolved 1" #Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } +# Raw Steel Scythe First + Comet First 884.9 label "r11s-scythe-1-comet-1" 889.9 "Comet" Ability { id: "B414", source: "The Tyrant" } 892.7 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } @@ -175,7 +180,7 @@ hideall "--sync--" 900.0 "Assault Evolved 2" Ability { id: ["B41A", "B418", "B419"], source: "The Tyrant" } 903.1 "--jump scythe--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } 905.0 "Weapon 3" Ability { id: ["B41B", "B41C", "B41D"], source: "The Tyrant" } -905.1 "Assault Evolved 3" Ability { id: "["B418", "B419", "B41A"], source: "The Tyrant" } +905.1 "Assault Evolved 3" Ability { id: ["B418", "B419", "B41A"], source: "The Tyrant" } 910.2 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } 912.2 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } 914.2 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } @@ -188,6 +193,7 @@ hideall "--sync--" 941.3 "Dance of Domination 1" #Ability { id: "B41F", source: "The Tyrant" } 942.0 "Dance of Domination 2" #Ability { id: "B421", source: "The Tyrant" } +# Raw Steel Scythe First + Crushing Comet First 1084.9 label "r11s-scythe-1-crush-1" 1089.9 "Crushing Comet" Ability { id: "B415", source: "The Tyrant" } 1092.7 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } @@ -199,7 +205,7 @@ hideall "--sync--" 1100.0 "Assault Evolved 2" Ability { id: ["B41A", "B418", "B419"], source: "The Tyrant" } 1103.1 "--jump scythe--" Ability { id: ["B543", "B544", "B545"], source: "The Tyrant" } 1105.0 "Weapon 3" Ability { id: ["B41B", "B41C", "B41D"], source: "The Tyrant" } -1105.1 "Assault Evolved 3" Ability { id: "["B418", "B419", "B41A"], source: "The Tyrant" } +1105.1 "Assault Evolved 3" Ability { id: ["B418", "B419", "B41A"], source: "The Tyrant" } 1110.2 "Cometite 1" #Ability { id: "B413", source: "The Tyrant" } 1112.2 "Cometite 2" #Ability { id: "B413", source: "The Tyrant" } 1114.2 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } From e3ffb8b08550692f8fd395525e2882c62809bb96 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 22 Jan 2026 03:19:25 -0500 Subject: [PATCH 42/75] missed syncs Meteorain used to sync. Fire breath apparently can be outranged due to a technical 60 yalm limit. --- ui/raidboss/data/07-dt/raid/r11s.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index dbc18c5635..9d4e8982a3 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -312,9 +312,9 @@ hideall "--sync--" 1400.0 "Majestic Meteor 1" #Ability { id: "B441", source: "The Tyrant" } 1401.1 "--meteor 3--" #StartsUsing { id: "B441", source: "The Tyrant" } 1402.0 "Majestic Meteor 2" #Ability { id: "B441", source: "The Tyrant" } -1403.9 "Majestic Meteowrath x2" Ability { id: "B443", source: "The Tyrant" } -1403.9 "Majestic Meteorain x2" #Ability { id: "B442", source: "The Tyrant" } -1403.9 "Fire Breath x2" Ability { id: "B447", source: "The Tyrant" } +1403.9 "Majestic Meteowrath x2" #Ability { id: "B443", source: "The Tyrant" } +1403.9 "Majestic Meteorain x2" Ability { id: "B442", source: "The Tyrant" } +1403.9 "Fire Breath x2" #Ability { id: "B447", source: "The Tyrant" } 1404.1 "Majestic Meteor 3" #Ability { id: "B441", source: "The Tyrant" } 1421.1 "Explosion" Ability { id: "B444", source: "The Tyrant" } @@ -323,9 +323,9 @@ hideall "--sync--" 1432.1 "Majestic Meteor 1" #Ability { id: "B441", source: "The Tyrant" } 1433.1 "--meteor 3--" #StartsUsing { id: "B441", source: "The Tyrant" } 1434.1 "Majestic Meteor 2" #Ability { id: "B441", source: "The Tyrant" } -1436.0 "Majestic Meteowrath x2" Ability { id: "B443", source: "The Tyrant" } +1436.0 "Majestic Meteowrath x2" #Ability { id: "B443", source: "The Tyrant" } 1436.0 "Majestic Meteorain x2" Ability { id: "B442", source: "The Tyrant" } -1436.0 "Fire Breath x2" Ability { id: "B447", source: "The Tyrant" } +1436.0 "Fire Breath x2" #Ability { id: "B447", source: "The Tyrant" } 1436.1 "Majestic Meteor 3" #Ability { id: "B441", source: "The Tyrant" } 1445.3 "Massive Meteor (castbar)" Ability { id: "B448", source: "The Tyrant" } 1446.4 "Massive Meteor x5" #Ability { id: "B449", source: "The Tyrant" } duration 5.6 From 821ce9b2861a49f7690542eabedc8e902e018a7e Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 22 Jan 2026 03:26:00 -0500 Subject: [PATCH 43/75] ignore B431 VFX and causes a missed sync --- ui/raidboss/data/07-dt/raid/r11s.txt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index 9d4e8982a3..3b832ed33c 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -1,7 +1,7 @@ ### AAC HEAVYWEIGHT M3 (SAVAGE) # ZoneId: 1325 -# -ii B405 B40E B40D B40A B41E B42D B429 B426 B437 B43B B445 B455 B439 B458 B461 B446 +# -ii B405 B40E B40D B40A B41E B42D B429 B426 B437 B43B B445 B455 B439 B458 B461 B446 B431 # -it "The Tyrant" hideall "--Reset--" @@ -269,7 +269,6 @@ hideall "--sync--" 1266.1 "Orbital Omen (castbar)" Ability { id: "B432", source: "The Tyrant" } 1274.8 "Fire and Fury (castbar)" Ability { id: "B42F", source: "The Tyrant" } 1275.2 "Orbital Omen 1" #Ability { id: "B433", source: "The Tyrant" } -1275.8 "Fire and Fury" #Ability { id: "B431", source: "The Tyrant" } 1275.8 "Fire and Fury" #Ability { id: "B430", source: "The Tyrant" } 1276.8 "Orbital Omen 2" #Ability { id: "B433", source: "The Tyrant" } 1278.4 "Orbital Omen 3" #Ability { id: "B433", source: "The Tyrant" } @@ -344,7 +343,6 @@ hideall "--sync--" 1504.0 "Orbital Omen (castbar)" Ability { id: "B432", source: "The Tyrant" } 1512.7 "Fire and Fury (castbar)" Ability { id: "B42F", source: "The Tyrant" } 1513.1 "Orbital Omen 1" #Ability { id: "B433", source: "The Tyrant" } -1513.7 "Fire and Fury" Ability { id: "B431", source: "The Tyrant" } 1513.7 "Fire and Fury" Ability { id: "B430", source: "The Tyrant" } 1514.7 "Orbital Omen 2" #Ability { id: "B433", source: "The Tyrant" } 1516.3 "Orbital Omen 3" #Ability { id: "B433", source: "The Tyrant" } @@ -409,6 +407,7 @@ hideall "--sync--" # B426 Charybdis: Knocbkack Damage from standing in tornado # B429 One and Only: VFX # B42B Great Wall of Fire: VFX +# B431 Fire and Fury: VFX # B439 Fearsome Fireball: VFX # B446 Fire Breath: VFX # B437 Unmitigated Explosion: Meteors dropped too close to each other From 49053f5225c5ce58a8887847e4ddb662098ee33c Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 22 Jan 2026 03:29:57 -0500 Subject: [PATCH 44/75] add counts to tankbuster explosions --- ui/raidboss/data/07-dt/raid/r11s.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index 3b832ed33c..794fbba197 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -264,8 +264,8 @@ hideall "--sync--" 1252.6 "Great Wall of Fire (castbar)" Ability { id: "B42B", source: "The Tyrant" } 1252.8 "Great Wall of Fire 1" #Ability { id: "B42C", source: "The Tyrant" } 1256.0 "Great Wall of Fire 2" #Ability { id: "B42C", source: "The Tyrant" } -1256.6 "Explosion" Ability { id: "B42E", source: "The Tyrant" } -1259.8 "Explosion" Ability { id: "B42E", source: "The Tyrant" } +1256.6 "Explosion 1" Ability { id: "B42E", source: "The Tyrant" } +1259.8 "Explosion 2" Ability { id: "B42E", source: "The Tyrant" } 1266.1 "Orbital Omen (castbar)" Ability { id: "B432", source: "The Tyrant" } 1274.8 "Fire and Fury (castbar)" Ability { id: "B42F", source: "The Tyrant" } 1275.2 "Orbital Omen 1" #Ability { id: "B433", source: "The Tyrant" } @@ -338,8 +338,8 @@ hideall "--sync--" 1490.5 "Great Wall of Fire (castbar)" Ability { id: "B42B", source: "The Tyrant" } 1490.7 "Great Wall of Fire 1" #Ability { id: "B42C", source: "The Tyrant" } 1493.9 "Great Wall of Fire 2" #Ability { id: "B42C", source: "The Tyrant" } -1494.5 "Explosion" Ability { id: "B42E", source: "The Tyrant" } -1497.7 "Explosion" Ability { id: "B42E", source: "The Tyrant" } +1494.5 "Explosion 1" Ability { id: "B42E", source: "The Tyrant" } +1497.7 "Explosion 2" Ability { id: "B42E", source: "The Tyrant" } 1504.0 "Orbital Omen (castbar)" Ability { id: "B432", source: "The Tyrant" } 1512.7 "Fire and Fury (castbar)" Ability { id: "B42F", source: "The Tyrant" } 1513.1 "Orbital Omen 1" #Ability { id: "B433", source: "The Tyrant" } From 7ee3cfe099fc676f9aaddf7b2f7775c7601a093c Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 22 Jan 2026 03:43:24 -0500 Subject: [PATCH 45/75] Update meteowrath and Fire Breadth counts --- ui/raidboss/data/07-dt/raid/r11s.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index 794fbba197..2a6c81999e 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -311,9 +311,9 @@ hideall "--sync--" 1400.0 "Majestic Meteor 1" #Ability { id: "B441", source: "The Tyrant" } 1401.1 "--meteor 3--" #StartsUsing { id: "B441", source: "The Tyrant" } 1402.0 "Majestic Meteor 2" #Ability { id: "B441", source: "The Tyrant" } -1403.9 "Majestic Meteowrath x2" #Ability { id: "B443", source: "The Tyrant" } +1403.9 "Majestic Meteowrath x4" #Ability { id: "B443", source: "The Tyrant" } 1403.9 "Majestic Meteorain x2" Ability { id: "B442", source: "The Tyrant" } -1403.9 "Fire Breath x2" #Ability { id: "B447", source: "The Tyrant" } +1403.9 "Fire Breath x4" #Ability { id: "B447", source: "The Tyrant" } 1404.1 "Majestic Meteor 3" #Ability { id: "B441", source: "The Tyrant" } 1421.1 "Explosion" Ability { id: "B444", source: "The Tyrant" } @@ -322,9 +322,9 @@ hideall "--sync--" 1432.1 "Majestic Meteor 1" #Ability { id: "B441", source: "The Tyrant" } 1433.1 "--meteor 3--" #StartsUsing { id: "B441", source: "The Tyrant" } 1434.1 "Majestic Meteor 2" #Ability { id: "B441", source: "The Tyrant" } -1436.0 "Majestic Meteowrath x2" #Ability { id: "B443", source: "The Tyrant" } +1436.0 "Majestic Meteowrath x4" #Ability { id: "B443", source: "The Tyrant" } 1436.0 "Majestic Meteorain x2" Ability { id: "B442", source: "The Tyrant" } -1436.0 "Fire Breath x2" #Ability { id: "B447", source: "The Tyrant" } +1436.0 "Fire Breath x4" #Ability { id: "B447", source: "The Tyrant" } 1436.1 "Majestic Meteor 3" #Ability { id: "B441", source: "The Tyrant" } 1445.3 "Massive Meteor (castbar)" Ability { id: "B448", source: "The Tyrant" } 1446.4 "Massive Meteor x5" #Ability { id: "B449", source: "The Tyrant" } duration 5.6 @@ -361,7 +361,7 @@ hideall "--sync--" 1556.2 "Atomic Impact 6" Ability { id: "B454", source: "The Tyrant" } 1557.2 "Cosmic Kiss" Ability { id: "B456", source: "The Tyrant" } 1557.2 "Weighty Impact" #Ability { id: "B457", source: "The Tyrant" } -1566.8 "Majestic Meteowrath" Ability { id: "B459", source: "The Tyrant" } +1566.8 "Majestic Meteowrath x4" Ability { id: "B459", source: "The Tyrant" } 1570.2 "Two-way Fireball / Four-way Fireball (castbar)" Ability { id: ["B7BD", "B45A"], source: "The Tyrant" } 1571.1 "Two-way Fireball / Four-way Fireball" Ability { id: ["B7BE", "B45B"], source: "The Tyrant" } 1579.4 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } From 998dce1e521e4b609df87bb478fd21dc598176cf Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 22 Jan 2026 20:35:30 -0500 Subject: [PATCH 46/75] switch to forcejump Co-authored-by: xiashtra <91220277+xiashtra@users.noreply.github.com> --- ui/raidboss/data/07-dt/raid/r11s.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index 2a6c81999e..748e77b1c0 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -75,7 +75,7 @@ hideall "--sync--" 314.2 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } 316.2 "Crushing Comet" Ability { id: "B415", source: "The Tyrant" } -317.2 "--sync--" StartsUsing { id: "B406", source: "The Tyrant" } jump "r11s-axe-1-post-cometcrush" +317.2 "--sync--" StartsUsing { id: "B406", source: "The Tyrant" } forcejump "r11s-axe-1-post-cometcrush" 322.2 "Crown of Arcadia" #Ability { id: "B406", source: "The Tyrant" } 330.4 "--middle--" #Ability { id: "B404", source: "The Tyrant" } 334.6 "Dance of Domination Trophy" #Ability { id: "B7BB", source: "The Tyrant" } From b697db7c649b4ff4fd6871257d6e84a56d64eaa3 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 22 Jan 2026 20:35:41 -0500 Subject: [PATCH 47/75] switch to forcejump Co-authored-by: xiashtra <91220277+xiashtra@users.noreply.github.com> --- ui/raidboss/data/07-dt/raid/r11s.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index 748e77b1c0..dc3d8e505c 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -122,8 +122,8 @@ hideall "--sync--" 571.8 "--middle--" Ability { id: "B404", source: "The Tyrant" } # Ultimate Trophy Weapons (Axe) -573.9 "--sync--" StartsUsing { id: "B425", source: "The Tyrant" } jump "r11s-charybdistopia" -578.9 "Charybdistopia" Ability { id: "B425", source: "The Tyrant" } +573.9 "--sync--" StartsUsing { id: "B425", source: "The Tyrant" } forcejump "r11s-charybdistopia" +578.9 "Charybdistopia" #Ability { id: "B425", source: "The Tyrant" } 584.6 "Ultimate Trophy Weapons" #Ability { id: "B7ED", source: "The Tyrant" } 592.4 "Assault Apex" #Ability { id: "B7EE", source: "The Tyrant" } 592.6 "--jump 1--" #Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } From 2fb0bc85332986384bfdad62c7b3879e98e00fa4 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 22 Jan 2026 20:35:51 -0500 Subject: [PATCH 48/75] switch to forcejump Co-authored-by: xiashtra <91220277+xiashtra@users.noreply.github.com> --- ui/raidboss/data/07-dt/raid/r11s.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index dc3d8e505c..08ef82eb5a 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -186,7 +186,7 @@ hideall "--sync--" 914.2 "Cometite 3" #Ability { id: "B413", source: "The Tyrant" } 916.2 "Crushing Comet" Ability { id: "B415", source: "The Tyrant" } -917.2 "--sync--" StartsUsing { id: "B406", source: "The Tyrant" } jump "r11s-scythe-1-post-cometcrush" +917.2 "--sync--" StartsUsing { id: "B406", source: "The Tyrant" } forcejump "r11s-scythe-1-post-cometcrush" 922.2 "Crown of Arcadia" #Ability { id: "B406", source: "The Tyrant" } 930.4 "--middle--" #Ability { id: "B404", source: "The Tyrant" } 934.6 "Dance of Domination Trophy" #Ability { id: "B7BB", source: "The Tyrant" } From 941f7d3c6ea8c41e0a0365137e6039e7b838a9c9 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 22 Jan 2026 20:52:42 -0500 Subject: [PATCH 49/75] add comment for layout description --- ui/raidboss/data/07-dt/raid/r11s.txt | 33 ++++++++++++++-------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index 08ef82eb5a..70e73e7034 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -7,8 +7,22 @@ hideall "--Reset--" hideall "--sync--" -0.0 "--Reset--" ActorControl { command: "4000000F" } window 0,100000 jump 0 +# NOTE: A rough description of the layout for this timeline is as follows: +# Timeline reaches Raw Steel Branch point +# "r11s-raw-steel-axe-1": Raw Steel Axe First +# "r11s-axe-1-comet-1": Raw Steel Axe First + Comet First +# "r11s-axe-1-crush-1": Raw Steel Axe First + Crushing Comet First +# "r11s-axe-1-post-cometcrush": End of Raw Steel Axe First +# "r11s-charybdistopia": Jump to end of Raw Steel branch +# +# "r11s-raw-steel-scythe-1": Raw Steel Scythe +# "r11s-scythe-1-comet-1": Raw Steel Scythe First + Comet First +# "r11s-scythe-1-crush-1": Raw Steel Scythe First + Crushing Comet First +# "r11s-scythe-1-post-cometcrush": End of Raw Steel Scythe First +# "r11s-charybdistopia": Label for the end of Raw Steel branch +# Timeline continues +0.0 "--Reset--" ActorControl { command: "4000000F" } window 0,100000 jump 0 5.6 "--sync--" StartsUsing { id: "B406", source: "The Tyrant" } window 10,10 10.6 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } @@ -76,11 +90,7 @@ hideall "--sync--" 316.2 "Crushing Comet" Ability { id: "B415", source: "The Tyrant" } 317.2 "--sync--" StartsUsing { id: "B406", source: "The Tyrant" } forcejump "r11s-axe-1-post-cometcrush" -322.2 "Crown of Arcadia" #Ability { id: "B406", source: "The Tyrant" } -330.4 "--middle--" #Ability { id: "B404", source: "The Tyrant" } -334.6 "Dance of Domination Trophy" #Ability { id: "B7BB", source: "The Tyrant" } -341.3 "Dance of Domination 1" #Ability { id: "B41F", source: "The Tyrant" } -342.0 "Dance of Domination 2" #Ability { id: "B421", source: "The Tyrant" } + # Raw Steel Axe First + Crushing Comet First 484.9 label "r11s-axe-1-crush-1" @@ -123,12 +133,6 @@ hideall "--sync--" # Ultimate Trophy Weapons (Axe) 573.9 "--sync--" StartsUsing { id: "B425", source: "The Tyrant" } forcejump "r11s-charybdistopia" -578.9 "Charybdistopia" #Ability { id: "B425", source: "The Tyrant" } -584.6 "Ultimate Trophy Weapons" #Ability { id: "B7ED", source: "The Tyrant" } -592.4 "Assault Apex" #Ability { id: "B7EE", source: "The Tyrant" } -592.6 "--jump 1--" #Ability { id: ["B544", "B545", "B543"], source: "The Tyrant" } -594.5 "Weapon 1" #Ability { id: ["B41C", "B41D", "B41B"], source: "The Tyrant" } -594.6 "Assault Evolved 1" #Ability { id: ["B419", "B41A", "B418"], source: "The Tyrant" } # Raw Steel Scythe First @@ -187,11 +191,6 @@ hideall "--sync--" 916.2 "Crushing Comet" Ability { id: "B415", source: "The Tyrant" } 917.2 "--sync--" StartsUsing { id: "B406", source: "The Tyrant" } forcejump "r11s-scythe-1-post-cometcrush" -922.2 "Crown of Arcadia" #Ability { id: "B406", source: "The Tyrant" } -930.4 "--middle--" #Ability { id: "B404", source: "The Tyrant" } -934.6 "Dance of Domination Trophy" #Ability { id: "B7BB", source: "The Tyrant" } -941.3 "Dance of Domination 1" #Ability { id: "B41F", source: "The Tyrant" } -942.0 "Dance of Domination 2" #Ability { id: "B421", source: "The Tyrant" } # Raw Steel Scythe First + Crushing Comet First 1084.9 label "r11s-scythe-1-crush-1" From 61f274ecc2835e0b0417ae173a8a52bee3a5acb2 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 22 Jan 2026 20:55:25 -0500 Subject: [PATCH 50/75] change wording --- ui/raidboss/data/07-dt/raid/r11s.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index 70e73e7034..0c767d54fc 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -12,13 +12,13 @@ hideall "--sync--" # "r11s-raw-steel-axe-1": Raw Steel Axe First # "r11s-axe-1-comet-1": Raw Steel Axe First + Comet First # "r11s-axe-1-crush-1": Raw Steel Axe First + Crushing Comet First -# "r11s-axe-1-post-cometcrush": End of Raw Steel Axe First +# "r11s-axe-1-post-cometcrush": Jump to Dance of Domination section within Raw Steel Axe First # "r11s-charybdistopia": Jump to end of Raw Steel branch # # "r11s-raw-steel-scythe-1": Raw Steel Scythe # "r11s-scythe-1-comet-1": Raw Steel Scythe First + Comet First # "r11s-scythe-1-crush-1": Raw Steel Scythe First + Crushing Comet First -# "r11s-scythe-1-post-cometcrush": End of Raw Steel Scythe First +# "r11s-scythe-1-post-cometcrush": Jump to Dance of Domination section within Raw Steel Scythe First # "r11s-charybdistopia": Label for the end of Raw Steel branch # Timeline continues From bf868cba97f806c7a6a3bbb74259dc852d378bce Mon Sep 17 00:00:00 2001 From: Legends0 Date: Thu, 22 Jan 2026 20:56:48 -0500 Subject: [PATCH 51/75] jump => label --- ui/raidboss/data/07-dt/raid/r11s.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index 0c767d54fc..1639682284 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -12,13 +12,13 @@ hideall "--sync--" # "r11s-raw-steel-axe-1": Raw Steel Axe First # "r11s-axe-1-comet-1": Raw Steel Axe First + Comet First # "r11s-axe-1-crush-1": Raw Steel Axe First + Crushing Comet First -# "r11s-axe-1-post-cometcrush": Jump to Dance of Domination section within Raw Steel Axe First +# "r11s-axe-1-post-cometcrush": Label for Dance of Domination section within Raw Steel Axe First # "r11s-charybdistopia": Jump to end of Raw Steel branch # # "r11s-raw-steel-scythe-1": Raw Steel Scythe # "r11s-scythe-1-comet-1": Raw Steel Scythe First + Comet First # "r11s-scythe-1-crush-1": Raw Steel Scythe First + Crushing Comet First -# "r11s-scythe-1-post-cometcrush": Jump to Dance of Domination section within Raw Steel Scythe First +# "r11s-scythe-1-post-cometcrush": Label for Dance of Domination section within Raw Steel Scythe First # "r11s-charybdistopia": Label for the end of Raw Steel branch # Timeline continues From 8cc16d762f536b85200ac9275c6c2b70e6e15e3b Mon Sep 17 00:00:00 2001 From: Legends0 Date: Fri, 23 Jan 2026 18:38:09 -0500 Subject: [PATCH 52/75] add fire breath markers --- ui/raidboss/data/07-dt/raid/r11s.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index 1639682284..aaa8cf7dfe 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -305,6 +305,7 @@ hideall "--sync--" 1361.8 "Flatliner (split)" Ability { id: "BA90", source: "The Tyrant" } 1375.9 "Majestic Meteor" Ability { id: "B440", source: "The Tyrant" } 1389.0 "Explosion" Ability { id: "B444", source: "The Tyrant" } +1394.9 "--Fire Breath Markers--" HeadMarker { id: '00F4' } 1397.0 "--meteor 1--" #StartsUsing { id: "B441", source: "The Tyrant" } 1399.0 "--meteor 2--" #StartsUsing { id: "B441", source: "The Tyrant" } 1400.0 "Majestic Meteor 1" #Ability { id: "B441", source: "The Tyrant" } @@ -316,6 +317,7 @@ hideall "--sync--" 1404.1 "Majestic Meteor 3" #Ability { id: "B441", source: "The Tyrant" } 1421.1 "Explosion" Ability { id: "B444", source: "The Tyrant" } +1427.0 "--Fire Breath Markers--" HeadMarker { id: '00F4' } 1429.1 "--meteor 1--" #StartsUsing { id: "B441", source: "The Tyrant" } 1431.1 "--meteor 2--" #StartsUsing { id: "B441", source: "The Tyrant" } 1432.1 "Majestic Meteor 1" #Ability { id: "B441", source: "The Tyrant" } From 256604cb2dc87e9a59860198d8b6ca9422643e99 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Fri, 23 Jan 2026 18:40:31 -0500 Subject: [PATCH 53/75] change Flatline (castbar) to sync --- ui/raidboss/data/07-dt/raid/r11s.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index aaa8cf7dfe..89719a144e 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -301,7 +301,7 @@ hideall "--sync--" # Arena Split # NOTE: Need to move to safe spot at meteor 3 -1359.8 "Flatliner (castbar)" Ability { id: "B43F", source: "The Tyrant" } window 360,10 +1359.8 "--sync--" Ability { id: "B43F", source: "The Tyrant" } window 360,10 1361.8 "Flatliner (split)" Ability { id: "BA90", source: "The Tyrant" } 1375.9 "Majestic Meteor" Ability { id: "B440", source: "The Tyrant" } 1389.0 "Explosion" Ability { id: "B444", source: "The Tyrant" } From 756d4ce074d87097be3ab188740337411180c509 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Fri, 23 Jan 2026 18:45:35 -0500 Subject: [PATCH 54/75] merge Majestic Meteowrath, Meteorain, Fire Breath --- ui/raidboss/data/07-dt/raid/r11s.txt | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index 89719a144e..f708cf4343 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -311,9 +311,7 @@ hideall "--sync--" 1400.0 "Majestic Meteor 1" #Ability { id: "B441", source: "The Tyrant" } 1401.1 "--meteor 3--" #StartsUsing { id: "B441", source: "The Tyrant" } 1402.0 "Majestic Meteor 2" #Ability { id: "B441", source: "The Tyrant" } -1403.9 "Majestic Meteowrath x4" #Ability { id: "B443", source: "The Tyrant" } -1403.9 "Majestic Meteorain x2" Ability { id: "B442", source: "The Tyrant" } -1403.9 "Fire Breath x4" #Ability { id: "B447", source: "The Tyrant" } +1403.9 "Fire Breath + Line AoEs" Ability { id: ["B442", "B443", "B447"], source: "The Tyrant" } 1404.1 "Majestic Meteor 3" #Ability { id: "B441", source: "The Tyrant" } 1421.1 "Explosion" Ability { id: "B444", source: "The Tyrant" } @@ -323,9 +321,7 @@ hideall "--sync--" 1432.1 "Majestic Meteor 1" #Ability { id: "B441", source: "The Tyrant" } 1433.1 "--meteor 3--" #StartsUsing { id: "B441", source: "The Tyrant" } 1434.1 "Majestic Meteor 2" #Ability { id: "B441", source: "The Tyrant" } -1436.0 "Majestic Meteowrath x4" #Ability { id: "B443", source: "The Tyrant" } -1436.0 "Majestic Meteorain x2" Ability { id: "B442", source: "The Tyrant" } -1436.0 "Fire Breath x4" #Ability { id: "B447", source: "The Tyrant" } +1436.0 "Fire Breath + Line AoEs" Ability { id: ["B442", "B443", "B447"], source: "The Tyrant" } 1436.1 "Majestic Meteor 3" #Ability { id: "B441", source: "The Tyrant" } 1445.3 "Massive Meteor (castbar)" Ability { id: "B448", source: "The Tyrant" } 1446.4 "Massive Meteor x5" #Ability { id: "B449", source: "The Tyrant" } duration 5.6 From 6c9f096ab3fcac6a2155f9d0157fa64854ee29f1 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Fri, 23 Jan 2026 18:48:24 -0500 Subject: [PATCH 55/75] replace with full spell names timelineReplace will be used --- ui/raidboss/data/07-dt/raid/r11s.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index f708cf4343..804d3332eb 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -311,7 +311,7 @@ hideall "--sync--" 1400.0 "Majestic Meteor 1" #Ability { id: "B441", source: "The Tyrant" } 1401.1 "--meteor 3--" #StartsUsing { id: "B441", source: "The Tyrant" } 1402.0 "Majestic Meteor 2" #Ability { id: "B441", source: "The Tyrant" } -1403.9 "Fire Breath + Line AoEs" Ability { id: ["B442", "B443", "B447"], source: "The Tyrant" } +1403.9 "Majestic Meteowrath/Majestic Meteorain/Fire Breath" Ability { id: ["B442", "B443", "B447"], source: "The Tyrant" } 1404.1 "Majestic Meteor 3" #Ability { id: "B441", source: "The Tyrant" } 1421.1 "Explosion" Ability { id: "B444", source: "The Tyrant" } @@ -321,7 +321,7 @@ hideall "--sync--" 1432.1 "Majestic Meteor 1" #Ability { id: "B441", source: "The Tyrant" } 1433.1 "--meteor 3--" #StartsUsing { id: "B441", source: "The Tyrant" } 1434.1 "Majestic Meteor 2" #Ability { id: "B441", source: "The Tyrant" } -1436.0 "Fire Breath + Line AoEs" Ability { id: ["B442", "B443", "B447"], source: "The Tyrant" } +1436.0 "Majestic Meteowrath/Majestic Meteorain/Fire Breath" Ability { id: ["B442", "B443", "B447"], source: "The Tyrant" } 1436.1 "Majestic Meteor 3" #Ability { id: "B441", source: "The Tyrant" } 1445.3 "Massive Meteor (castbar)" Ability { id: "B448", source: "The Tyrant" } 1446.4 "Massive Meteor x5" #Ability { id: "B449", source: "The Tyrant" } duration 5.6 From f50d8b7c83be42530d166e60a480f44ad3df2525 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Fri, 23 Jan 2026 18:50:21 -0500 Subject: [PATCH 56/75] timeline replace for Majestic Meteowrath/Majestic Meteorain/Fire Breath --- ui/raidboss/data/07-dt/raid/r11s.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index ec04536272..c26de2da24 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -903,6 +903,14 @@ const triggerSet: TriggerSet = { }, }, ], + timelineReplace: [ + { + 'locale': 'en', + 'replaceText': { + 'Majestic Meteowrath/Majestic Meteorain/Fire Breath': 'Meteowrath/Mateorain/Fire Breath', + }, + }, + ], }; export default triggerSet; From 7c0022901d34189e852b06f209e2f2eddf09279b Mon Sep 17 00:00:00 2001 From: Legends0 Date: Fri, 23 Jan 2026 18:51:03 -0500 Subject: [PATCH 57/75] wording --- ui/raidboss/data/07-dt/raid/r11s.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index c26de2da24..e27a4412ff 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -907,7 +907,7 @@ const triggerSet: TriggerSet = { { 'locale': 'en', 'replaceText': { - 'Majestic Meteowrath/Majestic Meteorain/Fire Breath': 'Meteowrath/Mateorain/Fire Breath', + 'Majestic Meteowrath/Majestic Meteorain/Fire Breath': 'Fire Breath + Meteor Lines', }, }, ], From 80a6b181e729ae073bcc50df4811d15def3bf8d4 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Fri, 23 Jan 2026 18:52:17 -0500 Subject: [PATCH 58/75] lint --- ui/raidboss/data/07-dt/raid/r11s.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index e27a4412ff..a288baecef 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -910,7 +910,7 @@ const triggerSet: TriggerSet = { 'Majestic Meteowrath/Majestic Meteorain/Fire Breath': 'Fire Breath + Meteor Lines', }, }, - ], + ], }; export default triggerSet; From f65d552e1182a898e6c6b24892a93817ddb85bfa Mon Sep 17 00:00:00 2001 From: Legends0 Date: Fri, 23 Jan 2026 19:29:52 -0500 Subject: [PATCH 59/75] add clarity to Raw Steels and Scythe/Axe, add window to jump --- ui/raidboss/data/07-dt/raid/r11s.txt | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index 804d3332eb..e9015eeac9 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -27,20 +27,20 @@ hideall "--sync--" 10.6 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } # Branch for Raw Steel Axe or Raw Steel Scythe First -15.7 "--sync--" StartsUsing { id: "B422", source: "The Tyrant" } jump "r11s-raw-steel-axe-1" -15.7 "--sync--" StartsUsing { id: "B423", source: "The Tyrant" } jump "r11s-raw-steel-scythe-1" +15.7 "--sync--" StartsUsing { id: "B422", source: "The Tyrant" } window 15.7,5 jump "r11s-raw-steel-axe-1" +15.7 "--sync--" StartsUsing { id: "B423", source: "The Tyrant" } window 15.7,5 jump "r11s-raw-steel-scythe-1" 17.7 "Raw Steel Trophy (Scythe/Axe)" #Ability { id: ["B423", "B422"], source: "The Tyrant" } -24.0 "Raw Steel?" #Ability { id: "B40B", source: "The Tyrant" } # Only tanks -25.1 "Heavy Hitter/Impact x6" #Ability { id: ["B410", "B40C"], source: "The Tyrant" } # Only non-tanks -25.1 "Raw Steel x2?" #Ability { id: "B40F", source: "The Tyrant" } # Only tanks +24.0 "Raw Steel (Axe)?" #Ability { id: "B40B", source: "The Tyrant" } # Only tanks +25.1 "Heavy Hitter (Scythe)/Impact x6 (Axe)" #Ability { id: ["B410", "B40C"], source: "The Tyrant" } # Only non-tanks +25.1 "Raw Steel x2 (Scythe)?" #Ability { id: "B40F", source: "The Tyrant" } # Only tanks 33.1 "--middle--" #Ability { id: "B404", source: "The Tyrant" } 38.4 "Trophy Weapons" #Ability { id: "B416", source: "The Tyrant" } # Raw Steel Axe First 115.7 label "r11s-raw-steel-axe-1" 117.7 "Raw Steel Trophy Axe" Ability { id: "B422", source: "The Tyrant" } -124.0 "Raw Steel" Ability { id: "B40B", source: "The Tyrant" } # Only tanks -125.1 "Impact x6" Ability { id: "B40C", source: "The Tyrant" } # Only non-tanks +124.0 "Raw Steel (Axe)" Ability { id: "B40B", source: "The Tyrant" } # Only tanks +125.1 "Impact x6 (Axe)" Ability { id: "B40C", source: "The Tyrant" } # Only non-tanks 133.1 "--middle--" Ability { id: "B404", source: "The Tyrant" } 138.4 "Trophy Weapons" Ability { id: "B416", source: "The Tyrant" } 148.2 "Assault Evolved" Ability { id: "B417", source: "The Tyrant" } @@ -127,8 +127,8 @@ hideall "--sync--" 550.7 "Explosion" Ability { id: "B420", source: "The Tyrant" } 551.1 "Explosion" Ability { id: "B7BC", source: "The Tyrant" } 556.4 "Raw Steel Trophy Scythe" Ability { id: "B423", source: "The Tyrant" } -563.8 "Heavy Hitter" Ability { id: "B410", source: "The Tyrant" } # Only non-tanks -563.8 "Raw Steel x2" #Ability { id: "B40F", source: "The Tyrant" } # Only tanks +563.8 "Heavy Hitter (Scythe)" Ability { id: "B410", source: "The Tyrant" } # Only non-tanks +563.8 "Raw Steel x2 (Scythe)" #Ability { id: "B40F", source: "The Tyrant" } # Only tanks 571.8 "--middle--" Ability { id: "B404", source: "The Tyrant" } # Ultimate Trophy Weapons (Axe) @@ -138,8 +138,8 @@ hideall "--sync--" # Raw Steel Scythe First 715.7 label "r11s-raw-steel-scythe-1" 717.7 "Raw Steel Trophy Scythe" Ability { id: "B423", source: "The Tyrant" } -725.1 "Heavy Hitter" Ability { id: "B410", source: "The Tyrant" } # Only non-tanks -725.1 "Raw Steel x2" #Ability { id: "B40F", source: "The Tyrant" } # Only tanks +725.1 "Heavy Hitter (Scythe)" Ability { id: "B410", source: "The Tyrant" } # Only non-tanks +725.1 "Raw Steel x2 (Scythe)" #Ability { id: "B40F", source: "The Tyrant" } # Only tanks 733.1 "--middle--" Ability { id: "B404", source: "The Tyrant" } # Trophy Weapons 1 (Scythe) @@ -227,8 +227,8 @@ hideall "--sync--" 1150.7 "Explosion" Ability { id: "B420", source: "The Tyrant" } 1151.1 "Explosion" Ability { id: "B7BC", source: "The Tyrant" } 1156.4 "Raw Steel Trophy Axe" Ability { id: "B422", source: "The Tyrant" } -1162.7 "Raw Steel" Ability { id: "B40B", source: "The Tyrant" } # Only tanks -1163.8 "Impact x6" Ability { id: "B40C", source: "The Tyrant" } # Only non-tanks +1162.7 "Raw Steel (Axe)" Ability { id: "B40B", source: "The Tyrant" } # Only tanks +1163.8 "Impact x6 (Axe)" Ability { id: "B40C", source: "The Tyrant" } # Only non-tanks 1171.8 "--middle--" Ability { id: "B404", source: "The Tyrant" } # Ultimate Trophy Weapons From a2022d6987766bfead9931a84aca8c0455324cf2 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Fri, 23 Jan 2026 19:43:23 -0500 Subject: [PATCH 60/75] add meteor markers to timeline --- ui/raidboss/data/07-dt/raid/r11s.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index e9015eeac9..81bac41705 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -276,11 +276,14 @@ hideall "--sync--" # Meteorain 1285.0 "--middle--" Ability { id: "B404", source: "The Tyrant" } 1292.1 "Meteorain" Ability { id: "B434", source: "The Tyrant" } +1293.2 "--Meteor Markers 1--" HeadMarker { id: "00F4" } 1300.1 "Fearsome Fireball" Ability { id: "B43A", source: "The Tyrant" } 1301.3 "Cosmic Kiss" Ability { id: "B435", source: "Comet" } +1303.1 "--Meteor Markers 2--" HeadMarker { id: "00F4" } 1309.3 "Foregone Fatality" Ability { id: "B436", source: "The Tyrant" } 1310.2 "Fearsome Fireball" Ability { id: "B43A", source: "The Tyrant" } 1311.4 "Cosmic Kiss" Ability { id: "B435", source: "Comet" } +1313.1 "--Meteor Markers 3--" HeadMarker { id: "00F4" } 1314.0 "Explosion" Ability { id: "B438", source: "Comet" } 1319.3 "Foregone Fatality" Ability { id: "B436", source: "The Tyrant" } 1320.2 "Fearsome Fireball" Ability { id: "B43A", source: "The Tyrant" } From 20e9ea557a41514e0c91f888a2149942a1207076 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Fri, 23 Jan 2026 20:16:53 -0500 Subject: [PATCH 61/75] add tethers to timeline --- ui/raidboss/data/07-dt/raid/r11s.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index 81bac41705..b435e78a4b 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -280,10 +280,12 @@ hideall "--sync--" 1300.1 "Fearsome Fireball" Ability { id: "B43A", source: "The Tyrant" } 1301.3 "Cosmic Kiss" Ability { id: "B435", source: "Comet" } 1303.1 "--Meteor Markers 2--" HeadMarker { id: "00F4" } +1303.5 "--tethers--" 1309.3 "Foregone Fatality" Ability { id: "B436", source: "The Tyrant" } 1310.2 "Fearsome Fireball" Ability { id: "B43A", source: "The Tyrant" } 1311.4 "Cosmic Kiss" Ability { id: "B435", source: "Comet" } 1313.1 "--Meteor Markers 3--" HeadMarker { id: "00F4" } +1313.5 "--tethers--" 1314.0 "Explosion" Ability { id: "B438", source: "Comet" } 1319.3 "Foregone Fatality" Ability { id: "B436", source: "The Tyrant" } 1320.2 "Fearsome Fireball" Ability { id: "B43A", source: "The Tyrant" } @@ -307,6 +309,7 @@ hideall "--sync--" 1359.8 "--sync--" Ability { id: "B43F", source: "The Tyrant" } window 360,10 1361.8 "Flatliner (split)" Ability { id: "BA90", source: "The Tyrant" } 1375.9 "Majestic Meteor" Ability { id: "B440", source: "The Tyrant" } +1377.0 "--tethers--" 1389.0 "Explosion" Ability { id: "B444", source: "The Tyrant" } 1394.9 "--Fire Breath Markers--" HeadMarker { id: '00F4' } 1397.0 "--meteor 1--" #StartsUsing { id: "B441", source: "The Tyrant" } @@ -316,8 +319,9 @@ hideall "--sync--" 1402.0 "Majestic Meteor 2" #Ability { id: "B441", source: "The Tyrant" } 1403.9 "Majestic Meteowrath/Majestic Meteorain/Fire Breath" Ability { id: ["B442", "B443", "B447"], source: "The Tyrant" } 1404.1 "Majestic Meteor 3" #Ability { id: "B441", source: "The Tyrant" } -1421.1 "Explosion" Ability { id: "B444", source: "The Tyrant" } +1409.0 "--tethers--" +1421.1 "Explosion" Ability { id: "B444", source: "The Tyrant" } 1427.0 "--Fire Breath Markers--" HeadMarker { id: '00F4' } 1429.1 "--meteor 1--" #StartsUsing { id: "B441", source: "The Tyrant" } 1431.1 "--meteor 2--" #StartsUsing { id: "B441", source: "The Tyrant" } @@ -361,6 +365,7 @@ hideall "--sync--" 1556.2 "Atomic Impact 6" Ability { id: "B454", source: "The Tyrant" } 1557.2 "Cosmic Kiss" Ability { id: "B456", source: "The Tyrant" } 1557.2 "Weighty Impact" #Ability { id: "B457", source: "The Tyrant" } +1559.7 "--tethers--" 1566.8 "Majestic Meteowrath x4" Ability { id: "B459", source: "The Tyrant" } 1570.2 "Two-way Fireball / Four-way Fireball (castbar)" Ability { id: ["B7BD", "B45A"], source: "The Tyrant" } 1571.1 "Two-way Fireball / Four-way Fireball" Ability { id: ["B7BE", "B45B"], source: "The Tyrant" } From 14971bfca8a30c8445d3295d3127a2d95e9df95d Mon Sep 17 00:00:00 2001 From: Legends0 Date: Fri, 23 Jan 2026 20:21:15 -0500 Subject: [PATCH 62/75] increase suppress to standard --- ui/raidboss/data/07-dt/raid/r11s.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index a288baecef..6eb2185c29 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -776,7 +776,7 @@ const triggerSet: TriggerSet = { return true; return false; }, - suppressSeconds: 99, + suppressSeconds: 9999, infoText: (data, matches, output) => { const actor = data.actorPositions[matches.sourceId]; if (actor === undefined) From 4c2a0a071a0e0a35d80c21374dd7184eeafbcab8 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Fri, 23 Jan 2026 20:24:16 -0500 Subject: [PATCH 63/75] replace map with modulo Co-authored-by: valarnin --- ui/raidboss/data/07-dt/raid/r11s.ts | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 6eb2185c29..809ff9a5b9 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -782,22 +782,13 @@ const triggerSet: TriggerSet = { if (actor === undefined) return; - const dirNum = Directions.xyTo8DirNum(actor.x, actor.y, center.x, center.y); - if (dirNum === undefined) - return; + const portalDirNum = Directions.xyTo8DirNum(actor.x, actor.y, center.x, center.y); - type dirNumStretchMap = { - [key: number]: string; - }; // TODO: Make config for options? - const stretchCW: dirNumStretchMap = { - 0: 'dirSW', - 2: 'dirNW', - 4: 'dirNE', - 6: 'dirSE', - }; - const stretchDir = stretchCW[dirNum]; - return output.stretchTetherDir!({ dir: output[stretchDir ?? '???']!() }); + const stretchDirNum = (portalDirNum + 5) % 8; + const stretchDir = Directions.output8Dir[stretchDirNum] ?? 'unknown'; + + return output.stretchTetherDir!({ dir: output[stretchDir]!() }); }, outputStrings: { ...Directions.outputStrings8Dir, From 41e395e3359c4849d81a159c6e8256703a67ef31 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Fri, 23 Jan 2026 20:32:17 -0500 Subject: [PATCH 64/75] comment last enrage id due to propagation --- ui/raidboss/data/07-dt/raid/r11s.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index b435e78a4b..060b268add 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -401,7 +401,7 @@ hideall "--sync--" 1651.6 "--sync--" StartsUsing { id: "B462", source: "The Tyrant" } 1659.6 "Heartbreaker (Enrage)" Ability { id: "B462", source: "The Tyrant" } 1659.6 "--untargetable--" -1659.8 "Heartbreaker (Enrage)" Ability { id: "B463", source: "The Tyrant" } +1659.8 "Heartbreaker (Enrage)" #Ability { id: "B463", source: "The Tyrant" } # IGNORED ABILITIES # B40A Raw Steel: VFX for Axe From 2900fbe0ee3e80c387500d9bfc1bcb7ef2288852 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Fri, 23 Jan 2026 22:46:26 -0500 Subject: [PATCH 65/75] dpm --- ui/raidboss/data/07-dt/raid/r11s.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 809ff9a5b9..2d1dbe2971 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -232,7 +232,7 @@ const triggerSet: TriggerSet = { : (matches.param1 === '11D2' ? 'stack' : 'protean'); if (data.weaponMechCount === 7) return output.mechanicThenBait!({ mech: output[mechanic]!(), bait: output.bait!() }); - if (data.weaponMechCount > 3) + if (data.weaponMechCount > 3 && mechanic !== 'stack') return output.mechanicThenMove!({ mech: output[mechanic]!(), move: output.move!() }); return output[mechanic]!(); }, From 8d1ee71a2471f33fff94a356f4afa0217acd30e0 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Fri, 23 Jan 2026 22:49:04 -0500 Subject: [PATCH 66/75] put back incombat accidentally removed it in a copy/paste --- ui/raidboss/data/07-dt/raid/r11s.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.txt b/ui/raidboss/data/07-dt/raid/r11s.txt index 060b268add..ecd5e2e279 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.txt +++ b/ui/raidboss/data/07-dt/raid/r11s.txt @@ -7,6 +7,8 @@ hideall "--Reset--" hideall "--sync--" +0.0 "--Reset--" ActorControl { command: "4000000F" } window 0,100000 jump 0 + # NOTE: A rough description of the layout for this timeline is as follows: # Timeline reaches Raw Steel Branch point # "r11s-raw-steel-axe-1": Raw Steel Axe First @@ -22,7 +24,7 @@ hideall "--sync--" # "r11s-charybdistopia": Label for the end of Raw Steel branch # Timeline continues -0.0 "--Reset--" ActorControl { command: "4000000F" } window 0,100000 jump 0 +0.0 "--sync--" InCombat { inGameCombat: "1" } window 0,1 5.6 "--sync--" StartsUsing { id: "B406", source: "The Tyrant" } window 10,10 10.6 "Crown of Arcadia" Ability { id: "B406", source: "The Tyrant" } From 2e48719dc261d6eccb17c8d32c02a1598f1508ed Mon Sep 17 00:00:00 2001 From: Legends0 Date: Sat, 24 Jan 2026 02:03:01 -0500 Subject: [PATCH 67/75] fix two-way/four-way call for tethered players Mistook this early on as the players with atomic getting tethers. --- ui/raidboss/data/07-dt/raid/r11s.ts | 48 +++++++++++++++++++---------- 1 file changed, 32 insertions(+), 16 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 2d1dbe2971..385cec166b 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -35,6 +35,7 @@ export interface Data extends RaidbossData { hasMeteor: boolean; fireballCount: number; hasAtomic: boolean; + hadEclipticTether: boolean; heartbreakerCount: number; } @@ -115,6 +116,7 @@ const triggerSet: TriggerSet = { hasMeteor: false, fireballCount: 0, hasAtomic: false, + hadEclipticTether: false, heartbreakerCount: 0, }), timelineTriggers: [], @@ -764,6 +766,21 @@ const triggerSet: TriggerSet = { suppressSeconds: 1, response: Responses.getTowers(), }, + { + id: 'R11S Majestic Meteowrath Tether Collect', + type: 'Tether', + netRegex: { id: [headMarkerData.closeTether, headMarkerData.farTether], capture: true }, + condition: (data, matches) => { + if ( + data.me === matches.target && + data.phase === 'ecliptic' + ) + return true; + return false; + }, + suppressSeconds: 9999, + run: (data) => data.hadEclipticTether = true, + }, { id: 'R11S Majestic Meteowrath Tethers', type: 'Tether', @@ -783,11 +800,9 @@ const triggerSet: TriggerSet = { return; const portalDirNum = Directions.xyTo8DirNum(actor.x, actor.y, center.x, center.y); - // TODO: Make config for options? const stretchDirNum = (portalDirNum + 5) % 8; const stretchDir = Directions.output8Dir[stretchDirNum] ?? 'unknown'; - return output.stretchTetherDir!({ dir: output[stretchDir]!() }); }, outputStrings: { @@ -802,16 +817,16 @@ const triggerSet: TriggerSet = { type: 'StartsUsing', netRegex: { id: 'B7BD', source: 'The Tyrant', capture: false }, alertText: (data, _matches, output) => { - if (data.hasAtomic) - return output.twoWayAtomic!(); - return output.twoWay!(); + if (data.hadEclipticTether) + return output.twoWayBehind!(); + return output.twoWayFront!(); }, outputStrings: { - twoWay: { - en: 'East/West Line Stack', + twoWayFront: { + en: 'East/West Line Stack, Be in Front', }, - twoWayAtomic: { - en: 'Move; East/West Line Stack', + twoWayBehind: { + en: 'Move; East/West Line Stack, Get behind', }, }, }, @@ -820,19 +835,20 @@ const triggerSet: TriggerSet = { type: 'StartsUsing', netRegex: { id: 'B45A', source: 'The Tyrant', capture: false }, alertText: (data, _matches, output) => { - if (data.hasAtomic) - return output.fourWayAtomic!(); - return output.fourWay!(); + if (data.hadEclipticTether) + return output.fourWayBehind!(); + return output.fourWayFront!() }, outputStrings: { - fourWay: { - en: 'Intercardinal Line Stack', + fourWayFront: { + en: 'Intercardinal Line Stack, Be in Front', }, - fourWayAtomic: { - en: 'Stay Corner, Intercardinal Line Stack', + fourWayBehind: { + en: 'Intercardinal Line Stack, Get behind', }, }, }, + }, { id: 'R11S Heartbreaker (Enrage Sequence)', type: 'StartsUsing', From 59842829b2843f6f2b975036deb1ae655daa12a0 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Sat, 24 Jan 2026 02:07:44 -0500 Subject: [PATCH 68/75] fix paste error --- ui/raidboss/data/07-dt/raid/r11s.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 385cec166b..5f747ea989 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -848,7 +848,6 @@ const triggerSet: TriggerSet = { }, }, }, - }, { id: 'R11S Heartbreaker (Enrage Sequence)', type: 'StartsUsing', From 15dd1963d4f4f183a14186579c7d9b5a929c8cf0 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Sat, 24 Jan 2026 02:23:50 -0500 Subject: [PATCH 69/75] missing semicolon --- ui/raidboss/data/07-dt/raid/r11s.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 5f747ea989..36004b6848 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -837,7 +837,7 @@ const triggerSet: TriggerSet = { alertText: (data, _matches, output) => { if (data.hadEclipticTether) return output.fourWayBehind!(); - return output.fourWayFront!() + return output.fourWayFront!(); }, outputStrings: { fourWayFront: { From 5b51641aa6d8a807b4162e8c65e34cd5093b3481 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Sat, 24 Jan 2026 03:13:09 -0500 Subject: [PATCH 70/75] add early call for 1st Weapon in Trophy Weapons 2 May be helpful for knowing where to spread/stack towards. --- ui/raidboss/data/07-dt/raid/r11s.ts | 47 +++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 36004b6848..37a51c1fdf 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -255,6 +255,53 @@ const triggerSet: TriggerSet = { }, }, }, + { + id: 'R11S Trophy Weapons 2 Early Calls', + type: 'ActorControlExtra', + netRegex: { category: '0197', param1: ['11D1', '11D2', '11D3'], capture: true }, + condition: (data, matches) => { + if (data.weaponMechCount !== 1) + return false; + + const actor = data.actorPositions[matches.id]; + + if (actor === undefined) + return false; + + const actorDir = Math.atan2(actor.x - center.x, actor.y - center.y); + + if ((Math.abs(actorDir - actor.heading) % Math.PI) < 0.1) + return true; + return false; + }, + suppressSeconds: 9999, + infoText: (data, matches, output) => { + const actor = data.actorPositions[matches.id]; + + if (actor === undefined) + return; + + const mechanic = matches.param1 === '11D1' + ? 'healerGroups' + : (matches.param1 === '11D2' ? 'stack' : 'protean'); + + const dir = Directions.xyTo8DirOutput(actor.x, actor.y, center.x, center.y); + + return output.text!({ + dir: output[dir]!(), + weapon: output[mechanic]!(), + }); + }, + outputStrings: { + ...Directions.outputStrings8Dir, + healerGroups: Outputs.healerGroups, + stack: Outputs.stackMiddle, + protean: Outputs.protean, + text: { + en: '${dir}: ${weapon} (1st later)', + }, + }, + }, { id: 'R11S Trophy Weapons', type: 'ActorControlExtra', From e0d5f3e3169561bd141693d46fe068c2376609be Mon Sep 17 00:00:00 2001 From: Legends0 Date: Sat, 24 Jan 2026 03:20:06 -0500 Subject: [PATCH 71/75] remove move call on maelstrom 3 It felt like this was not necessary anymore, the timing of the Ultimate Trophy Weapon "=> Move" or "=> Bait Gust" seemed sufficient to me. --- ui/raidboss/data/07-dt/raid/r11s.ts | 7 ------- 1 file changed, 7 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 37a51c1fdf..6e0f882b07 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -542,13 +542,6 @@ const triggerSet: TriggerSet = { netRegex: { name: 'Maelstrom', capture: false }, run: (data) => data.maelstromCount = data.maelstromCount + 1, }, - { - id: 'R11S Maelstrom 3 Reminder', - type: 'AddedCombatant', - netRegex: { name: 'Maelstrom', capture: false }, - condition: (data) => data.maelstromCount === 3, - response: Responses.moveAway(), - }, { id: 'R11S Powerful Gust Reminder', type: 'AddedCombatant', From 9b57a4042359d4aca874a42f52902bfbb7e5cda6 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Tue, 27 Jan 2026 19:44:38 -0500 Subject: [PATCH 72/75] xyTo4DirIntercardNum for arena split triggers --- resources/util.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/util.ts b/resources/util.ts index 904cb1c86b..3f93d7201b 100644 --- a/resources/util.ts +++ b/resources/util.ts @@ -379,6 +379,7 @@ export const Directions = { outputStrings8Dir: outputStrings8Dir, outputStringsCardinalDir: outputStringsCardinalDir, outputStringsIntercardDir: outputStringsIntercardDir, + xyTo4DirIntercardNum: xyTo4DirIntercardNum, xyTo16DirNum: xyTo16DirNum, xyTo8DirNum: xyTo8DirNum, xyTo4DirNum: xyTo4DirNum, From c5373a721c15573cccd866fe2d730038b0da1ccf Mon Sep 17 00:00:00 2001 From: Legends0 Date: Tue, 27 Jan 2026 19:50:32 -0500 Subject: [PATCH 73/75] add arena split triggers --- ui/raidboss/data/07-dt/raid/r11s.ts | 190 +++++++++++++++++++++++++--- 1 file changed, 172 insertions(+), 18 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 6e0f882b07..b6030c9053 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -33,6 +33,8 @@ export interface Data extends RaidbossData { }; maelstromCount: number; hasMeteor: boolean; + arenaSplitStretchDirNum?: number; + baitsFireBreath: boolean; fireballCount: number; hasAtomic: boolean; hadEclipticTether: boolean; @@ -114,6 +116,7 @@ const triggerSet: TriggerSet = { assaultEvolvedCount: 0, maelstromCount: 0, hasMeteor: false, + baitsFireBreath: false, fireballCount: 0, hasAtomic: false, hadEclipticTether: false, @@ -423,21 +426,6 @@ const triggerSet: TriggerSet = { netRegex: { id: 'B415', source: 'The Tyrant', capture: true }, response: Responses.stackMarkerOn(), }, - { - id: 'R11S Dance Of Domination Trophy', - // 2s cast, but B41F damage cast (0.5s) starts ~6s later. - // There are 12.9s from B7BB startsUsing to bigAoe B7EA Ability - type: 'StartsUsing', - netRegex: { id: 'B7BB', source: 'The Tyrant', capture: false }, - delaySeconds: 3.7, // 5s before AoEs start - durationSeconds: 5, - infoText: (_data, _matches, output) => output.text!(), - outputStrings: { - text: { - en: 'AoE x6 => Big AoE', - }, - }, - }, { id: 'R11S Void Stardust End', // The second set of comets does not have a startsUsing cast @@ -469,6 +457,21 @@ const triggerSet: TriggerSet = { }, }, }, + { + id: 'R11S Dance Of Domination Trophy', + // 2s cast, but B41F damage cast (0.5s) starts ~6s later. + // There are 12.9s from B7BB startsUsing to bigAoe B7EA Ability + type: 'StartsUsing', + netRegex: { id: 'B7BB', source: 'The Tyrant', capture: false }, + delaySeconds: 3.7, // 5s before AoEs start + durationSeconds: 5, + infoText: (_data, _matches, output) => output.text!(), + outputStrings: { + text: { + en: 'AoE x6 => Big AoE', + }, + }, + }, { // Adapted from normal mode id: 'R11S Dance Of Domination Trophy Safe Spots', @@ -661,7 +664,25 @@ const triggerSet: TriggerSet = { netRegex: { id: 'B444', source: 'The Tyrant', capture: false }, durationSeconds: 10, suppressSeconds: 1, - alertText: (_data, _matches, output) => output.knockbackTowers!(), + alertText: (data, _matches, output) => { + const dirNum = data.arenaSplitStretchDirNum; + if (dirNum === 0 || dirNum === 1) + return output.tetherTowers!({ + mech1: output.eastSafe!(), + mech2: output.avoidFireBreath!(), + }); + if (dirNum === 2 || dirNum === 3) + return output.tetherTowers!({ + mech1: output.westSafe!(), + mech2: output.avoidFireBreath!(), + }); + if (data.baitsFireBreath) + return output.fireBreathTowers!({ + mech1: output.northSouthSafe!(), + mech2: output.baitFireBreath!(), + }); + return output.knockbackTowers!(); + }, outputStrings: { knockbackTowers: { en: 'Get Knockback Towers', @@ -669,6 +690,127 @@ const triggerSet: TriggerSet = { cn: '踩击退塔', ko: '넉백탑 들어가기', }, + fireBreathTowers: { + en: '${mech1} => ${mech2}', + }, + tetherTowers: { + en: '${mech1} => ${mech2}', + }, + baitFireBreath: { + en: 'Bait Near', + }, + avoidFireBreath: Outputs.outOfHitbox, + northSouthSafe: { + en: 'Tower Knockback to North/South', + }, + eastSafe: { + en: 'Tower Knockback to East', + fr: 'Prenez une tour (poussée vers l\'Est)', + cn: '被塔击飞到右侧平台', + ko: '탑 넉백 동쪽으로', + }, + westSafe: { + en: 'Tower Knockback to West', + fr: 'Prenez une tour (poussée vers l\'Ouest)', + cn: '被塔击飞到左侧平台', + ko: '탑 넉백 서쪽으로', + }, + }, + }, + { + id: 'R11S Arena Split Majestic Meteowrath Tether Collect', + // Tethers have 2 patterns + // Pattern 1 + // (69, 85) + // (131, 95) + // (131, 105) + // (69, 115) + // Pattern 2: + // (131, 85) + // (69, 95) + // (69, 105) + // (131, 115) + type: 'Tether', + netRegex: { id: [headMarkerData.closeTether, headMarkerData.farTether], capture: true }, + condition: (data, matches) => { + if ( + data.me === matches.target && + data.phase === 'arenaSplit' + ) + return true; + return false; + }, + delaySeconds: 0.1, // Race condition with Tether lines and actor positions + suppressSeconds: 9999, + run: (data, matches) => { + const actor = data.actorPositions[matches.sourceId]; + if (actor === undefined) { + data.arenaSplitStretchDirNum = -1; // Return -1 so that we know we at least don't bait fire breath + return; + } + + const portalDirNum = Directions.xyTo4DirIntercardNum( + actor.x, + actor.y, + center.x, + center.y, + ); + // While these are inter inter cards, furthest stretch will be an intercard + const stretchDirNum = (portalDirNum + 2) % 4; + data.arenaSplitStretchDirNum = stretchDirNum; + }, + }, + { + id: 'R11S Arena Split Majestic Meteowrath Tethers', + type: 'Tether', + netRegex: { id: [headMarkerData.closeTether, headMarkerData.farTether], capture: true }, + condition: (data, matches) => { + if ( + data.me === matches.target && + data.phase === 'arenaSplit' + ) + return true; + return false; + }, + delaySeconds: 0.1, // Race condition with Tether lines and actor positions + suppressSeconds: 9999, + infoText: (data, matches, output) => { + const actor = data.actorPositions[matches.sourceId]; + if (actor === undefined) + return output.stretchTetherLater!(); + + const portalDirNum = Directions.xyTo4DirIntercardNum( + actor.x, + actor.y, + center.y, + center.x, + ); + // While these are inter inter cards, furthest stretch will be an intercard + const stretchDirNum = (portalDirNum + 2) % 4; + const dir = Directions.outputIntercardDir[stretchDirNum]; + return output.stretchTetherDirLater!({ dir: output[dir ?? '???']!() }); + }, + outputStrings: { + ...Directions.outputStringsIntercardDir, + stretchTetherDirLater: { + en: 'Tether on YOU: Stretch ${dir} (later)', + }, + stretchTetherLater: { + en: 'Tether on YOU: Stretch (later)', + }, + }, + }, + { + id: 'R11S Fire Breath Bait Check', + // Wait for tethers to go out, then call if didn't receive one + type: 'Tether', + netRegex: { id: [headMarkerData.closeTether, headMarkerData.farTether], capture: false }, + condition: (data) => data.phase === 'arenaSplit', + delaySeconds: 0.1, + suppressSeconds: 1, + run: (data) => { + if (data.arenaSplitStretchDirNum === undefined) + data.baitsFireBreath = true; }, }, { @@ -687,6 +829,18 @@ const triggerSet: TriggerSet = { }, }, }, + { + id: 'R11S Majestic Meteowrath Tether and Fire Breath Reset', + // Reset tracker on B442 Majestic Meteowrath for next set of tethers + type: 'Ability', + netRegex: { id: 'B442', source: 'The Tyrant', capture: false }, + condition: (data) => data.phase === 'arenaSplit', + suppressSeconds: 9999, + run: (data) => { + delete data.arenaSplitStretchDirNum; + data.baitsFireBreath = false; + }, + }, { id: 'R11S Massive Meteor', type: 'HeadMarker', @@ -807,7 +961,7 @@ const triggerSet: TriggerSet = { response: Responses.getTowers(), }, { - id: 'R11S Majestic Meteowrath Tether Collect', + id: 'R11S Ecliptic Stampede Majestic Meteowrath Tether Collect', type: 'Tether', netRegex: { id: [headMarkerData.closeTether, headMarkerData.farTether], capture: true }, condition: (data, matches) => { @@ -822,7 +976,7 @@ const triggerSet: TriggerSet = { run: (data) => data.hadEclipticTether = true, }, { - id: 'R11S Majestic Meteowrath Tethers', + id: 'R11S Ecliptic Stampede Majestic Meteowrath Tethers', type: 'Tether', netRegex: { id: [headMarkerData.closeTether, headMarkerData.farTether], capture: true }, condition: (data, matches) => { From 40fbc707888104d5f08add3252f8f37065828c95 Mon Sep 17 00:00:00 2001 From: Legends0 Date: Wed, 28 Jan 2026 03:09:51 -0500 Subject: [PATCH 74/75] cleanup arena split triggers, add "reminders" Still needs meteorain info, but that can be added later --- ui/raidboss/data/07-dt/raid/r11s.ts | 324 +++++++++++++++++++--------- 1 file changed, 228 insertions(+), 96 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index b6030c9053..9ae965b88a 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -1,13 +1,16 @@ import Conditions from '../../../../../resources/conditions'; import { UnreachableCode } from '../../../../../resources/not_reached'; import Outputs from '../../../../../resources/outputs'; +import { callOverlayHandler } from '../../../../../resources/overlay_plugin_api'; import { Responses } from '../../../../../resources/responses'; import { DirectionOutputCardinal, Directions } from '../../../../../resources/util'; import ZoneId from '../../../../../resources/zone_id'; import { RaidbossData } from '../../../../../types/data'; import { TriggerSet } from '../../../../../types/trigger'; -type Phase = 'one' | 'arenaSplit' | 'ecliptic'; +// TODO: Include Meteorain lines for Arena split + +type Phase = 'one' | 'arenaSplit' | 'avalanche' | 'ecliptic'; type WeaponInfo = { delay: number; @@ -33,8 +36,11 @@ export interface Data extends RaidbossData { }; maelstromCount: number; hasMeteor: boolean; + myPlatform?: 'east' | 'west'; arenaSplitStretchDirNum?: number; - baitsFireBreath: boolean; + arenaSplitTethers: string[]; + arenaSplitCalledTether: boolean; + arenaSplitCalledBait: boolean; fireballCount: number; hasAtomic: boolean; hadEclipticTether: boolean; @@ -48,6 +54,7 @@ const center = { const phaseMap: { [id: string]: Phase } = { 'B43F': 'arenaSplit', // Flatliner + 'B448': 'avalanche', // Massive Meteor stacks near end of arena split 'B452': 'ecliptic', // Ecliptic Stampede }; @@ -116,7 +123,9 @@ const triggerSet: TriggerSet = { assaultEvolvedCount: 0, maelstromCount: 0, hasMeteor: false, - baitsFireBreath: false, + arenaSplitTethers: [], + arenaSplitCalledTether: false, + arenaSplitCalledBait: false, fireballCount: 0, hasAtomic: false, hadEclipticTether: false, @@ -658,65 +667,6 @@ const triggerSet: TriggerSet = { }, }, }, - { - id: 'R11S Explosion Towers', // Knockback towers - type: 'StartsUsing', - netRegex: { id: 'B444', source: 'The Tyrant', capture: false }, - durationSeconds: 10, - suppressSeconds: 1, - alertText: (data, _matches, output) => { - const dirNum = data.arenaSplitStretchDirNum; - if (dirNum === 0 || dirNum === 1) - return output.tetherTowers!({ - mech1: output.eastSafe!(), - mech2: output.avoidFireBreath!(), - }); - if (dirNum === 2 || dirNum === 3) - return output.tetherTowers!({ - mech1: output.westSafe!(), - mech2: output.avoidFireBreath!(), - }); - if (data.baitsFireBreath) - return output.fireBreathTowers!({ - mech1: output.northSouthSafe!(), - mech2: output.baitFireBreath!(), - }); - return output.knockbackTowers!(); - }, - outputStrings: { - knockbackTowers: { - en: 'Get Knockback Towers', - fr: 'Prenez une tour (poussée)', - cn: '踩击退塔', - ko: '넉백탑 들어가기', - }, - fireBreathTowers: { - en: '${mech1} => ${mech2}', - }, - tetherTowers: { - en: '${mech1} => ${mech2}', - }, - baitFireBreath: { - en: 'Bait Near', - }, - avoidFireBreath: Outputs.outOfHitbox, - northSouthSafe: { - en: 'Tower Knockback to North/South', - }, - eastSafe: { - en: 'Tower Knockback to East', - fr: 'Prenez une tour (poussée vers l\'Est)', - cn: '被塔击飞到右侧平台', - ko: '탑 넉백 동쪽으로', - }, - westSafe: { - en: 'Tower Knockback to West', - fr: 'Prenez une tour (poussée vers l\'Ouest)', - cn: '被塔击飞到左侧平台', - ko: '탑 넉백 서쪽으로', - }, - }, - }, { id: 'R11S Arena Split Majestic Meteowrath Tether Collect', // Tethers have 2 patterns @@ -732,48 +682,75 @@ const triggerSet: TriggerSet = { // (131, 115) type: 'Tether', netRegex: { id: [headMarkerData.closeTether, headMarkerData.farTether], capture: true }, - condition: (data, matches) => { - if ( - data.me === matches.target && - data.phase === 'arenaSplit' - ) + condition: (data) => { + // Assuming log line of same player doesn't happen before 4 players collected + if (data.phase === 'arenaSplit' && data.arenaSplitTethers.length < 4) return true; return false; }, + preRun: (data, matches) => data.arenaSplitTethers.push(matches.target), delaySeconds: 0.1, // Race condition with Tether lines and actor positions - suppressSeconds: 9999, run: (data, matches) => { const actor = data.actorPositions[matches.sourceId]; + const hasTether = (data.me === matches.target); if (actor === undefined) { - data.arenaSplitStretchDirNum = -1; // Return -1 so that we know we at least don't bait fire breath + if (hasTether) + data.arenaSplitStretchDirNum = -1; // Return -1 so that we know we at least don't bait fire breath return; } - const portalDirNum = Directions.xyTo4DirIntercardNum( - actor.x, - actor.y, - center.x, - center.y, - ); - // While these are inter inter cards, furthest stretch will be an intercard - const stretchDirNum = (portalDirNum + 2) % 4; - data.arenaSplitStretchDirNum = stretchDirNum; + if (hasTether) { + const portalDirNum = Directions.xyTo4DirIntercardNum( + actor.x, + actor.y, + center.x, + center.y, + ); + // While two could be inter inter cards, furthest stretches will be an intercard + const stretchDirNum = (portalDirNum + 2) % 4; + data.arenaSplitStretchDirNum = stretchDirNum; + } }, }, { - id: 'R11S Arena Split Majestic Meteowrath Tethers', + id: 'R11S Arena Split Fire Breath Bait Later', + type: 'Tether', + netRegex: { id: [headMarkerData.closeTether, headMarkerData.farTether], capture: false }, + condition: (data) => { + if ( + data.phase === 'arenaSplit' && + data.arenaSplitTethers.length === 4 && + !data.arenaSplitCalledBait + ) { + if (!data.arenaSplitTethers.includes(data.me)) + return data.arenaSplitCalledBait = true; + } + return false; + }, + delaySeconds: 0.1, + infoText: (_data, _matches, output) => output.fireBreathLater!(), + outputStrings: { + fireBreathLater: { + en: 'Bait Fire Breath (later)', + }, + }, + }, + { + id: 'R11S Arena Split Majestic Meteowrath Tether Stretch Later', type: 'Tether', netRegex: { id: [headMarkerData.closeTether, headMarkerData.farTether], capture: true }, condition: (data, matches) => { if ( - data.me === matches.target && - data.phase === 'arenaSplit' - ) - return true; + data.phase === 'arenaSplit' && + data.me === matches.target + ) { + // Prevent spamming tethers + if (!data.arenaSplitCalledTether) + return data.arenaSplitCalledTether = true; + } return false; }, delaySeconds: 0.1, // Race condition with Tether lines and actor positions - suppressSeconds: 9999, infoText: (data, matches, output) => { const actor = data.actorPositions[matches.sourceId]; if (actor === undefined) @@ -801,20 +778,95 @@ const triggerSet: TriggerSet = { }, }, { - id: 'R11S Fire Breath Bait Check', - // Wait for tethers to go out, then call if didn't receive one - type: 'Tether', - netRegex: { id: [headMarkerData.closeTether, headMarkerData.farTether], capture: false }, + id: 'R11S Explosion Towers', // Knockback towers + // 10s castTime + type: 'StartsUsing', + netRegex: { id: 'B444', source: 'The Tyrant', capture: true }, condition: (data) => data.phase === 'arenaSplit', - delaySeconds: 0.1, + delaySeconds: (_data, matches) => parseFloat(matches.castTime) - 6, + durationSeconds: (_data, matches) => parseFloat(matches.castTime) - 4, suppressSeconds: 1, - run: (data) => { - if (data.arenaSplitStretchDirNum === undefined) - data.baitsFireBreath = true; + promise: async (data) => { + // Get player location for output + const combatants = (await callOverlayHandler({ + call: 'getCombatants', + names: [data.me], + })).combatants; + const me = combatants[0]; + if (combatants.length !== 1 || me === undefined) { + console.error( + `R11S Explosion Towers: Wrong combatants count ${combatants.length}`, + ); + return; + } + + data.myPlatform = me.PosX < 100 ? 'west' : 'east'; + }, + alertText: (data, _matches, output) => { + const myPlatform = data.myPlatform; + const dirNum = data.arenaSplitStretchDirNum; + if (dirNum === 0 || dirNum === 1) { + if (myPlatform === 'east') { + return output.tetherTowers!({ + mech1: output.northSouthSafe!(), + mech2: output.avoidFireBreath!(), + }); + } + return output.tetherTowers!({ + mech1: output.eastSafe!(), + mech2: output.avoidFireBreath!(), + }); + } + if (dirNum === 2 || dirNum === 3) { + if (myPlatform === 'west') { + return output.tetherTowers!({ + mech1: output.northSouthSafe!(), + mech2: output.avoidFireBreath!(), + }); + } + return output.tetherTowers!({ + mech1: output.westSafe!(), + mech2: output.avoidFireBreath!(), + }); + } + if (!data.arenaSplitTethers.includes(data.me)) + return output.fireBreathTowers!({ + mech1: output.northSouthSafe!(), + mech2: output.baitFireBreath!(), + }); + return output.knockbackTowers!(); + }, + outputStrings: { + knockbackTowers: { + en: 'Get Knockback Towers', + fr: 'Prenez une tour (poussée)', + cn: '踩击退塔', + ko: '넉백탑 들어가기', + }, + fireBreathTowers: { + en: '${mech1} => ${mech2}', + }, + tetherTowers: { + en: '${mech1} => ${mech2}', + }, + baitFireBreath: { + en: 'Bait Near', + }, + avoidFireBreath: Outputs.outOfHitbox, + northSouthSafe: { + en: 'Tower Knockback to Same Platform', + }, + eastSafe: { + en: 'Tower Knockback Across to East', + }, + westSafe: { + en: 'Tower Knockback Across to West', + }, }, }, { - id: 'R11S Fire Breath', + id: 'R11S Fire Breath and Bait Puddles', + // TODO: Replace Avoid with In / Out? type: 'HeadMarker', netRegex: { id: headMarkerData['fireBreath'], capture: true }, condition: (data, matches) => { @@ -822,11 +874,89 @@ const triggerSet: TriggerSet = { return true; return false; }, - infoText: (_data, _matches, output) => output.fireBreath!(), + durationSeconds: 6, + alertText: (_data, _matches, output) => { + return output.fireBreathMechs!({ + mech1: output.fireBreathOnYou!(), + mech2: output.bait3Puddles!(), + mech3: output.avoidLines!(), + }); + }, outputStrings: { - fireBreath: { + fireBreathOnYou: { en: 'Fire Breath on YOU', }, + bait3Puddles: { + en: 'Bait Puddles x3', + de: 'Flächen ködern x3', + fr: 'Déposez les flaques x3', + cn: '引导圈圈 x3', + ko: '장판 유도 x3', + }, + avoidLines: { + en: 'Avoid Lines', + }, + fireBreathMechs: { + en: '${mech1} + ${mech2} => ${mech3}', + }, + }, + }, + { + id: 'R11S Arena Split Majestic Meteowrath Tether Bait Puddles', + // TODO: Replace Avoid with In / Out? + type: 'HeadMarker', + netRegex: { id: headMarkerData['fireBreath'], capture: false }, + condition: (data) => { + if (data.phase === 'arenaSplit' && data.arenaSplitTethers.includes(data.me)) + return true; + return false; + }, + durationSeconds: 6, + suppressSeconds: 1, + alertText: (data, _matches, output) => { + const dirNum = data.arenaSplitStretchDirNum; + if (dirNum === undefined) + return output.baitThenStretchMechs!({ + mech1: output.bait3Puddles!(), + mech2: output.stretchTether!(), + mech3: output.avoidLines!(), + }); + const dir = Directions.outputIntercardDir[dirNum] ?? '???'; + return output.tetherMechs!({ + mech1: output.bait3Puddles!(), + mech2: output.stretchTetherDir!({ dir: output[dir]!() }), + mech3: output.avoidLines!(), + }); + }, + outputStrings: { + ...Directions.outputStringsIntercardDir, + bait3Puddles: { + en: 'Bait Puddles x3', + de: 'Flächen ködern x3', + fr: 'Déposez les flaques x3', + cn: '引导圈圈 x3', + ko: '장판 유도 x3', + }, + avoidLines: { + en: 'Avoid Lines', + }, + baitThenStretchMechs: { + en: '${mech1} => ${mech2} + ${mech3}', + }, + stretchTether: { + en: 'Stretch Tether', + de: 'Verbindung langziehen', + fr: 'Étirez les liens', + cn: '拉远连线', + ko: '선 늘이기', + tc: '拉遠連線', + }, + stretchTetherDir: { + en: 'Stretch ${dir}', + }, + tetherMechs: { + en: '${mech1} => ${mech2} + ${mech3}', + }, }, }, { @@ -838,7 +968,9 @@ const triggerSet: TriggerSet = { suppressSeconds: 9999, run: (data) => { delete data.arenaSplitStretchDirNum; - data.baitsFireBreath = false; + data.arenaSplitTethers = []; + data.arenaSplitCalledTether = false; + data.arenaSplitCalledBait = false; }, }, { From d1c99b2e64d973ee33594167e96be974f72b4e9b Mon Sep 17 00:00:00 2001 From: Legends0 Date: Wed, 28 Jan 2026 19:37:21 -0500 Subject: [PATCH 75/75] add meteorain inner/outer front/back for arena split --- ui/raidboss/data/07-dt/raid/r11s.ts | 156 ++++++++++++++++++++++++---- 1 file changed, 137 insertions(+), 19 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r11s.ts b/ui/raidboss/data/07-dt/raid/r11s.ts index 9ae965b88a..b796362aca 100644 --- a/ui/raidboss/data/07-dt/raid/r11s.ts +++ b/ui/raidboss/data/07-dt/raid/r11s.ts @@ -37,6 +37,7 @@ export interface Data extends RaidbossData { maelstromCount: number; hasMeteor: boolean; myPlatform?: 'east' | 'west'; + arenaSplitMeteorain?: 'westIn' | 'westOut'; arenaSplitStretchDirNum?: number; arenaSplitTethers: string[]; arenaSplitCalledTether: boolean; @@ -667,6 +668,27 @@ const triggerSet: TriggerSet = { }, }, }, + { + id: 'R11S Arena Split Majestic Meteorain Collect', + // Two MapEffects happen simultaneously with tethers + // Coincides with light tethers connecting the Meteorain portals + // NOTE: Unsure location is which, but they are paired so only collect one + // Location Pattern 1: + // 17 => West Out? + // 19 => East In? + // Location Pattern 2: + // 16 => East Out? + // 18 => West In? + type: 'MapEffect', + netRegex: { flags: '00200010', location: ['16', '17'], capture: true }, + condition: (data) => data.phase === 'arenaSplit', + run: (data, matches) => { + // The second set of these can also be known from the first set as it will be oppposite + data.arenaSplitMeteorain = matches.location === '16' + ? 'westIn' + : 'westOut'; + }, + }, { id: 'R11S Arena Split Majestic Meteowrath Tether Collect', // Tethers have 2 patterns @@ -866,7 +888,6 @@ const triggerSet: TriggerSet = { }, { id: 'R11S Fire Breath and Bait Puddles', - // TODO: Replace Avoid with In / Out? type: 'HeadMarker', netRegex: { id: headMarkerData['fireBreath'], capture: true }, condition: (data, matches) => { @@ -875,17 +896,49 @@ const triggerSet: TriggerSet = { return false; }, durationSeconds: 6, - alertText: (_data, _matches, output) => { + promise: async (data) => { + // Get player location for output + const combatants = (await callOverlayHandler({ + call: 'getCombatants', + names: [data.me], + })).combatants; + const me = combatants[0]; + if (combatants.length !== 1 || me === undefined) { + console.error( + `R11S Fire Breath and Bait Puddles: Wrong combatants count ${combatants.length}`, + ); + return; + } + + data.myPlatform = me.PosX < 100 ? 'west' : 'east'; + }, + alertText: (data, _matches, output) => { + const meteorain = data.arenaSplitMeteorain; + const isWestIn = meteorain === 'westIn'; + const myPlatform = data.myPlatform; + if (meteorain !== undefined && myPlatform !== undefined) { + if (myPlatform === 'west') { + const dir = isWestIn ? 'front' : 'back'; + return output.fireBreathMechsPlayerWest!({ + mech1: output.fireBreathOnYou!(), + mech2: output.bait3Puddles!(), + dir: output[dir]!(), + }); + } + const dir = isWestIn ? 'back' : 'front'; + return output.fireBreathMechsPlayerEast!({ + mech1: output.fireBreathOnYou!(), + mech2: output.bait3Puddles!(), + dir: output[dir]!(), + }); + } return output.fireBreathMechs!({ mech1: output.fireBreathOnYou!(), mech2: output.bait3Puddles!(), - mech3: output.avoidLines!(), + mech3: output.lines!(), }); }, outputStrings: { - fireBreathOnYou: { - en: 'Fire Breath on YOU', - }, bait3Puddles: { en: 'Bait Puddles x3', de: 'Flächen ködern x3', @@ -893,8 +946,29 @@ const triggerSet: TriggerSet = { cn: '引导圈圈 x3', ko: '장판 유도 x3', }, - avoidLines: { + back: { + en: 'Inner Back', + }, + front: { + en: 'Inner Front', + }, + lines: { en: 'Avoid Lines', + de: 'Vermeide Linien', + fr: 'Évitez les lignes', + ja: '直線攻撃を避ける', + cn: '躲避直线 AoE', + ko: '직선장판 피하기', + tc: '躲避直線 AoE', + }, + fireBreathOnYou: { + en: 'Fire Breath on YOU', + }, + fireBreathMechsPlayerWest: { + en: '${mech1} + ${mech2} => ${dir}', + }, + fireBreathMechsPlayerEast: { + en: '${mech1} + ${mech2} => ${dir}', }, fireBreathMechs: { en: '${mech1} + ${mech2} => ${mech3}', @@ -903,7 +977,6 @@ const triggerSet: TriggerSet = { }, { id: 'R11S Arena Split Majestic Meteowrath Tether Bait Puddles', - // TODO: Replace Avoid with In / Out? type: 'HeadMarker', netRegex: { id: headMarkerData['fireBreath'], capture: false }, condition: (data) => { @@ -913,19 +986,48 @@ const triggerSet: TriggerSet = { }, durationSeconds: 6, suppressSeconds: 1, + promise: async (data) => { + // Get player location for output + const combatants = (await callOverlayHandler({ + call: 'getCombatants', + names: [data.me], + })).combatants; + const me = combatants[0]; + if (combatants.length !== 1 || me === undefined) { + console.error( + `R11S Arena Split Majestic Meteowrath Tether Bait Puddles: Wrong combatants count ${combatants.length}`, + ); + return; + } + + data.myPlatform = me.PosX < 100 ? 'west' : 'east'; + }, alertText: (data, _matches, output) => { + const meteorain = data.arenaSplitMeteorain; + const isWestIn = meteorain === 'westIn'; const dirNum = data.arenaSplitStretchDirNum; - if (dirNum === undefined) - return output.baitThenStretchMechs!({ + const myPlatform = data.myPlatform; + if (dirNum !== undefined && myPlatform !== undefined) { + const dir1 = Directions.outputIntercardDir[dirNum] ?? '???'; + if (myPlatform === 'west') { + const dir2 = isWestIn ? 'front' : 'back'; + return output.tetherMechsPlayerWest!({ + mech1: output.bait3Puddles!(), + mech2: output.stretchTetherDir!({ dir: output[dir1]!() }), + dir: output[dir2]!(), + }); + } + const dir2 = isWestIn ? 'back' : 'front'; + return output.tetherMechsPlayerEast!({ mech1: output.bait3Puddles!(), - mech2: output.stretchTether!(), - mech3: output.avoidLines!(), + mech2: output.stretchTetherDir!({ dir: output[dir1]!() }), + dir: output[dir2]!(), }); - const dir = Directions.outputIntercardDir[dirNum] ?? '???'; - return output.tetherMechs!({ + } + return output.baitThenStretchMechs!({ mech1: output.bait3Puddles!(), - mech2: output.stretchTetherDir!({ dir: output[dir]!() }), - mech3: output.avoidLines!(), + mech2: output.stretchTether!(), + mech3: output.lines!(), }); }, outputStrings: { @@ -937,8 +1039,20 @@ const triggerSet: TriggerSet = { cn: '引导圈圈 x3', ko: '장판 유도 x3', }, - avoidLines: { + back: { + en: 'Outer Back', + }, + front: { + en: 'Outer Front', + }, + lines: { en: 'Avoid Lines', + de: 'Vermeide Linien', + fr: 'Évitez les lignes', + ja: '直線攻撃を避ける', + cn: '躲避直线 AoE', + ko: '직선장판 피하기', + tc: '躲避直線 AoE', }, baitThenStretchMechs: { en: '${mech1} => ${mech2} + ${mech3}', @@ -954,8 +1068,11 @@ const triggerSet: TriggerSet = { stretchTetherDir: { en: 'Stretch ${dir}', }, - tetherMechs: { - en: '${mech1} => ${mech2} + ${mech3}', + tetherMechsPlayerEast: { + en: '${mech1} => ${mech2} + ${dir}', + }, + tetherMechsPlayerWest: { + en: '${mech1} => ${mech2} + ${dir}', }, }, }, @@ -967,6 +1084,7 @@ const triggerSet: TriggerSet = { condition: (data) => data.phase === 'arenaSplit', suppressSeconds: 9999, run: (data) => { + delete data.arenaSplitMeteorain; delete data.arenaSplitStretchDirNum; data.arenaSplitTethers = []; data.arenaSplitCalledTether = false;