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/oopsy: add 6.5 normal trial #5836

Merged
merged 2 commits into from
Oct 7, 2023
Merged
Show file tree
Hide file tree
Changes from all 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
53 changes: 53 additions & 0 deletions ui/oopsyraidsy/data/06-ew/trial/zeromus.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import ZoneId from '../../../../../resources/zone_id';
import { OopsyData } from '../../../../../types/data';
import { OopsyTriggerSet } from '../../../../../types/oopsy';

// TODO: people not in 8AF2 Sable Thread line stack
// TODO: people not in 8B13 Flare tower
// TODO: people not taking 8B0D and failing meteors(???)

// Note: 8BB5 Scald is not mentioned as it's light damage and many hit by the first

export type Data = OopsyData;

const triggerSet: OopsyTriggerSet<Data> = {
zoneId: ZoneId.TheAbyssalFracture,
damageWarn: {
'Zeromus Abyssal Echoes': '8AFA', // big lit up glowing circles from lines on floor
'Zeromus Nox 1': '8D29', // initial orb circle damage
'Zeromus Nox 2': '8D23', // chasing orb damage
'Zeromus Flare': '8B15', // standing in post-tower meteor circle
'Zeromus Prominence Spine': '8B16', // line aoes from post-tower meteor circle
'Zeromus Visceral Whirl 1': '8AFC', // claw swipe damage from NE/SW safe
'Zeromus Visceral Whirl 2': '8AFD', // claw swipe damage from NE/SW safe
'Zeromus Visceral Whirl 3': '8AFE', // claw swipe damage from NW/SE safe
'Zeromus Visceral Whirl 4': '8AFF', // claw swipe damage from NW/SE safe
'Zeromus Toxic Bubble Burst': '8B18', // hitting a Void Bio bubble
'Zeromus Big Bang': '8B05', // ground circles during Big Bang cast
'Zeromus Fractured Eventide 1': '8AF5', // initial damage from Eventide line (NE safe)
'Zeromus Fractured Eventide 2': '8C46', // initial damage from Eventide line (NW safe)
'Zeromus Fractured Eventide 3': '8AF6', // ongoing damage from Eventide line
'Zeromus Big Crunch': '8D30', // ground circles during Big Crunch cast
'Zeromus Dimension Surge 1': '8B31', // ground circle damage after Rend the Rift
'Zeromus Dimension Surge 2': '8B32', // small ground circle damage attached to 8B33 lines after Rend the Rift
'Zeromus Dimension Surge 3': '8B33', // ground line damage attached to 8B32 circles
'Zeromus Dimension Surge Line': '8B35', // large white line cleave from wall
'Zeromus Akh Rhai': '8B24', // ongoing Akh Rhai damage
'Zeromus Chasmic Nails 1': '82BC', // south damage
'Zeromus Chasmic Nails 2': '82BD', // weest damage
'Zeromus Chasmic Nails 3': '82BE', // southeast damage
'Zeromus Chasmic Nails 4': '82BF', // southwest damage
'Zeromus Chasmic Nails 5': '8230', // east damage
},
shareWarn: {
'Zeromus The Dark Divides': '8B09', // Big Bang spread
},
shareFail: {
'Zeromus Dark Matter': '8B37', // tankbuster
},
soloWarn: {
'Zeromus The Dark Beckons': '8B0A', // Big Bang stack
},
};

export default triggerSet;
195 changes: 195 additions & 0 deletions ui/raidboss/data/06-ew/trial/zeromus.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
import Conditions from '../../../../../resources/conditions';
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';

// TODO: better positions for 8AFA Abyssal Echoes

// TODO: Dimensional Surge calls (maybe this shares with Extreme)
// Are there other patterns in normal mode???
//
// Dimensional Surge 8B35 tether middle west
// [16:31:35.624] 257 101:80034E7B:00200004:02:00:0000

export type Data = RaidbossData;

const triggerSet: TriggerSet<Data> = {
id: 'TheAbyssalFracture',
zoneId: ZoneId.TheAbyssalFracture,
timelineFile: 'zeromus.txt',
triggers: [
{
id: 'Zeromus Abyssal Nox',
type: 'Ability',
netRegex: { id: '8AF7', source: 'Zeromus', capture: false },
suppressSeconds: 5,
alertText: (_data, _matches, output) => output.text!(),
outputStrings: {
text: {
en: 'Heal to full',
},
},
},
{
id: 'Zeromus Abyssal Echoes',
type: 'Ability',
netRegex: { id: '8AF9', source: 'Zeromus', capture: false },
suppressSeconds: 5,
infoText: (_data, _matches, output) => output.text!(),
outputStrings: {
text: {
en: 'Away from glowing circles',
},
},
},
{
id: 'Zeromus Sable Thread',
type: 'Ability',
netRegex: { id: '8AEF', source: 'Zeromus' },
alertText: (data, matches, output) => {
return output.lineStackOn!({ player: data.ShortName(matches.target) });
},
outputStrings: {
lineStackOn: {
en: '5x line stack on ${player}',
},
},
},
{
id: 'Zeromus Visceral Whirl NE Safe',
type: 'StartsUsing',
netRegex: { id: '8AFB', capture: false },
infoText: (_data, _matches, output) => {
return output.text!({ dir1: output.ne!(), dir2: output.sw!() });
},
outputStrings: {
text: {
en: '${dir1} / ${dir2}',
de: '${dir1} / ${dir2}',
},
ne: Outputs.northeast,
sw: Outputs.southwest,
},
},
{
id: 'Zeromus Visceral Whirl NW Safe',
type: 'StartsUsing',
netRegex: { id: '8AFE', source: 'Zeromus', capture: false },
infoText: (_data, _matches, output) => {
return output.text!({ dir1: output.nw!(), dir2: output.se!() });
},
outputStrings: {
text: {
en: '${dir1} / ${dir2}',
de: '${dir1} / ${dir2}',
},
nw: Outputs.northwest,
se: Outputs.southeast,
},
},
{
id: 'Zeromus Dark Matter',
type: 'HeadMarker',
netRegex: { id: '016C' },
response: Responses.tankBuster(),
},
{
id: 'Zeromus Nox',
type: 'HeadMarker',
netRegex: { id: '00C5' },
condition: Conditions.targetIsYou(),
response: Responses.spread(),
},
{
id: 'Zeromus Fractured Eventide NE Safe',
type: 'StartsUsing',
netRegex: { id: '8AF3', source: 'Zeromus', capture: false },
alertText: (_data, _matches, output) => output.ne!(),
outputStrings: {
ne: Outputs.northeast,
},
},
{
id: 'Zeromus Fractured Eventide NW Safe',
type: 'StartsUsing',
netRegex: { id: '8AF4', source: 'Zeromus', capture: false },
alertText: (_data, _matches, output) => output.nw!(),
outputStrings: {
nw: Outputs.northwest,
},
},
{
id: 'Zeromus Flare',
type: 'StartsUsing',
netRegex: { id: '8B12', source: 'Zeromus', capture: false },
alertText: (_data, _matches, output) => output.tower!(),
outputStrings: {
tower: {
en: 'Stand in Tower',
},
},
},
{
id: 'Zeromus Flare Hit',
type: 'Ability',
netRegex: { id: '8B12', source: 'Zeromus', capture: false },
suppressSeconds: 5,
response: Responses.getOut('info'),
},
{
id: 'Zeromus Big Bang',
type: 'StartsUsing',
netRegex: { id: '8B03', source: 'Zeromus', capture: false },
response: Responses.aoe(),
},
{
id: 'Zeromus Acceleration Bomb',
type: 'GainsEffect',
netRegex: { effectId: 'A61' },
condition: Conditions.targetIsYou(),
delaySeconds: (_data, matches) => parseFloat(matches.duration) - 3,
response: Responses.stopEverything(),
},
{
id: 'Zeromus The Dark Divides',
type: 'HeadMarker',
netRegex: { id: '0178' },
condition: Conditions.targetIsYou(),
response: Responses.spread(),
},
{
id: 'Zeromus The Dark Beckons',
type: 'HeadMarker',
netRegex: { id: '0064' },
response: Responses.stackMarkerOn(),
},
{
id: 'Zeromus Big Crunch',
type: 'StartsUsing',
netRegex: { id: '8B04', source: 'Zeromus', capture: false },
response: Responses.aoe(),
},
{
id: 'Zeromus Nostalgia',
type: 'StartsUsing',
netRegex: { id: '8B1A', source: 'Zeromus', capture: false },
response: Responses.bigAoe(),
},
{
id: 'Zeromus Akh Rhai',
type: 'HeadMarker',
netRegex: { id: '0017' },
condition: Conditions.targetIsYou(),
alertText: (_data, _matches, output) => output.text!(),
outputStrings: {
text: {
en: 'Spread + Stay Out',
},
},
},
],
};

export default triggerSet;
Loading