diff --git a/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/RegisterHandler.java b/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/RegisterHandler.java index 17d8a9ef..34108fb2 100644 --- a/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/RegisterHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/RegisterHandler.java @@ -53,9 +53,15 @@ public class RegisterHandler implements BaseHandler { resultMap.put("status", 1); resultMap.put("aimeId", card.getExtId().longValue()); } else { + /* Ongeki workaround: if the card is already registered, it will just return existing aimeId associated with luid. + I have strong feeling that we should investigate about register code (13) instead of this hack, + but it seems enough for mitigate "ongeki bright" error popup during login process. */ logger.warn("Duplicated Aime Card Register detected, access code: {}", requestMap.get("luid")); - resultMap.put("status", 0); - resultMap.put("aimeId", 0L); + + Card card = cardService.getCardByAccessCode((String) requestMap.get("luid")).get(); + + resultMap.put("status", 1); + resultMap.put("aimeId", card.getExtId().longValue()); } logger.info("Response: " + logMapper.write(resultMap));