From 4a403e5959ef4478217fa0d6354f73fb9a16963f Mon Sep 17 00:00:00 2001 From: luying Date: Tue, 26 Sep 2023 15:35:53 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20fix(=E5=AE=9D=E7=89=A9=E6=8A=BD?= =?UTF-8?q?=E5=8D=A1):=20=E4=BF=AE=E5=A4=8D=E5=BF=83=E6=84=BF=E5=8D=95?= =?UTF-8?q?=E6=9C=AA=E6=AF=8F=E6=97=A5=E5=88=B7=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/services/activity/gachaService.ts | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/game-server/app/services/activity/gachaService.ts b/game-server/app/services/activity/gachaService.ts index 7909ce5c1..76d149e90 100644 --- a/game-server/app/services/activity/gachaService.ts +++ b/game-server/app/services/activity/gachaService.ts @@ -48,16 +48,12 @@ export function getNormalGachaId() { export async function refreshGacha(dicGacha: DicGacha, userGacha: UserGachaType) { let { day, count } = dicGacha.free; - if (count <= 0) { - return userGacha; - } - let { roleId, gachaId, refFreeTime, refHopeTime, hope } = userGacha; - if (shouldRefresh(refFreeTime, new Date(), REFRESH_TIME, day)) { + if (count > 0 && shouldRefresh(refFreeTime, new Date(), REFRESH_TIME, day)) { let ref = getTimeFunD().getAfterDayByGap(refFreeTime, day); userGacha = await UserGachaModel.refreshFreeCount(roleId, gachaId, 0, ref); } - if (shouldRefresh(refHopeTime, new Date(), REFRESH_TIME)) { + if (needRefreshHope(dicGacha.gachaType) && shouldRefresh(refHopeTime, new Date(), REFRESH_TIME)) { hope = hope.map(cur => { return { ...cur, hasGet: false } }); let ref = getZeroPointD(); userGacha = await UserGachaModel.refreshHopeCount(roleId, gachaId, 0, hope, ref); @@ -65,6 +61,14 @@ export async function refreshGacha(dicGacha: DicGacha, userGacha: UserGachaType) return userGacha } +function needRefreshHope(gachaType: GACHA_TYPE) { + switch (gachaType) { + case GACHA_TYPE.NORMAL: return true; + case GACHA_TYPE.ARTIFACT: return true; + } + return false; +} + export async function getVisitedHeroList(roleId: string) { let gachaId = getNormalGachaId();