任务:按条件开启任务

This commit is contained in:
luying
2021-04-19 13:17:18 +08:00
parent 260744e7d2
commit dd6c3355c3
32 changed files with 296 additions and 195 deletions
@@ -160,6 +160,7 @@ export class NormalBattleHandler {
let roleId = session.get('roleId');
let roleName = session.get('roleName');
let sid = session.get('sid');
const funcs: number[] = session.get('funcs');
let serverId = session.get('serverId');
let warInfo = gameData.war.get(battleId);
if(!warInfo) {
@@ -185,7 +186,7 @@ export class NormalBattleHandler {
}
const now = Date.now(); // 当前时间戳
let apJson = await setAp(now, roleId, sid, -1 * warInfo.cost); // 扣除体力
let apJson = await setAp(now, roleId, sid, funcs, -1 * warInfo.cost); // 扣除体力
if(!apJson) {
return resResult(STATUS.BATTLE_ACTION_POINT_LACK);
}
@@ -206,7 +207,7 @@ export class NormalBattleHandler {
// 记录事件状态
await setBattleStatus(session, roleId, battleId, isSuccess, battleCode);
} else if (warInfo.warType == WAR_TYPE.TOWER) {
let towerEndResult = await towerBattleEnd(sid, roleId, serverId, battleCode, battleId, isSuccess, heroes);
let towerEndResult = await towerBattleEnd(sid, funcs, roleId, serverId, battleCode, battleId, isSuccess, heroes);
if(towerEndResult) {
if(towerEndResult.status == -1) {
return towerEndResult.resResult;
@@ -269,7 +270,7 @@ export class NormalBattleHandler {
let actordata = await roleLevelup(roleId, isSuccess?warInfo.kingExp:0, session);// 主公升级经验
await checkTaskInBattleEnd(roleId, sid, battleId, dbHeroes, star);
await checkTaskInBattleEnd(roleId, sid, funcs, battleId, dbHeroes, star);
// 返回值:
// towerStatus: false-本层未通过, true-本层已通过
return resResult(STATUS.SUCCESS, {
@@ -287,6 +288,7 @@ export class NormalBattleHandler {
let roleId = session.get('roleId');
let roleName = session.get('roleName');
let sid = session.get('sid');
let funcs: number[] = session.get('funcs');
let warInfo = getWarById(battleId);
if(!warInfo) {
return resResult(STATUS.BATTLE_MISS_INFO);
@@ -303,7 +305,7 @@ export class NormalBattleHandler {
warInfo['cost'] = 0;
}
const now = Date.now(); // 当前时间戳
let apJson = await setAp(now, roleId, sid, -1 * warInfo.cost * count); // 扣除体力
let apJson = await setAp(now, roleId, sid, funcs, -1 * warInfo.cost * count); // 扣除体力
if(!apJson) {
return resResult(STATUS.BATTLE_ACTION_POINT_LACK);
}
@@ -342,7 +344,7 @@ export class NormalBattleHandler {
});
// 任务
await checkTaskWithWar(roleId, sid, TASK_TYPE.BATTLE_MAIN_SWEEP, warInfo, [], count, 0);
await checkTaskWithWar(roleId, sid, funcs, TASK_TYPE.BATTLE_MAIN_SWEEP, warInfo, [], count, 0);
return resResult(STATUS.SUCCESS, {
battleId, count,