From 77c503e6973a8b6f059c5082d444ff979f86b751 Mon Sep 17 00:00:00 2001 From: luying Date: Wed, 8 Feb 2023 10:48:35 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20fix(gvg):=20=E5=A4=96=E6=94=BF?= =?UTF-8?q?=E6=8C=91=E6=88=98=E6=97=B6=E9=97=B4=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/servers/guild/handler/gvgFightHandler.ts | 4 +++- game-server/app/services/gvg/gvgFightService.ts | 8 +++++++- shared/consts/statusCode.ts | 1 + 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/game-server/app/servers/guild/handler/gvgFightHandler.ts b/game-server/app/servers/guild/handler/gvgFightHandler.ts index 8f814e298..3d402c3d8 100644 --- a/game-server/app/servers/guild/handler/gvgFightHandler.ts +++ b/game-server/app/servers/guild/handler/gvgFightHandler.ts @@ -17,7 +17,7 @@ import { GVG } from "../../../pubUtils/dicParam"; import { RewardInter } from "../../../pubUtils/interface"; import { resResult } from "../../../pubUtils/util"; import { isHeroHidden } from "../../../services/dataService"; -import { calBreakGoods, checkHeroIsUsedInOtherVestige, checkVestige, checkVestigeOppStatus, checkVestigeRank, generateAttackHeroInfo, generateAttackInfo, generateDefenseInfo, getDayKeyInfo, getMyVestigeRank, getOppDetailData, getOppPlayerByRanks, getVestigeRecStatus, getVestigeRank, getVestigeUsedHeroes, isRobot, refreshVestigeOppRanks, saveScoreToRank, updateMyVestigeRank, saveVestigeRankSchedule, calVestigeLeagueBoxRewards } from "../../../services/gvg/gvgFightService"; +import { calBreakGoods, checkHeroIsUsedInOtherVestige, checkVestige, checkVestigeOppStatus, checkVestigeRank, generateAttackHeroInfo, generateAttackInfo, generateDefenseInfo, getDayKeyInfo, getMyVestigeRank, getOppDetailData, getOppPlayerByRanks, getVestigeRecStatus, getVestigeRank, getVestigeUsedHeroes, isRobot, refreshVestigeOppRanks, saveScoreToRank, updateMyVestigeRank, saveVestigeRankSchedule, calVestigeLeagueBoxRewards, checkFightTime } from "../../../services/gvg/gvgFightService"; import { addGVGReward, combinePushItem, handleGVGCost } from "../../../services/gvg/gvgItemService"; import { addGVGActive } from "../../../services/gvg/gvgPrepareService"; import { addVestigeBattleEndRec } from "../../../services/gvg/gvgRecService"; @@ -200,6 +200,8 @@ export class GVGProduceHandler { let { configId, period } = getGVGPeriodData(); if(period != GVG_PERIOD.PREPARE) return resResult(STATUS.GVG_NOT_PREPARE_PERIOD); + if(!checkFightTime()) return resResult(STATUS.GVG_VESTIGE_TIME_OUT); + if(!await checkVestige(serverId, vestigeId)) { return resResult(STATUS.GVG_VESTIGE_ERR); } diff --git a/game-server/app/services/gvg/gvgFightService.ts b/game-server/app/services/gvg/gvgFightService.ts index 1048d3ec1..8e5623063 100644 --- a/game-server/app/services/gvg/gvgFightService.ts +++ b/game-server/app/services/gvg/gvgFightService.ts @@ -20,7 +20,7 @@ import { KeyNameParam, LeagueRankInfo, myIdInter, RoleRankInfo } from "../../dom import { gameData, getGVGVestigeLeagueRank, getGVGVestigeRange } from "../../pubUtils/data"; import { GVG } from "../../pubUtils/dicParam"; import { RewardInter } from "../../pubUtils/interface"; -import { getTimeFun } from "../../pubUtils/timeUtil"; +import { getTimeFun, nowSeconds } from "../../pubUtils/timeUtil"; import { getRandEelm } from "../../pubUtils/util"; import { getNumberArr, uniqueArr } from "../ladderService"; import { getHeroesAttributes } from "../playerCeService"; @@ -41,6 +41,12 @@ export function getFightTimeByPeriod(period: GVG_PERIOD) { } } +export function checkFightTime() { + let { startFightTime, endFightTime } = getFightTimeByPeriod(GVG_PERIOD.PREPARE); + let now = nowSeconds(); + return startFightTime <= now && endFightTime >= now; +} + // 征战中原每天随机的遗迹点 export async function getVestiges(serverId: number) { let groupId = await getGroupIdOfServer(serverId); diff --git a/shared/consts/statusCode.ts b/shared/consts/statusCode.ts index ad8e6bcae..97c975723 100644 --- a/shared/consts/statusCode.ts +++ b/shared/consts/statusCode.ts @@ -356,6 +356,7 @@ export const STATUS = { GVG_VESTIGE_RANK_NOT_INIT: { code: 21366, simStr: '玩家数据未初始' }, GVG_VESTIGE_REFESH_CNT_MAX: { code: 21367, simStr: '遗迹刷新次数不足' }, GVG_RECEIVE_NO_RANK_REWARD: { code: 21368, simStr: '没有可领取的奖励' }, + GVG_VESTIGE_TIME_OUT: { code: 21369, simStr: '今天遗迹已结算,不可再挑战' }, // 通用 30000 - 30099 DIC_DATA_NOT_FOUND: { code: 30000, simStr: '数据表未找到' },