place Bringer icon next to name in Leaderboard:sequential-extra-stats
This commit is contained in:
parent
1e0c0c7344
commit
2502b9e70b
1 changed files with 13 additions and 8 deletions
|
|
@ -36,7 +36,7 @@
|
|||
function formatRow(
|
||||
row: LeaderboardRow,
|
||||
context: NationContext,
|
||||
allNames: string[],
|
||||
allNameBlocks: string[],
|
||||
allScores: string[],
|
||||
allKds: string[],
|
||||
allTgs: string[],
|
||||
|
|
@ -62,12 +62,17 @@
|
|||
const kdColumn = [...allKds, ...allDefs];
|
||||
const tgsColumn = [...allTgs, ...allHeals];
|
||||
|
||||
const bringerTag = Layout.bringer(char as any, week);
|
||||
const nameBlock = `${char.name}${bringerTag}`;
|
||||
const paddedBlock = TextAlign.padToMax(nameBlock, allNameBlocks);
|
||||
const cockroach = Layout.cockroach(char as any);
|
||||
|
||||
const tokens: Record<string, string> = {
|
||||
rank: row.position ? formatRankOnly(row.position.currentRank, goalMet) : "—",
|
||||
class: Emoji.class(classKey) || classKey || "?",
|
||||
name: TextAlign.padToMax(char.name, allNames),
|
||||
indicators: Layout.indicators(char as any, { week }),
|
||||
score: `${scoreEmoji} ${TextAlign.gap(4)}${TextAlign.padToMax(scoreText, scoreColumn)}`,
|
||||
name: paddedBlock,
|
||||
indicators: cockroach,
|
||||
score: `${scoreEmoji} ${TextAlign.padToMax(scoreText, scoreColumn)}`,
|
||||
kd: TextAlign.gap(KD_GAP) + TextAlign.padToMax(kdText, kdColumn),
|
||||
tgs: TextAlign.gap(TGS_GAP) + TextAlign.padLeftToMax(tgText, tgsColumn),
|
||||
};
|
||||
|
|
@ -97,8 +102,8 @@
|
|||
const sortedCapella = [...capellaRows].sort(sortByPts);
|
||||
const sortedProcyon = [...procyonRows].sort(sortByPts);
|
||||
|
||||
const capellaNames = sortedCapella.map((r) => r.character.name);
|
||||
const procyonNames = sortedProcyon.map((r) => r.character.name);
|
||||
const capellaNameBlocks = sortedCapella.map((r) => `${r.character.name}${Layout.bringer(r.character as any, week)}`);
|
||||
const procyonNameBlocks = sortedProcyon.map((r) => `${r.character.name}${Layout.bringer(r.character as any, week)}`);
|
||||
const capellaScores = sortedCapella.map((r) => format.scoreBold(r.weeklyPts));
|
||||
const procyonScores = sortedProcyon.map((r) => format.scoreBold(r.weeklyPts));
|
||||
const capellaKds = sortedCapella.map((r) => (r.totalKills || r.totalDeaths) ? format.kd(r.totalKills, r.totalDeaths) : "—");
|
||||
|
|
@ -120,8 +125,8 @@
|
|||
const capellaEmoji = Emoji.get("capella");
|
||||
const procyonEmoji = Emoji.get("procyon");
|
||||
|
||||
const capellaFormatted = sortedCapella.map((r) => formatRow(r, capContext, capellaNames, capellaScores, capellaKds, capellaTgs, capellaAtks, capellaDefs, capellaHeals, week));
|
||||
const procyonFormatted = sortedProcyon.map((r) => formatRow(r, proContext, procyonNames, procyonScores, procyonKds, procyonTgs, procyonAtks, procyonDefs, procyonHeals, week));
|
||||
const capellaFormatted = sortedCapella.map((r) => formatRow(r, capContext, capellaNameBlocks, capellaScores, capellaKds, capellaTgs, capellaAtks, capellaDefs, capellaHeals, week));
|
||||
const procyonFormatted = sortedProcyon.map((r) => formatRow(r, proContext, procyonNameBlocks, procyonScores, procyonKds, procyonTgs, procyonAtks, procyonDefs, procyonHeals, week));
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle(`🏆 Weekly Leaderboard — ${week.weekKey}`)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue