任务:按条件开启任务
This commit is contained in:
@@ -25,7 +25,7 @@ import { pushComBtlTeamMsg, pushFriendTeamInviteMsg, pushNormalItemMsg, pushTeam
|
||||
import { EXTERIOR } from '../../../pubUtils/dicParam';
|
||||
import { getTodayZeroDate } from '../../../pubUtils/timeUtil';
|
||||
import { FriendParams } from '../../../domain/roleField/friend';
|
||||
import { checkTask } from '../../../services/taskService';
|
||||
import { checkTask, checkTaskWithGoods } from '../../../services/taskService';
|
||||
|
||||
export default function(app: Application) {
|
||||
return new ComBattleHandler(app);
|
||||
@@ -533,6 +533,7 @@ export class ComBattleHandler {
|
||||
let roleId = session.get('roleId');
|
||||
let roleName = session.get('roleName');
|
||||
let sid = session.get('sid');
|
||||
const funcs: number[] = session.get('funcs');
|
||||
let { teamCode } = msg;
|
||||
let team = await ComBattleTeamModel.getTeamByCode(teamCode);
|
||||
clearRobotHurtTimer(team, this.robotHurtTimer);
|
||||
@@ -553,7 +554,7 @@ export class ComBattleHandler {
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
@@ -570,7 +571,7 @@ export class ComBattleHandler {
|
||||
const goods = await handleFixedReward(roleId, roleName, sid, roleSt.fixReward, 1);
|
||||
let actordata = await roleLevelup(roleId, warInfo.kingExp, session);// 主公升级经验
|
||||
// 任务
|
||||
|
||||
await checkTaskWithGoods(roleId, sid, funcs, TASK_TYPE.COM_BATTLE_DROP, goods);
|
||||
|
||||
return resResult(STATUS.SUCCESS, { battleGoods: goods, ...actordata, teamInfo: {status, teamCode, roleStatus, bossHpArr} });
|
||||
}
|
||||
@@ -741,6 +742,7 @@ export class ComBattleHandler {
|
||||
const roleName = session.get('roleName');
|
||||
const sid = session.get('sid');
|
||||
const serverId = session.get('serverId');
|
||||
const funcs: number[] = session.get('funcs');
|
||||
|
||||
const { original } = msg;
|
||||
|
||||
@@ -783,7 +785,7 @@ export class ComBattleHandler {
|
||||
const { name } = getGoodById(target);
|
||||
pushNormalItemMsg(roleId, roleName, serverId, MSG_SOURCE.ORANGE_BLUEPRT_COMPOSE, target, name);
|
||||
}
|
||||
await checkTask(roleId, sid, TASK_TYPE.COM_BATTLE_BLUEPRT, 1, true, { quality: dicCompose.targetQuality });
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.COM_BATTLE_BLUEPRT, 1, true, { quality: dicCompose.targetQuality });
|
||||
|
||||
return resResult(STATUS.SUCCESS, { goods, costGold: 0 });
|
||||
}
|
||||
|
||||
@@ -48,6 +48,7 @@ export class DonationHandler {
|
||||
const roleName: string = session.get('roleName');
|
||||
const serverId: number = parseInt(session.get('serverId'));
|
||||
const sid: string = session.get('sid');
|
||||
const funcs: number[] = session.get('funcs');
|
||||
let userGuild = await getUserGuildWithRefActive(roleId, 'donateCnt receiveBoxs guildCode');
|
||||
if (!userGuild)
|
||||
return resResult(STATUS.WRONG_PARMS);
|
||||
@@ -71,7 +72,7 @@ export class DonationHandler {
|
||||
this.app.rpc.chat.guildRemote.updateInfo.toServer(CHAT_SERVER, code, { fund });
|
||||
await addActive(roleId, serverId, GUILD_POINT_WAYS.DONATE, id);
|
||||
// 任务
|
||||
await checkTask(roleId, sid, TASK_TYPE.GUILD_DONATE, 1, true, {});
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_DONATE, 1, true, {});
|
||||
|
||||
return resResult(STATUS.SUCCESS, { donateFund, reports, donateCnt, goods });
|
||||
}
|
||||
|
||||
@@ -80,6 +80,7 @@ export class EventBattleHandler {
|
||||
let roleName = session.get('roleName');
|
||||
let eventStatus = session.get('eventStatus');
|
||||
let sid = session.get('sid');
|
||||
const funcs: number[] = session.get('funcs');
|
||||
|
||||
let event = await EventRecordModel.getEventRecordByCode(roleId, eventCode);
|
||||
if(!event) {
|
||||
@@ -120,7 +121,7 @@ export class EventBattleHandler {
|
||||
// 推送消息刷新
|
||||
await checkEvent(session, true);
|
||||
// 任务
|
||||
await checkTask(roleId, sid, TASK_TYPE.BATTLE_EVENT, 1, true, { eventType: dicEvent.eventType })
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.BATTLE_EVENT, 1, true, { eventType: dicEvent.eventType })
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
isSuccess,
|
||||
eventCode: result.eventCode,
|
||||
|
||||
@@ -212,6 +212,7 @@ export class ExpeditionBattleHandler {
|
||||
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) {
|
||||
@@ -236,7 +237,7 @@ export class ExpeditionBattleHandler {
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
@@ -269,7 +270,7 @@ export class ExpeditionBattleHandler {
|
||||
// 更新下一关状态
|
||||
await ExpeditionWarRecordModel.updateStatus(expeditionCode, expeditionId + 1, EXPEDITION_WAR_RECORD_STATUS.WAITING);
|
||||
}
|
||||
await checkTaskWithWar(roleId, sid, TASK_TYPE.BATTLE_WITH_HERO, battleId, dbHeroes, 1, star);
|
||||
await checkTaskWithWar(roleId, sid, funcs, TASK_TYPE.BATTLE_WITH_HERO, battleId, dbHeroes, 1, star);
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
expeditionCode, expeditionId,
|
||||
@@ -292,6 +293,7 @@ export class ExpeditionBattleHandler {
|
||||
let roleId = session.get('roleId');
|
||||
let roleName = session.get('roleName');
|
||||
let sid = session.get('sid');
|
||||
const funcs: number[] = session.get('funcs');
|
||||
|
||||
let role = await RoleModel.findByRoleId(roleId);
|
||||
let {expeditionPoint} = role;
|
||||
@@ -330,7 +332,7 @@ export class ExpeditionBattleHandler {
|
||||
let pointRewards = await getPointRewardStatus(roleId);
|
||||
|
||||
// 任务
|
||||
await checkTask(roleId, sid, TASK_TYPE.BATTLE_EXPEDITION_BOX, 1, true, { point });
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.BATTLE_EXPEDITION_BOX, 1, true, { point });
|
||||
|
||||
let goods = await handleFixedReward(roleId, roleName, sid, curDicExpeditionPoint.reward, 1);
|
||||
|
||||
|
||||
@@ -168,6 +168,7 @@ export class GuildHandler {
|
||||
const { battleCode } = msg;
|
||||
const roleId = session.get('roleId');
|
||||
const sid = session.get('sid');
|
||||
const funcs: number[] = session.get('funcs');
|
||||
const serverId: number = parseInt(session.get('serverId'));
|
||||
let userGuild = await UserGuildModel.getMyGuild(roleId, 'guildCode');
|
||||
if (!userGuild)
|
||||
@@ -184,7 +185,7 @@ export class GuildHandler {
|
||||
let result = await getBossInstanceWhenEnd(bossInstance, roleId, battleRecord.record.recordNum);
|
||||
await addActive(roleId, serverId, GUILD_POINT_WAYS.BOSS_WAR);//获得活跃值
|
||||
// 任务
|
||||
await checkTask(roleId, sid, TASK_TYPE.GUILD_BOSS, 1, true, {});
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_BOSS, 1, true, {});
|
||||
return resResult(STATUS.SUCCESS, result);
|
||||
}
|
||||
|
||||
|
||||
@@ -888,6 +888,7 @@ export class GuildHandler {
|
||||
const roleName = session.get('roleName');
|
||||
const sid = session.get('sid');
|
||||
const serverId = session.get('serverId');
|
||||
const funcs: number[] = session.get('funcs');
|
||||
const { code, id } = msg;
|
||||
|
||||
let userGuild = await getUserGuildWithRefActive(roleId, 'receivedActive auth guildCode');
|
||||
@@ -915,7 +916,7 @@ export class GuildHandler {
|
||||
userGuild = await UserGuildModel.updateInfo(roleId, { receivedActive: userGuild.receivedActive }, {}, 'receivedActive');
|
||||
|
||||
// 任务
|
||||
await checkTask(roleId, sid, TASK_TYPE.GUILD_RECEIVE_BOX, 1, true, {});
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_RECEIVE_BOX, 1, true, {});
|
||||
|
||||
return resResult(STATUS.SUCCESS, { goods, receivedActive: userGuild.receivedActive });
|
||||
}
|
||||
|
||||
@@ -51,6 +51,7 @@ export class GuildRefineHandler {
|
||||
const roleId: string = session.get('roleId');
|
||||
const sid: string = session.get('sid');
|
||||
const roleName: string = session.get('roleName');
|
||||
const funcs: number[] = session.get('funcs');
|
||||
let pieceInfo = getGoodById(pid);
|
||||
let userGuild = await UserGuildModel.getMyGuild(roleId, 'guildCode');
|
||||
if (!userGuild)
|
||||
@@ -77,7 +78,7 @@ export class GuildRefineHandler {
|
||||
let goods = await addItems(roleId, roleName, sid, [{id: pid, count: 1}]);
|
||||
|
||||
// 任务
|
||||
await checkTask(roleId, sid, TASK_TYPE.GUILD_REFINE, 1, true, { quality: pieceInfo.lvLimited });
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_REFINE, 1, true, { quality: pieceInfo.lvLimited });
|
||||
return resResult(STATUS.SUCCESS, { goods });
|
||||
}
|
||||
/**
|
||||
@@ -143,6 +144,7 @@ export class GuildRefineHandler {
|
||||
const roleId: string = session.get('roleId');
|
||||
const serverId: number = session.get('serverId');
|
||||
const sid: string = session.get('sid');
|
||||
const funcs: number[] = session.get('funcs');
|
||||
let userGuild = await UserGuildModel.getMyGuild(roleId, 'guildCode');
|
||||
if (!userGuild)
|
||||
return resResult(STATUS.WRONG_PARMS);
|
||||
@@ -177,7 +179,7 @@ export class GuildRefineHandler {
|
||||
res.releaseCallback();
|
||||
|
||||
// 任务
|
||||
await checkTask(roleId, sid, TASK_TYPE.GUILD_ASSIST_REFINE, 1, true, {});
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_ASSIST_REFINE, 1, true, {});
|
||||
|
||||
return resResult(STATUS.SUCCESS, { scienceTrees });
|
||||
}
|
||||
|
||||
@@ -156,6 +156,7 @@ export class GuildTrainHandler {
|
||||
const serverId: number = parseInt(session.get('serverId'));
|
||||
const roleName: string = session.get('roleName');
|
||||
const sid: string = session.get('sid');
|
||||
const funcs: number[] = session.get('funcs');
|
||||
let userGuild = await getUserGuild(roleId, serverId);
|
||||
if (!userGuild)
|
||||
return resResult(STATUS.WRONG_PARMS);
|
||||
@@ -264,9 +265,9 @@ export class GuildTrainHandler {
|
||||
|
||||
// 任务
|
||||
if(isSuccess) {
|
||||
await checkTask(roleId, sid, TASK_TYPE.GUILD_TRAIN_SUCESS, 1, true, {});
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_TRAIN_SUCESS, 1, true, {});
|
||||
}
|
||||
await checkTask(roleId, sid, TASK_TYPE.GUILD_TRAIN, 1, true, {});
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_TRAIN, 1, true, {});
|
||||
|
||||
return resResult(STATUS.SUCCESS, result);
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -37,6 +37,7 @@ export class PvpHandler {
|
||||
let { heroScores: addHeroScores } = msg;
|
||||
let roleId = session.get('roleId');
|
||||
let sid = session.get('sid');
|
||||
const funcs: number[] = session.get('funcs');
|
||||
let {heroScores, hisScore} = await PvpDefenseModel.findByRoleId(roleId);
|
||||
let score = 0;
|
||||
for (let {hid, score: heroScore} of addHeroScores) {
|
||||
@@ -67,7 +68,7 @@ export class PvpHandler {
|
||||
await r.setRankWithRoleInfo(roleId, pvpDefense.score, pvpDefense.updatedAt.getTime(), role);
|
||||
|
||||
// 任务
|
||||
await checkTask(roleId, sid, TASK_TYPE.PVP_HERO_SCORE, 0, false, { heroScores });
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.PVP_HERO_SCORE, 0, false, { heroScores });
|
||||
|
||||
return resResult(STATUS.SUCCESS, {score, hisScore, heroScores});
|
||||
}
|
||||
@@ -228,6 +229,7 @@ export class PvpHandler {
|
||||
let roleId = session.get('roleId');
|
||||
let roleName = session.get('roleName');
|
||||
let sid = session.get('sid');
|
||||
const funcs: number[] = session.get('funcs');
|
||||
|
||||
const { battleCode, isSuccess, myHeroes, oppHeroes } = msg;
|
||||
|
||||
@@ -295,7 +297,7 @@ export class PvpHandler {
|
||||
await r.setRankWithRoleInfo(roleId, pvpDefense.score, pvpDefense.updatedAt.getTime(), role);
|
||||
let myRank = await r.getMyRank({roleId});
|
||||
|
||||
await checkTaskInPvpEnd(roleId, sid, isSuccess, heroScores);
|
||||
await checkTaskInPvpEnd(roleId, sid, funcs, isSuccess, heroScores);
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
battleCode, isSuccess,
|
||||
@@ -464,6 +466,7 @@ export class PvpHandler {
|
||||
let roleId = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
let roleName = session.get('roleName');
|
||||
const funcs: number[] = session.get('funcs');
|
||||
let { seasonEndTime } = await SystemConfigModel.findSystemConfig();
|
||||
let { hisScore, receivedBox, challengeCnt: lastChallengeCnt, challengeRefTime: lastChallengeRefTime } = await PvpDefenseModel.findByRoleIdIncludeAll(roleId);
|
||||
let pvpBoxs = getPvpBoxs();
|
||||
@@ -479,7 +482,7 @@ export class PvpHandler {
|
||||
await PvpDefenseModel.updateInfo(roleId, {receivedBox, challengeCnt, challengeRefTime});
|
||||
let result = await addItems(roleId, roleName, sid, pvpBox.reward );
|
||||
// 任务
|
||||
await checkTask(roleId, sid, TASK_TYPE.PVP_RECEIVE_BOX, 1, true, {});
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.PVP_RECEIVE_BOX, 1, true, {});
|
||||
return resResult(STATUS.SUCCESS,{goods: result, receivedBox, challengeCnt, challengeRefTime});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user