diff --git a/game-server/app/servers/role/handler/heroHandler.ts b/game-server/app/servers/role/handler/heroHandler.ts index 2766e4a57..f40c5d252 100644 --- a/game-server/app/servers/role/handler/heroHandler.ts +++ b/game-server/app/servers/role/handler/heroHandler.ts @@ -275,7 +275,6 @@ export class HeroHandler { } //训练 - async heroJobTrain (msg: {hid:number}, session: BackendSession) { let roleId: string = session.get('roleId'); let sid: string = session.get('sid'); @@ -301,6 +300,7 @@ export class HeroHandler { let heros = await calPlayerCeAndSave(sid, roleId, [hero]); return resResult(STATUS.SUCCESS, { hid : heros[0].hid, job : heros[0].job, jobStage : heros[0].jobStage}); } + //进阶 async heroJobStageUp(msg: {hid:number}, session: BackendSession) { let roleId: string = session.get('roleId'); @@ -333,6 +333,8 @@ export class HeroHandler { let sid: string = session.get('sid'); let { hid, id } = msg; let friendShip = getFriendShipById(id); + if (!friendShip) + return resResult(STATUS.HERO_CONECTION_IS_EXIT); if (friendShip.actorId != hid) return resResult(STATUS.WRONG_PARMS); let hero = await HeroModel.findByHidAndRole(hid, roleId); @@ -371,7 +373,7 @@ export class HeroHandler { if (!hero) return resResult(STATUS.HERO_NOT_FIND); let friendShipLevels = getFriendShipLevels(); - if (friendShipLevels[friendShipLevels.lenth - 1].level <= hero.favourLv) + if (friendShipLevels[friendShipLevels.length - 1].level <= hero.favourLv) return resResult(STATUS.HERO_FAVOUR_LEVEL_REACH_MAXT); //计算消耗物品转化的经验 let exp:number = 0; @@ -401,39 +403,6 @@ export class HeroHandler { return resResult(STATUS.SUCCESS, { hid : heros[0].hid, favour : heros[0].favour, favourLv : heros[0].favourLv}); } - //购买时装 - async buyHeroSkin(msg: {id:number}, session: BackendSession) { - let roleId: string = session.get('roleId'); - let sid: string = session.get('sid'); - let { id } = msg; - let skinInfo = getFashionsById(id); - if (!skinInfo) - resResult(STATUS.HERO_SKIN_NOT_FIND); - let hero = await HeroModel.findByHidAndRole(skinInfo.actorId, roleId); - if (!hero) - resResult(STATUS.HERO_NOT_FIND); - if (!!_.findWhere(hero.skins, {id:id})) - resResult(STATUS.HERO_SKIN_IS_EXIST); - let items;//TODO物品消耗 - let result = await handleCost(roleId, sid, items); - if(!result) { - return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH); - } - hero.skins.push({ - id:id, - enable:false - }); - let heros = await HeroModel.findByRole(roleId); - for (let i = 0; i < heros.length; i++) { - if (heros[i].hid == hero.hid) { - heros[i] = hero; - } - } - //重算战力并下发 - await calPlayerCeAndSave(sid, roleId, heros); - return resResult(STATUS.SUCCESS, { hid : hero.hid, skins : hero.skins}); - } - //穿带时装 async heroWearSkin(msg: {id:number}, session: BackendSession) { let roleId: string = session.get('roleId'); @@ -441,10 +410,10 @@ export class HeroHandler { let { id } = msg; let skinInfo = getFashionsById(id); if (!skinInfo) - resResult(STATUS.HERO_SKIN_NOT_FIND); + return resResult(STATUS.HERO_SKIN_NOT_FIND); let hero = await HeroModel.findByHidAndRole(skinInfo.actorId, roleId); if (!hero) - resResult(STATUS.HERO_NOT_FIND); + return resResult(STATUS.HERO_NOT_FIND); let result = false; for (let skin of hero.skins) { if (skin.id == id) { @@ -455,7 +424,7 @@ export class HeroHandler { } } if (!result) { - resResult(STATUS.HERO_SKIN_NOT_FIND); + return resResult(STATUS.HERO_SKIN_NOT_FIND); } await calPlayerCeAndSave(sid, roleId, [hero]); return resResult(STATUS.SUCCESS, { hid : hero.hid, skins : hero.skins});