Skip to content

Commit ff918b9

Browse files
authored
oopsy: add r10s (#1015)
- oopsyraidsy/data/07-dt/raid/r10s.ts
1 parent 41ab684 commit ff918b9

2 files changed

Lines changed: 139 additions & 0 deletions

File tree

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
import NetRegexes from '../../../../../resources/netregexes';
2+
import ZoneId from '../../../../../resources/zone_id';
3+
import { OopsyData } from '../../../../../types/data';
4+
import { OopsyTriggerSet } from '../../../../../types/oopsy';
5+
import { GetShareMistakeText, playerDamageFields } from '../../../oopsy_common';
6+
7+
export interface Data extends OopsyData {
8+
hasWateryGrave: { [name: string]: boolean };
9+
}
10+
11+
const triggerSet: OopsyTriggerSet<Data> = {
12+
zoneId: ZoneId.AacHeavyweightM2Savage,
13+
damageWarn: {
14+
'R10S Alley-oop Double-dip Follow-up': 'B5DF',
15+
'R10S Reverse Alley-oop Follow-up': 'B5E2',
16+
'R10S Sickest Take-off': 'B5CE',
17+
'R10S Deep Varial': 'B5D3',
18+
'R10S Steam Burst': 'B5FB', // Orb explosion
19+
'R10S Flame Floater Split': 'B5BF',
20+
},
21+
gainsEffectWarn: {
22+
'R10S Burns': 'BFA', // standing in the fire, 15s
23+
},
24+
shareWarn: {
25+
'R10S Flame Floater 1': 'B5BB',
26+
'R10S Flame Floater 2': 'B5BC',
27+
'R10S Flame Floater 3': 'B5BD',
28+
'R10S Flame Floater 4': 'B5BE',
29+
'R10S Alley-oop Inferno': 'B5C1', // Red Hot spread
30+
'R10S Awesome Splash 1': 'B5CF', // Deep Blue spread
31+
'R10S Awesome Splash 2': 'B5D7', // Deep Blue spread after Fire/Watersnaking
32+
'R10S Alley-oop Double-dip First Hit': 'B5DE',
33+
'R10S Reverse Alley-oop First Hit': 'B5E1',
34+
'R10S Blasting Snap': 'B5F1', // Red Hot spread during Insane Air
35+
'R10S Plunging Snap': 'B5F2', // Deep Blue spread during Insane Air
36+
'R10S Hot Aerial 1': 'B91E',
37+
'R10S Hot Aerial 2': 'B91F',
38+
'R10S Hot Aerial 3': 'B920',
39+
'R10S Hot Aerial 4': 'B921',
40+
'R10S Xtreme Wave Deep Blue': 'B5D2', // Deep Blue's Xtreme Wave
41+
},
42+
shareFail: {
43+
'R10S Deep Impact': 'ADC6', // Deep Blue tankbuster
44+
'R10S Vertical Blast': 'B5F9', // Red Hot tankbuster during Insane Air
45+
'R10S Vertical Plunge': 'B5FA', // Deep Blue tankbuster during Insane Air
46+
},
47+
initData: () => {
48+
return {
49+
hasWateryGrave: {},
50+
};
51+
},
52+
triggers: [
53+
{
54+
id: 'R10S Watery Grave Gain',
55+
type: 'GainsEffect',
56+
netRegex: NetRegexes.gainsEffect({ effectId: '12DD' }),
57+
run: (data, matches) => {
58+
data.hasWateryGrave[matches.target] = true;
59+
},
60+
},
61+
{
62+
id: 'R10S Watery Grave Lose',
63+
type: 'LosesEffect',
64+
netRegex: NetRegexes.losesEffect({ effectId: '12DD' }),
65+
run: (data, matches) => {
66+
data.hasWateryGrave[matches.target] = false;
67+
},
68+
},
69+
{
70+
// Share warn for Red Hot's Xtreme Wave, except players affected by Watery Grave.
71+
id: 'R10S Xtreme Wave Red Hot',
72+
type: 'Ability',
73+
netRegex: NetRegexes.ability({ id: 'B5D1', ...playerDamageFields }),
74+
condition: (data, matches) => !data.hasWateryGrave[matches.target],
75+
mistake: (data, matches) => {
76+
const numTargets = parseInt(matches.targetCount);
77+
const numWateryGrave = Object.values(data.hasWateryGrave).filter(Boolean).length;
78+
if (isNaN(numTargets) || numTargets <= numWateryGrave + 1)
79+
return;
80+
return {
81+
type: 'warn',
82+
blame: matches.target,
83+
reportId: matches.targetId,
84+
text: GetShareMistakeText(matches.ability, numTargets - numWateryGrave),
85+
};
86+
},
87+
},
88+
{
89+
id: 'R10S Watery Grave Gains Vulnerability Down',
90+
type: 'GainsEffect',
91+
netRegex: NetRegexes.gainsEffect({ effectId: '3A1', target: 'Watery Grave' }),
92+
mistake: (_data, matches) => {
93+
return {
94+
type: 'warn',
95+
blame: matches.target,
96+
reportId: matches.targetId,
97+
text: matches.effect,
98+
};
99+
},
100+
},
101+
],
102+
timelineReplace: [
103+
{
104+
locale: 'de',
105+
replaceSync: {
106+
'Watery Grave': 'Wasserkerker',
107+
},
108+
},
109+
{
110+
locale: 'fr',
111+
replaceSync: {
112+
'Watery Grave': 'prison aquatique',
113+
},
114+
},
115+
{
116+
locale: 'ja',
117+
replaceSync: {
118+
'Watery Grave': '水牢',
119+
},
120+
},
121+
{
122+
locale: 'cn',
123+
replaceSync: {
124+
'Watery Grave': '水牢',
125+
},
126+
},
127+
{
128+
locale: 'ko',
129+
replaceSync: {
130+
'Watery Grave': '수중 감옥',
131+
},
132+
},
133+
],
134+
};
135+
136+
export default triggerSet;

ui/raidboss/data/07-dt/raid/r10s.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,9 @@ hideall "--sync--"
276276
# B5D9 Xtreme Spectacular
277277
# B5DA Xtreme Spectacular
278278
# B5DC Xtreme Spectacular
279+
# B5DD Alley-oop Double-dip
280+
# B5DE Alley-oop Double-dip
281+
# B5DF Alley-oop Double-dip
279282
# B5E0 Reverse Alley-oop
280283
# B5E1 Reverse Alley-oop
281284
# B5E2 Reverse Alley-oop

0 commit comments

Comments
 (0)