养成:升星、训练、淬火、精炼的一键消耗不每次更新&推送
This commit is contained in:
@@ -3,7 +3,7 @@ import { STATUS, EQUIP_STRENGTHEN_TYPE, CURRENCY_BY_TYPE, CURRENCY_TYPE, HERO_SY
|
||||
import { ItemInter } from "../../../pubUtils/interface";
|
||||
|
||||
import { resResult, parseGoodStr } from "../../../pubUtils/util";
|
||||
import { addItems, handleCost, decreaseItems, combineItems } from "../../../services/rewardService";
|
||||
import { addItems, handleCost, decreaseItems, combineItems, CheckMeterial } from "../../../services/rewardService";
|
||||
import { EquipModel, EquipType } from "../../../db/Equip";
|
||||
import { HeroModel, EPlace, HeroType } from "../../../db/Hero";
|
||||
import Role from "../../../db/Role";
|
||||
@@ -287,20 +287,28 @@ export class EquipHandler {
|
||||
}
|
||||
let { lv, refineLv: oldRefineLv, equip } = curEplace; // 强化等级,精炼等级,精炼次数
|
||||
|
||||
let check = new CheckMeterial(roleId);
|
||||
let refineLv = oldRefineLv, times = 0;
|
||||
while(
|
||||
(type == REFINE_TYPE.ONCE && times == 0) ||
|
||||
(type == REFINE_TYPE.ONE_LEVEL && !checkRefineReachNextLv(oldRefineLv, refineLv) )
|
||||
) {
|
||||
let result = await refineOnce(roleId, sid, lv, refineLv);
|
||||
console.log('*******', result);
|
||||
let result = await refineOnce(lv, refineLv);
|
||||
if(!result) break;
|
||||
refineLv = result;
|
||||
|
||||
let isEnough = await check.decrease(result.consumes);
|
||||
if(!isEnough) break; // 消耗不足
|
||||
refineLv = result.refineLv;
|
||||
times ++;
|
||||
}
|
||||
if(times == 0) {
|
||||
return resResult(STATUS.EQUIP_REFINE_ERR);
|
||||
}
|
||||
let consumes = check.getConsume();
|
||||
let result = await handleCost(roleId, sid, consumes);
|
||||
if (!result)
|
||||
return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH);
|
||||
|
||||
curEplace.refineLv = refineLv;
|
||||
|
||||
|
||||
@@ -491,13 +499,18 @@ export class EquipHandler {
|
||||
console.log(dicQuench, dicGoods.quality, grade)
|
||||
if (!dicQuench) return resResult(STATUS.EQUIP_QUENCH_MAX);
|
||||
|
||||
let check = new CheckMeterial(roleId);
|
||||
let logs: QuenchLogParam[] = [], times = 0;
|
||||
while(
|
||||
(type == QUENCH_TYPE.ONCE && times < 1 && !checkQuenchMaxByQualityAndGrade(dicGoods.quality, 0, randMain)) || // 淬火一次,保证不超出该品质上限
|
||||
(type == QUENCH_TYPE.ONE_GRADE && !checkQuenchMaxByQualityAndGrade(dicGoods.quality, grade, randMain)) // 淬火一品,在品相上限内淬火
|
||||
) {
|
||||
let result = await quenchOnce(roleId, sid, randMain, dicQuench, dicGoods);
|
||||
let result = await quenchOnce(randMain, dicQuench, dicGoods);
|
||||
if(!result) break;
|
||||
|
||||
let isEnough = await check.decrease(result.consumes);
|
||||
if(!isEnough) break; // 消耗不足
|
||||
|
||||
result.log.setTimes(++times);
|
||||
logs.push(result.log);
|
||||
grade = result.grade;
|
||||
@@ -505,6 +518,10 @@ export class EquipHandler {
|
||||
}
|
||||
|
||||
if (times == 0) return resResult(STATUS.EQUIP_QUENCH_ERR);
|
||||
let consumes = check.getConsume();
|
||||
let result = await handleCost(roleId, sid, consumes);
|
||||
if (!result)
|
||||
return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH);
|
||||
|
||||
let equipResult = await EquipModel.updateEquipInfo(eid, { randMain, grade })
|
||||
let curEquip = {
|
||||
|
||||
Reference in New Issue
Block a user