Merge branch 'feature/equip'

This commit is contained in:
luying
2022-03-04 09:47:00 +08:00
9 changed files with 813 additions and 6711 deletions
@@ -52,7 +52,11 @@ export class EquipHandler {
let newEquip = new EPlace(ePlaceId, dicEquip.id);
let newEplace = [...oldEplace, newEquip];
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.COMPOSE_EQUIP, sid, roleId, hero, { ePlace: newEplace }, [ePlaceId]);
let update = {
ePlace: newEplace,
consumes: addConsumeToHero(hero.consumes, dicEquip.composeMaterial),
}
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.COMPOSE_EQUIP, sid, roleId, hero, update, [ePlaceId]);
await checkTaskInComposeEquip(serverId, roleId, sid, oldEplace, newEplace, ePlaceId);
return resResult(STATUS.SUCCESS, {
@@ -415,13 +419,13 @@ export class EquipHandler {
let updateConsumes = hero.consumes;
if(gid > 0) {
addConsumeToHero(updateConsumes, [{ id: gid, count: 1 }]);
updateConsumes = addConsumeToHero(updateConsumes, [{ id: gid, count: 1 }]);
let consumeResult = await handleCost(roleId, sid, [{ id: gid, count: 1 }], ITEM_CHANGE_REASON.EQUIP_FILL_HOLE);
if (!consumeResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
}
if(curStone.stone > 0) { // 返回石头
addConsumeToHero(updateConsumes, [{ id: curStone.stone, count: -1 }]);
updateConsumes = addConsumeToHero(updateConsumes, [{ id: curStone.stone, count: -1 }]);
await addItems(roleId, roleName, sid, [{ id: curStone.stone, count: 1 }], ITEM_CHANGE_REASON.EQUIP_FILL_HOLE);
}
@@ -1,7 +1,7 @@
import { Application, BackendSession, ChannelService, HandlerService, } from 'pinus';
import { handleCost, addItems, unlockFigure, createHeroes, createHero, CheckMeterial } from '../../../services/rewardService';
import { calPlayerCeAndSave, calAllHeroCe } from '../../../services/playerCeService';
import { resResult, deepCopy } from '../../../pubUtils/util';
import { resResult, deepCopy, reduceCe } from '../../../pubUtils/util';
import { STATUS } from '../../../consts/statusCode';
import { HeroModel, Connect, HeroSkin, HeroUpdate, EPlace } from '../../../db/Hero';
import { CURRENCY_BY_TYPE, CURRENCY_TYPE, CONSUME_TYPE, HERO_GROW_MAX, HERO_SYSTEM_TYPE, ABI_STAGE, DEBUG_MAGIC_WORD, HERO_INITIAL_QUALITY, REDIS_KEY, TASK_TYPE, ITEM_CHANGE_REASON } from '../../../consts';
@@ -14,7 +14,7 @@ import { pushComposeOrangeHero, pushHeroQualityUpMsg, pushHeroStarMax, pushHeroW
import { calculatetopLineup } from '../../../pubUtils/playerCe';
import { PvpDefenseModel } from '../../../db/PvpDefense';
import { checkTaskWithHero, checkTask, checkActivityTask } from '../../../services/taskService';
import { pick } from 'underscore';
import { isNumber, pick } from 'underscore';
import { updateEplaces } from '../../../services/equipService';
import { addConsumeToHero } from '../../../services/roleService';
import { getCoinObject, getGoldObject } from '../../../pubUtils/itemUtils';
@@ -649,6 +649,8 @@ export class HeroHandler {
let sid: string = session.get('sid');
let { hid } = msg;
if(!isNumber(hid) && !hid) return resResult(STATUS.WRONG_PARMS);
// 武将初始,但是皮肤这里不初始
let hero = await HeroModel.findByHidAndRole(hid, roleId);
if(!hero) return resResult(STATUS.HERO_NOT_FIND);
@@ -687,11 +689,11 @@ export class HeroHandler {
}
let { heros } = await calAllHeroCe(HERO_SYSTEM_TYPE.REBIRTH, sid, roleId, {}, [hid], { originHero: hero, heroUpdate: initInfo });
let curHeo = heros.find(cur => cur.hid == hid);
let curHero = heros.find(cur => cur.hid == hid);
let goods = await addItems(roleId, roleName, sid, consumes, ITEM_CHANGE_REASON.REBIRTH);
return resResult(STATUS.SUCCESS, { curHeo, curJewels, goods });
return resResult(STATUS.SUCCESS, { curHero: { ...curHero, ce: reduceCe(curHero.ce) }, curJewels, goods });
}
// ! debug接口 一键全武将
+3 -3
View File
@@ -176,7 +176,7 @@ export class SendMailFun {
let originMail = await MailModel.addMail({ roleId, ...mapTemp.getCreateMailParams() });
this.mails.push(originMail);
}
await GMMailModel.sendMail(mapTemp.gmmail._id, mapTemp.sendTime);
if(mapTemp.gmmail) await GMMailModel.sendMail(mapTemp.gmmail._id, mapTemp.sendTime);
}
// 生成多人邮件
@@ -187,7 +187,7 @@ export class SendMailFun {
return { roleId, status: MAIL_STATUS.CREATE }
})
let originMail = await GroupMailModel.addMail({ roleStatus, guildCode, ...mapTemp.getCreateMailParams() });
await GMMailModel.sendMail(mapTemp.gmmail._id, mapTemp.sendTime);
if(mapTemp.gmmail) await GMMailModel.sendMail(mapTemp.gmmail._id, mapTemp.sendTime);
this.groupMails.push(originMail);
}
@@ -199,7 +199,7 @@ export class SendMailFun {
let originMail = await ServerMailModel.addMail({ serverId, ...mapTemp.getCreateMailParams() });
this.serverMails.push(originMail);
}
await GMMailModel.sendMail(mapTemp.gmmail._id, mapTemp.sendTime);
if(mapTemp.gmmail) await GMMailModel.sendMail(mapTemp.gmmail._id, mapTemp.sendTime);
}
public async setMails(mails: MailType[], groupMails: GroupMailType[], serverMails: ServerMailType[]) {