diff --git a/game-server/app/servers/activity/handler/miniGameHandler.ts b/game-server/app/servers/activity/handler/miniGameHandler.ts index 7dee79dee..fbf02419d 100644 --- a/game-server/app/servers/activity/handler/miniGameHandler.ts +++ b/game-server/app/servers/activity/handler/miniGameHandler.ts @@ -96,10 +96,18 @@ export class ForgeHandler { let r = new Rank(REDIS_KEY.ACTIVITY_MINI_GAME, { activityId, roundIndex: playerData.roundIndex }); await r.setRankWithRoleInfo(roleId, score, nowSeconds(), null, true); - if(playerData.gameType == MINI_GAME_TYPE.SHOOT) await checkTask(serverId, roleId, sid, TASK_TYPE.MINI_GAME_SHOOT, { score }); - if(playerData.gameType == MINI_GAME_TYPE.ERASE) await checkTask(serverId, roleId, sid, TASK_TYPE.MINI_GAME_ERASE, { step: params[0] }); - if(playerData.gameType == MINI_GAME_TYPE.EAT_ZONGZI) await checkTask(serverId, roleId, sid, TASK_TYPE.MINI_GAME_EAT_ZONGZI, { score }); - if(playerData.gameType == MINI_GAME_TYPE.CATCH_ZONGZI) await checkTask(serverId, roleId, sid, TASK_TYPE.MINI_GAME_CATCH_ZONGZI, { score }); + if(playerData.gameType == MINI_GAME_TYPE.SHOOT) { + await checkTask(serverId, roleId, sid, TASK_TYPE.MINI_GAME_SHOOT, { score }); + } else if(playerData.gameType == MINI_GAME_TYPE.ERASE) { + await checkTask(serverId, roleId, sid, TASK_TYPE.MINI_GAME_ERASE, { step: params[0] }); + } else if(playerData.gameType == MINI_GAME_TYPE.EAT_ZONGZI) { + await checkTask(serverId, roleId, sid, TASK_TYPE.MINI_GAME_EAT_ZONGZI, { score }); + } else if(playerData.gameType == MINI_GAME_TYPE.CATCH_ZONGZI) { + await checkTask(serverId, roleId, sid, TASK_TYPE.MINI_GAME_CATCH_ZONGZI, { score }); + } else { + await checkTask(serverId, roleId, sid, TASK_TYPE.MINI_GAME_SCORE, { gameType: playerData.gameType, score }); + await checkTask(serverId, roleId, sid, TASK_TYPE.MINI_GAME_STEP, { gameType: playerData.gameType, step: params[0] }); + } return resResult(STATUS.SUCCESS, { activityId, diff --git a/game-server/app/services/task/taskObj.ts b/game-server/app/services/task/taskObj.ts index f48f06c44..aa6467c8f 100644 --- a/game-server/app/services/task/taskObj.ts +++ b/game-server/app/services/task/taskObj.ts @@ -1471,6 +1471,22 @@ export class CheckSingleTask { } break; } + case TASK_TYPE.MINI_GAME_SCORE: // 139. 小游戏超过X分 + { + let { gameType, score } = param; + if(gameType == dicTaskParam[0] && score >= dicTaskParam[1]) { + result = { inc: 1 }; + } + break; + } + case TASK_TYPE.MINI_GAME_STEP: // 140. 小游戏小于X步 + { + let { gameType, step } = param; + if(gameType == dicTaskParam[0] && step <= dicTaskParam[1]) { + result = { inc: 1 }; + } + break; + } } return result } diff --git a/shared/consts/constModules/sysConst.ts b/shared/consts/constModules/sysConst.ts index 76fe92ab0..c8cd5dda6 100644 --- a/shared/consts/constModules/sysConst.ts +++ b/shared/consts/constModules/sysConst.ts @@ -863,6 +863,9 @@ export enum TASK_TYPE { MINI_GAME_ERASE = 136, // 单局翻牌不超出X步 MINI_GAME_EAT_ZONGZI = 137, // 吃粽子超过X分 MINI_GAME_CATCH_ZONGZI = 138, // 接粽子超过X分 + MINI_GAME_SCORE = 139, // 小游戏超过X分 + MINI_GAME_STEP = 140, // 小游戏小于X步 + } // 任务累积类型 diff --git a/shared/domain/roleField/task.ts b/shared/domain/roleField/task.ts index 1c6640044..320334c12 100644 --- a/shared/domain/roleField/task.ts +++ b/shared/domain/roleField/task.ts @@ -64,6 +64,7 @@ export class TaskParamInter { score?: number; // 小游戏得分 step?: number; // 步数 + gameType?: number; // 小游戏类型 }; export class TaskParam extends TaskParamInter { diff --git a/shared/resource/jsons/dic_zyz_taskType.json b/shared/resource/jsons/dic_zyz_taskType.json index abf91cda3..12678369b 100644 --- a/shared/resource/jsons/dic_zyz_taskType.json +++ b/shared/resource/jsons/dic_zyz_taskType.json @@ -1162,21 +1162,41 @@ { "id": 137, "name": "小游戏", - "info": "单局接粽子获得X分(大于等于均可)", - "param": "score&count", - "string": "得分&达成次数", - "content": "(大于等于均可)", - "condition": "count", - "sumType": 0 - }, - { - "id": 138, - "name": "小游戏", "info": "单局吃粽子获得X分(大于等于均可)", "param": "score&count", "string": "得分&达成次数", "content": "(大于等于均可)", "condition": "count", - "sumType": 0 + "sumType": 2 + }, + { + "id": 138, + "name": "小游戏", + "info": "单局接粽子获得X分(大于等于均可)", + "param": "score&count", + "string": "得分&达成次数", + "content": "(大于等于均可)", + "condition": "count", + "sumType": 2 + }, + { + "id": 139, + "name": "小游戏", + "info": "单局捕鱼获得X分(大于等于均可)", + "param": "gameType&score&count", + "string": "任务类型&得分&达成次数", + "content": "(大于等于均可)", + "condition": "count", + "sumType": 2 + }, + { + "id": 140, + "name": "小游戏", + "info": "单局调整竹管不超出X步 (小于等于均可)", + "param": "gameType&score&count", + "string": "任务类型&得分&达成次数", + "content": "(小于等于均可)", + "condition": "count", + "sumType": 2 } ] \ No newline at end of file