战力:修复更新为0bug
This commit is contained in:
@@ -12,7 +12,7 @@ import { RoleModel, RoleType } from '../db/Role';
|
|||||||
import { Figure } from '../domain/dbGeneral';
|
import { Figure } from '../domain/dbGeneral';
|
||||||
import { getTimeFun, nowSeconds } from './timeUtil';
|
import { getTimeFun, nowSeconds } from './timeUtil';
|
||||||
import { calPlayerCeAndSave, reCalAllHeroCe } from './playerCe';
|
import { calPlayerCeAndSave, reCalAllHeroCe } from './playerCe';
|
||||||
import { checkTaskWithEquip } from './taskUtil';
|
import { accomplishTask, checkTask, checkTaskWithEquip, checkTaskWithHeroes } from './taskUtil';
|
||||||
// import { checkTask, checkTaskWithHeroes, checkTaskWithEquip, accomplishTask } from './taskUtil';
|
// import { checkTask, checkTaskWithHeroes, checkTaskWithEquip, accomplishTask } from './taskUtil';
|
||||||
import { CreateHeroParam } from '../domain/roleField/hero';
|
import { CreateHeroParam } from '../domain/roleField/hero';
|
||||||
import { SkinModel } from '../db/Skin';
|
import { SkinModel } from '../db/Skin';
|
||||||
@@ -314,15 +314,15 @@ function unlockSingleFigure(dbFigures: Figure[], id: number, unlockDirect = fals
|
|||||||
return figure
|
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 allSkins = await SkinModel.findbyRoleAndHid(roleId, hid);
|
||||||
|
let skin = await increaseSkin(roleId, roleName, initialSkin);
|
||||||
|
if(skin) allSkins.push(skin);
|
||||||
let skins = [];
|
let skins = [];
|
||||||
for(let skin of allSkins) {
|
for(let skin of allSkins) {
|
||||||
let index = skins.findIndex(cur => cur.id == skin.id);
|
skins.push({ id: skin.id, skin: skin._id, enable: skin.id == initialSkin });
|
||||||
if(index == -1) {
|
|
||||||
skins.push({ id: skin.id, skin: skin._id, enable: skin.id == initialSkin });
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return skins
|
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 };
|
let info = { roleId, roleName, serverId, quality, star, job, hName };
|
||||||
|
|
||||||
await increaseSkin(roleId, roleName, initialSkin);
|
let skins = await getSkinsOfThisHero(roleId, roleName, heroInfo.hid, initialSkin);
|
||||||
let skins = await getSkinsOfThisHero(roleId, 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, {});
|
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() });
|
let role = await RoleModel.incRoleInfo(roleId, { heroNum }, { heroNumUpdatedAt: nowSeconds() });
|
||||||
// 任务
|
// 任务
|
||||||
console.log('****** checkTask before', Date.now())
|
console.log('****** checkTask before', Date.now())
|
||||||
// let m1 = await checkTask(roleId, TASK_TYPE.HERO_NUM, heroNum, true, {}, funcs);
|
let m1 = await checkTask(roleId, TASK_TYPE.HERO_NUM, heroNum, true, {}, funcs);
|
||||||
// let m2 = await checkTaskWithHeroes(roleId, TASK_TYPE.HERO_QUALITY, heroes, 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 m3 = await checkTaskWithHeroes(roleId, TASK_TYPE.HERO_QUALITY_STAR_UP, heroes, funcs);
|
||||||
// let m4 = await checkTaskWithHeroes(roleId, TASK_TYPE.HERO_LV, heroes, funcs);
|
let m4 = await checkTaskWithHeroes(roleId, TASK_TYPE.HERO_LV, heroes, funcs);
|
||||||
// let taskPushMessage = m1.concat(m2, m3, m4);
|
let taskPushMessage = m1.concat(m2, m3, m4);
|
||||||
console.log('****** checkTask after', Date.now())
|
console.log('****** checkTask after', Date.now())
|
||||||
//成长任务
|
//成长任务
|
||||||
console.log('****** accomplishTask before', Date.now())
|
console.log('****** accomplishTask before', Date.now())
|
||||||
// let mm1 = await accomplishTask(serverId, roleId, TASK_TYPE.HERO_NUM, heroNum)
|
let mm1 = await accomplishTask(serverId, roleId, TASK_TYPE.HERO_NUM, heroNum)
|
||||||
// let mm2 = await accomplishTask(serverId, roleId, TASK_TYPE.HERO_QUALITY, heroNum, { heroes })
|
let mm2 = await accomplishTask(serverId, roleId, TASK_TYPE.HERO_QUALITY, heroNum, { heroes })
|
||||||
console.log('****** accomplishTask after', Date.now())
|
console.log('****** accomplishTask after', Date.now())
|
||||||
// let activityTaskPushMessage = mm1.concat(mm2);
|
let activityTaskPushMessage = mm1.concat(mm2);
|
||||||
console.log(funcs);
|
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[] }[]) {
|
export function combineFigureInfo(figureInfos: { heads: Figure[], frames: Figure[], spines: Figure[] }[]) {
|
||||||
|
|||||||
@@ -85,11 +85,12 @@ export async function reCalAllHeroCe(type: number, roleId: string, update: RoleU
|
|||||||
}
|
}
|
||||||
let { topLineup, topLineupCe } = await calculatetopLineup(role); // 计算更新最强五人战力
|
let { topLineup, topLineupCe } = await calculatetopLineup(role); // 计算更新最强五人战力
|
||||||
|
|
||||||
update.attr = roleAttrs;
|
if(allIncCe != 0) {
|
||||||
update.ce = roleCe;
|
update.attr = roleAttrs;
|
||||||
update.topLineup = topLineup;
|
update.ce = roleCe;
|
||||||
update.topLineupCe = topLineupCe;
|
update.topLineup = topLineup;
|
||||||
|
update.topLineupCe = topLineupCe;
|
||||||
|
}
|
||||||
role = await RoleModel.updateRoleInfo(roleId, update);
|
role = await RoleModel.updateRoleInfo(roleId, update);
|
||||||
|
|
||||||
let guild = await GuildModel.updateCe(roleId, allIncCe); // 公会更新战力
|
let guild = await GuildModel.updateCe(roleId, allIncCe); // 公会更新战力
|
||||||
|
|||||||
Reference in New Issue
Block a user