From 1c0661ed249da566d4686157c38cc803ea100314 Mon Sep 17 00:00:00 2001 From: luying Date: Fri, 24 Feb 2023 10:55:03 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20fix(gvg):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=89=93=E8=B4=A5=E4=BA=86=E5=AF=B9=E6=89=8B=E5=8F=8D=E8=80=8C?= =?UTF-8?q?=E5=8A=A0=E8=A1=80=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/servers/guild/handler/gvgBattleHandler.ts | 3 ++- shared/db/GVGTeam.ts | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/game-server/app/servers/guild/handler/gvgBattleHandler.ts b/game-server/app/servers/guild/handler/gvgBattleHandler.ts index 72dde409e..73eff07ac 100644 --- a/game-server/app/servers/guild/handler/gvgBattleHandler.ts +++ b/game-server/app/servers/guild/handler/gvgBattleHandler.ts @@ -534,7 +534,8 @@ export class GVGBattleHandler { let city = await GVGCityModel.findByCityId(configId, groupKey, cityId); if (!city) return resResult(STATUS.GVG_CITY_NOT_FOUND); - defenseTeam = await GVGTeamModel.battleEndDefense(oppoTeamCode, await getTechKnifeHurt(configId, attackTeam.leagueCode), getBirthAreaOfCity(city, defenseTeam.leagueCode), await getTechReviveMinus(configId, defenseTeam.leagueCode)); + let hurt = await getTechKnifeHurt(configId, attackTeam.leagueCode); + defenseTeam = await GVGTeamModel.battleEndDefense(oppoTeamCode, -hurt, getBirthAreaOfCity(city, defenseTeam.leagueCode), await getTechReviveMinus(configId, defenseTeam.leagueCode)); if(defenseTeam.curTeamBreak && defenseTeam.originPointId > 0) { // 打败的对手原来占领着一个位置,现在这个位置是你的了 if(!attackTeam.curTeamBreak) { attackTeam = await GVGTeamModel.settlePoint(attackTeam.teamCode, defenseTeam.originPointId); diff --git a/shared/db/GVGTeam.ts b/shared/db/GVGTeam.ts index 79991a54a..b2c592024 100644 --- a/shared/db/GVGTeam.ts +++ b/shared/db/GVGTeam.ts @@ -282,7 +282,7 @@ export default class GVGTeam extends BaseModel { // 结算防守方 public static async battleEndDefense(teamCode: string, hpInc: number, rebirthAreaId: number, reviveCd: number) { - let team: GVGTeamType = await GVGTeamModel.findOneAndUpdate({ teamCode }, { $set: { defenseTime: nowSeconds() + GVG.GVG_DEFAULT_DEFENSE_CD, lockTime: 0, lockTeamCode: '' }, $inc: { durability: -hpInc } }, { new: true }).lean(); + let team: GVGTeamType = await GVGTeamModel.findOneAndUpdate({ teamCode }, { $set: { defenseTime: nowSeconds() + GVG.GVG_DEFAULT_DEFENSE_CD, lockTime: 0, lockTeamCode: '' }, $inc: { durability: hpInc } }, { new: true }).lean(); if(team.durability <= 0) { let originPointId = team.pointId; team = await GVGTeamModel.teamBreak(teamCode, team.isRobot, team.maxDurability, rebirthAreaId, team.areaId, reviveCd);