/** * 体力系统 */ import { pinus } from 'pinus'; import { STATUS } from '../consts/statusCode'; import { resResult, reduceCe } from '../pubUtils/util'; import { calPlayerCeAndSave as pubCalPlayerCeAndSave, reCalAllHeroCe } from '../pubUtils/playerCe'; import Hero, { HeroType, HeroUpdate } from '../db/Hero'; import { defaultHeroes } from './pvpService'; import { RoleUpdate } from '../db/Role'; //修改并下发战力 export async function calPlayerCeAndSave(type: number, sid: string, roleId: string, originHero: HeroType, update: HeroUpdate, args?: Array) { let {role, pushHeros, topLineupCe, hero} = await pubCalPlayerCeAndSave(type, roleId, originHero, update, args); console.log(JSON.stringify(pushHeros)) //下发战力 let uids = [{ uid: roleId, sid }]; pinus.app.get('channelService').pushMessageByUids('onPlayerCeUpdate', resResult(STATUS.SUCCESS, { ce: reduceCe(role.ce) , heros: pushHeros, topLineupCe: reduceCe(topLineupCe) }), uids); defaultHeroes(role); return hero; } export async function calAllHeroCe(type:number, sid: string, roleId: string, update: RoleUpdate, args?:Array) { let {role, ce, pushHeros, topLineupCe } = await reCalAllHeroCe(type, roleId, update, args); if(pushHeros.length > 0) { let uids = [{ uid: roleId, sid }]; pinus.app.get('channelService').pushMessageByUids('onPlayerCeUpdate', resResult(STATUS.SUCCESS, { ce: reduceCe(ce), heros: pushHeros, topLineupCe: reduceCe(topLineupCe) }), uids); } return role; }