diff --git a/game-server/app/servers/role/handler/equipHandler.ts b/game-server/app/servers/role/handler/equipHandler.ts index 0ca4c57ad..27c7f1af1 100644 --- a/game-server/app/servers/role/handler/equipHandler.ts +++ b/game-server/app/servers/role/handler/equipHandler.ts @@ -199,7 +199,7 @@ export class EquipHandler { let isEnough = await check.decrease(nextEquipQuality.consume); if(!isEnough) break; // 消耗不足 equipUpdate.qualityStage++; - nextEquipQuality = getNextEquipQuality(curEquip.equipId, equipUpdate.quality, equipUpdate.qualityStage) + nextEquipQuality = getNextEquipQuality(curEquip.equipId, equipUpdate.quality, equipUpdate.qualityStage); } } else { // 往下一阶,包括满点之后的升品 let isEnough = await check.decrease(nextEquipQuality.consume); @@ -260,6 +260,8 @@ export class EquipHandler { let dicEquipStar = getEquipStarIdByEquipId(curEquip.equipId, curEquip.star); if(!dicEquipStar) return resResult(STATUS.DIC_DATA_NOT_FOUND); let isUpStar = curEquip.starStage == dicEquipStar.count; + let count = 0; + if(isUpStar) { // 升星 if(isOneClick) { return resResult(STATUS.EQUIP_STARSTAGE_IS_MAX); @@ -276,6 +278,7 @@ export class EquipHandler { equipUpdate.star = nextEquipStar.star; equipUpdate.starStage = 0; incEquipStarSum += equipUpdate.star - curEquip.star; + count++; } } } else { // 升小点,包括一键升到满小点和升一个小点 @@ -284,6 +287,7 @@ export class EquipHandler { let isEnough = await check.decrease(dicEquipStar.mainConsume); if(!isEnough) break; // 消耗不足 equipUpdate.starStage = stage; + count++; } } @@ -303,7 +307,7 @@ export class EquipHandler { console.log('### incEquipStarSum', incEquipStarSum) let { curRole } = await calculateCeWithHero(HERO_SYSTEM_TYPE.EQUIP_STAR, roleId, serverId, sid, hid, update, { ePlaceId, roleIncUpdate: { equipStarSum: incEquipStarSum } }); - await checkTaskInEquipStarUp(serverId, roleId, sid, oldEplace, newEplace, ePlaceId, hid, isUpStar, curRole.equipStarSum); + await checkTaskInEquipStarUp(serverId, roleId, sid, oldEplace, newEplace, ePlaceId, hid, isUpStar, curRole.equipStarSum, count); pushEquipStarMax(roleId, roleName, serverId, hid, newEquip, isUpStar); const curHero = { diff --git a/game-server/app/services/task/taskObj.ts b/game-server/app/services/task/taskObj.ts index 1779682ee..e78d8c7f2 100644 --- a/game-server/app/services/task/taskObj.ts +++ b/game-server/app/services/task/taskObj.ts @@ -1206,6 +1206,12 @@ export class CheckSingleTask { } break; } + case TASK_TYPE.EQUIP_STAR_UP_CNT_SUM: // 110. 装备总共升星x次 + { + let { count } = param; + result = { inc: count }; + break; + } } return result } diff --git a/game-server/app/services/task/taskService.ts b/game-server/app/services/task/taskService.ts index c09c139d9..f734e0a8a 100644 --- a/game-server/app/services/task/taskService.ts +++ b/game-server/app/services/task/taskService.ts @@ -215,7 +215,7 @@ export async function checkTaskInPutStone(serverId: number, roleId: string, sid: await task.saveAndPush(sid); } -export async function checkTaskInEquipStarUp(serverId: number, roleId: string, sid: string, oldEplace: EPlace[], newEplace: EPlace[], ePlaceId: number, hid: number, isUpStar: boolean, equipStarSum: number) { +export async function checkTaskInEquipStarUp(serverId: number, roleId: string, sid: string, oldEplace: EPlace[], newEplace: EPlace[], ePlaceId: number, hid: number, isUpStar: boolean, equipStarSum: number, count: number) { let task = new CheckTask(serverId, roleId); if(isUpStar) { let { oldEquip, newEquip } = getEquipById(oldEplace, newEplace, ePlaceId); @@ -223,6 +223,7 @@ export async function checkTaskInEquipStarUp(serverId: number, roleId: string, s task.setParam(TASK_TYPE.EQUIP_SUIT_SEID_NUM, { oldEplace, newEplace, ePlaceId, hid }); } task.setParam(TASK_TYPE.EQUIP_STAR_UP_CNT, { hid, ePlaceId }); + task.setParam(TASK_TYPE.EQUIP_STAR_UP_CNT_SUM, { count }); await task.saveAndPush(sid); if(isUpStar) { checkPopUpCondition(serverId, roleId, POP_UP_SHOP_CONDITION_TYPE.EQUIP_STAR, { equipStar: equipStarSum }, sid); diff --git a/shared/consts/constModules/sysConst.ts b/shared/consts/constModules/sysConst.ts index 668c78d8c..3a55e4c63 100644 --- a/shared/consts/constModules/sysConst.ts +++ b/shared/consts/constModules/sysConst.ts @@ -746,6 +746,7 @@ export enum TASK_TYPE { JEWEL_QUENCH_SUCCESS = 107, // 天晶淬炼成功 COM_BATTLE_LV = 108, // 军团寻宝 GUILD_REFINE = 109, // 军团兑换 + EQUIP_STAR_UP_CNT_SUM = 110, // 装备总共升星x次 } // 任务累积类型 diff --git a/shared/resource/jsons/dic_zyz_taskType.json b/shared/resource/jsons/dic_zyz_taskType.json index 9e5c37f68..ca0af1339 100644 --- a/shared/resource/jsons/dic_zyz_taskType.json +++ b/shared/resource/jsons/dic_zyz_taskType.json @@ -898,5 +898,15 @@ "content": 0, "condition": "count", "sumType": 2 + }, + { + "id": 110, + "name": "装备", + "info": "装备精炼x次", + "param": "count&", + "string": "次数&", + "content": 0, + "condition": "count", + "sumType": 2 } ] \ No newline at end of file