任务:按条件开启任务
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});
|
||||
}
|
||||
|
||||
|
||||
@@ -87,6 +87,7 @@ export class ChatHandler {
|
||||
const roleName = session.get('roleName');
|
||||
const serverId = session.get('serverId');
|
||||
const guildCode = session.get('guildCode');
|
||||
const funcs: number[] = session.get('funcs');
|
||||
const sid = session.get('guildCode');
|
||||
let channelId = '';
|
||||
if (channel === CHANNEL_PREFIX.WORLD) channelId = `${serverId}`;
|
||||
@@ -96,7 +97,7 @@ export class ChatHandler {
|
||||
if (!msgData) return resResult(STATUS.WRONG_PARMS);
|
||||
await pushGroupMsgToRoom(msgData);
|
||||
// 任务
|
||||
await checkTaskWithArgs(roleId, sid, TASK_TYPE.CHAT, [ CHANNEL_TYPE.get(channel) ]);
|
||||
await checkTaskWithArgs(roleId, sid, funcs, TASK_TYPE.CHAT, [ CHANNEL_TYPE.get(channel) ]);
|
||||
return resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
@@ -110,13 +111,14 @@ export class ChatHandler {
|
||||
const { type, content, targetRoleId, targetMsgCode } = msg;
|
||||
const roleId = session.get('roleId');
|
||||
const roleName = session.get('roleName');
|
||||
const funcs: number[] = session.get('funcs');
|
||||
const sid = session.get('sid');
|
||||
const msgData = await createPrivateMsg(roleId, roleName, type, MSG_SOURCE.ROLE_SEND_TEXT, content, targetRoleId, targetMsgCode);
|
||||
await pushMsgToRole(msgData);
|
||||
if (!msgData) return resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
// 任务
|
||||
await checkTaskWithArgs(roleId, sid, TASK_TYPE.CHAT, [ CHANNEL_TYPE.get('private') ]);
|
||||
await checkTaskWithArgs(roleId, sid, funcs, TASK_TYPE.CHAT, [ CHANNEL_TYPE.get('private') ]);
|
||||
return resResult(STATUS.SUCCESS, msgData);
|
||||
}
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ export class EntryHandler {
|
||||
await self.app.rpc.connector.connectorRemote.remoteLogin.toServer(connect.sid, role.roleId);
|
||||
}
|
||||
let serverName = this.app.getServerId();
|
||||
await roleLogin(role.roleId, user.userCode, serverName, user.pkgName); // 保存在线用户
|
||||
await roleLogin(role.roleId, user.userCode, serverName, user.pkgName, role.funcs||[]); // 保存在线用户
|
||||
await session.abind(role.roleId);
|
||||
session.set('uid', role.roleId);
|
||||
session.set('roleId', role.roleId);
|
||||
@@ -112,8 +112,8 @@ export class EntryHandler {
|
||||
r2.setRankWithRoleInfo(role.roleId, role.lv, role.updatedAt.getTime(), role);
|
||||
|
||||
// 任务
|
||||
checkTaskWithRole(role.roleId, self.app.get('serverId'), TASK_TYPE.LOGIN_SUM, role);
|
||||
checkTaskWithRole(role.roleId, self.app.get('serverId'), TASK_TYPE.LOGIN_SERIES, role);
|
||||
checkTaskWithRole(role.roleId, self.app.get('serverId'), role.funcs, TASK_TYPE.LOGIN_SUM, role);
|
||||
checkTaskWithRole(role.roleId, self.app.get('serverId'), role.funcs, TASK_TYPE.LOGIN_SERIES, role);
|
||||
|
||||
role['heros'] = heros;
|
||||
role['equips'] = equips;
|
||||
|
||||
@@ -265,6 +265,7 @@ export class CityActivityHandler {
|
||||
let sid = session.get('sid');
|
||||
let guildCode = session.get('guildCode');
|
||||
let serverId = session.get('serverId');
|
||||
const funcs: number[] = session.get('funcs');
|
||||
|
||||
let { cityId, code, isSuccess } = msg;
|
||||
let obj = getCityActivityObj();
|
||||
@@ -290,7 +291,7 @@ export class CityActivityHandler {
|
||||
let gateHp = obj.getGateHpAndInc(serverId, cityId, dicCity.hp);
|
||||
|
||||
// 任务
|
||||
await checkTask(roleId, sid, TASK_TYPE.GUILD_ACTIVITY, 1, true, { aid: this.aid });
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_ACTIVITY, 1, true, { aid: this.aid });
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
isSuccess,
|
||||
|
||||
@@ -205,6 +205,7 @@ export class GateActivityHandler {
|
||||
let sid = session.get('sid');
|
||||
let guildCode = session.get('guildCode');
|
||||
let serverId = session.get('serverId');
|
||||
const funcs: number[] = session.get('funcs');
|
||||
|
||||
let { code, isSuccess } = msg;
|
||||
let obj = getGateActivityObj();
|
||||
@@ -254,7 +255,7 @@ export class GateActivityHandler {
|
||||
}
|
||||
|
||||
// 任务
|
||||
await checkTask(roleId, sid, TASK_TYPE.GUILD_ACTIVITY, 1, true, { aid: this.aid });
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_ACTIVITY, 1, true, { aid: this.aid });
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
code,
|
||||
...statusResult,
|
||||
|
||||
@@ -157,6 +157,7 @@ export class RaceActivityHandler {
|
||||
let sid = session.get('sid');
|
||||
let guildCode = session.get('guildCode');
|
||||
let serverId = session.get('serverId');
|
||||
const funcs: number[] = session.get('funcs');
|
||||
|
||||
let { code, isSuccess } = msg;
|
||||
|
||||
@@ -175,7 +176,7 @@ export class RaceActivityHandler {
|
||||
let myGuildRank = await r.getMyRank({guildCode});
|
||||
|
||||
// 任务
|
||||
await checkTask(roleId, sid, TASK_TYPE.GUILD_ACTIVITY, 1, true, { aid: this.aid });
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_ACTIVITY, 1, true, { aid: this.aid });
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
timestamp: Date.now(),
|
||||
woodenHorse: guildActivityRec.woodenHorse,
|
||||
|
||||
@@ -92,6 +92,7 @@ export class EquipHandler {
|
||||
let roleId: string = session.get('roleId');
|
||||
// let roleName: string = session.get('roleName');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
let { hid, ePlaceId, type } = msg;
|
||||
let hero = await HeroModel.findByHidAndRoleWithEquip(hid, roleId);
|
||||
@@ -150,7 +151,7 @@ export class EquipHandler {
|
||||
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP_BASE, sid, roleId, hero, { ePlace });
|
||||
|
||||
// 任务
|
||||
await checkTaskWithHero(roleId, sid, TASK_TYPE.EQUIP_STRENGTHEN, hero, oldLvs);
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.EQUIP_STRENGTHEN, hero, oldLvs);
|
||||
|
||||
const curHero = {
|
||||
hid,
|
||||
@@ -165,6 +166,7 @@ export class EquipHandler {
|
||||
let roleId: string = session.get('roleId');
|
||||
// let roleName: string = session.get('roleName');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
let { hid, lv: maxLv } = msg; // lv: 升到哪一级
|
||||
let hero = await HeroModel.findByHidAndRoleWithEquip(hid, roleId);
|
||||
@@ -214,7 +216,7 @@ export class EquipHandler {
|
||||
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP_BASE, sid, roleId, hero, { ePlace });
|
||||
|
||||
// 任务
|
||||
await checkTaskWithHero(roleId, sid, TASK_TYPE.EQUIP_STRENGTHEN, hero, oldLvs);
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.EQUIP_STRENGTHEN, hero, oldLvs);
|
||||
|
||||
const curHero = {
|
||||
hid,
|
||||
@@ -229,6 +231,7 @@ export class EquipHandler {
|
||||
let roleName: string = session.get('roleName');
|
||||
let serverId = session.get('serverId');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
let { hid, ePlaceId, material } = msg;
|
||||
|
||||
@@ -290,7 +293,7 @@ export class EquipHandler {
|
||||
if (isSuccess) {
|
||||
let curEquip = <EquipType>equip;
|
||||
pushEquipRefineSucMsg(roleId, roleName, serverId, curEplace, curEquip?curEquip.quality: 0);
|
||||
await checkTask(roleId, sid, TASK_TYPE.EQUIP_REFINE, 1, true, {});
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.EQUIP_REFINE, 1, true, {});
|
||||
}
|
||||
return resResult(STATUS.SUCCESS, { isSuccess, curHero });
|
||||
}
|
||||
@@ -343,6 +346,7 @@ export class EquipHandler {
|
||||
let roleId: string = session.get('roleId');
|
||||
// let roleName: string = session.get('roleName');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
let { eid } = msg;
|
||||
let equip = await EquipModel.findbySeqId(eid);
|
||||
@@ -408,7 +412,7 @@ export class EquipHandler {
|
||||
const hero = await HeroModel.findByHidAndRoleWithEquip(hid, roleId);
|
||||
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.RESTRENGTHEN, sid, roleId, hero, {}, [ePlaceId, ...removeSeidList]);
|
||||
|
||||
await checkTask(roleId, sid, TASK_TYPE.EQUIP_RESTRENGTHEN, 1, true, {});
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.EQUIP_RESTRENGTHEN, 1, true, {});
|
||||
return resResult(STATUS.SUCCESS,{curEquip});
|
||||
|
||||
}
|
||||
@@ -444,6 +448,7 @@ export class EquipHandler {
|
||||
let roleId: string = session.get('roleId');
|
||||
let equip = await EquipModel.getEquip(eid);
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
let goodInfo = getGoodById(equip.id);
|
||||
let obj = ITID.get(goodInfo.itid);
|
||||
let id = obj.type;
|
||||
@@ -465,16 +470,16 @@ export class EquipHandler {
|
||||
if (index < 0)
|
||||
return resResult(STATUS.WRONG_PARMS);
|
||||
let equipOffInfo = <EquipType>hero.ePlace[index].equip;
|
||||
let curEquip = await changeEquip(roleId, sid, equipOffInfo, equip.hid, id, equip);
|
||||
let curEquip = await changeEquip(roleId, sid, equipOffInfo, equip.hid, id, equip, funcs);
|
||||
if (!!curEquip)
|
||||
curEquips.push(curEquip);
|
||||
curEquip = await dressEquip(roleId, sid, hero, equip);
|
||||
curEquip = await dressEquip(roleId, sid, hero, equip, funcs);
|
||||
if (!!curEquip)
|
||||
curEquips.push(curEquip);
|
||||
} else if (type == 2) {
|
||||
if (!equip.hid)
|
||||
return resResult(STATUS.EQUIP_NOT_EQUIPED);
|
||||
let curEquip = await takeOffEquipAndCalPlayerCe(roleId, sid, hero, equip, id)
|
||||
let curEquip = await takeOffEquipAndCalPlayerCe(roleId, sid, hero, equip, id, funcs);
|
||||
curEquips.push(curEquip);
|
||||
}
|
||||
return resResult(STATUS.SUCCESS, { curEquips: curEquips });
|
||||
@@ -512,6 +517,7 @@ export class EquipHandler {
|
||||
let { eid, id, jewel } = msg;
|
||||
let roleId: string = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
let consumes: Array<{ id: number, count: number }> = [];
|
||||
let goods: Array<{ id: number, count: number }> = [];
|
||||
let equip = await EquipModel.getEquip(eid);
|
||||
@@ -545,9 +551,9 @@ export class EquipHandler {
|
||||
}
|
||||
|
||||
// 任务
|
||||
await checkTaskWithEquip(roleId, sid, TASK_TYPE.EQUIP_JEWEL, equip, [oldJewelCount]);
|
||||
await checkTaskWithArgs(roleId, sid, TASK_TYPE.EQUIP_JEWEL_STAGE, [jewel, oldJewel]);
|
||||
await checkTaskWithEquip(roleId, sid, TASK_TYPE.EQUIP_JEWEL_SUM, equip, [oldJewelCount]);
|
||||
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL, equip, [oldJewelCount]);
|
||||
await checkTaskWithArgs(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_STAGE, [jewel, oldJewel]);
|
||||
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_SUM, equip, [oldJewelCount]);
|
||||
|
||||
return resResult(STATUS.SUCCESS, { curEquip: { seqId: eid, holes: equip.holes } });
|
||||
}
|
||||
@@ -585,6 +591,7 @@ export class EquipHandler {
|
||||
let { eid, id } = msg;
|
||||
let roleId: string = session.get('roleId');
|
||||
let roleName: string = session.get('roleName');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
let sid: string = session.get('sid');
|
||||
let goods: Array<{ id: number, count: number }> = [];
|
||||
let equip = await EquipModel.getEquip(eid);
|
||||
@@ -605,9 +612,9 @@ export class EquipHandler {
|
||||
}
|
||||
|
||||
// 任务
|
||||
await checkTaskWithEquip(roleId, sid, TASK_TYPE.EQUIP_JEWEL, equip, [oldJewelCount]);
|
||||
await checkTaskWithArgs(roleId, sid, TASK_TYPE.EQUIP_JEWEL_STAGE, [0, jewel]);
|
||||
await checkTaskWithEquip(roleId, sid, TASK_TYPE.EQUIP_JEWEL_SUM, equip, [oldJewelCount]);
|
||||
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL, equip, [oldJewelCount]);
|
||||
await checkTaskWithArgs(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_STAGE, [0, jewel]);
|
||||
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_SUM, equip, [oldJewelCount]);
|
||||
return resResult(STATUS.SUCCESS, { curEquip: { seqId: eid, holes: equip.holes } });
|
||||
}
|
||||
|
||||
@@ -670,6 +677,7 @@ export class EquipHandler {
|
||||
let roleName: string = session.get('roleName');
|
||||
let sid: string = session.get('sid');
|
||||
let serverId = session.get('serverId');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
let goodInfo = getGoodById(jewel);
|
||||
let good = ITID.get(goodInfo.itid);
|
||||
let needUpdate = false;
|
||||
@@ -713,9 +721,9 @@ export class EquipHandler {
|
||||
}
|
||||
|
||||
// 任务
|
||||
await checkTaskWithEquip(roleId, sid, TASK_TYPE.EQUIP_JEWEL, equip, [oldJewelCount]);
|
||||
await checkTaskWithArgs(roleId, sid, TASK_TYPE.EQUIP_JEWEL_STAGE, [jewel, oldJewel]);
|
||||
await checkTaskWithEquip(roleId, sid, TASK_TYPE.EQUIP_JEWEL_SUM, equip, [oldJewelCount]);
|
||||
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL, equip, [oldJewelCount]);
|
||||
await checkTaskWithArgs(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_STAGE, [jewel, oldJewel]);
|
||||
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_SUM, equip, [oldJewelCount]);
|
||||
|
||||
return resResult(STATUS.SUCCESS, { curEquip: { seqId: eid, holes: equip.holes } });
|
||||
} else {
|
||||
|
||||
@@ -22,7 +22,7 @@ import { FRIEND } from "../../../pubUtils/dicParam";
|
||||
import { PlayerDetail, PlayerDetailHero } from "../../../domain/battleField/guild";
|
||||
import { createPrivateMsg, pushMsgToRole, pushPresent } from "../../../services/chatService";
|
||||
import { Rank } from "../../../services/rankService";
|
||||
import { checkTaskWithRole, checkTaskWithRoles, checkTask } from "../../../services/taskService";
|
||||
import { checkTaskWithRoles, checkTask } from "../../../services/taskService";
|
||||
|
||||
|
||||
export default function (app: Application) {
|
||||
@@ -202,6 +202,7 @@ export class FriendHandler {
|
||||
public async handleApply(msg: { applyCodeList: string[], isPass: boolean }, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
let { applyCodeList, isPass } = msg;
|
||||
|
||||
@@ -264,7 +265,7 @@ export class FriendHandler {
|
||||
role = await RoleModel.increaseFriendApplyCnt(roleId, -1 * resultApplyCodeList.length, 50);
|
||||
roles.push(role);
|
||||
// 任务
|
||||
await checkTaskWithRoles(roleId, sid, TASK_TYPE.FRIEND_NUM, roles);
|
||||
await checkTaskWithRoles(roleId, sid, funcs, TASK_TYPE.FRIEND_NUM, roles);
|
||||
|
||||
// 特殊处理:如果他点一键同意,有很多人,这个单独的人就不做这个额外的提示,直接把他好友申请删掉就好
|
||||
if(str == getResStr(STATUS.FRIEND_HAS_ADD) && resultApplyCodeList.length > 1) str = '';
|
||||
@@ -371,6 +372,7 @@ export class FriendHandler {
|
||||
public async setBlackList(msg: { roleId: string, type: number }, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
let { roleId: hisRoleId, type } = msg;
|
||||
|
||||
let role = await RoleModel.findByRoleId(roleId);
|
||||
@@ -473,7 +475,7 @@ export class FriendHandler {
|
||||
let { friendCnt = 0, blockCnt = 0 } = role;
|
||||
|
||||
// 任务
|
||||
await checkTaskWithRoles(roleId, sid, TASK_TYPE.FRIEND_NUM, [role, friend]);
|
||||
await checkTaskWithRoles(roleId, sid, funcs, TASK_TYPE.FRIEND_NUM, [role, friend]);
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
frdRoleIds, blackRoleIds,
|
||||
@@ -489,6 +491,7 @@ export class FriendHandler {
|
||||
let roleId: string = session.get('roleId');
|
||||
let roleName: string = session.get('roleName');
|
||||
let sid: string = session.get('sid');
|
||||
const funcs: number[] = session.get('funcs');
|
||||
|
||||
let { roleId: hisRoleId } = msg;
|
||||
|
||||
@@ -543,7 +546,7 @@ export class FriendHandler {
|
||||
// 更新情谊值
|
||||
frdPointRec = await FriendPointModel.updateSendCntToday(roleId, roleName, todaySendInc, max, FRIEND_DROP_TYPE.SEND_GIFT);
|
||||
// 任务
|
||||
await checkTask(roleId, sid, TASK_TYPE.FRIEND_SEND_HEART, todaySendInc, true, {});
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.FRIEND_SEND_HEART, todaySendInc, true, {});
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
todaySendCnt, list
|
||||
|
||||
@@ -151,6 +151,7 @@ export class HeroHandler {
|
||||
public async lvUp(msg: { hid: number, type: number}, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
let { hid, type } = msg;
|
||||
|
||||
@@ -208,7 +209,7 @@ export class HeroHandler {
|
||||
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.LVUP, sid, roleId, hero, update);
|
||||
|
||||
// 任务
|
||||
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_LV, hero);
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_LV, hero);
|
||||
|
||||
const curHero = {
|
||||
hid, lv : hero.lv, exp : hero.exp
|
||||
@@ -221,6 +222,7 @@ export class HeroHandler {
|
||||
public async starUp(msg: { hid: number, star: number, starStage: number}, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
let {hid, star, starStage} = msg;
|
||||
// 根据dic_hero 获得 1. 碎片id 2. 碎片数量 3. 初始武将星级 4. 初始品质
|
||||
@@ -256,8 +258,8 @@ export class HeroHandler {
|
||||
if(isUpStar) {
|
||||
await calAllHeroCe(HERO_SYSTEM_TYPE.STAR, sid, roleId, {}, [hid, isUpStar?1:0]); // 升星可能影响到百家学院全局加成
|
||||
// 任务
|
||||
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_STAR_UP, hero);
|
||||
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_QUALITY_STAR_UP, hero);
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAR_UP, hero);
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_QUALITY_STAR_UP, hero);
|
||||
}
|
||||
|
||||
const curHero = {
|
||||
@@ -276,6 +278,7 @@ export class HeroHandler {
|
||||
let roleName: string = session.get('roleName');
|
||||
let sid: string = session.get('sid');
|
||||
let serverId: string = session.get('serverId');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
let {hid, quality} = msg;
|
||||
let dicHero = gameData.hero.get(hid);
|
||||
@@ -310,7 +313,7 @@ export class HeroHandler {
|
||||
await calAllHeroCe(HERO_SYSTEM_TYPE.QUALITY, sid, roleId, {}, [hid, 0]); // 升品可能影响到百家学院全局加成
|
||||
|
||||
// 任务
|
||||
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_QUALITY_UP, hero);
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_QUALITY_UP, hero);
|
||||
|
||||
const curHero = {
|
||||
hid,
|
||||
@@ -327,6 +330,7 @@ export class HeroHandler {
|
||||
let sid: string = session.get('sid');
|
||||
let roleName: string = session.get('roleName');
|
||||
let serverId: string = session.get('serverId');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
let {hid, colorStar, colorStarStage} = msg;
|
||||
// 根据dic_hero 获得 1. 碎片id 2. 碎片数量 3. 初始武将星级 4. 初始品质
|
||||
@@ -370,8 +374,8 @@ export class HeroHandler {
|
||||
await calAllHeroCe(HERO_SYSTEM_TYPE.COLORSTAR, sid, roleId, {}, [hid, isUpStar?1:0]); // 升星可能影响到百家学院全局加成
|
||||
;
|
||||
// 任务
|
||||
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_STAR_UP, hero);
|
||||
await checkTask(roleId, sid, TASK_TYPE.HERO_WAKE_UP, 1, true, {});
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAR_UP, hero);
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.HERO_WAKE_UP, 1, true, {});
|
||||
}
|
||||
const curHero = {
|
||||
hid,
|
||||
@@ -389,6 +393,7 @@ export class HeroHandler {
|
||||
async heroJobTrain (msg: {hid:number}, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
let { hid } = msg;
|
||||
let hero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
|
||||
@@ -415,8 +420,8 @@ export class HeroHandler {
|
||||
jobStage: hero.jobStage + 1
|
||||
});
|
||||
// 任务
|
||||
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_TRAIN, hero);
|
||||
await checkTask(roleId, sid, TASK_TYPE.HERO_TRAIN_SUM, 1, true, {});
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_TRAIN, hero);
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.HERO_TRAIN_SUM, 1, true, {});
|
||||
|
||||
return resResult(STATUS.SUCCESS, { curHero: {hid : hero.hid, job : hero.job, jobStage: hero.jobStage}});
|
||||
}
|
||||
@@ -425,6 +430,7 @@ export class HeroHandler {
|
||||
async heroJobStageUp(msg: {hid:number}, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
let { hid } = msg;
|
||||
let hero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
if (!hero)
|
||||
@@ -448,7 +454,7 @@ export class HeroHandler {
|
||||
}
|
||||
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.STAGEUP, sid, roleId, hero, update);
|
||||
// 任务
|
||||
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_STAGE_UP, hero);
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAGE_UP, hero);
|
||||
|
||||
return resResult(STATUS.SUCCESS, { curHero: {hid : hero.hid, job : hero.job, jobStage : hero.jobStage}});
|
||||
}
|
||||
@@ -457,6 +463,7 @@ export class HeroHandler {
|
||||
async heroConectionActivate(msg: { shipId: number }, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
const funcs: number[] = session.get('funcs');
|
||||
let { shipId } = msg;
|
||||
let shipHidAndLevel = gameData.friendShipHidAandIds.get(shipId);
|
||||
if (!shipHidAndLevel) return resResult(STATUS.HERO_CONECTION_IS_NOT_EXIT);
|
||||
@@ -498,7 +505,7 @@ export class HeroHandler {
|
||||
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.CONNECT, sid, roleId, hero, { connections: heroConnections }, [shipId]);
|
||||
|
||||
// 任务
|
||||
await checkTask(roleId, sid, TASK_TYPE.HERO_CONNECT, 1, true, { connectLv: level })
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.HERO_CONNECT, 1, true, { connectLv: level })
|
||||
return resResult(STATUS.SUCCESS, { curHero: {hid : hero.hid, connections : hero.connections}});
|
||||
}
|
||||
|
||||
@@ -506,6 +513,7 @@ export class HeroHandler {
|
||||
async heroGiveFavor(msg: {hid:number, type: number}, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
let { hid, type } = msg;
|
||||
|
||||
let addLv = 0;
|
||||
@@ -571,7 +579,7 @@ export class HeroHandler {
|
||||
}, [oldLv]);
|
||||
|
||||
// 任务
|
||||
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_FAVOUR_LV, hero);
|
||||
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_FAVOUR_LV, hero);
|
||||
} else {
|
||||
hero = await HeroModel.updateHeroInfo(roleId, hero.hid, { favour: newExp, favourLv: newLv });
|
||||
}
|
||||
|
||||
@@ -84,6 +84,7 @@ export class RoleHandler {
|
||||
async roleTitleLevelUp(msg: {}, session: BackendSession){
|
||||
let roleId = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
let role = await RoleModel.findByRoleId(roleId);
|
||||
|
||||
@@ -102,7 +103,7 @@ export class RoleHandler {
|
||||
role = await calAllHeroCe(HERO_SYSTEM_TYPE.TITLE, sid, roleId, update);
|
||||
|
||||
// 任务
|
||||
await checkTask(roleId, sid, TASK_TYPE.ROLE_TITLE, 1, false, { title });
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.ROLE_TITLE, 1, false, { title });
|
||||
|
||||
return resResult(STATUS.SUCCESS, { roleId, title: role.title });
|
||||
}
|
||||
@@ -112,6 +113,7 @@ export class RoleHandler {
|
||||
let {id, count} = msg;
|
||||
let roleId = session.get('roleId');
|
||||
let sid: string = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
let role = await RoleModel.findByRoleId(roleId);
|
||||
let teraphs = role.teraphs;
|
||||
@@ -144,7 +146,7 @@ export class RoleHandler {
|
||||
role = await calAllHeroCe(HERO_SYSTEM_TYPE.TERAPH, sid, roleId, { teraphs }, [id]);
|
||||
|
||||
// 任务
|
||||
await checkTask(roleId, sid, TASK_TYPE.ROLE_TERAPH_STRENGTHEN, count, true, {});
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.ROLE_TERAPH_STRENGTHEN, count, true, {});
|
||||
|
||||
return resResult(STATUS.SUCCESS, { roleId, teraphs: role.teraphs });
|
||||
}
|
||||
@@ -231,6 +233,7 @@ export class RoleHandler {
|
||||
async changeSchoolHero(msg: { schoolId: number, positionId: number, hid: number }, session: BackendSession) {
|
||||
let roleId = session.get('roleId');
|
||||
let sid = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
let { schoolId, positionId, hid } = msg;
|
||||
if (!gameData.school.has(schoolId)) {
|
||||
@@ -268,7 +271,7 @@ export class RoleHandler {
|
||||
await calAllHeroCe(HERO_SYSTEM_TYPE.SCHOOL, sid, roleId, {}, [schoolId, hid, preHid]);
|
||||
|
||||
// 任务
|
||||
await checkTaskWithArgs(roleId, sid, TASK_TYPE.ROLE_SCHOOL_UNLOCK, [ hid, preHid ]);
|
||||
await checkTaskWithArgs(roleId, sid, funcs, TASK_TYPE.ROLE_SCHOOL_UNLOCK, [ hid, preHid ]);
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
schoolId, positionId, hid, preHid, isOpen
|
||||
@@ -280,6 +283,7 @@ export class RoleHandler {
|
||||
async unlockSchoolPosition(msg: { schoolId: number, positionId: number }, session: BackendSession) {
|
||||
let roleId = session.get('roleId');
|
||||
let sid = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
let { schoolId, positionId } = msg;
|
||||
if (!gameData.school.has(schoolId)) {
|
||||
@@ -305,7 +309,7 @@ export class RoleHandler {
|
||||
curSchool = await SchoolModel.updateBySclAndPos(roleId, schoolId, positionId, { isOpen: true })
|
||||
|
||||
// 任务
|
||||
await checkTask(roleId, sid, TASK_TYPE.ROLE_SCHOOL_UNLOCK, 1, true, {});
|
||||
await checkTask(roleId, sid, funcs, TASK_TYPE.ROLE_SCHOOL_UNLOCK, 1, true, {});
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
schoolId, positionId, hid: curSchool.hid, isOpen: curSchool.isOpen
|
||||
@@ -316,6 +320,7 @@ export class RoleHandler {
|
||||
async activeHeroScroll(msg: { hid: number }, session: BackendSession) {
|
||||
let roleId = session.get('roleId');
|
||||
let sid = session.get('sid');
|
||||
let funcs: number[] = session.get('funcs');
|
||||
|
||||
let { hid } = msg;
|
||||
|
||||
@@ -363,8 +368,8 @@ export class RoleHandler {
|
||||
calAllHeroCe(HERO_SYSTEM_TYPE.SCROLL, sid, roleId, {}, [hid]); // 全局增加战力
|
||||
|
||||
// 任务
|
||||
if(favourLv != hero.favourLv) await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_FAVOUR_LV, hero);
|
||||
if(!scrollActive) await checkTask(roleId, sid, TASK_TYPE.ROLE_SCROLL_ACTIVE, 1, true, {});
|
||||
if(favourLv != hero.favourLv) await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_FAVOUR_LV, hero);
|
||||
if(!scrollActive) await checkTask(roleId, sid, funcs, TASK_TYPE.ROLE_SCROLL_ACTIVE, 1, true, {});
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
curHero: {
|
||||
|
||||
Reference in New Issue
Block a user