-
Notifications
You must be signed in to change notification settings - Fork 74
oopsy: add r10s #1015
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
base: main
Are you sure you want to change the base?
oopsy: add r10s #1015
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,138 @@ | ||||||
| import NetRegexes from '../../../../../resources/netregexes'; | ||||||
| import ZoneId from '../../../../../resources/zone_id'; | ||||||
| import { OopsyData } from '../../../../../types/data'; | ||||||
| import { OopsyTriggerSet } from '../../../../../types/oopsy'; | ||||||
| import { GetShareMistakeText, playerDamageFields } from '../../../oopsy_common'; | ||||||
|
|
||||||
| export interface Data extends OopsyData { | ||||||
| hasWateryGrave: { [name: string]: boolean }; | ||||||
| } | ||||||
|
|
||||||
| const triggerSet: OopsyTriggerSet<Data> = { | ||||||
| zoneId: ZoneId.AacHeavyweightM2Savage, | ||||||
| damageWarn: { | ||||||
| 'R10S Alley-oop Double-dip Follow-up': 'B5DF', | ||||||
| 'R10S Reverse Alley-oop Follow-up': 'B5E2', | ||||||
| 'R10S Sickest Take-off': 'B5CE', | ||||||
| 'R10S Deep Varial': 'B5D3', | ||||||
| 'R10S Steam Burst': 'B5FB', // Orb explosion | ||||||
| 'R10S Flame Floater Split': 'B5BF', | ||||||
| }, | ||||||
| gainsEffectWarn: { | ||||||
| 'R10S Burns': 'BFA', // standing in the fire, 15s | ||||||
| }, | ||||||
| shareWarn: { | ||||||
| 'R10S Flame Floater 1': 'B5BA', | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||||||
| 'R10S Flame Floater 2': 'B5BB', | ||||||
| 'R10S Flame Floater 3': 'B5BC', | ||||||
| 'R10S Flame Floater 4': 'B5BD', | ||||||
| 'R10S Flame Floater 5': 'B5BE', | ||||||
| 'R10S Alley-oop Inferno': 'B5C1', // Red Hot spread | ||||||
| 'R10S Awesome Splash 1': 'B5CF', // Deep Blue spread | ||||||
| 'R10S Awesome Splash 2': 'B5D7', // Deep Blue spread after Fire/Watersnaking | ||||||
| 'R10S Alley-oop Double-dip First Hit': 'B5DE', | ||||||
| 'R10S Reverse Alley-oop First Hit': 'B5E1', | ||||||
| 'R10S Blasting Snap': 'B5F1', // Red Hot spread during Insane Air | ||||||
| 'R10S Plunging Snap': 'B5F2', // Deep Blue spread during Insane Air | ||||||
| 'R10S Hot Aerial 1': 'B91D', | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||||||
| 'R10S Hot Aerial 2': 'B91E', | ||||||
| 'R10S Hot Aerial 3': 'B91F', | ||||||
| 'R10S Hot Aerial 4': 'B920', | ||||||
| 'R10S Hot Aerial 5': 'B921', | ||||||
| 'R10S Xtreme Wave Deep Blue': 'B5D2', // Deep Blue's Xtreme Wave | ||||||
| }, | ||||||
| shareFail: { | ||||||
| 'R10S Deep Impact': 'ADC6', // Deep Blue tankbuster | ||||||
| 'R10S Vertical Blast': 'B5F9', // Red Hot tankbuster during Insane Air | ||||||
| 'R10S Vertical Plunge': 'B5FA', // Deep Blue tankbuster during Insane Air | ||||||
| }, | ||||||
| initData: () => { | ||||||
| return { | ||||||
| hasWateryGrave: {}, | ||||||
| }; | ||||||
| }, | ||||||
| triggers: [ | ||||||
| { | ||||||
| id: 'R10S Watery Grave Gain', | ||||||
| type: 'GainsEffect', | ||||||
| netRegex: NetRegexes.gainsEffect({ effectId: '12DD' }), | ||||||
| run: (data, matches) => { | ||||||
| data.hasWateryGrave[matches.target] = true; | ||||||
| }, | ||||||
| }, | ||||||
| { | ||||||
| id: 'R10S Watery Grave Lose', | ||||||
| type: 'LosesEffect', | ||||||
| netRegex: NetRegexes.losesEffect({ effectId: '12DD' }), | ||||||
| run: (data, matches) => { | ||||||
| data.hasWateryGrave[matches.target] = false; | ||||||
| }, | ||||||
| }, | ||||||
| { | ||||||
| // Share warn for Red Hot's Xtreme Wave, except players affected by Watery Grave. | ||||||
| id: 'R10S Xtreme Wave Red Hot', | ||||||
| type: 'Ability', | ||||||
| netRegex: NetRegexes.ability({ id: 'B5D1', ...playerDamageFields }), | ||||||
| condition: (data, matches) => !data.hasWateryGrave[matches.target], | ||||||
| mistake: (data, matches) => { | ||||||
| const numTargets = parseInt(matches.targetCount); | ||||||
| const numWateryGrave = Object.values(data.hasWateryGrave).filter(Boolean).length; | ||||||
| if (isNaN(numTargets) || numTargets <= numWateryGrave + 1) | ||||||
| return; | ||||||
| return { | ||||||
| type: 'warn', | ||||||
| blame: matches.target, | ||||||
| reportId: matches.targetId, | ||||||
| text: GetShareMistakeText(matches.ability, numTargets - numWateryGrave), | ||||||
| }; | ||||||
| }, | ||||||
|
Comment on lines
+71
to
+88
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There are edge cases where this trigger does not work as intended if the Red Hot marker target does not aim for the center. |
||||||
| }, | ||||||
| { | ||||||
| id: 'R10S Watery Grave Gains Vulnerability Down', | ||||||
| type: 'GainsEffect', | ||||||
| netRegex: NetRegexes.gainsEffect({ effectId: '3A1', target: 'watery grave' }), | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| mistake: (_data, matches) => { | ||||||
| return { | ||||||
| type: 'warn', | ||||||
| blame: matches.target, | ||||||
| reportId: matches.targetId, | ||||||
| text: matches.effect, | ||||||
| }; | ||||||
| }, | ||||||
| }, | ||||||
| ], | ||||||
| timelineReplace: [ | ||||||
| { | ||||||
| locale: 'de', | ||||||
| replaceSync: { | ||||||
| 'watery grave': 'Wasserkerker', | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| }, | ||||||
| }, | ||||||
| { | ||||||
| locale: 'fr', | ||||||
| replaceSync: { | ||||||
| 'watery grave': 'prison aquatique', | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| }, | ||||||
| }, | ||||||
| { | ||||||
| locale: 'ja', | ||||||
| replaceSync: { | ||||||
| 'watery grave': '水牢', | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| }, | ||||||
| }, | ||||||
| { | ||||||
| locale: 'cn', | ||||||
| replaceSync: { | ||||||
| 'watery grave': '水牢', | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| }, | ||||||
| }, | ||||||
| { | ||||||
| locale: 'ko', | ||||||
| replaceSync: { | ||||||
| 'watery grave': '수중 감옥', | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| }, | ||||||
| }, | ||||||
| ], | ||||||
| }; | ||||||
|
|
||||||
| export default triggerSet; | ||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
B5DD,B5DE,B5DFentries for "Alley-oop Double-dip" seem to be missing from ther10s.txtall encounter abilities table, can you add them there as well?