修改calPlayerCeAndSave的使用

This commit is contained in:
luying
2020-12-10 17:05:17 +08:00
parent 09d9bbf47f
commit 6c88fda867
7 changed files with 19 additions and 17 deletions
@@ -41,6 +41,7 @@ export class HeroHandler {
let roleId: string = session.get('roleId');
let roleName: string = session.get('roleName');
let sid: string = session.get('sid');
let serverId: number = session.get('serverId');
let {hid} = msg;
@@ -56,8 +57,8 @@ export class HeroHandler {
if(!costResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
// createHero
let curHero = await HeroModel.createHero({
roleId, roleName, hid, hName, star, quality, job
});
roleId, serverId, roleName, hid, hName, star, quality, job
}, false);
await calPlayerCeAndSave(sid, roleId, [curHero]);
return resResult(STATUS.SUCCESS, {curHero});
}
@@ -90,18 +91,18 @@ export class HeroHandler {
allExp += count * dicGoods.value;
}
// 计算武将可以升的级数
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await HeroModel.findByHidAndRole(hid, roleId, false);
if(!hero) return resResult(STATUS.ROLE_HERO_NOT_EXISTS);
let {lv: playerLv} = await RoleModel.findByRoleId(roleId);
let {lv: oldLv, exp: oldExp} = hero;
if(oldLv >= playerLv ) return resResult(STATUS.ROLE_HERO_LV_OVER);
if(oldLv + addLv > playerLv ) return resResult(STATUS.ROLE_HERO_LV_OVER);
oldExp += allExp;
let newExp = oldExp + allExp; // 不考虑主公等级,还会剩多少经验
let newLv = oldLv; // 不考虑主公等级,这些经验可以升几级
let curExp = newExp; // 考虑到主公等级,还剩多少经验
for(;;) {
let exp = getHeroExpByLv(newLv);
console.log(exp, newExp)
if(exp < newExp) {
newExp -= exp;
if(newLv < playerLv) curExp -= exp;
@@ -140,7 +141,7 @@ export class HeroHandler {
if(!dicHero) return resResult(STATUS.ROLE_INFO_NOT_FOUND);
let {pieceId} = dicHero;
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await HeroModel.findByHidAndRole(hid, roleId, false);
if(!hero) return resResult(STATUS.ROLE_HERO_NOT_EXISTS);
let {star: oldStar, starStage: oldStarStage, quality} = hero;
@@ -184,7 +185,7 @@ export class HeroHandler {
// 根据dic_hero 获得 碎片id
let {pieceId} = dicHero;
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await HeroModel.findByHidAndRole(hid, roleId, false);
if(!hero) return resResult(STATUS.ROLE_HERO_NOT_EXISTS);
let {quality: oldQuality, star} = hero;
if(quality != oldQuality) {
@@ -233,7 +234,7 @@ export class HeroHandler {
if(!dicHero) return resResult(STATUS.ROLE_INFO_NOT_FOUND);
let {pieceId} = dicHero;
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await HeroModel.findByHidAndRole(hid, roleId, false);
if(!hero) return resResult(STATUS.ROLE_HERO_NOT_EXISTS);
let {colorStar: oldColorStar, colorStarStage: oldColorStarStage, star, quality} = hero;
@@ -38,7 +38,8 @@ export class RoleHandler {
hName: '曹操',
quality: 1,
job: 1,
star: 0
star: 0,
serverId: 1
}
await HeroModel.createHero(heroInfo);
}