✨ feat(通用丹): 增加通用丹功能

https://bantugame.feishu.cn/wiki/wikcnlWkklK1jkQZRHgbQ0nrVNc
This commit is contained in:
luying
2022-10-20 17:40:20 +08:00
parent 19e0584d35
commit 9b89815f9a
7 changed files with 396 additions and 42 deletions
@@ -326,12 +326,12 @@ export class HeroHandler {
}
//训练
async heroJobTrain(msg: { hid: number, isOneClick: boolean }, session: BackendSession) {
async heroJobTrain(msg: { hid: number, isOneClick: boolean, canReplace: boolean }, session: BackendSession) {
let roleId: string = session.get('roleId');
let sid: string = session.get('sid');
const serverId = session.get('serverId');
let { hid, isOneClick } = msg;
let { hid, isOneClick, canReplace = false } = msg;
let hero = await HeroModel.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
@@ -348,6 +348,7 @@ export class HeroHandler {
let max = isOneClick ? dicJob.maxStage: hero.jobStage + 1;
let trainCount = 0;
let check = new CheckMeterial(roleId);
check.setCanReplace(canReplace);
for(let i = hero.jobStage; i < max; i++) {
let singleConsume = dicJob.trainingConsume[i];
if(!singleConsume) break; // 每天消耗不可训练
@@ -359,6 +360,7 @@ export class HeroHandler {
}
if (newJobStage == hero.jobStage) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
let consumes = check.getConsume();
console.log('#### consumes', consumes);
let result = await handleCost(roleId, sid, consumes, ITEM_CHANGE_REASON.HERO_JOB_TRAIN);
if (!result)
return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH);