Skip to content

Commit

Permalink
raidboss: update shb to use player objects (#5904)
Browse files Browse the repository at this point in the history
Followup to #5861.
  • Loading branch information
quisquous authored Nov 4, 2023
1 parent 1466878 commit 0df2f1e
Show file tree
Hide file tree
Showing 25 changed files with 71 additions and 64 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,7 @@ const triggerSet: TriggerSet<Data> = {
if (matches.target === data.me)
return output.stackOnYou!();

return output.stackOn!({ player: data.ShortName(matches.target) });
return output.stackOn!({ player: data.party.member(matches.target) });
},
run: (data) => delete data.seedTargets,
outputStrings: {
Expand Down
2 changes: 1 addition & 1 deletion ui/raidboss/data/05-shb/dungeon/heroes_gauntlet.ts
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ const triggerSet: TriggerSet<Data> = {
if (matches.target === data.me)
return output.stackOnYou!();

return output.stackOn!({ player: data.ShortName(matches.target) });
return output.stackOn!({ player: data.party.member(matches.target) });
},
run: (data) => delete data.anguish,
outputStrings: {
Expand Down
4 changes: 3 additions & 1 deletion ui/raidboss/data/05-shb/dungeon/holminster_switch.ts
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,9 @@ const triggerSet: TriggerSet<Data> = {
type: 'HeadMarker',
netRegex: { id: '005C' },
condition: Conditions.targetIsNotYou(),
infoText: (data, matches, output) => output.text!({ player: data.ShortName(matches.target) }),
infoText: (data, matches, output) => {
return output.text!({ player: data.party.member(matches.target) });
},
outputStrings: {
text: {
en: 'Break chain on ${player}',
Expand Down
4 changes: 3 additions & 1 deletion ui/raidboss/data/05-shb/eureka/delubrum_reginae.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1107,7 +1107,9 @@ const triggerSet: TriggerSet<Data> = {
netRegex: { source: 'The Queen', id: '59C5' },
condition: (data) => data.CanCleanse(),
delaySeconds: 5,
infoText: (data, matches, output) => output.text!({ player: data.ShortName(matches.target) }),
infoText: (data, matches, output) => {
return output.text!({ player: data.party.member(matches.target) });
},
outputStrings: {
text: {
en: 'Esuna ${player}',
Expand Down
5 changes: 3 additions & 2 deletions ui/raidboss/data/05-shb/eureka/delubrum_reginae_savage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2286,7 +2286,7 @@ const triggerSet: TriggerSet<Data> = {
if (matches.target === data.me)
return { alarmText: output.cleaveOnYou!() };
if (tankBusterOnParty(data, matches))
return { alertText: output.cleaveOn!({ player: data.ShortName(matches.target) }) };
return { alertText: output.cleaveOn!({ player: data.party.member(matches.target) }) };
return { infoText: output.avoidCleave!() };
},
},
Expand Down Expand Up @@ -2449,7 +2449,8 @@ const triggerSet: TriggerSet<Data> = {
// Each Cleansing Slash applies a cleansable Doom (38E), if damage is taken
netRegex: { source: 'The Queen', effectId: '38E' },
condition: (data) => data.CanCleanse(),
infoText: (data, matches, output) => output.text!({ player: data.ShortName(matches.target) }),
infoText: (data, matches, output) =>
output.text!({ player: data.party.member(matches.target) }),
outputStrings: {
text: {
en: 'Esuna ${player}',
Expand Down
2 changes: 1 addition & 1 deletion ui/raidboss/data/05-shb/eureka/zadnor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1056,7 +1056,7 @@ const triggerSet: TriggerSet<Data> = {
if (data.me === matches.target)
return output.stackOnYou!();
if (data.sartauvoirPyrocrisis && !data.sartauvoirPyrocrisis.includes(data.me))
return output.stackOnTarget!({ player: data.ShortName(matches.target) });
return output.stackOnTarget!({ player: data.party.member(matches.target) });
},
run: (data) => delete data.sartauvoirPyrocrisis,
outputStrings: {
Expand Down
2 changes: 1 addition & 1 deletion ui/raidboss/data/05-shb/hunts/lakeland.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ const triggerSet: TriggerSet<Data> = {
return { alertText: output.stackOnYou!() };
if (data.allergen)
return { alarmText: output.avoidStack!() };
return { infoText: output.stackOnPlayer!({ player: data.ShortName(matches.target) }) };
return { infoText: output.stackOnPlayer!({ player: data.party.member(matches.target) }) };
},
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ const triggerSet: TriggerSet<Data> = {
type: 'StartsUsing',
netRegex: { id: '5500', source: 'Daen Ose the Avaricious' },
alertText: (data, matches, output) => {
return output.stackOnAndLookAway!({ player: data.ShortName(matches.target) });
return output.stackOnAndLookAway!({ player: data.party.member(matches.target) });
},
outputStrings: {
stackOnAndLookAway: {
Expand Down
4 changes: 2 additions & 2 deletions ui/raidboss/data/05-shb/raid/e10s.ts
Original file line number Diff line number Diff line change
Expand Up @@ -644,7 +644,7 @@ const triggerSet: TriggerSet<Data> = {
condition: (data, matches) => matches.source === data.me || matches.target === data.me,
alertText: (data, matches, output) => {
const partner = matches.source === data.me ? matches.target : matches.source;
return output.text!({ player: data.ShortName(partner) });
return output.text!({ player: data.party.member(partner) });
},
outputStrings: {
text: Outputs.farTethersWithPlayer,
Expand All @@ -657,7 +657,7 @@ const triggerSet: TriggerSet<Data> = {
condition: (data, matches) => matches.source === data.me || matches.target === data.me,
alertText: (data, matches, output) => {
const partner = matches.source === data.me ? matches.target : matches.source;
return output.text!({ player: data.ShortName(partner) });
return output.text!({ player: data.party.member(partner) });
},
outputStrings: {
text: Outputs.closeTethersWithPlayer,
Expand Down
6 changes: 3 additions & 3 deletions ui/raidboss/data/05-shb/raid/e11n.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ const boundOfFaithFireTetherResponse = (data: Data, _matches: unknown, output: O
return { alertText: output.stackOnYou!() };
if (targets.length === 0)
return { alertText: output.stackOnPlayer!({ player: output.unknownTarget!() }) };
return { alertText: output.stackOnPlayer!({ player: data.ShortName(targets[0]) }) };
return { alertText: output.stackOnPlayer!({ player: data.party.member(targets[0]) }) };
};

const boundOfFaithLightningTetherResponse = (data: Data, _matches: unknown, output: Output) => {
Expand Down Expand Up @@ -67,7 +67,7 @@ const boundOfFaithLightningTetherResponse = (data: Data, _matches: unknown, outp
if (targets.includes(data.me))
return { alarmText: output.onYou!() };

const target = targets.length === 1 ? data.ShortName(targets[0]) : output.unknownTarget!();
const target = targets.length === 1 ? data.party.member(targets[0]) : output.unknownTarget!();
return { infoText: output.tetherInfo!({ player: target }) };
};

Expand All @@ -84,7 +84,7 @@ const boundOfFaithHolyTetherResponse = (data: Data, _matches: unknown, output: O
return { alarmText: output.awayFromGroup!() };
if (targets.length === 0)
return { infoText: output.awayFromPlayer!({ player: output.unknownTarget!() }) };
return { infoText: output.awayFromPlayer!({ player: data.ShortName(targets[0]) }) };
return { infoText: output.awayFromPlayer!({ player: data.party.member(targets[0]) }) };
};

const triggerSet: TriggerSet<Data> = {
Expand Down
14 changes: 7 additions & 7 deletions ui/raidboss/data/05-shb/raid/e11s.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ const boundOfFaithFireTetherResponse = (data: Data, _matches: unknown, output: O
return { alertText: output.stackOnYou!() };
if (targets.length === 0)
return { alertText: output.stackOnPlayer!({ player: output.unknownTarget!() }) };
return { alertText: output.stackOnPlayer!({ player: data.ShortName(targets[0]) }) };
return { alertText: output.stackOnPlayer!({ player: data.party.member(targets[0]) }) };
};

const boundOfFaithLightningTetherResponse = (data: Data, _matches: unknown, output: Output) => {
Expand Down Expand Up @@ -65,7 +65,7 @@ const boundOfFaithLightningTetherResponse = (data: Data, _matches: unknown, outp
if (targets.includes(data.me))
return { alarmText: output.onYou!() };

const target = targets.length === 1 ? data.ShortName(targets[0]) : output.unknownTarget!();
const target = targets.length === 1 ? data.party.member(targets[0]) : output.unknownTarget!();
return { infoText: output.tetherInfo!({ player: target }) };
};

Expand All @@ -82,7 +82,7 @@ const boundOfFaithHolyTetherResponse = (data: Data, _matches: unknown, output: O
return { alarmText: output.awayFromGroup!() };
if (targets.length === 0)
return { infoText: output.awayFromPlayer!({ player: output.unknownTarget!() }) };
return { infoText: output.awayFromPlayer!({ player: data.ShortName(targets[0]) }) };
return { infoText: output.awayFromPlayer!({ player: data.party.member(targets[0]) }) };
};

const triggerSet: TriggerSet<Data> = {
Expand Down Expand Up @@ -283,8 +283,8 @@ const triggerSet: TriggerSet<Data> = {
}

const tetherInfo = output.tetherInfo!({
player1: data.ShortName(lightningTarget),
player2: data.ShortName(fireTarget),
player1: data.party.member(lightningTarget),
player2: data.party.member(fireTarget),
});
const response = { infoText: tetherInfo };
if (lightningTarget === data.me)
Expand Down Expand Up @@ -346,8 +346,8 @@ const triggerSet: TriggerSet<Data> = {
}

const tetherInfo = output.tetherInfo!({
player1: data.ShortName(holyTarget),
player2: data.ShortName(fireTarget),
player1: data.party.member(holyTarget),
player2: data.party.member(fireTarget),
});
const response = { infoText: tetherInfo };
if (holyTarget === data.me)
Expand Down
4 changes: 2 additions & 2 deletions ui/raidboss/data/05-shb/raid/e12n.ts
Original file line number Diff line number Diff line change
Expand Up @@ -204,8 +204,8 @@ const triggerSet: TriggerSet<Data> = {
infoText: (data, _matches, output) => {
if (!data.stacks || data.stacks.length === 1)
return;
const names = data.stacks.map((x) => data.ShortName(x)).sort();
return output.stacks!({ players: names.join(', ') });
const names = data.stacks.map((x) => data.party.member(x)).sort();
return output.stacks!({ players: names });
},
outputStrings: {
stacks: {
Expand Down
16 changes: 8 additions & 8 deletions ui/raidboss/data/05-shb/raid/e12s.ts
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@ const triggerSet: TriggerSet<Data> = {
if (data.weightTargets.includes(data.me)) {
const partner = data.weightTargets[data.weightTargets[0] === data.me ? 1 : 0];
return {
alarmText: output.titanBlueWithPartner!({ player: data.ShortName(partner) }),
alarmText: output.titanBlueWithPartner!({ player: data.party.member(partner) }),
};
}
}
Expand Down Expand Up @@ -1376,15 +1376,15 @@ const triggerSet: TriggerSet<Data> = {
if (player1 !== data.me && player2 !== data.me) {
// Call out both player names if you don't have eye
return output.lookAwayFromPlayers!({
player1: data.ShortName(player1),
player2: data.ShortName(player2),
player1: data.party.member(player1),
player2: data.party.member(player2),
});
} else if (player1 === data.me && player2 !== undefined) {
// Call out second player name if exists and you have eye
return output.lookAwayFromPlayer!({ player: data.ShortName(player2) });
return output.lookAwayFromPlayer!({ player: data.party.member(player2) });
} else if (player2 === data.me) {
// Call out first player name if you have eye
return output.lookAwayFromPlayer!({ player: data.ShortName(player1) });
return output.lookAwayFromPlayer!({ player: data.party.member(player1) });
}

// Return empty when only you have eye
Expand Down Expand Up @@ -1604,13 +1604,13 @@ const triggerSet: TriggerSet<Data> = {
condition: (data, matches) => data.phase === 'advanced' && parseFloat(matches.duration) > 28,
infoText: (data, matches, output) => {
data.doubleAero ??= [];
data.doubleAero.push(data.ShortName(matches.target));
data.doubleAero.push(matches.target);

if (data.doubleAero.length !== 2)
return;

data.doubleAero.sort();
return output.text!({ name1: data.doubleAero[0], name2: data.doubleAero[1] });
const [name1, name2] = data.doubleAero.sort().map((x) => data.party.member(x));
return output.text!({ name1: name1, name2: name2 });
},
// This will collide with 'E12S Adv Relativity Buff Collector', sorry.
tts: null,
Expand Down
2 changes: 1 addition & 1 deletion ui/raidboss/data/05-shb/raid/e4s.ts
Original file line number Diff line number Diff line change
Expand Up @@ -362,7 +362,7 @@ const triggerSet: TriggerSet<Data> = {
if (matches.target === data.me)
return output.stackOnYou!();

return output.stackOn!({ player: data.ShortName(matches.target) });
return output.stackOn!({ player: data.party.member(matches.target) });
},
outputStrings: {
awayFromTanks: {
Expand Down
4 changes: 2 additions & 2 deletions ui/raidboss/data/05-shb/raid/e6s.ts
Original file line number Diff line number Diff line change
Expand Up @@ -350,9 +350,9 @@ const triggerSet: TriggerSet<Data> = {
condition: (data, matches) => data.me === matches.target || data.me === matches.source,
alertText: (data, matches, output) => {
if (data.me === matches.source)
return output.tetheredToPlayer!({ player: data.ShortName(matches.target) });
return output.tetheredToPlayer!({ player: data.party.member(matches.target) });

return output.tetheredToPlayer!({ player: data.ShortName(matches.source) });
return output.tetheredToPlayer!({ player: data.party.member(matches.source) });
},
outputStrings: {
tetheredToPlayer: {
Expand Down
12 changes: 6 additions & 6 deletions ui/raidboss/data/05-shb/raid/e7s.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,8 @@ const triggerSet: TriggerSet<Data> = {

if (!data.betwixtWorldsStack || data.betwixtWorldsStack.length === 1)
return;
const names = data.betwixtWorldsStack.map((x) => data.ShortName(x)).sort();
return output.stackOn!({ players: names.join(', ') });
const names = data.betwixtWorldsStack.map((x) => data.party.member(x)).sort();
return output.stackOn!({ players: names });
},
outputStrings: {
stackOnYou: Outputs.stackOnYou,
Expand Down Expand Up @@ -221,7 +221,7 @@ const triggerSet: TriggerSet<Data> = {
if (data.me === matches.target)
return output.stackOnYou!();

return output.stackOn!({ player: data.ShortName(matches.target) });
return output.stackOn!({ player: data.party.member(matches.target) });
},
outputStrings: {
stackOnYou: Outputs.stackOnYou,
Expand Down Expand Up @@ -258,8 +258,8 @@ const triggerSet: TriggerSet<Data> = {

if (!data.insatiableLightStack || data.insatiableLightStack.length === 1)
return;
const names = data.insatiableLightStack.map((x) => data.ShortName(x)).sort();
return output.stackPlayers!({ players: names.join(', ') });
const names = data.insatiableLightStack.map((x) => data.party.member(x)).sort();
return output.stackPlayers!({ players: names });
},
outputStrings: {
stackOnYou: Outputs.stackOnYou,
Expand Down Expand Up @@ -364,7 +364,7 @@ const triggerSet: TriggerSet<Data> = {
if (data.boundless.light === data.boundless.dark) {
if (matches.target === data.me)
return;
return { infoText: output.text!({ player: data.ShortName(matches.target) }) };
return { infoText: output.text!({ player: data.party.member(matches.target) }) };
}

return Responses.stackMarkerOn();
Expand Down
4 changes: 2 additions & 2 deletions ui/raidboss/data/05-shb/raid/e8s.ts
Original file line number Diff line number Diff line change
Expand Up @@ -378,7 +378,7 @@ const triggerSet: TriggerSet<Data> = {
return;
if (data.akhMornTargets.includes(data.me))
return;
const players = data.akhMornTargets.map((x) => data.ShortName(x)).join(', ');
const players = data.akhMornTargets.map((x) => data.party.member(x));
return { infoText: output.akhMornOn!({ players: players }) };
},
},
Expand All @@ -397,7 +397,7 @@ const triggerSet: TriggerSet<Data> = {
if (data.me === matches.target)
return output.mornAfahOnYou!();

return output.mornAfahOn!({ player: data.ShortName(matches.target) });
return output.mornAfahOn!({ player: data.party.member(matches.target) });
},
outputStrings: {
mornAfahOnYou: {
Expand Down
2 changes: 1 addition & 1 deletion ui/raidboss/data/05-shb/raid/e9s.ts
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ const triggerSet: TriggerSet<Data> = {
return output.tankSwap!();

if (data.role === 'healer')
return output.tankBusters!({ player: data.ShortName(matches.target) });
return output.tankBusters!({ player: data.party.member(matches.target) });
},
infoText: (data, _matches, output) => {
if (data.role !== 'tank' && data.role !== 'healer')
Expand Down
4 changes: 2 additions & 2 deletions ui/raidboss/data/05-shb/trial/hades-ex.ts
Original file line number Diff line number Diff line change
Expand Up @@ -446,9 +446,9 @@ const triggerSet: TriggerSet<Data> = {
return output.tankBusterOnYou!();

if (data.role === 'healer')
return output.busterOn!({ player: data.ShortName(matches.target) });
return output.busterOn!({ player: data.party.member(matches.target) });

return output.awayFromPlayer!({ player: data.ShortName(matches.target) });
return output.awayFromPlayer!({ player: data.party.member(matches.target) });
},
outputStrings: {
tankBusterOnYou: Outputs.tankBusterOnYou,
Expand Down
6 changes: 3 additions & 3 deletions ui/raidboss/data/05-shb/trial/hades.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,12 @@ const triggerSet: TriggerSet<Data> = {
return output.tankBusterOnYou!();

if (data.role === 'healer')
return output.busterOn!({ player: data.ShortName(matches.target) });
return output.busterOn!({ player: data.party.member(matches.target) });
},
infoText: (data, matches, output) => {
if (matches.target === data.me)
return;
return output.awayFromPlayer!({ player: data.ShortName(matches.target) });
return output.awayFromPlayer!({ player: data.party.member(matches.target) });
},
outputStrings: {
awayFromPlayer: {
Expand Down Expand Up @@ -296,7 +296,7 @@ const triggerSet: TriggerSet<Data> = {
if (!data.ancient || data.ancient[data.me] === undefined)
return;
const name = Object.keys(data.ancient).find((key) => data.ancient?.[key] === '003E');
return output.text!({ player: data.ShortName(name) });
return output.text!({ player: data.party.member(name) });
},
outputStrings: {
text: Outputs.stackOnPlayer,
Expand Down
3 changes: 2 additions & 1 deletion ui/raidboss/data/05-shb/trial/shiva-un.ts
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,8 @@ const triggerSet: TriggerSet<Data> = {
type: 'Ability',
netRegex: { id: '537A' },
condition: Conditions.targetIsNotYou(),
infoText: (data, matches, output) => output.text!({ player: data.ShortName(matches.target) }),
infoText: (data, matches, output) =>
output.text!({ player: data.party.member(matches.target) }),
outputStrings: {
text: {
en: 'Free ${player}',
Expand Down
2 changes: 1 addition & 1 deletion ui/raidboss/data/05-shb/trial/titania-ex.ts
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ const triggerSet: TriggerSet<Data> = {
if (data.bomb && data.bomb[data.me])
return;

return output.stackOn!({ player: data.ShortName(matches.target) });
return output.stackOn!({ player: data.party.member(matches.target) });
},
outputStrings: {
stackOnYou: Outputs.stackOnYou,
Expand Down
2 changes: 1 addition & 1 deletion ui/raidboss/data/05-shb/trial/varis-ex.ts
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ const triggerSet: TriggerSet<Data> = {
if (data.role === 'dps' && data.job !== 'BLU')
return output.avoidTankCleave!();

return output.tankBusterOn!({ player: data.ShortName(target) });
return output.tankBusterOn!({ player: data.party.member(target) });
},
outputStrings: {
tankBusterOnYou: Outputs.tankBusterOnYou,
Expand Down
2 changes: 1 addition & 1 deletion ui/raidboss/data/05-shb/trial/wol-ex.ts
Original file line number Diff line number Diff line change
Expand Up @@ -567,7 +567,7 @@ const triggerSet: TriggerSet<Data> = {
if (matches.target === data.me)
return output.stackOnYou?.();
if (!data.deluge)
return output.stackOnTarget?.({ player: data.ShortName(matches.target) });
return output.stackOnTarget?.({ player: data.party.member(matches.target) });
},
outputStrings: {
stackOnYou: Outputs.stackOnYou,
Expand Down
Loading

0 comments on commit 0df2f1e

Please sign in to comment.