Foro: usar el personaje de más nivel de la cuenta (en vez de aleatorio)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-17 07:59:06 +00:00
parent 24bd28fcca
commit bf9931e042
+2 -2
View File
@@ -400,7 +400,7 @@ export async function resolvePosters(ids: number[]): Promise<Map<number, PosterI
// Clase del personaje de más nivel de cada cuenta (para el avatar). Se tolera que
// acore_characters no exista o esté vacía: el avatar cae a guerrero por defecto.
// Personaje ALEATORIO por cuenta (nombre, raza, género, clase, nivel).
// Personaje de MÁS NIVEL por cuenta (nombre, raza, género, clase, nivel).
const charByAccount = new Map<number, { guid: number; name: string; race: number; gender: number; class: number; level: number }>()
try {
const [chars] = await db(DB.characters).query<RowDataPacket[]>(
@@ -414,7 +414,7 @@ export async function resolvePosters(ids: number[]): Promise<Map<number, PosterI
byAcc.get(acc)!.push(c)
}
for (const [acc, list] of byAcc) {
const c = list[Math.floor(Math.random() * list.length)]
const c = list.reduce((best, cur) => (Number(cur.level) > Number(best.level) ? cur : best), list[0])
charByAccount.set(acc, {
guid: Number(c.guid), name: String(c.name), race: Number(c.race),
gender: Number(c.gender), class: Number(c.class), level: Number(c.level),