任务:升品次数
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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品质
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user