添加特技战力计算

This commit is contained in:
luying
2020-12-21 20:12:05 +08:00
parent cc71c48dd9
commit ba4f58509d
9 changed files with 194 additions and 49 deletions

View File

@@ -135,8 +135,8 @@ export class EquipHandler {
hero.ePlace = ePlace;
await calPlayerCeAndSave(sid, roleId, [hero], HERO_SYSTEM_TYPE.EQUIP);
const curHero = {
await calPlayerCeAndSave(sid, roleId, [hero], HERO_SYSTEM_TYPE.EQUIP_BASE);
const curHero = {
hid,
ePlace: strengthenArr
}
@@ -200,7 +200,7 @@ export class EquipHandler {
let result = await handleCost(roleId, sid, cost);
if (!result) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
await calPlayerCeAndSave(sid, roleId, [hero], HERO_SYSTEM_TYPE.EQUIP);
await calPlayerCeAndSave(sid, roleId, [hero], HERO_SYSTEM_TYPE.EQUIP_BASE);
const curHero = {
hid,
@@ -258,8 +258,8 @@ export class EquipHandler {
let equip = await EquipModel.findbySeqId(eid);
if (!equip) return resResult(STATUS.EQUIP_NOT_FIND);
let { id, randSe } = equip;
if (!randSe || randSe.length <= 0) {
let {id, randSe, hid, ePlaceId } = equip;
if(!randSe || randSe.length <= 0 ) {
return resResult(STATUS.EQUIP_HAVE_NO_RANDSE);
}
@@ -270,8 +270,12 @@ export class EquipHandler {
let pool = randomEffect.map(cur => gameData.randomEffectPool.get(cur));
let chosen = randSe.map(cur => cur.seid); // 上一轮和这一轮随机出来的
let hasReset = false, lockNum = 0;
for (let i = 0; i < randSe.length; i++) {
if (!randSe[i].locked) {
let removeSeidList = new Array<number>(); // 原装备上的seid [seid, rand, ...]
for(let i = 0; i < randSe.length; i++) {
removeSeidList.push(randSe[i].seid, randSe[i].rand);
if(!randSe[i].locked) {
let newPool = pool.filter(cur => !chosen.includes(cur.id));
let random = getRandomByLen(newPool);
if (!random) { break };
@@ -309,7 +313,12 @@ export class EquipHandler {
id: equipResult.id,
randSe: equipResult.randSe
}
return resResult(STATUS.SUCCESS, { curEquip });
// 更新战力
const hero = await HeroModel.findByHidAndRoleWithEquip(hid, roleId);
await calPlayerCeAndSave(sid, roleId, [hero], HERO_SYSTEM_TYPE.RESTRENGTHEN, [ePlaceId, ...removeSeidList]);
return resResult(STATUS.SUCCESS,{curEquip});
}