武将:觉醒消耗

This commit is contained in:
luying
2022-05-05 13:05:07 +08:00
parent a42c64bf7e
commit 17cfeec11a
2 changed files with 26 additions and 8 deletions

View File

@@ -274,21 +274,30 @@ export class HeroHandler {
if (!curDicHeroStar) return resResult(STATUS.DIC_DATA_NOT_FOUND);
let newColorStarStage = oldColorStarStage;
let max = isOneClick ? ABI_STAGE.END : oldColorStarStage + 1;
let isWakeUp = oldColorStar == 0;
let check = new CheckMeterial(roleId);
for (let i = oldColorStarStage; i < max; i++) {
if(isWakeUp) {
let { fragmentNum, consume } = curDicHeroStar;
let isEnough = await check.decrease([{ id: pieceId, count: fragmentNum }, ...consume]);
if(!isEnough) break; // 消耗不足
newColorStarStage++;
if(!isEnough) {
return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
};
} else {
let max = isOneClick ? ABI_STAGE.END : oldColorStarStage + 1;
for (let i = oldColorStarStage; i < max; i++) {
let { fragmentNum, consume } = curDicHeroStar;
let isEnough = await check.decrease([{ id: pieceId, count: fragmentNum }, ...consume]);
if(!isEnough) break; // 消耗不足
newColorStarStage++;
}
if (newColorStarStage == oldColorStarStage) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
}
if (newColorStarStage == oldColorStarStage) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
let consumes = check.getConsume();
console.log('&&&&&&&&7', JSON.stringify(consumes))
let result = await handleCost(roleId, sid, consumes, ITEM_CHANGE_REASON.HERO_WAKE_UP);
if (!result)
return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH);
let isWakeUp = oldColorStar == 0;
let isUpStar = isWakeUp || newColorStarStage == ABI_STAGE.END;
let update = {

View File

@@ -1,7 +1,6 @@
import { ChannelUser } from './../domain/ChannelUser';
import { Channel, pinus } from 'pinus';
import { getRandValueByMinMax, getRandEelm, decodeIdCntArrayStr } from '../pubUtils/util';
import { DEFAULT_HEROES, LINEUP_NUM, ROLE_SELECT, TALENT_RELATION_TYPE, TERAPH_RANDOM } from "../consts";
import { DEFAULT_HEROES, LINEUP_NUM, ROLE_SELECT, TALENT_RELATION_TYPE, TERAPH_RANDOM, SYSTEM_OPEN_ID, GuideUnloadNum } from "../consts";
import { DicTeraph } from '../pubUtils/dictionary/DicTeraph';
import { Teraph, RoleModel, RoleType, RoleUpdate } from '../db/Role';
import { SCHOOL } from '../pubUtils/dicParam';
@@ -244,3 +243,13 @@ export function initSkinTalent(skins: HeroSkin[], isAll = false) {
}
return newSkins
}
export function checkSystemIsOpen(role: RoleType, id: SYSTEM_OPEN_ID) {
if(!role || !role.hasInit || !role.guide) return false;
let dicSystemOpenTime = gameData.sysOpenTime.get(id);
if(!dicSystemOpenTime) return false;
let guideId = dicSystemOpenTime.warId > 0? GuideUnloadNum.GkNewFuncNum + dicSystemOpenTime.warId: GuideUnloadNum.LvUpNum + dicSystemOpenTime.lv;
return role.guide.indexOf(guideId) != -1;
}