Skip to content

Commit

Permalink
oopsy: add Sophia Extreme/Unreal (#5444)
Browse files Browse the repository at this point in the history
  • Loading branch information
quisquous authored May 29, 2023
1 parent 612b768 commit f73beae
Show file tree
Hide file tree
Showing 4 changed files with 157 additions and 3 deletions.
73 changes: 73 additions & 0 deletions ui/oopsyraidsy/data/03-hw/trial/sophia-ex.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
import NetRegexes from '../../../../../resources/netregexes';
import ZoneId from '../../../../../resources/zone_id';
import { OopsyData } from '../../../../../types/data';
import { OopsyTriggerSet } from '../../../../../types/oopsy';
import { playerDamageFields } from '../../../oopsy_common';

// TODO: failing Discordant Cleansing

const triggerSet: OopsyTriggerSet<OopsyData> = {
zoneId: ZoneId.ContainmentBayS1T7Extreme,
damageWarn: {
'SophiaEx Thunder II': '19B0', // untelegraphed front cleave
'SophiaEx Aero III': '19AE', // "get out"
'SophiaEx Thunder III': '19AC', // "get under"
'Sophia Ex Aion Teleos Execute 1': '19B1', // Thunder II duplication
'Sophia Ex Aion Teleos Execute 2': '19AF', // Aero III duplication
'Sophia Ex Aion Teleos Execute 3': '19AD', // Thunder III duplication
'SophiaEx Gnosis': '19C2', // knockback
'SophiaEx The Third Demiurge Ring of Pain': '19BA', // circle that leaves a frost puddle
'SophiaEx The Third Demiurge Gnostic Spear': '19B9', // 270 degree untelegraphed cleave
'SophiaEx Onrush': '19C1', // dash
'SophiaEx Barbelo Light Dew': '19BF', // line laser from Barbelo head
},
damageFail: {
'SophiaEx The First Demiurge Revengeance': '19BD', // hitting Vertical/Horizontal Kenoma
},
gainsEffectWarn: {
'SophiaEx Frostbite': '25D', // standing in the frost puddle from the Third Demiurge
},
triggers: [
{
// Look away; does damage if failed.
id: 'SophiaEx The Second Demiurge Divine Spark',
type: 'Ability',
netRegex: NetRegexes.ability({ id: '19B6', ...playerDamageFields }),
condition: (data, matches) => data.DamageFromMatches(matches) > 0,
mistake: (_data, matches) => {
return {
type: 'warn',
blame: matches.target,
reportId: matches.targetId,
text: matches.ability,
};
},
},
{
id: 'SophiaEx Knocked Off',
type: 'Ability',
// 1981 = The Scales of Wisdom
// 1AE1 = The Scales of Wisdom
// 19C2 = Gnosis (knockback from Barbelo add)
// Technically, things like Aero III and keroma also knock people off but they also can kill people
// if we ever get proper "you fell off" log lines, we can fix this up.
netRegex: NetRegexes.ability({ id: ['1981', '1AE1', '19C2'] }),
deathReason: (_data, matches) => {
return {
id: matches.targetId,
name: matches.target,
text: {
en: 'Knocked off',
de: 'Runtergefallen',
fr: 'Renversé(e)',
ja: 'ノックバック',
cn: '击退坠落',
ko: '넉백',
},
};
},
},
],
};

export default triggerSet;
76 changes: 76 additions & 0 deletions ui/oopsyraidsy/data/06-ew/trial/sophia-un.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
// This file was autogenerated from running ts-node util/sync_files.ts.
// DO NOT EDIT THIS FILE DIRECTLY.

import NetRegexes from '../../../../../resources/netregexes';
import ZoneId from '../../../../../resources/zone_id';
import { OopsyData } from '../../../../../types/data';
import { OopsyTriggerSet } from '../../../../../types/oopsy';
import { playerDamageFields } from '../../../oopsy_common';

// TODO: failing Discordant Cleansing

const triggerSet: OopsyTriggerSet<OopsyData> = {
zoneId: ZoneId.ContainmentBayS1T7Extreme,
damageWarn: {
'SophiaEx Thunder II': '7DAA', // untelegraphed front cleave
'SophiaEx Aero III': '7DA8', // "get out"
'SophiaEx Thunder III': '7DA6', // "get under"
'Sophia Ex Aion Teleos Execute 1': '7DAB', // Thunder II duplication
'Sophia Ex Aion Teleos Execute 2': '7DA9', // Aero III duplication
'Sophia Ex Aion Teleos Execute 3': '7DA7', // Thunder III duplication
'SophiaEx Gnosis': '7DBC', // knockback
'SophiaEx The Third Demiurge Ring of Pain': '7DB4', // circle that leaves a frost puddle
'SophiaEx The Third Demiurge Gnostic Spear': '7DB3', // 270 degree untelegraphed cleave
'SophiaEx Onrush': '7DBB', // dash
'SophiaEx Barbelo Light Dew': '7DB9', // line laser from Barbelo head
},
damageFail: {
'SophiaEx The First Demiurge Revengeance': '7DB7', // hitting Vertical/Horizontal Kenoma
},
gainsEffectWarn: {
'SophiaEx Frostbite': '25D', // standing in the frost puddle from the Third Demiurge
},
triggers: [
{
// Look away; does damage if failed.
id: 'SophiaEx The Second Demiurge Divine Spark',
type: 'Ability',
netRegex: NetRegexes.ability({ id: '7DB0', ...playerDamageFields }),
condition: (data, matches) => data.DamageFromMatches(matches) > 0,
mistake: (_data, matches) => {
return {
type: 'warn',
blame: matches.target,
reportId: matches.targetId,
text: matches.ability,
};
},
},
{
id: 'SophiaEx Knocked Off',
type: 'Ability',
// 7D9C = The Scales of Wisdom
// 7DC6 = The Scales of Wisdom
// 7DBC = Gnosis (knockback from Barbelo add)
// Technically, things like Aero III and keroma also knock people off but they also can kill people
// if we ever get proper "you fell off" log lines, we can fix this up.
netRegex: NetRegexes.ability({ id: ['7D9C', '7DC6', '7DBC'] }),
deathReason: (_data, matches) => {
return {
id: matches.targetId,
name: matches.target,
text: {
en: 'Knocked off',
de: 'Runtergefallen',
fr: 'Renversé(e)',
ja: 'ノックバック',
cn: '击退坠落',
ko: '넉백',
},
};
},
},
],
};

export default triggerSet;
2 changes: 2 additions & 0 deletions ui/oopsyraidsy/data/oopsy_manifest.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
03-hw/raid/a10n.ts
03-hw/raid/a6n.ts
03-hw/trial/sephirot-ex.ts
03-hw/trial/sophia-ex.ts
03-hw/trial/zurvan-ex.ts
04-sb/alliance/orbonne_monastery.ts
04-sb/alliance/ridorana_lighthouse.ts
Expand Down Expand Up @@ -195,6 +196,7 @@
06-ew/trial/rubicante.ts
06-ew/trial/rubicante-ex.ts
06-ew/trial/sephirot-un.ts
06-ew/trial/sophia-un.ts
06-ew/trial/ultima-un.ts
06-ew/trial/zodiark.ts
06-ew/trial/zodiark-ex.ts
Expand Down
9 changes: 6 additions & 3 deletions util/sync_files.ts
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,8 @@ const zoneReplace: ZoneReplace[] = [
fileMap: {
'ui/raidboss/data/03-hw/trial/sophia-ex.ts': 'ui/raidboss/data/06-ew/trial/sophia-un.ts',
'ui/raidboss/data/03-hw/trial/sophia-ex.txt': 'ui/raidboss/data/06-ew/trial/sophia-un.txt',
'ui/oopsyraidsy/data/03-hw/trial/sophia-ex.ts':
'ui/oopsyraidsy/data/06-ew/trial/sophia-un.ts',
},
prefix: { 'SophiaEX': 'SophiaUN' },
other: {
Expand All @@ -189,11 +191,11 @@ const zoneReplace: ZoneReplace[] = [
'19AA': '7DA4', // Execute (storage cast)
'19AB': '7DA5', // Duplicate
'19AC': '7DA6', // Thunder III
'19AD': '7DA7', // Execute (Thunder III, ignored)
'19AD': '7DA7', // Execute (Thunder III)
'19AE': '7DA8', // Aero III
'19AF': '7DA9', // Execute (Aero III, ignored)
'19AF': '7DA9', // Execute (Aero III)
'19B0': '7DAA', // Thunder II
'19B1': '7DAB', // Execute (Thunder II, ignored)
'19B1': '7DAB', // Execute (Thunder II)
'19B3': '7DAD', // Dischordant Cleansing 1
'19B5': '7DAF', // Dischordant Cleansing 2
'19B6': '7DB0', // Divine Spark
Expand All @@ -202,6 +204,7 @@ const zoneReplace: ZoneReplace[] = [
'19BA': '7DB4', // Ring of Pain
'19BB': '7DB5', // Vertical Kenoma
'19BC': '7DB6', // Horizontal Kenoma
'19BD': '7DB7', // Revengeance
'19BE': '7DB8', // Cloudy Heavens
'19BF': '7DB9', // Light Dew (Execute)
'19C0': '7DBA', // Light Dew (Onrush)
Expand Down

0 comments on commit f73beae

Please sign in to comment.