武将:觉醒消耗
This commit is contained in:
@@ -274,21 +274,30 @@ export class HeroHandler {
|
|||||||
if (!curDicHeroStar) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
if (!curDicHeroStar) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||||
|
|
||||||
let newColorStarStage = oldColorStarStage;
|
let newColorStarStage = oldColorStarStage;
|
||||||
let max = isOneClick ? ABI_STAGE.END : oldColorStarStage + 1;
|
let isWakeUp = oldColorStar == 0;
|
||||||
let check = new CheckMeterial(roleId);
|
let check = new CheckMeterial(roleId);
|
||||||
for (let i = oldColorStarStage; i < max; i++) {
|
if(isWakeUp) {
|
||||||
let { fragmentNum, consume } = curDicHeroStar;
|
let { fragmentNum, consume } = curDicHeroStar;
|
||||||
let isEnough = await check.decrease([{ id: pieceId, count: fragmentNum }, ...consume]);
|
let isEnough = await check.decrease([{ id: pieceId, count: fragmentNum }, ...consume]);
|
||||||
if(!isEnough) break; // 消耗不足
|
if(!isEnough) {
|
||||||
newColorStarStage++;
|
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();
|
let consumes = check.getConsume();
|
||||||
|
console.log('&&&&&&&&7', JSON.stringify(consumes))
|
||||||
let result = await handleCost(roleId, sid, consumes, ITEM_CHANGE_REASON.HERO_WAKE_UP);
|
let result = await handleCost(roleId, sid, consumes, ITEM_CHANGE_REASON.HERO_WAKE_UP);
|
||||||
if (!result)
|
if (!result)
|
||||||
return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH);
|
return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH);
|
||||||
|
|
||||||
let isWakeUp = oldColorStar == 0;
|
|
||||||
let isUpStar = isWakeUp || newColorStarStage == ABI_STAGE.END;
|
let isUpStar = isWakeUp || newColorStarStage == ABI_STAGE.END;
|
||||||
|
|
||||||
let update = {
|
let update = {
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import { ChannelUser } from './../domain/ChannelUser';
|
|
||||||
import { Channel, pinus } from 'pinus';
|
import { Channel, pinus } from 'pinus';
|
||||||
import { getRandValueByMinMax, getRandEelm, decodeIdCntArrayStr } from '../pubUtils/util';
|
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 { DicTeraph } from '../pubUtils/dictionary/DicTeraph';
|
||||||
import { Teraph, RoleModel, RoleType, RoleUpdate } from '../db/Role';
|
import { Teraph, RoleModel, RoleType, RoleUpdate } from '../db/Role';
|
||||||
import { SCHOOL } from '../pubUtils/dicParam';
|
import { SCHOOL } from '../pubUtils/dicParam';
|
||||||
@@ -244,3 +243,13 @@ export function initSkinTalent(skins: HeroSkin[], isAll = false) {
|
|||||||
}
|
}
|
||||||
return newSkins
|
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;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user