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
// PASSION: Player Ability/Skill Separation Index Offset Number
let funInput = 4; // 1-10
let passionInput = 2; // 1-5
let passionInput = 1; // 1-5
// balance attempt counter, not modifiable
let attempts = 0;
@ -428,7 +428,7 @@ client.on("interactionCreate", async (interaction) => {
);
}
const targetPlayerCount = 3;
const targetPlayerCount = 18;
if (pickingPlayers.length + addupPlayers.length < targetPlayerCount) {
return await interaction.followUp(
`Can't find enough total players, expected ${targetPlayerCount} (found ${
@ -468,13 +468,13 @@ client.on("interactionCreate", async (interaction) => {
}
fkAttempts++;
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)) {
protectedStr += `${fk.id}, `;
pickingPlayers.push(fk);
continue;
} else {
pickingPlayers.splice(idx, 1);
fatkids.push(fk);
}
fatkids.push(fk);
}
if (protectedStr.length > 0) {
console.log(`Protected fks: ${protectedStr}`);
@ -758,6 +758,26 @@ client.on("interactionCreate", async (interaction) => {
bluPlayers = bluPlayers.concat(bluBalanced);
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;
// move to team voice channels
@ -972,14 +992,20 @@ client.on("messageCreate", async (message) => {
});
// build string
let str = backticks;
let str = "";
const maxNameLength = Math.max(...players.map((p) => p.name.length));
for (const { name, rank } of players) {
str += `${name.padEnd(maxNameLength, " ")} - ${"*".repeat(rank)}\n`;
}
str += backticks;
if (str === backticks + backticks) str = "No rankings found";
await message.reply(str);
if (str === "") str = "No rankings found";
if (str.length > 2000) {
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) {
console.error(error);
await message.reply(`Error getting rankings: ${error.message}`);