From f43ca77c28513643c2b9d04694d85ff4950bb068 Mon Sep 17 00:00:00 2001 From: Jacob Keller Date: Fri, 23 Jan 2026 22:04:11 -0800 Subject: [PATCH 1/3] r9s: call move or stay after alley-oop hits During r9s, Deep Blue uses Double-dip Alleyoop or Reverse Alleyoop which is a 2-part hit mechanic where you need to spread out and then move or stay to dodge a followup aoe. The duration for the current protean => move/stay is only 3 seconds. Add a followup callout after the first hit resolves indicating when it is safe to move, or functions as a reminder to stay put. --- ui/raidboss/data/07-dt/raid/r10s.ts | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/ui/raidboss/data/07-dt/raid/r10s.ts b/ui/raidboss/data/07-dt/raid/r10s.ts index 14a34f7583..ba25adeca2 100644 --- a/ui/raidboss/data/07-dt/raid/r10s.ts +++ b/ui/raidboss/data/07-dt/raid/r10s.ts @@ -535,6 +535,33 @@ const triggerSet: TriggerSet = { }, }, }, + { + id: 'R10S Reverse Alley-oop/Alley-oop Double-dip 2nd Hit', + // TODO: Handle Arena Split with boss/postion checking? + type: 'Ability', + netRegex: { id: ['B5E0', 'B5DD'], source: 'Deep Blue', capture: true }, + condition: (data) => { + return data.snakingDebuff !== 'fire'; + }, + infoText: (data, matches, output) => { + // During snaking and the arena split it is always move since the + // baits are too close. + if (data.phase === 'snaking' || data.phase === 'arenaSplit') + return output.move!(); + return matches.id === 'B5E0' ? output.stay!() : output.move!(); + }, + outputStrings: { + move: Outputs.moveAway, + stay: { + en: 'Stay', + de: 'Bleib stehen', + fr: 'Restez', + cn: '停', + ko: 'λŒ€κΈ°', + tc: '停', + }, + }, + }, { id: 'R10S Xtreme Spectacular', type: 'StartsUsing', From d4487acc9c33d6db9f49a3a09fc1d1012ce5951f Mon Sep 17 00:00:00 2001 From: Jacob Keller Date: Sun, 25 Jan 2026 12:56:22 -0800 Subject: [PATCH 2/3] fix alleyoop callout during arena split phase --- ui/raidboss/data/07-dt/raid/r10s.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r10s.ts b/ui/raidboss/data/07-dt/raid/r10s.ts index ba25adeca2..a00937e690 100644 --- a/ui/raidboss/data/07-dt/raid/r10s.ts +++ b/ui/raidboss/data/07-dt/raid/r10s.ts @@ -487,6 +487,7 @@ const triggerSet: TriggerSet = { condition: (data) => { return data.snakingDebuff !== 'fire'; }, + durationSeconds: (data) => data.phase === 'arenaSplit' ? 8 : 3, infoText: (data, matches, output) => { // During snaking it is always move since the baits are too close if (data.phase === 'snaking') @@ -541,12 +542,12 @@ const triggerSet: TriggerSet = { type: 'Ability', netRegex: { id: ['B5E0', 'B5DD'], source: 'Deep Blue', capture: true }, condition: (data) => { - return data.snakingDebuff !== 'fire'; + return data.snakingDebuff !== 'fire' && data.phase !== 'arenaSplit'; }, infoText: (data, matches, output) => { // During snaking and the arena split it is always move since the // baits are too close. - if (data.phase === 'snaking' || data.phase === 'arenaSplit') + if (data.phase === 'snaking') return output.move!(); return matches.id === 'B5E0' ? output.stay!() : output.move!(); }, From 4f460961bf1fb9d42866d0c762908f8acfc3df32 Mon Sep 17 00:00:00 2001 From: Jacob Keller Date: Mon, 26 Jan 2026 19:39:00 -0800 Subject: [PATCH 3/3] fix incorrect comment since the arenaSplit change --- ui/raidboss/data/07-dt/raid/r10s.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ui/raidboss/data/07-dt/raid/r10s.ts b/ui/raidboss/data/07-dt/raid/r10s.ts index a00937e690..5a241ec458 100644 --- a/ui/raidboss/data/07-dt/raid/r10s.ts +++ b/ui/raidboss/data/07-dt/raid/r10s.ts @@ -545,8 +545,7 @@ const triggerSet: TriggerSet = { return data.snakingDebuff !== 'fire' && data.phase !== 'arenaSplit'; }, infoText: (data, matches, output) => { - // During snaking and the arena split it is always move since the - // baits are too close. + // During saking it is always move since the baits are too close. if (data.phase === 'snaking') return output.move!(); return matches.id === 'B5E0' ? output.stay!() : output.move!();