Compare commits

...

3 Commits

Author SHA1 Message Date
ethanf
1c0144b076 fix: chunk rankings if exceeding character limit 2024-02-02 02:07:28 -06:00
ethanf
e2e4464306 feat: print teams after autocap 2024-02-02 01:43:44 -06:00
ethanf
c42e315a45 fix: fk target number + update passion default 2024-02-02 01:27:11 -06:00

View File

@ -101,7 +101,7 @@ const avgDiff = (arr) => {
// FUN value: Fluctuating Unfairness Normalization value // FUN value: Fluctuating Unfairness Normalization value
// PASSION: Player Ability/Skill Separation Index Offset Number // PASSION: Player Ability/Skill Separation Index Offset Number
let funInput = 4; // 1-10 let funInput = 4; // 1-10
let passionInput = 2; // 1-5 let passionInput = 1; // 1-5
// balance attempt counter, not modifiable // balance attempt counter, not modifiable
let attempts = 0; let attempts = 0;
@ -428,7 +428,7 @@ client.on("interactionCreate", async (interaction) => {
); );
} }
const targetPlayerCount = 3; const targetPlayerCount = 18;
if (pickingPlayers.length + addupPlayers.length < targetPlayerCount) { if (pickingPlayers.length + addupPlayers.length < targetPlayerCount) {
return await interaction.followUp( return await interaction.followUp(
`Can't find enough total players, expected ${targetPlayerCount} (found ${ `Can't find enough total players, expected ${targetPlayerCount} (found ${
@ -468,14 +468,14 @@ client.on("interactionCreate", async (interaction) => {
} }
fkAttempts++; fkAttempts++;
const idx = Math.floor(Math.random() * pickingPlayers.length); const idx = Math.floor(Math.random() * pickingPlayers.length);
let fk = await pickingPlayers.splice(idx, 1)[0]; let fk = pickingPlayers[idx];
if (protectedFk.includes(fk.id)) { if (protectedFk.includes(fk.id)) {
protectedStr += `${fk.id}, `; protectedStr += `${fk.id}, `;
pickingPlayers.push(fk); } else {
continue; pickingPlayers.splice(idx, 1);
}
fatkids.push(fk); fatkids.push(fk);
} }
}
if (protectedStr.length > 0) { if (protectedStr.length > 0) {
console.log(`Protected fks: ${protectedStr}`); console.log(`Protected fks: ${protectedStr}`);
} }
@ -758,6 +758,26 @@ client.on("interactionCreate", async (interaction) => {
bluPlayers = bluPlayers.concat(bluBalanced); bluPlayers = bluPlayers.concat(bluBalanced);
redPlayers = redPlayers.concat(redBalanced); redPlayers = redPlayers.concat(redBalanced);
// sort alphebetically then build string
bluPlayers.sort((a, b) =>
a.player.displayName.localeCompare(b.player.displayName)
);
redPlayers.sort((a, b) =>
a.player.displayName.localeCompare(b.player.displayName)
);
let teamStr = `${backticks}BLU:`;
for (const player of bluPlayers) {
teamStr += `\n${player.player.displayName}`;
}
teamStr += `\n\nRED:`;
for (const player of redPlayers) {
teamStr += `\n${player.player.displayName}`;
}
teamStr += backticks;
await interaction.followUp(teamStr);
let moveErr = 0; let moveErr = 0;
// move to team voice channels // move to team voice channels
@ -972,14 +992,20 @@ client.on("messageCreate", async (message) => {
}); });
// build string // build string
let str = backticks; let str = "";
const maxNameLength = Math.max(...players.map((p) => p.name.length)); const maxNameLength = Math.max(...players.map((p) => p.name.length));
for (const { name, rank } of players) { for (const { name, rank } of players) {
str += `${name.padEnd(maxNameLength, " ")} - ${"*".repeat(rank)}\n`; str += `${name.padEnd(maxNameLength, " ")} - ${"*".repeat(rank)}\n`;
} }
str += backticks; if (str === "") str = "No rankings found";
if (str === backticks + backticks) str = "No rankings found"; if (str.length > 2000) {
await message.reply(str); let chunks = str.match(/[\s\S]{1,1990}/g);
for (let chunk of chunks) {
await message.reply(`${backticks}${chunk}${backticks}`);
}
} else {
await message.reply(`${backticks}${str}${backticks}`);
}
} catch (error) { } catch (error) {
console.error(error); console.error(error);
await message.reply(`Error getting rankings: ${error.message}`); await message.reply(`Error getting rankings: ${error.message}`);