feat(任务): 添加小游戏的任务

This commit is contained in:
luying
2023-06-17 16:57:34 +08:00
parent be09636e85
commit c751b6db57
5 changed files with 63 additions and 15 deletions

View File

@@ -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,

View File

@@ -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
}

View File

@@ -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步
}
// 任务累积类型

View File

@@ -64,6 +64,7 @@ export class TaskParamInter {
score?: number; // 小游戏得分
step?: number; // 步数
gameType?: number; // 小游戏类型
};
export class TaskParam extends TaskParamInter {

View File

@@ -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
}
]