战力,出生皮肤

This commit is contained in:
mamengke01
2020-12-22 14:06:57 +08:00
parent ba4f58509d
commit eec53b688f
17 changed files with 1173 additions and 314 deletions

View File

@@ -67,14 +67,14 @@ export class HeroHandler {
if(hasHero) return resResult(STATUS.ROLE_HERO_EXISTS);
// 根据dic_hero 获得 1. 碎片id 2. 碎片数量 3. 初始武将星级 4. 初始品质
let dicHero = gameData.hero.get(hid);
if(!dicHero) return resResult(STATUS.ROLE_INFO_NOT_FOUND);
let {pieceId, quality, initialStars: star, pieceCount, jobid: job, name: hName} = dicHero;
if(!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
let {pieceId, quality, initialStars: star, pieceCount, jobid: job, name: hName, initialSkin} = dicHero;
// 碎片数量是否足够
let costResult = await handleCost(roleId, sid, [{id: pieceId, count: pieceCount}]);
if(!costResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
// createHero
let curHero = await HeroModel.createHero({
roleId, serverId, roleName, hid, hName, star, quality, job
roleId, serverId, roleName, hid, hName, star, quality, job, skins:[{id: initialSkin, enable: true}]
});
await calPlayerCeAndSave(sid, roleId, [curHero], HERO_SYSTEM_TYPE.STAR, getAllAttrStage());
return resResult(STATUS.SUCCESS, {curHero});
@@ -110,7 +110,7 @@ export class HeroHandler {
let material = new Array<RewardInter>();
for(let {id, count} of originalConsumes) {
let dicGoods = gameData.goods.get(id);
if(!dicGoods) return resResult(STATUS.ROLE_INFO_NOT_FOUND);
if(!dicGoods) return resResult(STATUS.DIC_DATA_NOT_FOUND);
let _count = Math.ceil(needExp/dicGoods.value);
if(_count < count) {
material.push({id, count: _count});
@@ -149,7 +149,7 @@ export class HeroHandler {
let {hid, star, starStage} = msg;
// 根据dic_hero 获得 1. 碎片id 2. 碎片数量 3. 初始武将星级 4. 初始品质
let dicHero = gameData.hero.get(hid);
if(!dicHero) return resResult(STATUS.ROLE_INFO_NOT_FOUND);
if(!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
let {pieceId} = dicHero;
let hero = await HeroModel.findByHidAndRole(hid, roleId);
@@ -164,7 +164,7 @@ export class HeroHandler {
}
// 根据dic_zyz_hero_star 计算需要花的碎片并检查碎片数量
const curDicHeroStar = getHeroStarByQuality(quality, oldStar);
if(!curDicHeroStar) return resResult(STATUS.ROLE_INFO_NOT_FOUND);
if(!curDicHeroStar) return resResult(STATUS.DIC_DATA_NOT_FOUND);
let costResult = await handleCost(roleId, sid, [{id: pieceId, count: curDicHeroStar.advanceUpFragmentNum}]);
if(!costResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
@@ -191,7 +191,7 @@ export class HeroHandler {
let {hid, quality} = msg;
let dicHero = gameData.hero.get(hid);
if(!dicHero) return resResult(STATUS.ROLE_INFO_NOT_FOUND);
if(!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
// 根据dic_hero 获得 碎片id
let {pieceId} = dicHero;
@@ -210,7 +210,7 @@ export class HeroHandler {
// 根据dic_zyz_hero_quality_up 获得需要的材料
const curDicHeroQualityUp = gameData.heroQualityUp.get(quality);
if(!curDicHeroQualityUp) return resResult(STATUS.ROLE_INFO_NOT_FOUND);
if(!curDicHeroQualityUp) return resResult(STATUS.DIC_DATA_NOT_FOUND);
let {fragmentNum} = curDicHeroQualityUp;
let costResult = await handleCost(roleId, sid, [{id: pieceId, count: fragmentNum}]);
@@ -234,7 +234,7 @@ export class HeroHandler {
let {hid, colorStar, colorStarStage} = msg;
// 根据dic_hero 获得 1. 碎片id 2. 碎片数量 3. 初始武将星级 4. 初始品质
let dicHero = gameData.hero.get(hid);
if(!dicHero) return resResult(STATUS.ROLE_INFO_NOT_FOUND);
if(!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
let {pieceId} = dicHero;
let hero = await HeroModel.findByHidAndRole(hid, roleId);
@@ -252,7 +252,7 @@ export class HeroHandler {
}
// 根据dic_zyz_hero_wake 计算需要花的碎片并检查碎片数量
const curDicHeroStar = getHeroWakeByQuality(dicHero.quality, oldColorStar)
if(!curDicHeroStar) return resResult(STATUS.ROLE_INFO_NOT_FOUND);
if(!curDicHeroStar) return resResult(STATUS.DIC_DATA_NOT_FOUND);
let {fragmentNum, consume} = curDicHeroStar;