From 134c65411578b7184646495478493bb8acf4bab4 Mon Sep 17 00:00:00 2001 From: luying Date: Thu, 31 Mar 2022 10:15:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=98=E5=8A=9B=EF=BC=9A=E4=BF=AE=E5=A4=8Dbu?= =?UTF-8?q?g?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/servers/gm/handler/gmRoleHandler.ts | 2 +- game-server/app/servers/role/handler/heroHandler.ts | 2 +- game-server/app/servers/role/handler/roleHandler.ts | 2 +- game-server/app/services/playerCeService.ts | 3 ++- game-server/app/services/role/calCe.ts | 2 +- gm-server/app/service/users.ts | 4 ++-- 6 files changed, 8 insertions(+), 7 deletions(-) diff --git a/game-server/app/servers/gm/handler/gmRoleHandler.ts b/game-server/app/servers/gm/handler/gmRoleHandler.ts index 356d7cb1d..d14460f19 100644 --- a/game-server/app/servers/gm/handler/gmRoleHandler.ts +++ b/game-server/app/servers/gm/handler/gmRoleHandler.ts @@ -94,7 +94,7 @@ export class GmRoleHandler { param.lv = newLv; param['exp'] = exp; } - await calculateCeWithHero(HERO_SYSTEM_TYPE.INIT, roleId, hero.serverId, sid, hid, param); + await calculateCeWithHero(HERO_SYSTEM_TYPE.INIT, roleId, hero.serverId, sid, hid, {...hero, ...param}); // if(param.job > 0) { // await calculateCe(HERO_SYSTEM_TYPE.STAGEUP, roleId, hero.serverId, sid, param, {}, { hid }); diff --git a/game-server/app/servers/role/handler/heroHandler.ts b/game-server/app/servers/role/handler/heroHandler.ts index bf30c7b68..6e1a4dace 100644 --- a/game-server/app/servers/role/handler/heroHandler.ts +++ b/game-server/app/servers/role/handler/heroHandler.ts @@ -580,7 +580,7 @@ export class HeroHandler { job: dicNewJob.jobid, ePlace: newEplace } - let { curHero } = await calculateCeWithHero(HERO_SYSTEM_TYPE.SKIN, roleId, serverId, sid, hero.hid, update); + let { curHero } = await calculateCeWithHero(HERO_SYSTEM_TYPE.SKIN, roleId, serverId, sid, hero.hid, update, { hero }); let resultHero = new HeroParam(curHero); return resResult(STATUS.SUCCESS, { curHero: {...pick(resultHero, ['hid', 'skins', 'skinId', 'job', 'talent', 'usedTalentPoint']), ePlace: newEplace }}); } diff --git a/game-server/app/servers/role/handler/roleHandler.ts b/game-server/app/servers/role/handler/roleHandler.ts index 47be820f8..9516311e1 100644 --- a/game-server/app/servers/role/handler/roleHandler.ts +++ b/game-server/app/servers/role/handler/roleHandler.ts @@ -44,7 +44,7 @@ export class RoleHandler { let { roleName } = msg; - let role = await RoleModel.findByRoleId(roleId, 'roleName hasInit title teraphs', true); + let role = await RoleModel.findByRoleId(roleId, 'roleName hasInit title teraphs lv', true); if (role.hasInit) return resResult(STATUS.ROLE_HAS_INIT); let checkName = await RoleModel.checkName(roleName, serverId); diff --git a/game-server/app/services/playerCeService.ts b/game-server/app/services/playerCeService.ts index 9061eaf49..40f02a797 100644 --- a/game-server/app/services/playerCeService.ts +++ b/game-server/app/services/playerCeService.ts @@ -59,11 +59,12 @@ export async function calculateCes(type: HERO_SYSTEM_TYPE, roleId: string, serve switch (type) { case HERO_SYSTEM_TYPE.INIT: { - for(let [hid, { skinId, lv, quality, star, starStage, colorStar, colorStarStage, job, jobStage, }] of heroUpdates) { + for(let [hid, { skinId, lv, quality, star, starStage, colorStar, colorStarStage, job, jobStage, skins }] of heroUpdates) { calCe.setHeroBase(hid, skinId); calCe.setHeroLv(hid, lv); calCe.setHeroStar(hid, job, quality, star, starStage, colorStar, colorStarStage); calCe.setJob(hid, job, jobStage); + calCe.setTalent(hid, skins) } console.log('####### roleUpdate', param.isInitRole, roleUpdate) if(param.isInitRole) { diff --git a/game-server/app/services/role/calCe.ts b/game-server/app/services/role/calCe.ts index e21d1501e..9c1334e25 100644 --- a/game-server/app/services/role/calCe.ts +++ b/game-server/app/services/role/calCe.ts @@ -214,7 +214,7 @@ export class CalCe { // 第一次获得皮肤 public setAddSkin(skinId: number) { let addSkin = gameData.fashion.get(skinId); - for (let { id, number: val } of addSkin.globalAttr) { + for (let { id, number: val } of addSkin.actorAttr) { let globalAttr = this.data.getGlobalAttrById(id); globalAttr.skin += val; } diff --git a/gm-server/app/service/users.ts b/gm-server/app/service/users.ts index a893fe13b..bcd1c1951 100644 --- a/gm-server/app/service/users.ts +++ b/gm-server/app/service/users.ts @@ -305,8 +305,8 @@ export default class GMUsers extends Service { } let list = heroes.map(cur => { let roleCe = roleMap.get(cur.roleId); - let obj = roleCe.attributes.find(ccur => ccur.hid == cur.hid); - return {...cur, calculatedAttr: obj.attrs, env: ctx.app.config.realEnv} + let obj = roleCe?.attributes?.find(ccur => ccur.hid == cur.hid); + return {...cur, calculatedAttr: obj?.attrs||[], env: ctx.app.config.realEnv} }) return ctx.service.utils.resResult(STATUS.SUCCESS, { list, total })