Release Healer Man 0.1.29
This commit is contained in:
1 parent
8c9809d3e0
commit
544c1bee91
120 files changed
+4363
-1036
No files matched your search
+17
-12
@@ -3,6 +3,7 @@ import { GameDatabaseError } from "./database.mjs";
|
||||
import { ARENA_BRACKETS, arenaMatchTolerance, assertArenaQueueInput, validateArenaComposition } from "./arena-rules.mjs";
|
||||
import { ARENA_STAGES, chooseArenaStage } from "./arena-stages.mjs";
|
||||
import { ArenaSimulation } from "./arena-simulation.mjs";
|
||||
import { arenaKitForLoadout } from "./arena-character-kit.mjs";
|
||||
|
||||
const READY_CHECK_MS = 15_000;
|
||||
const PVP_BOT_FILL_MS = 30_000;
|
||||
@@ -222,18 +223,22 @@ export function createArenaService({ database, random = Math.random, now = () =>
|
||||
}
|
||||
|
||||
function fillTeam(humans, team, bracket, rating) {
|
||||
const members = humans.map((member) => ({
|
||||
actorId: `player-${randomUUID()}`,
|
||||
accountId: member.accountId,
|
||||
characterId: member.characterId,
|
||||
name: member.loadout.name || member.username,
|
||||
team,
|
||||
role: member.role,
|
||||
isBot: false,
|
||||
disconnected: false,
|
||||
rating: database.getArenaRating(member.accountId, member.characterId, bracket).rating,
|
||||
loadout: member.loadout,
|
||||
}));
|
||||
const members = humans.map((member) => {
|
||||
const character = database.getCloudSave?.(member.accountId)?.data?.characters?.find((entry) => entry.id === member.characterId) ?? {};
|
||||
return ({
|
||||
actorId: `player-${randomUUID()}`,
|
||||
accountId: member.accountId,
|
||||
characterId: member.characterId,
|
||||
name: character.name || member.username,
|
||||
characterKit: arenaKitForLoadout(member.loadout, character),
|
||||
team,
|
||||
role: member.role,
|
||||
isBot: false,
|
||||
disconnected: false,
|
||||
rating: database.getArenaRating(member.accountId, member.characterId, bracket).rating,
|
||||
loadout: member.loadout,
|
||||
});
|
||||
});
|
||||
const composition = validateArenaComposition(bracket, members.map((member) => member.role), { allowPartial: true });
|
||||
if (!composition.ok) throw new GameDatabaseError(composition.message, 400, composition.code);
|
||||
for (let index = 0; index < composition.missing.healer; index += 1) members.push(botMember(team, "healer", rating, index));
|
||||
|
||||
Reference in new issue
Block a user