From f3fdbd08f2a92f940b2226da7d403c19b0121327 Mon Sep 17 00:00:00 2001 From: ppc Date: Wed, 7 Aug 2024 20:18:21 +0100 Subject: [PATCH] fix card gen issues --- aimenet-web/lib/aime-card.ts | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/aimenet-web/lib/aime-card.ts b/aimenet-web/lib/aime-card.ts index 9993aa3..aa73009 100644 --- a/aimenet-web/lib/aime-card.ts +++ b/aimenet-web/lib/aime-card.ts @@ -4,13 +4,23 @@ export const CARD_ID_REGEX = /^(?:[0-9]{4} ?){5}$/i; * Generates a random Aime card id. */ export function generateAimeCardId(): string { - let id: string; + let cardId = ''; - do { - id = Math.floor(Math.random() * 1e20).toString().padStart(20, '0'); - } while (id[0] === '3'); // https://gitea.tendokyu.moe/Dniel97/segatools/src/commit/37c26ecadb2ce4d2cb3a61ce96c2c931ba2fc346/aimeio/aimeio.c#L191 - - return id; + while (true) { + // don't start with a 3 + const firstDigit = Math.floor(Math.random() * 10); + + if (firstDigit !== 3) { + cardId = firstDigit.toString(); + break; + } + } + + for (let i = 0; i < 19; i++) { + cardId += Math.floor(Math.random() * 10).toString(); + } + + return cardId; } /**