diff --git a/game-server/app/servers/battle/handler/normalBattleHandler.ts b/game-server/app/servers/battle/handler/normalBattleHandler.ts index 69a340912..ec5fa4b63 100644 --- a/game-server/app/servers/battle/handler/normalBattleHandler.ts +++ b/game-server/app/servers/battle/handler/normalBattleHandler.ts @@ -104,7 +104,7 @@ export class NormalBattleHandler { if (checkResult.status == -1) { return checkResult.resResult } - } else if (warInfo.warType == WAR_TYPE.MYSTERY || warInfo.warType == WAR_TYPE.MYSTERY_ELITE) { + } else if (warInfo.warType == WAR_TYPE.MYSTERY) { let checkResult = await checkDungeonNum(roleId, 1, battleId); if (checkResult.status == -1) { return checkResult.resResult @@ -222,7 +222,7 @@ export class NormalBattleHandler { if (towerEndResult.data.towerReward) warReward.setFixReward(towerEndResult.data.towerReward) } - } else if (warInfo.warType == WAR_TYPE.MYSTERY || warInfo.warType == WAR_TYPE.MYSTERY_ELITE) { + } else if (warInfo.warType == WAR_TYPE.MYSTERY) { let checkResult = await checkDungeonAndIncrease(roleId, isSuccess?1:0, false, battleId); let role = await RoleModel.saveDungeonHero(roleId, battleId, heroes, isSuccess); if (role) { @@ -344,7 +344,7 @@ export class NormalBattleHandler { return checkResult.resResult } dailyNum = Object.assign(dailyNum, checkResult.data) - } else if (warInfo.warType == WAR_TYPE.MYSTERY || warInfo.warType == WAR_TYPE.MYSTERY_ELITE) { + } else if (warInfo.warType == WAR_TYPE.MYSTERY) { let checkResult = await checkDungeonAndIncrease(roleId, count, true, battleId); if (checkResult.status == -1) { return checkResult.resResult diff --git a/game-server/app/services/normalBattleService.ts b/game-server/app/services/normalBattleService.ts index 7ec350b5a..24a903d3d 100644 --- a/game-server/app/services/normalBattleService.ts +++ b/game-server/app/services/normalBattleService.ts @@ -146,7 +146,7 @@ export function calculateWarStar(warStar: WarStar[] = [], battleId: number, star } export async function getBattleListOfMain(role: RoleType) { - let types = [ WAR_TYPE.NORMAL, WAR_TYPE.VESTIGE, WAR_TYPE.MAIN_ELITE, WAR_TYPE.TOWER, WAR_TYPE.MYSTERY, WAR_TYPE.MYSTERY_ELITE ]; + let types = [ WAR_TYPE.NORMAL, WAR_TYPE.VESTIGE, WAR_TYPE.MAIN_ELITE, WAR_TYPE.TOWER, WAR_TYPE.MYSTERY, WAR_TYPE.BRANCH_ELITE ]; return await getBattleListOfTypes(role, types); } diff --git a/game-server/app/services/task/taskObj.ts b/game-server/app/services/task/taskObj.ts index f14ea9d80..b3c5ad1f9 100644 --- a/game-server/app/services/task/taskObj.ts +++ b/game-server/app/services/task/taskObj.ts @@ -427,13 +427,13 @@ export class CheckSingleTask { } case TASK_TYPE.HERO_QUALITY_STAR_UP: // 8. x名x品质升至x星 { - let { heroes, hero, oldStar } = param; + let { heroes, hero, oldStar, oldColorStar } = param; if(param.heroes) { // 创建武将的时候 let records = await getRecord(); let num = 0; - for(let { hid, star } of heroes) { + for(let { hid, star, colorStar } of heroes) { let dicHero = gameData.hero.get(hid); - if(dicHero.quality == dicTaskParam[1] && star == dicTaskParam[2] && records.indexOf(`${hid}`) == -1) { + if(dicHero.quality == dicTaskParam[1] && (star + colorStar) == dicTaskParam[2] && records.indexOf(`${hid}`) == -1) { records.push(`${hid}`); num ++; } @@ -442,7 +442,7 @@ export class CheckSingleTask { } else { // 武将升星的时候 let hid = hero.hid; let dicHero = gameData.hero.get(hid); - if(dicHero.quality == dicTaskParam[1] && hero.star >= dicTaskParam[2] && oldStar < dicTaskParam[2] ) { + if(dicHero.quality == dicTaskParam[1] && (hero.star + hero.colorStar) >= dicTaskParam[2] && (oldStar + oldColorStar) < dicTaskParam[2] ) { let records = await getRecord(); if(records.indexOf(`${hid}`) == -1) { records.push(`${hid}`); @@ -682,7 +682,7 @@ export class CheckSingleTask { { let { warId, count } = param; let dicWar = gameData.war.get(warId); - if(dicWar.warType == WAR_TYPE.MYSTERY || dicWar.warType == WAR_TYPE.MYSTERY_ELITE) { + if(dicWar.warType == WAR_TYPE.MYSTERY) { result = { inc: count }; } break; @@ -691,7 +691,7 @@ export class CheckSingleTask { { let { warId, count } = param; let dicWar = gameData.war.get(warId); - if ((dicWar.warType == WAR_TYPE.MYSTERY || dicWar.warType == WAR_TYPE.MYSTERY_ELITE) && this.checkIdList(dicTaskParam, 0, warId)) { + if ((dicWar.warType == WAR_TYPE.MYSTERY) && this.checkIdList(dicTaskParam, 0, warId)) { result = { inc: count }; } break; @@ -1303,7 +1303,7 @@ export class CheckSingleTask { { let { warId, count } = param; let dicWar = gameData.war.get(warId); - if(dicWar.warType == WAR_TYPE.MYSTERY || dicWar.warType == WAR_TYPE.MYSTERY_ELITE) { + if(dicWar.warType == WAR_TYPE.MYSTERY) { result = { inc: count }; } break; @@ -1389,6 +1389,21 @@ export class CheckSingleTask { result = { inc: count }; break; } + case TASK_TYPE.STAR_UP_SUM: // 130. 升星总和 + { + let { count } = param; + result = { inc: count }; + break; + } + case TASK_TYPE.BATTLE_BRANCH_ELITE: // 131. 主线梦魇支线 + { + let { warId, count } = param; + let dicWar = gameData.war.get(warId); + if (dicWar.warType == WAR_TYPE.BRANCH_ELITE && this.checkIdList(dicTaskParam, 0, warId)) { + 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 79e662f34..168e7ce28 100644 --- a/game-server/app/services/task/taskService.ts +++ b/game-server/app/services/task/taskService.ts @@ -64,7 +64,8 @@ export async function checkTaskInCreateHero(serverId: number, roleId: string, si export async function checkTaskInHeroStarUp(serverId: number, roleId: string, sid: string, hero: HeroType, oldStar: number) { let task = new CheckTask(serverId, roleId); task.setParam(TASK_TYPE.HERO_STAR_UP, { hero }); - task.setParam(TASK_TYPE.HERO_QUALITY_STAR_UP, { hero, oldStar }); + task.setParam(TASK_TYPE.HERO_QUALITY_STAR_UP, { hero, oldStar, oldColorStar: 0 }); + task.setParam(TASK_TYPE.STAR_UP_SUM, { count: hero.star - oldStar }); await task.saveAndPush(sid); } @@ -75,6 +76,8 @@ export async function checkTaskInHeroWakeUp(serverId: number, roleId: string, si task.setParam(TASK_TYPE.HERO_QUALITY_WAKE_UP_COUNT, { hero, oldColorStar }); task.setParam(TASK_TYPE.HERO_WAKE_UP_COUNT, { hero, oldColorStar }); task.setParam(TASK_TYPE.HERO_WAKE_UP_STAR_UP_COUNT, { hero, oldColorStar }); + task.setParam(TASK_TYPE.HERO_QUALITY_STAR_UP, { hero, oldStar: 6, oldColorStar }); + task.setParam(TASK_TYPE.STAR_UP_SUM, { count: hero.colorStar - oldColorStar }); await task.saveAndPush(sid); } @@ -136,6 +139,7 @@ export async function checkTaskInBattleStart(serverId: number, roleId: string, s task.setParam(TASK_TYPE.BATTLE_VESTIGE, { warId, count: 1 }); task.setParam(TASK_TYPE.BATTLE_EXPEDITION, { warId, count: 1 }); task.setParam(TASK_TYPE.BATTLE_MAIN_ELITE, { warId, count: 1 }); + task.setParam(TASK_TYPE.BATTLE_BRANCH_ELITE, { warId, count: 1 }); await task.saveAndPush(sid); let dicWar = gameData.war.get(warId); if(dicWar && dicWar.warType == WAR_TYPE.NORMAL) { @@ -176,6 +180,7 @@ export async function checkTaskInBattleSweep(serverId: number, roleId: string, s task.setParam(TASK_TYPE.BATTLE_DAILY_START, { warId, count }); task.setParam(TASK_TYPE.BATTLE_EXPEDITION_START, { warId, count }); task.setParam(TASK_TYPE.BATTLE_DUNGEON_START, { warId, count }); + task.setParam(TASK_TYPE.BATTLE_BRANCH_ELITE, { warId, count }); await task.saveAndPush(sid); } diff --git a/shared/consts/constModules/battleConst.ts b/shared/consts/constModules/battleConst.ts index a61750967..cde07fd79 100644 --- a/shared/consts/constModules/battleConst.ts +++ b/shared/consts/constModules/battleConst.ts @@ -25,7 +25,7 @@ export const WAR_TYPE = { GUILD_ACTIVITY: 10, // 军团活动 GUILD_TRAIN: 11, // 军团练兵场 MAIN_ELITE: 12, // 主线精英 - MYSTERY_ELITE: 13, // 秘境精英 + BRANCH_ELITE: 13, // 秘境精英 BRANCH: 14, // 支线 ACT_TREASURE_HUNT: 15, // 神州探秘 ACT_SELF_SHOP: 16, // 糜家商队 diff --git a/shared/consts/constModules/sysConst.ts b/shared/consts/constModules/sysConst.ts index 5997c7270..53779c44c 100644 --- a/shared/consts/constModules/sysConst.ts +++ b/shared/consts/constModules/sysConst.ts @@ -788,6 +788,8 @@ export enum TASK_TYPE { ARTIFACT_LV = 127, // 强化X件宝物至X级 ARTIFACT_QUALITY_EQUIP = 128, // 穿戴X件品质为X的宝物 ARTIFACT_COMPOSE = 129, // 合成X次宝物 + STAR_UP_SUM = 130, // 总计升星次数 + BATTLE_BRANCH_ELITE = 131, // 通关 } // 任务累积类型 diff --git a/shared/pubUtils/util.ts b/shared/pubUtils/util.ts index c95365858..d8d8df711 100644 --- a/shared/pubUtils/util.ts +++ b/shared/pubUtils/util.ts @@ -658,6 +658,7 @@ export function getReasonByWarType(warType: number) { // case WAR_TYPE.MYSTERY_ELITE: // return ITEM_CHANGE_REASON.MYSTERY_ELITE_BATTLE_END; case WAR_TYPE.BRANCH: + case WAR_TYPE.BRANCH_ELITE: return ITEM_CHANGE_REASON.BRANCH_BATTLE_END; case WAR_TYPE.ACT_TREASURE_HUNT: return ITEM_CHANGE_REASON.ACT_TREASURE_HUNT_BATTLE_END; @@ -692,7 +693,7 @@ export function getWarTypeName(warType: number) { case WAR_TYPE.GUILD_ACTIVITY: return '军团活动'; case WAR_TYPE.GUILD_TRAIN: return '训练场'; case WAR_TYPE.MAIN_ELITE: return '主线精英'; - case WAR_TYPE.MYSTERY_ELITE: return '秘境精英'; + case WAR_TYPE.BRANCH_ELITE: return '梦魇支线'; case WAR_TYPE.BRANCH: return '支线'; case WAR_TYPE.ACT_TREASURE_HUNT: return '运营活动-神州探秘'; case WAR_TYPE.ACT_SELF_SHOP: return '运营活动-糜家商队'; diff --git a/shared/resource/jsons/dic_zyz_taskType.json b/shared/resource/jsons/dic_zyz_taskType.json index 2104aea1b..9c972a0cf 100644 --- a/shared/resource/jsons/dic_zyz_taskType.json +++ b/shared/resource/jsons/dic_zyz_taskType.json @@ -72,10 +72,10 @@ { "id": 8, "name": "武将", - "info": "x名x品质升至x星", + "info": "x名x初始品质升至x星", "param": "herocount&quality&star&", "string": "武将数量&品质&星级&", - "content": "升至x星是只算普通升星的;品质是使用等号判断的,紫色的升星不能达成蓝色的条件", + "content": "升星可算彩星,但需加上普通升星的星数,比如彩6星填12=6+6;品质是使用等号判断的,紫色的升星不能达成蓝色的条件", "condition": "herocount", "sumType": 1 }, @@ -325,7 +325,7 @@ "info": "通关秘境x次", "param": "count&", "string": "秘境挑战次数&", - "content": "只计算warType为6或13的关卡;必须挑战胜利才计算;扫荡也算", + "content": "只计算warType为6的关卡;必须挑战胜利才计算;扫荡也算", "condition": "count", "sumType": 2 }, @@ -335,7 +335,7 @@ "info": "秘境通关x关x难度", "param": "warcount&warid&…", "string": "填几个warid&关卡id&…", - "content": "只计算warType为6或13的关卡;必须挑战胜利才计算;扫荡也算", + "content": "只计算warType为6的关卡;必须挑战胜利才计算;扫荡也算", "condition": "warcount", "sumType": 1 }, @@ -362,7 +362,7 @@ { "id": 48, "name": "关卡", - "info": "通关遗迹x关", + "info": "通关支线x关", "param": "warcount&warid", "string": "挑战次数&", "content": "只计算warType为2的关卡;必须挑战胜利才计算;扫荡也算", @@ -571,11 +571,11 @@ }, { "id": 73, - "name": "精英任务", - "info": "精英通关第x关", - "param": "warcount&warid&", + "name": "梦魇关卡", + "info": "梦魇通关第x关", + "param": "warcount&warid&…", "string": "关卡id", - "content": 0, + "content": "只计算warType为12的关卡;必须挑战胜利才计算;计算扫荡;主线基金是算这个type的", "condition": "warcount", "sumType": 1 }, @@ -605,7 +605,7 @@ "info": "x名武将觉醒后升至x星", "param": "herocount&star&", "string": "武将数量&星级", - "content": 0, + "content": "只算彩星,填1,不用计算黄星的6", "condition": "herocount", "sumType": 1 }, @@ -1087,6 +1087,26 @@ "string": "次数&", "content": 0, "condition": "count", - "sumType": 2 + "sumType": 1 + }, + { + "id": 130, + "name": "武将", + "info": "武将升星X次", + "param": "count&", + "string": "升星次数&", + "content": "星级上升了才算是1次;升彩星也是算入的;算所有武将的", + "condition": "count", + "sumType": 1 + }, + { + "id": 131, + "name": "关卡", + "info": "通关梦魇支线X关", + "param": "warcount&warid", + "string": "挑战次数&", + "content": "只计算warType为13的关卡;必须挑战胜利才计算;扫荡也算", + "condition": "count", + "sumType": 1 } ] \ No newline at end of file