diff --git a/game-server/app/services/activity/gachaService.ts b/game-server/app/services/activity/gachaService.ts index 5d5e3dbe2..2be0a7708 100644 --- a/game-server/app/services/activity/gachaService.ts +++ b/game-server/app/services/activity/gachaService.ts @@ -534,6 +534,6 @@ export async function getGuideGachaData(serverId: number, activityId: number, ro let playerData = new GuideGachaData(activityData, createTime, serverTime); let userGacha = await UserGachaModel.findByRole(roleId, playerData.gachaId, activityId); playerData.setPlayerData(userGacha); - if(playerData.hasChoosen) return null + if(playerData.hasChoosen || playerData.neverChoose()) return null; return playerData; } \ No newline at end of file diff --git a/shared/domain/activityField/guideGachaField.ts b/shared/domain/activityField/guideGachaField.ts index a2f560223..c96be7ac5 100644 --- a/shared/domain/activityField/guideGachaField.ts +++ b/shared/domain/activityField/guideGachaField.ts @@ -114,4 +114,8 @@ export class GuideGachaData extends ActivityBase { } return false; } + + public neverChoose() { + return this.stage == GUIDE_GACHA_STAGE.DECIDE && this.candidates.length <= 0; + } } diff --git a/shared/domain/activityField/newHeroGachaField.ts b/shared/domain/activityField/newHeroGachaField.ts index 7d171c83c..829e85f7c 100644 --- a/shared/domain/activityField/newHeroGachaField.ts +++ b/shared/domain/activityField/newHeroGachaField.ts @@ -23,7 +23,8 @@ export class NewHeroGachaData extends ActivityBase { bg: string; uiType: number; pickHero: number = 0; - pullCnt: number = 0; + count: number = 0; + freeCount: number = 0; constructor(activityData: ActivityModelType, createTime: number, serverTime: number) { super(activityData, createTime, serverTime) @@ -47,7 +48,8 @@ export class NewHeroGachaData extends ActivityBase { public setPlayerRecords(data: UserGachaType) { if (!data) return; this.pickHero = data.pickHero; - this.pullCnt = data.pullCnt; + this.count = data.count; + this.freeCount = data.freeCount; } public isPickHero(hid: number) {