Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

raidboss: Initial r2s #294

Merged
merged 4 commits into from
Aug 1, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
216 changes: 214 additions & 2 deletions ui/raidboss/data/07-dt/raid/r2s.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,226 @@
import Outputs from '../../../../../resources/outputs';
import { Responses } from '../../../../../resources/responses';
import ZoneId from '../../../../../resources/zone_id';
import { RaidbossData } from '../../../../../types/data';
import { TriggerSet } from '../../../../../types/trigger';

export type Data = RaidbossData;
export interface Data extends RaidbossData {
partnersSpreadCounter: number;
storedPartnersSpread?: 'partners' | 'spread';
}

const headMarkerData = {
// Vfx Path: lockon6_t0t
spreadMarker1: '00EA',
// Vfx Path: m0676trg_tw_d0t1p
sharedBuster: '0103',
// Vfx Path: tank_laser_5sec_lockon_c0a1
tankLaser: '01D7',
// Vfx Path: m0906_tgae_s701k2
spreadMarker2: '0203',
// Vfx Path: m0906_share4_7s0k2
heartStackMarker: '0205',
} as const;

const triggerSet: TriggerSet<Data> = {
id: 'AacLightHeavyweightM2Savage',
zoneId: ZoneId.AacLightHeavyweightM2Savage,
timelineFile: 'r2s.txt',
triggers: [],
initData: () => ({
partnersSpreadCounter: 0,
}),
triggers: [
{
id: 'R2S Headmarker Shared Tankbuster',
type: 'HeadMarker',
netRegex: { id: headMarkerData.sharedBuster, capture: true },
response: Responses.sharedTankBuster(),
},
{
id: 'R2S Headmarker Cone Tankbuster',
type: 'HeadMarker',
netRegex: { id: headMarkerData.tankLaser, capture: true },
response: Responses.tankCleave(),
},
{
id: 'R2S Headmarker Spread',
type: 'HeadMarker',
netRegex: { id: headMarkerData.spreadMarker2, capture: false },
suppressSeconds: 5,
response: Responses.spread(),
},
{
id: 'R2S Headmarker Party Stacks',
type: 'HeadMarker',
netRegex: { id: headMarkerData.heartStackMarker, capture: false },
infoText: (_data, _matches, output) => output.stacks!(),
outputStrings: {
stacks: Outputs.stacks,
},
},
{
id: 'R2S Call Me Honey',
type: 'StartsUsing',
netRegex: { id: '9183', source: 'Honey B. Lovely', capture: false },
response: Responses.aoe(),
},
{
id: 'R2S Partners/Spread Counter',
type: 'StartsUsing',
netRegex: { id: ['9184', '9185', '9B08', '9B09'], source: 'Honey B. Lovely', capture: false },
run: (data) => data.partnersSpreadCounter++,
},
{
id: 'R2S Drop of Venom',
type: 'StartsUsing',
netRegex: { id: '9185', source: 'Honey B. Lovely', capture: false },
alarmText: (_data, _matches, output) => output.text!(),
run: (data) => data.storedPartnersSpread = 'partners',
outputStrings: {
text: {
en: 'Stored Partners',
},
},
},
{
id: 'R2S Splash of Venom',
type: 'StartsUsing',
netRegex: { id: '9184', source: 'Honey B. Lovely', capture: false },
alarmText: (_data, _matches, output) => output.text!(),
run: (data) => data.storedPartnersSpread = 'spread',
outputStrings: {
text: {
en: 'Stored Spread',
},
},
},
{
id: 'R2S Drop of Love',
type: 'StartsUsing',
netRegex: { id: '9B09', source: 'Honey B. Lovely', capture: false },
alarmText: (_data, _matches, output) => output.text!(),
run: (data) => data.storedPartnersSpread = 'partners',
outputStrings: {
text: {
en: 'Stored Partners',
},
},
},
{
id: 'R2S Spread Love',
type: 'StartsUsing',
netRegex: { id: '9B08', source: 'Honey B. Lovely', capture: false },
alarmText: (_data, _matches, output) => output.text!(),
run: (data) => data.storedPartnersSpread = 'spread',
outputStrings: {
text: {
en: 'Stored Spread',
},
},
},
{
id: 'R2S Delayed Partners/Spread Callout',
type: 'StartsUsing',
netRegex: { id: ['9184', '9185', '9B08', '9B09'], source: 'Honey B. Lovely', capture: false },
delaySeconds: (data) => {
// TODO: Review these delay timings
switch (data.partnersSpreadCounter) {
case 1:
return 14;
case 2:
return 11;
case 3:
return 37;
case 4:
return 62;
case 5:
return 55;
}
return 0;
},
durationSeconds: 7,
infoText: (data, _matches, output) => output[data.storedPartnersSpread ?? 'unknown']!(),
outputStrings: {
spread: {
en: 'Spread',
},
partners: {
en: 'Partners',
},
unknown: Outputs.unknown,
},
},
{
id: 'R2S Honey Beeline',
type: 'StartsUsing',
netRegex: { id: '9186', source: 'Honey B. Lovely', capture: false },
response: Responses.goSides(),
},
{
id: 'R2S Tempting Twist',
type: 'StartsUsing',
netRegex: { id: '9187', source: 'Honey B. Lovely', capture: false },
response: Responses.getUnder(),
},
{
id: 'R2S Honey B. Live: 1st Beat',
type: 'StartsUsing',
netRegex: { id: '9C24', source: 'Honey B. Lovely', capture: false },
response: Responses.aoe(),
},
{
id: 'R2S Honey B. Live: 2nd Beat',
type: 'StartsUsing',
netRegex: { id: '9C25', source: 'Honey B. Lovely', capture: false },
response: Responses.aoe(),
},
{
id: 'R2S Honey B. Live: 3nd Beat',
Echoring marked this conversation as resolved.
Show resolved Hide resolved
type: 'StartsUsing',
netRegex: { id: '9C26', source: 'Honey B. Lovely', capture: false },
response: Responses.aoe(),
},
{
id: 'R2S Loveseeker',
type: 'StartsUsing',
netRegex: { id: '9B7D', source: 'Honey B. Lovely', capture: false },
response: Responses.getOut(),
},
{
id: 'R2S Centerstage Combo',
type: 'StartsUsing',
netRegex: { id: '91AC', source: 'Honey B. Lovely', capture: false },
infoText: (_data, _matches, output) => output.text!(),
outputStrings: {
text: {
en: 'Under Intercards => Out Intercards => Out Cards',
},
},
},
{
id: 'R2S Outerstage Combo',
type: 'StartsUsing',
netRegex: { id: '91AD', source: 'Honey B. Lovely', capture: false },
infoText: (_data, _matches, output) => output.text!(),
outputStrings: {
text: {
en: 'Out Cards => Out Intercards => Under Intercards',
},
},
},
{
id: 'R2S Honey B. Finale',
type: 'StartsUsing',
netRegex: { id: '918F', source: 'Honey B. Lovely', capture: false },
response: Responses.aoe(),
},
{
id: 'R2S Rotten Heart',
type: 'StartsUsing',
netRegex: { id: '91AA', source: 'Honey B. Lovely', capture: false },
response: Responses.bigAoe(),
},
],
};

export default triggerSet;
129 changes: 129 additions & 0 deletions ui/raidboss/data/07-dt/raid/r2s.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,137 @@
### Arcadion (R2S): AAC Light-heavyweight M2 Savage

# -ii 91C8 91B1 91B4 91AE 91AF 91B0 9193 91AB

# 91C8 - Boss autos
# 91B1, 91B4 - Extra Laceration hits
# 91AE, 91AF, 91B0 - Animations during Laceration hits
# 9193 - Poison Sting puddle drop damage. Not the actual puddle spawn
# 91AB - Big Burst damage from players resolving a/b debuffs in soft enrage

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 "Call Me Honey" Ability { id: "9183", source: "Honey B. Lovely" }
17.7 "Splash of Venom/Drop of Venom (cast)" Ability { id: ["9184", "9185"], source: "Honey B. Lovely" }
19.8 "--middle--" Ability { id: "9163", source: "Honey B. Lovely" }
28.8 "Honey Beeline/Tempting Twist (cast)" Ability { id: ["9186", "9187"], source: "Honey B. Lovely" }
29.6 "Honey Beeline/Tempting Twist (damage)" Ability { id: ["9AC9", "9ACA"], source: "Honey B. Lovely" }
34.0 "Splash of Venom/Drop of Venom (damage)" Ability { id: ["9189", "918A"], source: "Honey B. Lovely" }
40.0 "Drop of Venom/Splash of Venom (cast)" Ability { id: ["9185", "9184"], source: "Honey B. Lovely" }
47.7 "Tempting Twist/Honey Beeline (cast)" Ability { id: ["9187", "9186"], source: "Honey B. Lovely" }
48.4 "Tempting Twist/Honey Beeline (damage)" Ability { id: ["9ACA", "9AC9"], source: "Honey B. Lovely" }
53.0 "Drop of Venom/Splash of Venom (damage)" Ability { id: ["918A", "9189"], source: "Honey B. Lovely" }
60.0 "Killer Sting/Stinging Slash (cast)" Ability { id: ["919C", "919B"], source: "Honey B. Lovely" }
61.2 "Killer Sting/Stinging Slash (damage)" Ability { id: ["919E", "919D"], source: "Honey B. Lovely" }
69.1 "--middle--" Ability { id: "9163", source: "Honey B. Lovely" }

# First Beat
73.2 "Honey B. Live: 1st Beat (cast)" Ability { id: "9C24", source: "Honey B. Lovely" }
79.5 "Honey B. Live: 1st Beat (damage)" Ability { id: "9A7F", source: "Honey B. Lovely" }
87.4 "Centerstage Combo/Outerstage Combo" Ability { id: ["91AC", "91AD"], source: "Honey B. Lovely" }
88.6 "Laceration" Ability { id: "91B3", source: "Honey B. Lovely" }
91.6 "Laceration" Ability { id: "91B2", source: "Honey B. Lovely" }
94.9 "Laceration" Ability { id: "91B3", source: "Honey B. Lovely" }
103.0 "Love Me Tender" Ability { id: "919F", source: "Honey B. Lovely" }
113.2 "Fracture" Ability { id: "91A3", source: "Honey B. Lovely" }
117.2 "Fracture" Ability { id: "91A3", source: "Honey B. Lovely" }
121.2 "Fracture" Ability { id: "91A3", source: "Honey B. Lovely" }
125.2 "Fracture" Ability { id: "91A3", source: "Honey B. Lovely" }
129.2 "Fracture" Ability { id: "91A3", source: "Honey B. Lovely" }
133.2 "Fracture" Ability { id: "91A3", source: "Honey B. Lovely" }
136.3 "Loveseeker (cast)" Ability { id: "9B7D", source: "Honey B. Lovely" }
137.3 "Loveseeker (damage)" Ability { id: "9B7E", source: "Honey B. Lovely" }
150.4 "Love Me Tender" Ability { id: "919F", source: "Honey B. Lovely" }
158.5 "Heartsick" Ability { id: "91A0", source: "Honey B. Lovely" }
168.6 "Centerstage Combo/Outerstage Combo" Ability { id: ["91AC", "91AD"], source: "Honey B. Lovely" }
169.8 "Laceration" Ability { id: "91B3", source: "Honey B. Lovely" }
172.8 "Laceration" Ability { id: "91B2", source: "Honey B. Lovely" }
176.1 "Laceration" Ability { id: "91B3", source: "Honey B. Lovely" }
187.2 "Honey B. Finale" Ability { id: "918F", source: "Honey B. Lovely" }
# End First Beat

201.4 "Killer Sting/Stinging Slash (cast)" Ability { id: ["919C", "919B"], source: "Honey B. Lovely" }
202.4 "Killer Sting/Stinging Slash (damage)" Ability { id: ["919E", "919D"], source: "Honey B. Lovely" }
209.6 "Alarm Pheromones" Ability { id: "917D", source: "Honey B. Lovely" }
220.2 "Blinding Love" duration 17.5
243.3 "--middle--" Ability { id: "9163", source: "Honey B. Lovely" }

# Second Beat
247.6 "Honey B. Live: 2nd Beat" Ability { id: "9C25", source: "Honey B. Lovely" }
253.9 "Honey B. Live: 2nd Beat" Ability { id: "9C27", source: "Honey B. Lovely" }
261.8 "Spread Love/Drop of Love (cast)" Ability { id: ["9B08", "9B09"], source: "Honey B. Lovely" }
271.9 "Love Me Tender" Ability { id: "919F", source: "Honey B. Lovely" }
276.0 "Heart-Struck" #Ability { id: "91A7", source: "Honey B. Lovely" }
278.0 "Heart-Struck" #Ability { id: "91A7", source: "Honey B. Lovely" }
280.0 "Heart-Struck" #Ability { id: "91A7", source: "Honey B. Lovely" }
280.0 "Heartsick" Ability { id: "91A0", source: "Honey B. Lovely" }
282.0 "Heart-Struck" #Ability { id: "91A7", source: "Honey B. Lovely" }
284.0 "Heart-Struck" #Ability { id: "91A7", source: "Honey B. Lovely" }
286.0 "Heartsore" Ability { id: "91A1", source: "Honey B. Lovely" }
287.0 "Fracture" Ability { id: "91A3", source: "Honey B. Lovely" }
296.0 "Tempting Twist/Honey Beeline (cast)" Ability { id: ["9B0C", "9B0D"], source: "Honey B. Lovely" }
296.8 "Tempting Twist/Honey Beeline (damage)" Ability { id: ["9B10", "9B11"], source: "Honey B. Lovely" }
297.0 "--sync--" Ability { id: "9B0A", source: "Sweetheart" }
301.2 "Spread Love/Drop of Love (cast)" Ability { id: ["9B0E", "9B0F"], source: "Honey B. Lovely" }
301.3 "Splinter" Ability { id: "9B0B", source: "Sweetheart" }
301.6 "--sync--" Ability { id: "918E", source: "Honey B. Lovely" }
310.2 "Honey B. Finale" Ability { id: "918F", source: "Honey B. Lovely" }
# End Second Beat

321.4 "--middle--" Ability { id: "9163", source: "Honey B. Lovely" }
328.5 "Splash of Venom/Drop of Venom (cast)" Ability { id: ["9184", "9185"], source: "Honey B. Lovely" }
333.6 "Alarm Pheromones" Ability { id: "917D", source: "Honey B. Lovely" }
341.5 "Poison Sting (cast)" Ability { id: "9194", source: "Honey B. Lovely" }
341.7 "Poison Sting (drop)" Ability { id: "9195", source: "Honey B. Lovely" }
343.0 "Blinding Love" duration 25
346.7 "Poison Sting (drop)" Ability { id: "9195", source: "Honey B. Lovely" }
351.7 "Poison Sting (drop)" Ability { id: "9195", source: "Honey B. Lovely" }
356.8 "Poison Sting (drop)" Ability { id: "9195", source: "Honey B. Lovely" }
367.0 "Bee Sting (cast)" Ability { id: "91A8", source: "Honey B. Lovely" }
368.0 "Bee Sting (damage)" Ability { id: "91A9", source: "Honey B. Lovely" }
375.0 "Killer Sting/Stinging Slash (cast)" Ability { id: ["919C", "919B"], source: "Honey B. Lovely" }
376.2 "Killer Sting/Stinging Slash (damage)" Ability { id: ["919E", "919D"], source: "Honey B. Lovely" }
388.2 "Tempting Twist/Honey Beeline (cast)" Ability { id: ["9187", "9186"], source: "Honey B. Lovely" }
389.0 "Tempting Twist/Honey Beeline (damage)" Ability { id: ["9ACA", "9AC9"], source: "Honey B. Lovely" }
393.4 "Splash of Venom/Drop of Venom (damage)" Ability { id: ["9189", "918A"], source: "Honey B. Lovely" }
402.4 "--middle--" Ability { id: "9163", source: "Honey B. Lovely" }

# Third Beat
406.5 "Honey B. Live: 3rd Beat" Ability { id: "9C26", source: "Honey B. Lovely" }
412.8 "Honey B. Live: 3rd Beat" Ability { id: "9C28", source: "Honey B. Lovely" }
419.7 "Spread Love/Drop of Love (cast)" Ability { id: ["9B08", "9B09"], source: "Honey B. Lovely" }
426.8 "Centerstage Combo/Outerstage Combo" Ability { id: ["91AC", "91AD"], source: "Honey B. Lovely" }
428.0 "Laceration" Ability { id: "91B3", source: "Honey B. Lovely" }
431.0 "Laceration" Ability { id: "91B2", source: "Honey B. Lovely" }
434.3 "Laceration" Ability { id: "91B3", source: "Honey B. Lovely" }
438.9 "Big Burst" Ability { id: "91B6", source: "Honey B. Lovely" }
442.2 "Fracture" Ability { id: "91A3", source: "Honey B. Lovely" }
446.4 "Centerstage Combo/Outerstage Combo" Ability { id: ["91AC", "91AD"], source: "Honey B. Lovely" }
447.6 "Laceration" Ability { id: "91B3", source: "Honey B. Lovely" }
450.6 "Laceration" Ability { id: "91B2", source: "Honey B. Lovely" }
453.9 "Laceration" Ability { id: "91B3", source: "Honey B. Lovely" }
458.9 "Big Burst" Ability { id: "91B6", source: "Honey B. Lovely" }
461.9 "Fracture" Ability { id: "91A3", source: "Honey B. Lovely" }
471.7 "Tempting Twist/Honey Beeline (cast)" Ability { id: ["9B0C", "9B0D"], source: "Honey B. Lovely" }
472.5 "Tempting Twist/Honey Beeline (damage)" Ability { id: ["9B10", "9B11"], source: "Honey B. Lovely" }
472.7 "--sync--" Ability { id: "9B0A", source: "Sweetheart" }
476.9 "Spread Love/Drop of Love (cast)" Ability { id: ["9B0E", "9B0F"], source: "Honey B. Lovely" }
477.0 "Splinter" Ability { id: "9B0B", source: "Sweetheart" }
484.9 "Honey B. Finale" Ability { id: "918F", source: "Honey B. Lovely" }
# End Third Beat

498.0 "Killer Sting/Stinging Slash (cast)" Ability { id: ["919C", "919B"], source: "Honey B. Lovely" }
499.2 "Killer Sting/Stinging Slash (damage)" Ability { id: ["919E", "919D"], source: "Honey B. Lovely" }
508.2 "--middle--" Ability { id: "9163", source: "Honey B. Lovely" }
511.3 "Rotten Heart (cast)" Ability { id: "91AA", source: "Honey B. Lovely" }
515.0 "Rotten Heart (damage)" Ability { id: "91D2", source: "Honey B. Lovely" }
531.5 "Call Me Honey" Ability { id: "9183", source: "Honey B. Lovely" }
548.6 "Call Me Honey" Ability { id: "9183", source: "Honey B. Lovely" }
565.7 "Call Me Honey" Ability { id: "9183", source: "Honey B. Lovely" }
582.9 "Call Me Honey" Ability { id: "9183", source: "Honey B. Lovely" }
604.9 "Sheer Heart Attack (stun for enrage)" Ability { id: "91B7", source: "Honey B. Lovely" }
605.9 "--sync--" Ability { id: "9703", source: "Honey B. Lovely" }
608.1 "Honey B. Finale (enrage)" Ability { id: "91B8", source: "Honey B. Lovely" }
Loading