武将战力计算(进阶,穿戴,羁绊,好感)加道具
This commit is contained in:
@@ -287,7 +287,7 @@ export class HeroHandler {
|
||||
}
|
||||
hero.jobStage = hero.jobStage ++;
|
||||
//重算战力并下发
|
||||
let heros = await calPlayerCeAndSave(sid, roleId, [hero]);
|
||||
let heros = await calPlayerCeAndSave(sid, roleId, [hero], HERO_SYSTEM_TYPE.TRAIN);
|
||||
return resResult(STATUS.SUCCESS, { hid : heros[0].hid, job : heros[0].job, jobStage : heros[0].jobStage});
|
||||
}
|
||||
|
||||
@@ -299,11 +299,12 @@ export class HeroHandler {
|
||||
let hero = await HeroModel.findByHidAndRole(hid, roleId, false);
|
||||
if (!hero)
|
||||
return resResult(STATUS.HERO_NOT_FIND);
|
||||
let heroJob = getJobInfoById(hero.job);
|
||||
let curJob = hero.job;
|
||||
let heroJob = getJobInfoById(curJob);
|
||||
let nextHeroJob = getJobByGradeAndClass(heroJob.job_class, heroJob.grade + 1);
|
||||
if (nextHeroJob.unlockLevel > hero.lv)
|
||||
return resResult(STATUS.NOT_REACH_UNLOCK_LEVEL);
|
||||
if (hero.job >= getMaxGradeByjobClass(heroJob.job_class))
|
||||
if (curJob >= getMaxGradeByjobClass(heroJob.job_class))
|
||||
return resResult(STATUS.HERO_JOB_REACH_MAX_STAGE);
|
||||
let cousumeGoods = getItems(heroJob.upGradeConsume);
|
||||
let result = await handleCost(roleId, sid, cousumeGoods);
|
||||
@@ -313,7 +314,7 @@ export class HeroHandler {
|
||||
hero.job = nextHeroJob.jobid;
|
||||
hero.jobStage = 0;
|
||||
//重算战力并下发
|
||||
let heros = await calPlayerCeAndSave(sid, roleId, [hero]);
|
||||
let heros = await calPlayerCeAndSave(sid, roleId, [hero], HERO_SYSTEM_TYPE.STAGEUP, [curJob]);
|
||||
return resResult(STATUS.SUCCESS, { hid : heros[0].hid, job : heros[0].job, jobStage : heros[0].jobStage});
|
||||
}
|
||||
|
||||
@@ -330,7 +331,7 @@ export class HeroHandler {
|
||||
return resResult(STATUS.HERO_NOT_FIND);
|
||||
let flag = true;
|
||||
let level = 1;
|
||||
for (let conection of hero.conections) {
|
||||
for (let conection of hero.connections) {
|
||||
if (conection.shipId == shipId ) {
|
||||
if (conection.level >= shipHidAndLevel.level) {
|
||||
return resResult(STATUS.HERO_CONECTION_IS_MAX_LEVEL);
|
||||
@@ -342,7 +343,7 @@ export class HeroHandler {
|
||||
}
|
||||
}
|
||||
if (!!flag) {
|
||||
hero.conections.push({shipId,level});
|
||||
hero.connections.push({shipId, level});
|
||||
}
|
||||
let friendShip = getFriendShipById(shipId, level);
|
||||
if (hero.star < friendShip.level)
|
||||
@@ -362,8 +363,8 @@ export class HeroHandler {
|
||||
return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH);
|
||||
}
|
||||
//重算战力并下发
|
||||
let heros = await calPlayerCeAndSave(sid, roleId, [hero]);
|
||||
return resResult(STATUS.SUCCESS, { hid : heros[0].hid, conections : heros[0].conections});
|
||||
let heros = await calPlayerCeAndSave(sid, roleId, [hero], HERO_SYSTEM_TYPE.CONNECT, [shipId, level]);
|
||||
return resResult(STATUS.SUCCESS, { hid : heros[0].hid, connections : heros[0].connections});
|
||||
}
|
||||
|
||||
//赠送(包括一键赠送)
|
||||
@@ -372,6 +373,7 @@ export class HeroHandler {
|
||||
let sid: string = session.get('sid');
|
||||
let { hid, items } = msg;
|
||||
let hero = await HeroModel.findByHidAndRole(hid, roleId, false);
|
||||
let lastLv = hero.favourLv;
|
||||
if (!hero)
|
||||
return resResult(STATUS.HERO_NOT_FIND);
|
||||
let friendShipLevels = getFriendShipLevels();
|
||||
@@ -401,8 +403,12 @@ export class HeroHandler {
|
||||
return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH);
|
||||
}
|
||||
//重算战力并下发
|
||||
let heros = await calPlayerCeAndSave(sid, roleId, [hero]);
|
||||
return resResult(STATUS.SUCCESS, { hid : heros[0].hid, favour : heros[0].favour, favourLv : heros[0].favourLv});
|
||||
if (lastLv != hero.favourLv) {
|
||||
await calPlayerCeAndSave(sid, roleId, [hero], HERO_SYSTEM_TYPE.FAVOUR, [lastLv]);
|
||||
} else {
|
||||
await HeroModel.updateHeroInfo(roleId, hero.hid, hero);
|
||||
}
|
||||
return resResult(STATUS.SUCCESS, { hid : hero.hid, favour : hero.favour, favourLv : hero.favourLv});
|
||||
}
|
||||
|
||||
//穿带时装
|
||||
@@ -417,18 +423,25 @@ export class HeroHandler {
|
||||
if (!hero)
|
||||
return resResult(STATUS.HERO_NOT_FIND);
|
||||
let result = false;
|
||||
let lastSkinId;
|
||||
for (let skin of hero.skins) {
|
||||
if (skin.id == id) {
|
||||
if (!!skin.enable) {
|
||||
return resResult(STATUS.HERO_SKIN_IS_EQUIPED);
|
||||
}
|
||||
skin.enable = true;
|
||||
result = true;
|
||||
} else {
|
||||
if (!!skin.enable) {
|
||||
lastSkinId = skin.id;
|
||||
}
|
||||
skin.enable = false;
|
||||
}
|
||||
}
|
||||
if (!result) {
|
||||
return resResult(STATUS.HERO_SKIN_NOT_FIND);
|
||||
}
|
||||
await calPlayerCeAndSave(sid, roleId, [hero]);
|
||||
await calPlayerCeAndSave(sid, roleId, [hero], HERO_SYSTEM_TYPE.SKIN, [id, lastSkinId]);
|
||||
return resResult(STATUS.SUCCESS, { hid : hero.hid, skins : hero.skins});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user