Skip to content

Commit 3f941a8

Browse files
authored
raidboss: add role callout to p11s dark & light tethers (#5554)
Per a comment in discord. Since many strats rely on positioning based on your partner's role, for PUG/PF groups where party members' roles aren't known by name, this added info would be useful. Since the mechanic is designed to always tether tanks & healers to a DPS, calling out your partner's role as 'dps' to a tank/healer is arguably unnecessary -- but since role pairings could become muddled for non-standard comps or if there's dead bodies (?), it's probably still a good idea.
1 parent 88fa389 commit 3f941a8

File tree

2 files changed

+63
-24
lines changed

2 files changed

+63
-24
lines changed

resources/outputs.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -867,6 +867,30 @@ export default {
867867
cn: '上偏左(北偏西)',
868868
ko: '11시',
869869
},
870+
tank: {
871+
en: 'Tank',
872+
de: 'Tank',
873+
fr: 'Tank',
874+
ja: 'タンク',
875+
cn: '坦克',
876+
ko: '탱',
877+
},
878+
healer: {
879+
en: 'Healer',
880+
de: 'Heiler',
881+
fr: 'Healer',
882+
ja: 'ヒーラ',
883+
cn: '治疗',
884+
ko: '힐',
885+
},
886+
dps: {
887+
en: 'DPS',
888+
de: 'DPS',
889+
fr: 'DPS',
890+
ja: 'DPS',
891+
cn: 'DPS',
892+
ko: '딜러',
893+
},
870894
// Literal numbers.
871895
num0: numberToOutputString(0),
872896
num1: numberToOutputString(1),

ui/raidboss/data/06-ew/raid/p11s.ts

Lines changed: 39 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import Outputs from '../../../../../resources/outputs';
12
import { Responses } from '../../../../../resources/responses';
23
import ZoneId from '../../../../../resources/zone_id';
34
import { RaidbossData } from '../../../../../types/data';
@@ -289,32 +290,32 @@ const triggerSet: TriggerSet<Data> = {
289290
// cactbot-builtin-response
290291
output.responseOutputStrings = {
291292
lightNear: {
292-
en: 'Light Near w/${player}',
293-
de: 'Licht Nahe w/${player}',
294-
fr: 'Lumière proche avec ${player}',
295-
cn: '光靠近 => ${player}',
296-
ko: '빛 가까이 +${player}',
293+
en: 'Light Near w/${player} (${role})',
294+
de: 'Licht Nahe w/${player} (${role})',
295+
fr: 'Lumière proche avec ${player} (${role})',
296+
cn: '光靠近 => ${player} (${role})',
297+
ko: '빛 가까이 +${player} (${role})',
297298
},
298299
lightFar: {
299-
en: 'Light Far w/${player}',
300-
de: 'Licht Entfernt w/${player}',
301-
fr: 'Lumière éloignée avec ${player}',
302-
cn: '光远离 => ${player}',
303-
ko: '빛 멀리 +${player}',
300+
en: 'Light Far w/${player} (${role})',
301+
de: 'Licht Entfernt w/${player} (${role})',
302+
fr: 'Lumière éloignée avec ${player} (${role})',
303+
cn: '光远离 => ${player} (${role})',
304+
ko: '빛 멀리 +${player} (${role})',
304305
},
305306
darkNear: {
306-
en: 'Dark Near w/${player}',
307-
de: 'Dunkel Nahe w/${player}',
308-
fr: 'Sombre proche avec ${player}',
309-
cn: '暗靠近 => ${player}',
310-
ko: '어둠 가까이 +${player}',
307+
en: 'Dark Near w/${player} (${role})',
308+
de: 'Dunkel Nahe w/${player} (${role})',
309+
fr: 'Sombre proche avec ${player} (${role})',
310+
cn: '暗靠近 => ${player} (${role})',
311+
ko: '어둠 가까이 +${player} (${role})',
311312
},
312313
darkFar: {
313-
en: 'Dark Far w/${player}',
314-
de: 'Dunkel Entfernt w/${player}',
315-
fr: 'Sombre éloigné avec ${player}',
316-
cn: '暗远离 => ${player}',
317-
ko: '어둠 멀리 +${player}',
314+
en: 'Dark Far w/${player} (${role})',
315+
de: 'Dunkel Entfernt w/${player} (${role})',
316+
fr: 'Sombre éloigné avec ${player} (${role})',
317+
cn: '暗远离 => ${player} (${role})',
318+
ko: '어둠 멀리 +${player} (${role})',
318319
},
319320
otherNear: {
320321
en: 'Other Near: ${player1}, ${player2}',
@@ -328,6 +329,10 @@ const triggerSet: TriggerSet<Data> = {
328329
fr: 'Autre éloigné : ${player1}, ${player2}',
329330
ko: '다른 멀리: ${player1}, ${player2}',
330331
},
332+
tank: Outputs.tank,
333+
healer: Outputs.healer,
334+
dps: Outputs.dps,
335+
unknown: Outputs.unknown,
331336
};
332337

333338
const myColor = data.lightDarkDebuff[data.me];
@@ -346,19 +351,29 @@ const triggerSet: TriggerSet<Data> = {
346351
return;
347352
}
348353

354+
let myBuddyRole;
355+
if (data.party.isDPS(myBuddy))
356+
myBuddyRole = output.dps!();
357+
else if (data.party.isTank(myBuddy))
358+
myBuddyRole = output.tank!();
359+
else if (data.party.isHealer(myBuddy))
360+
myBuddyRole = output.healer!();
361+
else
362+
myBuddyRole = output.unknown!();
363+
349364
const myBuddyShort = data.ShortName(myBuddy);
350365

351366
let alertText: string;
352367
if (myLength === 'near') {
353368
if (myColor === 'light')
354-
alertText = output.lightNear!({ player: myBuddyShort });
369+
alertText = output.lightNear!({ player: myBuddyShort, role: myBuddyRole });
355370
else
356-
alertText = output.darkNear!({ player: myBuddyShort });
371+
alertText = output.darkNear!({ player: myBuddyShort, role: myBuddyRole });
357372
} else {
358373
if (myColor === 'light')
359-
alertText = output.lightFar!({ player: myBuddyShort });
374+
alertText = output.lightFar!({ player: myBuddyShort, role: myBuddyRole });
360375
else
361-
alertText = output.darkFar!({ player: myBuddyShort });
376+
alertText = output.darkFar!({ player: myBuddyShort, role: myBuddyRole });
362377
}
363378

364379
let infoText: string | undefined = undefined;

0 commit comments

Comments
 (0)