From d9dbf15788b7a7df233e09e7111b8a3dcec87a81 Mon Sep 17 00:00:00 2001 From: luying Date: Sat, 22 Jul 2023 17:54:04 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20fix(=E5=89=AF=E5=B0=86):=20gvg?= =?UTF-8?q?=E6=BF=80=E6=88=98=E6=9C=9F=E9=98=B5=E5=AE=B9=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/services/gvg/gvgBattleService.ts | 27 +++++++++++++------ .../app/services/gvg/gvgFightService.ts | 3 +++ shared/domain/dbGeneral.ts | 1 - 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/game-server/app/services/gvg/gvgBattleService.ts b/game-server/app/services/gvg/gvgBattleService.ts index ffd933d3b..c8d86867d 100644 --- a/game-server/app/services/gvg/gvgBattleService.ts +++ b/game-server/app/services/gvg/gvgBattleService.ts @@ -883,14 +883,25 @@ export async function checkGVGLineupWhenSave(roleId: string, index: number, line if(team.index != index) { let hasActor = team.lineup.find(hero => hero.actorId == actorId); if(hasActor) return STATUS.GVG_TEAM_HERO_DUPLICATE; - } - // 查actorId没有在其他队伍作为副将 - let hasActorIsSubHero = team.lineup.find(hero => hero.subHid == actorId); - if(hasActorIsSubHero) return STATUS.GVG_TEAM_HERO_USED_AS_SUB_HERO; - // 查副将 - if(subHid) { - let hasSubHero = team.lineup.find(hero => hero.actorId == subHid); - if(hasSubHero) return STATUS.GVG_TEAM_SUB_HERO_DUPLICATE; + + // 查actorId没有在其他队伍作为副将 + let hasActorIsSubHero = team.lineup.find(hero => hero.subHid == actorId); + if(hasActorIsSubHero) return STATUS.GVG_TEAM_HERO_USED_AS_SUB_HERO; + // 查副将 + if(subHid) { + let hasSubHero = team.lineup.find(hero => hero.actorId == subHid); + if(hasSubHero) return STATUS.GVG_TEAM_SUB_HERO_DUPLICATE; + } + } else { + // 查actorId没有在其他队伍作为副将 + let hasActorIsSubHero = lineup.find(hero => hero.subHid == actorId); + if(hasActorIsSubHero) return STATUS.GVG_TEAM_HERO_USED_AS_SUB_HERO; + + // 查副将 + if(subHid) { + let hasSubHero = lineup.find(hero => hero.actorId == subHid); + if(hasSubHero) return STATUS.GVG_TEAM_SUB_HERO_DUPLICATE; + } } } } diff --git a/game-server/app/services/gvg/gvgFightService.ts b/game-server/app/services/gvg/gvgFightService.ts index 2b88569b0..6fe223990 100644 --- a/game-server/app/services/gvg/gvgFightService.ts +++ b/game-server/app/services/gvg/gvgFightService.ts @@ -163,6 +163,9 @@ export async function checkHeroIsUsedInOtherVestige(roleId: string, curVestigeId // 查副将 if(subHid) { if(usedHeroes.indexOf(subHid) != -1) return true; + + let hasSubHero = heroes.find(hero => hero.actorId == subHid); + if(hasSubHero) return true; } } return false; diff --git a/shared/domain/dbGeneral.ts b/shared/domain/dbGeneral.ts index 828700bfb..eae53bec6 100644 --- a/shared/domain/dbGeneral.ts +++ b/shared/domain/dbGeneral.ts @@ -158,7 +158,6 @@ export class PvpHeroInfo { } setSubHero(subHero: HeroType) { - console.log('#### setSubHero', subHero) this.subHid = subHero?.skinId||0; this.subActorId = subHero?.hid||0; }