任务:任务去除funcs的判断,直接达成

This commit is contained in:
luying
2021-09-10 16:53:35 +08:00
parent 28f9c65873
commit faf4d25f60
76 changed files with 471 additions and 610 deletions
@@ -102,7 +102,7 @@ export class EquipHandler {
// let roleName: string = session.get('roleName');
const serverId = session.get('serverId');
let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
let { hid, ePlaceId, type } = msg;
let hero = await HeroModel.findByHidAndRoleWithEquip(hid, roleId);
@@ -174,9 +174,9 @@ export class EquipHandler {
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP_BASE, sid, roleId, hero, { ePlace });
// 任务
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.EQUIP_STRENGTHEN, hero, oldLvs);
await checkTaskWithHero(roleId, sid, TASK_TYPE.EQUIP_STRENGTHEN, hero, oldLvs);
//成长任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_STRENGTHEN, 1, changeData)
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_STRENGTHEN, 1, changeData)
const curHero = {
hid,
@@ -191,7 +191,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');
const serverId = session.get('serverId');
let changeData = [];//变化的等级数据
@@ -256,9 +256,9 @@ export class EquipHandler {
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP_BASE, sid, roleId, hero, { ePlace });
// 任务
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.EQUIP_STRENGTHEN, hero, oldLvs);
await checkTaskWithHero(roleId, sid, TASK_TYPE.EQUIP_STRENGTHEN, hero, oldLvs);
//成长任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_STRENGTHEN, 1, changeData)
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_STRENGTHEN, 1, changeData)
const curHero = {
hid,
@@ -273,7 +273,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, type } = msg;
@@ -322,8 +322,8 @@ export class EquipHandler {
let curEquip = <EquipType>equip;
pushEquipRefineSucMsg(roleId, roleName, serverId, curEplace, curEquip ? curEquip.quality : 0);
await checkTask(roleId, sid, funcs, TASK_TYPE.EQUIP_REFINE, times, true, {});
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_REFINE_LV, times, { lv: curEplace.refineLv });
await checkTask(roleId, sid, TASK_TYPE.EQUIP_REFINE, times, true, {});
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_REFINE_LV, times, { lv: curEplace.refineLv });
return resResult(STATUS.SUCCESS, { curHero });
}
@@ -425,7 +425,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);
@@ -452,7 +452,7 @@ export class EquipHandler {
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.RESTRENGTHEN, sid, roleId, hero, {}, [ePlaceId, ...removeSeidList]);
}
await checkTask(roleId, sid, funcs, TASK_TYPE.EQUIP_RESTRENGTHEN, 1, true, {});
await checkTask(roleId, sid, TASK_TYPE.EQUIP_RESTRENGTHEN, 1, true, {});
return resResult(STATUS.SUCCESS, { curEquip: pick(equipResult, ['seqId', 'id', 'randSe', 'previewRandSe']) });
@@ -485,7 +485,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, type } = msg;
let equip = await EquipModel.findbySeqId(eid);
@@ -613,7 +613,7 @@ export class EquipHandler {
let roleId: string = session.get('roleId');
let serverId: number = session.get('serverId');
let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
// 原武将:heroA,原武将穿戴着的装备a,将要穿戴的装备b,装备b被装备着的武将B
let heroA = await HeroModel.findByHidAndRoleWithEquip(hid, roleId);
@@ -679,38 +679,38 @@ export class EquipHandler {
if(heroA) {
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP, sid, roleId, heroA, {}, argsA);
if(heroAPutNum != 0) {
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.EQUIP_BY_HERO, heroA, [heroAPutNum]);
await checkTaskWithHero(roleId, sid, TASK_TYPE.EQUIP_BY_HERO, heroA, [heroAPutNum]);
}
}
if(heroB) {
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP, sid, roleId, heroB, {}, argsB);
if(heroBPutTNum != 0) await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.EQUIP_BY_HERO, heroA, [heroBPutTNum]);
if(heroBPutTNum != 0) await checkTaskWithHero(roleId, sid, TASK_TYPE.EQUIP_BY_HERO, heroA, [heroBPutTNum]);
}
if(heroAPutNum + heroBPutTNum != 0) {
await checkTask(roleId, sid, funcs, TASK_TYPE.EQUIP_SUM, heroAPutNum + heroBPutTNum, true, {});
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_SUM, heroAPutNum + heroBPutTNum)
await checkTask(roleId, sid, TASK_TYPE.EQUIP_SUM, heroAPutNum + heroBPutTNum, true, {});
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_SUM, heroAPutNum + heroBPutTNum)
}
let curEquips: Array<{ seqId: number, hid: number }> = [];
if(equipA) {
curEquips.push(pick(equipA, ['seqId', 'hid']));
if(equipA.hid == 0) {
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_QUALITY, equipA, [-1]); // equipA必然是脱,如果hid不为0说明从一个人穿到另一个人,不算任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_QUALITY, 1, { quality: equipA.quality });
await checkTaskWithEquip(roleId, sid, TASK_TYPE.EQUIP_QUALITY, equipA, [-1]); // equipA必然是脱,如果hid不为0说明从一个人穿到另一个人,不算任务
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_QUALITY, 1, { quality: equipA.quality });
}
}
if(equipB) {
curEquips.push(pick(equipB, ['seqId', 'hid']));
if(equipB.hid != 0) {
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_QUALITY, equipB, [1]); // equipB必然是穿,如果hid为0说明没有变化,不算任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_QUALITY, 1, { quality: equipB.quality });
await checkTaskWithEquip(roleId, sid, TASK_TYPE.EQUIP_QUALITY, equipB, [1]); // equipB必然是穿,如果hid为0说明没有变化,不算任务
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_QUALITY, 1, { quality: equipB.quality });
}
}
if(type == 1) {
let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(heroA)//英雄满装备且都镶嵌相同阶数的宝石
if (isTask) {
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
}
}
@@ -723,7 +723,7 @@ export class EquipHandler {
let roleId: string = session.get('roleId');
const serverId = session.get('serverId');
let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
let hero = await HeroModel.findByHidAndRoleWithEquip(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let args = calEquipSeids(hero);
@@ -773,7 +773,7 @@ export class EquipHandler {
//英雄满装备且都镶嵌相同阶数的宝石
let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(hero)
if (isTask) {
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
}
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP, sid, roleId, hero, {}, args);
@@ -815,7 +815,7 @@ export class EquipHandler {
let roleId: string = session.get('roleId');
const serverId = session.get('serverId');
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);
@@ -850,17 +850,17 @@ export class EquipHandler {
//英雄满装备且都镶嵌相同阶数的宝石
let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(hero)
if (isTask) {
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
}
}
// 任务
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]);
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 checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_JEWEL_SUM, 1)
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_JEWEL_STAGE, 1)
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_JEWEL_SUM, 1)
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_JEWEL_STAGE, 1)
return resResult(STATUS.SUCCESS, { curEquip: { seqId: eid, holes: equip.holes } });
}
@@ -898,7 +898,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);
@@ -919,9 +919,9 @@ export class EquipHandler {
}
// 任务
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]);
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]);
return resResult(STATUS.SUCCESS, { curEquip: { seqId: eid, holes: equip.holes } });
}
@@ -984,7 +984,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;
@@ -1030,16 +1030,16 @@ export class EquipHandler {
//英雄满装备且都镶嵌相同阶数的宝石
let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(hero)
if (isTask) {
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
}
}
// 任务
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]);
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 checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_JEWEL_SUM, count)
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_JEWEL_SUM, count)
return resResult(STATUS.SUCCESS, { curEquip: { seqId: eid, holes: equip.holes } });
} else {
@@ -1061,7 +1061,7 @@ export class EquipHandler {
const roleName = session.get('roleName');
const sid = session.get('sid');
const serverId = session.get('serverId');
const funcs: number[] = session.get('funcs');
const { target, original } = msg;
@@ -1103,7 +1103,7 @@ export class EquipHandler {
const { name } = gameData.goods.get(target);
pushNormalItemMsg(roleId, roleName, serverId, MSG_SOURCE.ORANGE_BLUEPRT_COMPOSE, target, name);
}
await checkTask(roleId, sid, funcs, TASK_TYPE.COM_BATTLE_BLUEPRT, 1, true, { quality: dicCompose.targetQuality });
await checkTask(roleId, sid, TASK_TYPE.COM_BATTLE_BLUEPRT, 1, true, { quality: dicCompose.targetQuality });
return resResult(STATUS.SUCCESS, { goods, costGold: 0 });
}
@@ -179,7 +179,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');
const serverId = session.get('serverId');
let { applyCodeList, isPass } = msg;
@@ -248,7 +248,7 @@ export class FriendHandler {
role = await RoleModel.increaseFriendApplyCnt(roleId, -1 * resultApplyCodeList.length, 50);
roles.push(role);
// 任务
await checkTaskWithRoles(serverId, roleId, sid, funcs, TASK_TYPE.FRIEND_NUM, roles);
await checkTaskWithRoles(serverId, roleId, sid, TASK_TYPE.FRIEND_NUM, roles);
// 特殊处理:如果他点一键同意,有很多人,这个单独的人就不做这个额外的提示,直接把他好友申请删掉就好
if (str == getResStr(STATUS.FRIEND_HAS_ADD) && resultApplyCodeList.length > 1) str = '';
@@ -310,7 +310,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');
const serverId = session.get('serverId');
let { roleId: hisRoleId, type } = msg;
@@ -414,7 +414,7 @@ export class FriendHandler {
let { friendCnt = 0, blockCnt = 0 } = role;
// 任务
await checkTaskWithRoles(serverId, roleId, sid, funcs, TASK_TYPE.FRIEND_NUM, [role, friend]);
await checkTaskWithRoles(serverId, roleId, sid, TASK_TYPE.FRIEND_NUM, [role, friend]);
return resResult(STATUS.SUCCESS, {
frdRoleIds, blackRoleIds,
@@ -431,7 +431,7 @@ export class FriendHandler {
let roleName: string = session.get('roleName');
let sid: string = session.get('sid');
let serverId: number = session.get('serverId');
const funcs: number[] = session.get('funcs');
let { roleId: hisRoleId } = msg;
@@ -486,10 +486,10 @@ export class FriendHandler {
// 更新情谊值
frdPointRec = await FriendPointModel.updateSendCntToday(roleId, roleName, todaySendInc, max, FRIEND_DROP_TYPE.SEND_GIFT);
// 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.FRIEND_SEND_HEART, todaySendInc, true, {});
await checkTask(roleId, sid, TASK_TYPE.FRIEND_SEND_HEART, todaySendInc, true, {});
// 活动任务
if (todaySendInc > 0) {
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.FRIEND_SEND_HEART, todaySendInc);
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.FRIEND_SEND_HEART, todaySendInc);
}
return resResult(STATUS.SUCCESS, {
@@ -104,7 +104,7 @@ export class HeroHandler {
let roleName: string = session.get('roleName');
let sid: string = session.get('sid');
let serverId: number = session.get('serverId');
let funcs: number[] = session.get('funcs');
let { hid } = msg;
@@ -119,7 +119,7 @@ export class HeroHandler {
let costResult = await handleCost(roleId, sid, [{ id: pieceId, count: pieceCount }]);
if (!costResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
// createHero
let { heroes } = await createHero(roleId, roleName, sid, serverId, funcs, { hid, count: 1 });
let { heroes } = await createHero(roleId, roleName, sid, serverId, { hid, count: 1 });
pushComposeOrangeHero(roleId, roleName, serverId, heroes[0]);
return resResult(STATUS.SUCCESS, { curHero: heroes[0] });
@@ -129,7 +129,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');
const serverId = session.get('serverId');
let { hid, type } = msg;
@@ -188,8 +188,8 @@ export class HeroHandler {
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.LVUP, sid, roleId, hero, update);
// 任务
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_LV, hero, [oldLv]);
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_LV, 1, { hid, lv: update.lv });
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_LV, hero, [oldLv]);
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_LV, 1, { hid, lv: update.lv });
const curHero = {
hid, lv: hero.lv, exp: hero.exp
@@ -203,7 +203,7 @@ export class HeroHandler {
let roleId: string = session.get('roleId');
const serverId = session.get('serverId');
let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
let { hid, star, starStage, isOneClick } = msg;
// 根据dic_hero 获得 1. 碎片id 2. 碎片数量 3. 初始武将星级 4. 初始品质
@@ -253,10 +253,10 @@ export class HeroHandler {
if (isUpStar) {
await calAllHeroCe(HERO_SYSTEM_TYPE.STAR, sid, roleId, {}, [hid, isUpStar ? 1 : 0]); // 升星可能影响到百家学院全局加成
// 任务
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAR_UP, hero);
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_QUALITY_STAR_UP, hero);
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_STAR_UP, hero);
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_QUALITY_STAR_UP, hero);
//成长任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_QUALITY_STAR_UP, 1, { quality: dicHero.quality, star: hero.star });
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_QUALITY_STAR_UP, 1, { quality: dicHero.quality, star: hero.star });
}
@@ -276,7 +276,7 @@ export class HeroHandler {
let roleName: string = session.get('roleName');
let sid: string = session.get('sid');
let serverId: number = session.get('serverId');
let funcs: number[] = session.get('funcs');
let { hid, quality } = msg;
let dicHero = gameData.hero.get(hid);
@@ -311,9 +311,9 @@ export class HeroHandler {
await calAllHeroCe(HERO_SYSTEM_TYPE.QUALITY, sid, roleId, {}, [hid, 0]); // 升品可能影响到百家学院全局加成
// 任务
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_QUALITY_UP, hero);
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_QUALITY_UP, hero);
// 任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_QUALITY_TO_QUALITY_COUNT, 1, { oldQuality: dicHero.quality, quality: hero.quality });
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_QUALITY_TO_QUALITY_COUNT, 1, { oldQuality: dicHero.quality, quality: hero.quality });
const curHero = {
hid,
@@ -330,7 +330,7 @@ export class HeroHandler {
let sid: string = session.get('sid');
let roleName: string = session.get('roleName');
const serverId = session.get('serverId');
let funcs: number[] = session.get('funcs');
let { hid, colorStar, colorStarStage, isOneClick } = msg;
// 根据dic_hero 获得 1. 碎片id 2. 碎片数量 3. 初始武将星级 4. 初始品质
@@ -386,11 +386,11 @@ export class HeroHandler {
await calAllHeroCe(HERO_SYSTEM_TYPE.COLORSTAR, sid, roleId, {}, [hid, isUpStar ? 1 : 0]); // 升星可能影响到百家学院全局加成
;
// 任务
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAR_UP, hero);
await checkTask(roleId, sid, funcs, TASK_TYPE.HERO_WAKE_UP, 1, true, {});
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_QUALITY_WAKE_UP_COUNT, 1, { quality: hero.quality });
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_WAKE_UP_COUNT, 1, { hid: hid });
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_WAKE_UP_STAR_UP_COUNT, 1, { quality: dicHero.quality, colorStar: update.colorStar });
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_STAR_UP, hero);
await checkTask(roleId, sid, TASK_TYPE.HERO_WAKE_UP, 1, true, {});
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_QUALITY_WAKE_UP_COUNT, 1, { quality: hero.quality });
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_WAKE_UP_COUNT, 1, { hid: hid });
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_WAKE_UP_STAR_UP_COUNT, 1, { quality: dicHero.quality, colorStar: update.colorStar });
}
const curHero = {
hid,
@@ -409,7 +409,7 @@ export class HeroHandler {
async heroJobTrain(msg: { hid: number, isOneClick: boolean }, session: BackendSession) {
let roleId: string = session.get('roleId');
let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
const serverId = session.get('serverId');
let { hid, isOneClick } = msg;
let hero = await HeroModel.findByHidAndRole(hid, roleId);
@@ -445,11 +445,11 @@ export class HeroHandler {
jobStage: newJobStage
});
// 任务
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_TRAIN, hero);
await checkTask(roleId, sid, funcs, TASK_TYPE.HERO_TRAIN_SUM, 1, true, {});
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_TRAIN, hero);
await checkTask(roleId, sid, TASK_TYPE.HERO_TRAIN_SUM, 1, true, {});
//活动统计
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_TRAIN_SUM, 1)
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_TRAIN, 1, { hid })
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_TRAIN_SUM, 1)
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_TRAIN, 1, { hid })
return resResult(STATUS.SUCCESS, { curHero: { hid: hero.hid, job: hero.job, jobStage: hero.jobStage } });
}
@@ -459,7 +459,7 @@ export class HeroHandler {
let roleId: string = session.get('roleId');
const serverId = session.get('serverId');
let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
let { hid } = msg;
let hero = await HeroModel.findByHidAndRole(hid, roleId);
if (!hero)
@@ -484,8 +484,8 @@ export class HeroHandler {
}
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.STAGEUP, sid, roleId, hero, update);
// 任务
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAGE_UP, hero);
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_STAGE_UP, 1, { job: hero.job });
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_STAGE_UP, hero);
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_STAGE_UP, 1, { job: hero.job });
return resResult(STATUS.SUCCESS, { curHero: { hid: hero.hid, job: hero.job, jobStage: hero.jobStage } });
}
@@ -494,7 +494,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);
@@ -536,7 +536,7 @@ export class HeroHandler {
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.CONNECT, sid, roleId, hero, { connections: heroConnections }, [shipId]);
// 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.HERO_CONNECT, 1, true, { connectLv: level })
await checkTask(roleId, sid, TASK_TYPE.HERO_CONNECT, 1, true, { connectLv: level })
return resResult(STATUS.SUCCESS, { curHero: { hid: hero.hid, connections: hero.connections } });
}
@@ -544,7 +544,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;
@@ -610,7 +610,7 @@ export class HeroHandler {
}, [oldLv]);
// 任务
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_FAVOUR_LV, hero);
await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_FAVOUR_LV, hero);
} else {
hero = await HeroModel.updateHeroInfo(roleId, hero.hid, { favour: newExp, favourLv: newLv });
}
@@ -658,7 +658,7 @@ export class HeroHandler {
let roleName: string = session.get('roleName');
let sid: string = session.get('sid');
let serverId: number = session.get('serverId');
let funcs: number[] = session.get('funcs');
const { magicWord } = msg;
if (magicWord !== DEBUG_MAGIC_WORD) {
@@ -681,7 +681,7 @@ export class HeroHandler {
}
}
}
let resultHeroes = await createHeroes(roleId, roleName, sid, serverId, funcs, heroInfos);
let resultHeroes = await createHeroes(roleId, roleName, sid, serverId, heroInfos);
return resResult(STATUS.SUCCESS, resultHeroes);
}
@@ -32,7 +32,7 @@ export class ItemHandler {
const serverId = session.get('serverId');
const sid = session.get('sid');
const roleName = session.get('roleName');
const funcs = session.get('funcs');
if (count > 0) {
let consumeResult = await handleCost(roleId, sid, [{ id: id, count: count }]);
@@ -51,7 +51,7 @@ export class ItemHandler {
if (!giftID) {
return resResult(STATUS.NOT_GIFTPACKAGE);
}
let result = await useGiftPackage(roleId, roleName, sid, serverId, funcs, giftID, selected, count)
let result = await useGiftPackage(roleId, roleName, sid, serverId, giftID, selected, count)
return resResult(STATUS.SUCCESS, result);
}
@@ -65,7 +65,7 @@ export class ItemHandler {
let { id, count } = msg;
const roleId = session.get('roleId');
const sid = session.get('sid');
const funcs = session.get('funcs');
if (count > 0) {
let dicGoods = gameData.goods.get(id);
@@ -85,7 +85,7 @@ export class ItemHandler {
let consumeResult = await handleCost(roleId, sid, [{ id: id, count: count }]);
if (!consumeResult) return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH);
let apJson = await setAp(roleId, role.lv, dicGoods.value * count, sid, funcs);
let apJson = await setAp(roleId, role.lv, dicGoods.value * count, sid);
return resResult(STATUS.SUCCESS, {
apJson
@@ -173,10 +173,10 @@ export class ItemHandler {
const roleId = session.get('roleId');
const sid = session.get('sid');
const funcs = session.get('funcs');
let role = await RoleModel.findByRoleId(roleId, 'lv');
let apJson = await setAp(roleId, role.lv, msg.ap, sid, funcs);
let apJson = await setAp(roleId, role.lv, msg.ap, sid);
if (!apJson) return resResult(STATUS.BATTLE_ACTION_POINT_LACK)
return resResult(STATUS.SUCCESS, { apJson });
}
@@ -37,7 +37,7 @@ export class RoleHandler {
let roleId = session.get('roleId');
let serverId = session.get('serverId');
let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
let { roleName } = msg;
let role = await RoleModel.findByRoleId(roleId, 'roleName hasInit', true);
@@ -50,7 +50,7 @@ export class RoleHandler {
let initInfos: { role: RoleUpdate, initInfos: {heroInfo: HeroUpdate, skinInfo: SkinUpdate}[], figureInfo: { heads: Figure[], frames: Figure[], spines: Figure[] }}
= await this.app.rpc.role.roleRemote.getInitRoleInfos.toServer(this.app.getServerId());
role = await RoleModel.updateRoleInfo(roleId, {...initInfos.role, roleName, hasInit: true});
let createHero = new CreateHeroes(roleId, roleName, serverId, funcs);
let createHero = new CreateHeroes(roleId, roleName, serverId);
let infos = new Map();
for(let {heroInfo, skinInfo} of initInfos.initInfos) {
@@ -91,7 +91,7 @@ export class RoleHandler {
let roleId = session.get('roleId');
let sid: string = session.get('sid');
const serverId = session.get('serverId');
let funcs: number[] = session.get('funcs');
let role = await RoleModel.findByRoleId(roleId);
@@ -110,9 +110,9 @@ export class RoleHandler {
let calResult = await calAllHeroCe(HERO_SYSTEM_TYPE.TITLE, sid, roleId, update);
// 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.ROLE_TITLE, 1, false, { title });
await checkTask(roleId, sid, TASK_TYPE.ROLE_TITLE, 1, false, { title });
//成长任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.ROLE_TITLE, update.title)
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.ROLE_TITLE, update.title)
return resResult(STATUS.SUCCESS, { roleId: calResult.role, title: role.title });
}
@@ -122,7 +122,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, 'roleId teraphs gold coin');
let teraphs = role.teraphs;
@@ -145,7 +145,7 @@ export class RoleHandler {
let calResult = await calAllHeroCe(HERO_SYSTEM_TYPE.TERAPH, sid, roleId, { teraphs }, [id]);
// 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.ROLE_TERAPH_STRENGTHEN, count, true, {});
await checkTask(roleId, sid, TASK_TYPE.ROLE_TERAPH_STRENGTHEN, count, true, {});
return resResult(STATUS.SUCCESS, { roleId, teraphs: calResult.role.teraphs, criAttr });
}
@@ -156,7 +156,7 @@ export class RoleHandler {
let roleId = session.get('roleId');
let sid: string = session.get('sid');
const serverId = session.get('serverId');
let funcs: number[] = session.get('funcs');
let role = await RoleModel.findByRoleId(roleId);
let teraphs = role.teraphs;
@@ -189,7 +189,7 @@ export class RoleHandler {
let calResult = await calAllHeroCe(HERO_SYSTEM_TYPE.TERAPH_UP, sid, roleId, { teraphs }, [id]);
// 神像进阶,进阶一次就触发一次礼包弹框
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.ROLE_TERAPH_STAGE_UP, 1)
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.ROLE_TERAPH_STAGE_UP, 1)
return resResult(STATUS.SUCCESS, { roleId, teraphs: calResult.role.teraphs });
}
@@ -207,7 +207,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');
const serverId = session.get('serverId');
let { schoolId, positionId, hid } = msg;
@@ -246,10 +246,10 @@ export class RoleHandler {
await calAllHeroCe(HERO_SYSTEM_TYPE.SCHOOL, sid, roleId, {}, [schoolId, hid, preHid]);
// 任务
await checkTaskWithArgs(roleId, sid, funcs, TASK_TYPE.ROLE_SCHOOL_UNLOCK, [hid, preHid]);
await checkTaskWithArgs(roleId, sid, TASK_TYPE.ROLE_SCHOOL_UNLOCK, [hid, preHid]);
if (hid > 0) {
//成长任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.ROLE_SCHOOL_PUT_HERO, 1)
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.ROLE_SCHOOL_PUT_HERO, 1)
}
return resResult(STATUS.SUCCESS, {
@@ -262,7 +262,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)) {
@@ -288,7 +288,7 @@ export class RoleHandler {
curSchool = await SchoolModel.updateBySclAndPos(roleId, schoolId, positionId, { isOpen: true })
// 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.ROLE_SCHOOL_UNLOCK, 1, true, {});
await checkTask(roleId, sid, TASK_TYPE.ROLE_SCHOOL_UNLOCK, 1, true, {});
return resResult(STATUS.SUCCESS, {
schoolId, positionId, hid: curSchool.hid, isOpen: curSchool.isOpen
@@ -299,7 +299,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 serverId: number = session.get('serverId');
let { hid } = msg;
@@ -328,7 +328,7 @@ export class RoleHandler {
update.favour += SCROLL.SCROLL_ACTIVE_FAVOUR;
update.favourLv = getFriendLvByExp(update.favour);
}
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_UNLOCK, 1, { dicHeroes: [dicHero] })
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_UNLOCK, 1, { dicHeroes: [dicHero] })
} else {
if (star > scrollStar) { // 可以升星
update.scrollStar++;
@@ -350,8 +350,8 @@ export class RoleHandler {
calAllHeroCe(HERO_SYSTEM_TYPE.SCROLL, sid, roleId, {}, [hid]); // 全局增加战力
// 任务
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, {});
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, {});
return resResult(STATUS.SUCCESS, {
curHero: {
@@ -215,14 +215,14 @@ export class ShopHandler {
async debugCompleteRandTask(msg: { type: number }, session: BackendSession) {
const roleId: string = session.get('roleId');
const sid: string = session.get('sid');
const funcs: number[] = session.get('funcs');
const { type } = msg
let tasks: (DicMainTask | DicDailyTask | DicAchievement)[] = [];
for (let [_id, task] of gameData.tasks.get(type)) {
tasks.push(task);
}
let task = getRandSingleEelm(tasks);
await checkTask(roleId, sid, [1, 2, 3, 4, 5], task.taskType, task.condition, false, { isDebug: true });
await checkTask(roleId, sid, task.taskType, task.condition, false, { isDebug: true });
return resResult(STATUS.SUCCESS, {
task
});