任务:升品次数

This commit is contained in:
luying
2022-05-19 10:02:06 +08:00
parent 124cf176d6
commit 9cf8995547
3 changed files with 8 additions and 4 deletions

View File

@@ -191,6 +191,7 @@ export class EquipHandler {
qualityStage: curEquip.qualityStage,
}
let check = new CheckMeterial(roleId);
let count = 0;
if(isOneClick) { // 一键升到该品最高点
if(nextEquipQuality.quality != curEquip.quality) {
return resResult(STATUS.EQUIP_QUALITYSTAGE_IS_MAX);
@@ -200,12 +201,14 @@ export class EquipHandler {
if(!isEnough) break; // 消耗不足
equipUpdate.qualityStage++;
nextEquipQuality = getNextEquipQuality(curEquip.equipId, equipUpdate.quality, equipUpdate.qualityStage);
count++;
}
} else { // 往下一阶,包括满点之后的升品
let isEnough = await check.decrease(nextEquipQuality.consume);
if(isEnough) {
equipUpdate.quality = nextEquipQuality.quality;
equipUpdate.qualityStage = nextEquipQuality.point;
count++;
}
}
if(equipUpdate.quality == curEquip.quality && equipUpdate.qualityStage == curEquip.qualityStage) {
@@ -225,7 +228,7 @@ export class EquipHandler {
}
await calculateCeWithHero(HERO_SYSTEM_TYPE.EQUIP_QUALITY, roleId, serverId, sid, hid, update, { ePlaceId });
await checkTaskInEquipQualityUp(serverId, roleId, sid, oldEplace, newEplace, ePlaceId, hid, isUpQuality);
await checkTaskInEquipQualityUp(serverId, roleId, sid, oldEplace, newEplace, ePlaceId, hid, isUpQuality, count);
pushEquipQualityMax(roleId, roleName, serverId, hid, newEquip, isUpQuality);
const curHero = {
hid,

View File

@@ -1041,7 +1041,8 @@ export class CheckSingleTask {
}
case TASK_TYPE.EQUIP_QUALITY_UP_CNT: // 94. 装备升品X次
{
result = { inc: 1 };
let { count } = param;
result = { inc: count };
break;
}
case TASK_TYPE.EQUIP_QUALITY_UP_TO: // 95. X件装备升品至Y品质

View File

@@ -276,14 +276,14 @@ export async function checkTaskInEquipStarUp(serverId: number, roleId: string, s
}
}
export async function checkTaskInEquipQualityUp(serverId: number, roleId: string, sid: string, oldEplace: EPlace[], newEplace: EPlace[], ePlaceId: number, hid: number, isUpQuality: boolean) {
export async function checkTaskInEquipQualityUp(serverId: number, roleId: string, sid: string, oldEplace: EPlace[], newEplace: EPlace[], ePlaceId: number, hid: number, isUpQuality: boolean, count: number) {
let task = new CheckTask(serverId, roleId);
if(isUpQuality) {
let { oldEquip, newEquip } = getEquipById(oldEplace, newEplace, ePlaceId);
task.setParam(TASK_TYPE.EQUIP_QUALITY_UP, { hid, ePlaceId });
task.setParam(TASK_TYPE.EQUIP_QUALITY_UP_TO, { oldEquip, newEquip })
}
task.setParam(TASK_TYPE.EQUIP_QUALITY_UP_CNT, {});
task.setParam(TASK_TYPE.EQUIP_QUALITY_UP_CNT, { count });
await task.saveAndPush(sid);
}