Skip to content

Commit

Permalink
raidboss: update ew to use player objects
Browse files Browse the repository at this point in the history
Followup to #5861.
  • Loading branch information
quisquous committed Nov 4, 2023
1 parent 0df2f1e commit ac45ee1
Show file tree
Hide file tree
Showing 26 changed files with 175 additions and 140 deletions.
4 changes: 2 additions & 2 deletions ui/raidboss/data/06-ew/alliance/aglaia.ts
Original file line number Diff line number Diff line change
Expand Up @@ -400,7 +400,7 @@ const triggerSet: TriggerSet<Data> = {
alertText: (data, matches, output) => {
if (data.naldSmeltingSpread.includes(data.me))
return;
return output.stackOnPlayer!({ player: data.ShortName(matches.target) });
return output.stackOnPlayer!({ player: data.party.member(matches.target) });
},
run: (data) => data.naldSmeltingSpread = [],
outputStrings: {
Expand Down Expand Up @@ -494,7 +494,7 @@ const triggerSet: TriggerSet<Data> = {
delaySeconds: 0.5,
alertText: (data, matches, output) => {
if (data.naldLastColor === 'orange')
return output.lineStackOn!({ player: data.ShortName(matches.target) });
return output.lineStackOn!({ player: data.party.member(matches.target) });
},
outputStrings: {
lineStackOn: {
Expand Down
25 changes: 13 additions & 12 deletions ui/raidboss/data/06-ew/dungeon/another_mount_rokkon-savage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import { RaidbossData } from '../../../../../types/data';
import { PluginCombatantState } from '../../../../../types/event';
import { Job } from '../../../../../types/job';
import { NetMatches } from '../../../../../types/net_matches';
import { PartyMemberParamObject } from '../../../../../types/party';
import { LocaleText, Output, ResponseOutput, TriggerSet } from '../../../../../types/trigger';

type RousingTower = {
Expand Down Expand Up @@ -330,7 +331,7 @@ const stackSpreadResponse = (
const stackType = findStackPartners(data, stack1.target, stack2.target);

const stacks = [stack1, stack2].map((x) => x.target).sort();
const [player1, player2] = stacks.map((x) => data.ShortName(x));
const [player1, player2] = stacks.map((x) => data.party.member(x));
const stackInfo = hideStackList
? {}
: { infoText: output.stacks!({ player1: player1, player2: player2 }) };
Expand Down Expand Up @@ -524,7 +525,7 @@ const triggerSet: TriggerSet<Data> = {

if (matches.target === data.me)
return { alarmText: output.chargeOnYou!() };
return { alertText: output.chargeOn!({ player: data.ShortName(matches.target) }) };
return { alertText: output.chargeOn!({ player: data.party.member(matches.target) }) };
},
},
{
Expand Down Expand Up @@ -766,7 +767,7 @@ const triggerSet: TriggerSet<Data> = {
const args = { inOut: inOut, outIn: outIn };

const stacks = [stack1, stack2].map((x) => x.target).sort();
const [player1, player2] = stacks.map((x) => data.ShortName(x));
const [player1, player2] = stacks.map((x) => data.party.member(x));
const stackInfo = { infoText: output.stacks!({ player1: player1, player2: player2 }) };

data.vortexSecondMechanic = isInFirst ? 'out' : 'in';
Expand Down Expand Up @@ -996,12 +997,12 @@ const triggerSet: TriggerSet<Data> = {
if (spread.includes(data.me)) {
data.ghostMechanic = 'spread';
const otherPlayer = spread.find((x) => x !== data.me) ?? output.unknown!();
return output.spread!({ player: data.ShortName(otherPlayer) });
return output.spread!({ player: data.party.member(otherPlayer) });
}

data.ghostMechanic = 'tower';
const otherPlayer = towers.find((x) => x !== data.me) ?? output.unknown!();
return output.tower!({ player: data.ShortName(otherPlayer) });
return output.tower!({ player: data.party.member(otherPlayer) });
},
outputStrings: {
tower: {
Expand Down Expand Up @@ -1165,7 +1166,7 @@ const triggerSet: TriggerSet<Data> = {
const stackType = findStackPartners(data, stack1.target, stack2.target);

const stacks = [stack1, stack2].map((x) => x.target).sort();
const [player1, player2] = stacks.map((x) => data.ShortName(x));
const [player1, player2] = stacks.map((x) => data.party.member(x));
const stackInfo = { infoText: output.stacks!({ player1: player1, player2: player2 }) };

if (stackType === 'melee') {
Expand Down Expand Up @@ -1263,7 +1264,7 @@ const triggerSet: TriggerSet<Data> = {
if (matches.target === data.me)
return output.beBehindTank!();
if (data.role === 'tank')
return output.blockLaser!({ player: data.ShortName(matches.target) });
return output.blockLaser!({ player: data.party.member(matches.target) });
return output.avoidLaser!();
},
outputStrings: {
Expand Down Expand Up @@ -1470,10 +1471,10 @@ const triggerSet: TriggerSet<Data> = {
const isAllMixed = playerCount === mixedCount;
const mixedType = isAllMixed ? output.mixedTypeFull!() : output.mixedTypeHalf!();

let partner = output.unknown!();
let partner: string | PartyMemberParamObject = output.unknown!();
for (const [name, color] of Object.entries(firstColor)) {
if (name !== data.me && color === color1) {
partner = data.ShortName(name);
partner = data.party.member(name);
break;
}
}
Expand Down Expand Up @@ -1893,7 +1894,7 @@ const triggerSet: TriggerSet<Data> = {
}

const outputKey = `${thisAbility}OnPlayer`;
return { infoText: output[outputKey]!({ player: data.ShortName(player) }) };
return { infoText: output[outputKey]!({ player: data.party.member(player) }) };
},
},
{
Expand Down Expand Up @@ -1953,7 +1954,7 @@ const triggerSet: TriggerSet<Data> = {
}) ?? output.unknown!();

return {
alertText: output.unmarkedWithPlayer!({ player: data.ShortName(remainingPlayer) }),
alertText: output.unmarkedWithPlayer!({ player: data.party.member(remainingPlayer) }),
};
}

Expand All @@ -1965,7 +1966,7 @@ const triggerSet: TriggerSet<Data> = {
return;

const outputKey = `${thisAbility}OnYou`;
return { alarmText: output[outputKey]!({ player: data.ShortName(otherPlayer) }) };
return { alarmText: output[outputKey]!({ player: data.party.member(otherPlayer) }) };
},
},
{
Expand Down
25 changes: 13 additions & 12 deletions ui/raidboss/data/06-ew/dungeon/another_mount_rokkon.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import { RaidbossData } from '../../../../../types/data';
import { PluginCombatantState } from '../../../../../types/event';
import { Job } from '../../../../../types/job';
import { NetMatches } from '../../../../../types/net_matches';
import { PartyMemberParamObject } from '../../../../../types/party';
import { LocaleText, Output, ResponseOutput, TriggerSet } from '../../../../../types/trigger';

type RousingTower = {
Expand Down Expand Up @@ -327,7 +328,7 @@ const stackSpreadResponse = (
const stackType = findStackPartners(data, stack1.target, stack2.target);

const stacks = [stack1, stack2].map((x) => x.target).sort();
const [player1, player2] = stacks.map((x) => data.ShortName(x));
const [player1, player2] = stacks.map((x) => data.party.member(x));
const stackInfo = hideStackList
? {}
: { infoText: output.stacks!({ player1: player1, player2: player2 }) };
Expand Down Expand Up @@ -521,7 +522,7 @@ const triggerSet: TriggerSet<Data> = {

if (matches.target === data.me)
return { alarmText: output.chargeOnYou!() };
return { alertText: output.chargeOn!({ player: data.ShortName(matches.target) }) };
return { alertText: output.chargeOn!({ player: data.party.member(matches.target) }) };
},
},
{
Expand Down Expand Up @@ -763,7 +764,7 @@ const triggerSet: TriggerSet<Data> = {
const args = { inOut: inOut, outIn: outIn };

const stacks = [stack1, stack2].map((x) => x.target).sort();
const [player1, player2] = stacks.map((x) => data.ShortName(x));
const [player1, player2] = stacks.map((x) => data.party.member(x));
const stackInfo = { infoText: output.stacks!({ player1: player1, player2: player2 }) };

data.vortexSecondMechanic = isInFirst ? 'out' : 'in';
Expand Down Expand Up @@ -993,12 +994,12 @@ const triggerSet: TriggerSet<Data> = {
if (spread.includes(data.me)) {
data.ghostMechanic = 'spread';
const otherPlayer = spread.find((x) => x !== data.me) ?? output.unknown!();
return output.spread!({ player: data.ShortName(otherPlayer) });
return output.spread!({ player: data.party.member(otherPlayer) });
}

data.ghostMechanic = 'tower';
const otherPlayer = towers.find((x) => x !== data.me) ?? output.unknown!();
return output.tower!({ player: data.ShortName(otherPlayer) });
return output.tower!({ player: data.party.member(otherPlayer) });
},
outputStrings: {
tower: {
Expand Down Expand Up @@ -1162,7 +1163,7 @@ const triggerSet: TriggerSet<Data> = {
const stackType = findStackPartners(data, stack1.target, stack2.target);

const stacks = [stack1, stack2].map((x) => x.target).sort();
const [player1, player2] = stacks.map((x) => data.ShortName(x));
const [player1, player2] = stacks.map((x) => data.party.member(x));
const stackInfo = { infoText: output.stacks!({ player1: player1, player2: player2 }) };

if (stackType === 'melee') {
Expand Down Expand Up @@ -1260,7 +1261,7 @@ const triggerSet: TriggerSet<Data> = {
if (matches.target === data.me)
return output.beBehindTank!();
if (data.role === 'tank')
return output.blockLaser!({ player: data.ShortName(matches.target) });
return output.blockLaser!({ player: data.party.member(matches.target) });
return output.avoidLaser!();
},
outputStrings: {
Expand Down Expand Up @@ -1467,10 +1468,10 @@ const triggerSet: TriggerSet<Data> = {
const isAllMixed = playerCount === mixedCount;
const mixedType = isAllMixed ? output.mixedTypeFull!() : output.mixedTypeHalf!();

let partner = output.unknown!();
let partner: string | PartyMemberParamObject = output.unknown!();
for (const [name, color] of Object.entries(firstColor)) {
if (name !== data.me && color === color1) {
partner = data.ShortName(name);
partner = data.party.member(name);
break;
}
}
Expand Down Expand Up @@ -1890,7 +1891,7 @@ const triggerSet: TriggerSet<Data> = {
}

const outputKey = `${thisAbility}OnPlayer`;
return { infoText: output[outputKey]!({ player: data.ShortName(player) }) };
return { infoText: output[outputKey]!({ player: data.party.member(player) }) };
},
},
{
Expand Down Expand Up @@ -1950,7 +1951,7 @@ const triggerSet: TriggerSet<Data> = {
}) ?? output.unknown!();

return {
alertText: output.unmarkedWithPlayer!({ player: data.ShortName(remainingPlayer) }),
alertText: output.unmarkedWithPlayer!({ player: data.party.member(remainingPlayer) }),
};
}

Expand All @@ -1962,7 +1963,7 @@ const triggerSet: TriggerSet<Data> = {
return;

const outputKey = `${thisAbility}OnYou`;
return { alarmText: output[outputKey]!({ player: data.ShortName(otherPlayer) }) };
return { alarmText: output[outputKey]!({ player: data.party.member(otherPlayer) }) };
},
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import { Responses } from '../../../../../resources/responses';
import ZoneId from '../../../../../resources/zone_id';
import { RaidbossData } from '../../../../../types/data';
import { NetMatches } from '../../../../../types/net_matches';
import { PartyMemberParamObject } from '../../../../../types/party';
import { TriggerSet } from '../../../../../types/trigger';

// TODO: Gladiator adjustments to timeline
Expand Down Expand Up @@ -340,7 +341,7 @@ const triggerSet: TriggerSet<Data> = {
// Does not happen on first or third Slippery Soap
if (matches.target === data.me)
return output.getBehindPartyKnockback!();
return output.getInFrontOfPlayerKnockback!({ player: data.ShortName(matches.target) });
return output.getInFrontOfPlayerKnockback!({ player: data.party.member(matches.target) });
}
if (matches.target === data.me) {
if (data.soapCounter === 1)
Expand All @@ -349,7 +350,7 @@ const triggerSet: TriggerSet<Data> = {
return output.getBehindPuffs!();
return output.getBehindParty!();
}
return output.getInFrontOfPlayer!({ player: data.ShortName(matches.target) });
return output.getInFrontOfPlayer!({ player: data.party.member(matches.target) });
},
outputStrings: {
getBehindPuff: {
Expand Down Expand Up @@ -473,7 +474,7 @@ const triggerSet: TriggerSet<Data> = {
if (data.role !== 'tank' && data.role !== 'healer')
return;

return { infoText: output.busterOnTarget!({ player: data.ShortName(matches.target) }) };
return { infoText: output.busterOnTarget!({ player: data.party.member(matches.target) }) };
},
},
{
Expand Down Expand Up @@ -1047,7 +1048,7 @@ const triggerSet: TriggerSet<Data> = {
alertText: (data, matches, output) => {
if (matches.target === data.me)
return output.chargeOnYou!();
return output.chargeOn!({ player: data.ShortName(matches.target) });
return output.chargeOn!({ player: data.party.member(matches.target) });
},
outputStrings: {
chargeOn: {
Expand Down Expand Up @@ -1113,7 +1114,9 @@ const triggerSet: TriggerSet<Data> = {
return output.spreadThenStackOnYou!();
if (data.thunderousEchoPlayer === undefined)
return output.spreadThenStack!();
return output.spreadThenStackOn!({ player: data.ShortName(data.thunderousEchoPlayer) });
return output.spreadThenStackOn!({
player: data.party.member(data.thunderousEchoPlayer),
});
}

if (data.hasLingering)
Expand All @@ -1122,7 +1125,7 @@ const triggerSet: TriggerSet<Data> = {
return output.stackOnYouThenSpread!();
if (data.thunderousEchoPlayer === undefined)
return output.stackThenSpread!();
return output.stackOnThenSpread!({ player: data.ShortName(data.thunderousEchoPlayer) });
return output.stackOnThenSpread!({ player: data.party.member(data.thunderousEchoPlayer) });
},
outputStrings: {
stackThenSpread: Outputs.stackThenSpread,
Expand Down Expand Up @@ -1233,7 +1236,7 @@ const triggerSet: TriggerSet<Data> = {
return output.baitPuddle!();
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: {
// TODO: should this also say "In", e.g. "In + Spread" or "Spread (In)"?
Expand Down Expand Up @@ -1596,12 +1599,12 @@ const triggerSet: TriggerSet<Data> = {

// Figure out partner, so that you know if the person running out
// with you has the same debuff.
let partner = output.unknown!();
let partner: string | PartyMemberParamObject = output.unknown!();
for (const [name, id] of Object.entries(data.screamOfTheFallen)) {
if (name === data.me)
continue;
if (id === myBuff) {
partner = data.ShortName(name);
partner = data.party.member(name);
break;
}
}
Expand Down
Loading

0 comments on commit ac45ee1

Please sign in to comment.