战力:修复更新为0bug

This commit is contained in:
luying
2021-08-27 20:34:01 +08:00
parent a61d908c06
commit df5174366f
2 changed files with 23 additions and 23 deletions

View File

@@ -12,7 +12,7 @@ import { RoleModel, RoleType } from '../db/Role';
import { Figure } from '../domain/dbGeneral';
import { getTimeFun, nowSeconds } from './timeUtil';
import { calPlayerCeAndSave, reCalAllHeroCe } from './playerCe';
import { checkTaskWithEquip } from './taskUtil';
import { accomplishTask, checkTask, checkTaskWithEquip, checkTaskWithHeroes } from './taskUtil';
// import { checkTask, checkTaskWithHeroes, checkTaskWithEquip, accomplishTask } from './taskUtil';
import { CreateHeroParam } from '../domain/roleField/hero';
import { SkinModel } from '../db/Skin';
@@ -314,15 +314,15 @@ function unlockSingleFigure(dbFigures: Figure[], id: number, unlockDirect = fals
return figure
}
async function getSkinsOfThisHero(roleId: string, hid: number, initialSkin: number) {
async function getSkinsOfThisHero(roleId: string, roleName: string, hid: number, initialSkin: number) {
let allSkins = await SkinModel.findbyRoleAndHid(roleId, hid);
let skin = await increaseSkin(roleId, roleName, initialSkin);
if(skin) allSkins.push(skin);
let skins = [];
for(let skin of allSkins) {
let index = skins.findIndex(cur => cur.id == skin.id);
if(index == -1) {
skins.push({ id: skin.id, skin: skin._id, enable: skin.id == initialSkin });
}
skins.push({ id: skin.id, skin: skin._id, enable: skin.id == initialSkin });
}
return skins
}
@@ -352,10 +352,9 @@ export async function createHeroes(roleId: string, roleName: string, serverId: n
let info = { roleId, roleName, serverId, quality, star, job, hName };
await increaseSkin(roleId, roleName, initialSkin);
let skins = await getSkinsOfThisHero(roleId, heroInfo.hid, initialSkin);
let skins = await getSkinsOfThisHero(roleId, roleName, heroInfo.hid, initialSkin);
let curHero = await HeroModel.createHero(Object.assign(info, heroInfo, skins));
let curHero = await HeroModel.createHero(Object.assign(info, heroInfo, { skins }));
// 计算初始战力
let calHeroResult = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.INIT, roleId, curHero, {});
@@ -369,20 +368,20 @@ export async function createHeroes(roleId: string, roleName: string, serverId: n
let role = await RoleModel.incRoleInfo(roleId, { heroNum }, { heroNumUpdatedAt: nowSeconds() });
// 任务
console.log('****** checkTask before', Date.now())
// let m1 = await checkTask(roleId, TASK_TYPE.HERO_NUM, heroNum, true, {}, funcs);
// let m2 = await checkTaskWithHeroes(roleId, TASK_TYPE.HERO_QUALITY, heroes, funcs);
// let m3 = await checkTaskWithHeroes(roleId, TASK_TYPE.HERO_QUALITY_STAR_UP, heroes, funcs);
// let m4 = await checkTaskWithHeroes(roleId, TASK_TYPE.HERO_LV, heroes, funcs);
// let taskPushMessage = m1.concat(m2, m3, m4);
let m1 = await checkTask(roleId, TASK_TYPE.HERO_NUM, heroNum, true, {}, funcs);
let m2 = await checkTaskWithHeroes(roleId, TASK_TYPE.HERO_QUALITY, heroes, funcs);
let m3 = await checkTaskWithHeroes(roleId, TASK_TYPE.HERO_QUALITY_STAR_UP, heroes, funcs);
let m4 = await checkTaskWithHeroes(roleId, TASK_TYPE.HERO_LV, heroes, funcs);
let taskPushMessage = m1.concat(m2, m3, m4);
console.log('****** checkTask after', Date.now())
//成长任务
console.log('****** accomplishTask before', Date.now())
// let mm1 = await accomplishTask(serverId, roleId, TASK_TYPE.HERO_NUM, heroNum)
// let mm2 = await accomplishTask(serverId, roleId, TASK_TYPE.HERO_QUALITY, heroNum, { heroes })
let mm1 = await accomplishTask(serverId, roleId, TASK_TYPE.HERO_NUM, heroNum)
let mm2 = await accomplishTask(serverId, roleId, TASK_TYPE.HERO_QUALITY, heroNum, { heroes })
console.log('****** accomplishTask after', Date.now())
// let activityTaskPushMessage = mm1.concat(mm2);
let activityTaskPushMessage = mm1.concat(mm2);
console.log(funcs);
return { role, figureInfo: combineFigureInfo(figureInfos), heroes, calHeroResults, calAllHeroResult, taskPushMessage:[], activityTaskPushMessage:[] }
return { role, figureInfo: combineFigureInfo(figureInfos), heroes, calHeroResults, calAllHeroResult, taskPushMessage, activityTaskPushMessage }
}
export function combineFigureInfo(figureInfos: { heads: Figure[], frames: Figure[], spines: Figure[] }[]) {

View File

@@ -85,11 +85,12 @@ export async function reCalAllHeroCe(type: number, roleId: string, update: RoleU
}
let { topLineup, topLineupCe } = await calculatetopLineup(role); // 计算更新最强五人战力
update.attr = roleAttrs;
update.ce = roleCe;
update.topLineup = topLineup;
update.topLineupCe = topLineupCe;
if(allIncCe != 0) {
update.attr = roleAttrs;
update.ce = roleCe;
update.topLineup = topLineup;
update.topLineupCe = topLineupCe;
}
role = await RoleModel.updateRoleInfo(roleId, update);
let guild = await GuildModel.updateCe(roleId, allIncCe); // 公会更新战力