feat(gvg): 准备期征战中原初始

This commit is contained in:
luying
2023-01-30 10:24:54 +08:00
parent 3a71d7da97
commit 3c8ac3c9e5
11 changed files with 244 additions and 16 deletions

View File

@@ -7,4 +7,12 @@ import { GVGLeagueType } from "../../db/GVGLeague";
*/
export async function getGVGCities(league: GVGLeagueType) {
return []
}
/**
* TODO 获取当前城池状态
* @returns [{cityId: number, guardLeagueName: string, teamCnt: number }]
*/
export async function getGVGCitiesInfo(league: GVGLeagueType): Promise<{cityId: number, guardLeagueName: string, teamCnt: number }[]> {
return [];
}

View File

@@ -0,0 +1,33 @@
// 征战中原相关
import { GVG_PERIOD } from "../../consts";
import { GVGVestigeModel } from "../../db/GVGVestige";
import { gameData } from "../../pubUtils/data";
import { getTimeFun } from "../../pubUtils/timeUtil";
import { getRandEelm } from "../../pubUtils/util";
import { getGroupIdOfServer, getGVGServerType } from "./gvgService";
// 备战期的遗迹和激战期的开始结束战斗时间
export function getFightTimeByPeriod(period: GVG_PERIOD) {
let dicPeriod = gameData.gvgPeriod.get(period);
if(!dicPeriod) return { startFightTime: 0, endFightTime: 0 };
return {
startFightTime: <number>getTimeFun().getTimeWithHour(dicPeriod.startHour, dicPeriod.startMinute, dicPeriod.startSecond),
endFightTime: <number>getTimeFun().getTimeWithHour(dicPeriod.endHour, dicPeriod.endMinute, dicPeriod.endSecond),
}
}
// 征战中原每天随机的遗迹点
export async function getVestiges(serverId: number) {
let groupId = await getGroupIdOfServer(serverId);
let serverType = await getGVGServerType(serverId);
let vestige = await GVGVestigeModel.getVestigate(groupId);
if(!vestige) {
let dicGVGVestige = gameData.gvgVestigeByServerType.get(serverType)||[];
let cnt = gameData.gvgVestigeCntByServerType.get(serverType)||0;
let randResult = getRandEelm(dicGVGVestige, cnt);
vestige = await GVGVestigeModel.initTodayVestigate(groupId, serverType, randResult);
}
return vestige.vestiges||[];
}

View File

@@ -38,9 +38,9 @@ export function getPeriodTime() {
let battleConfig = gameData.gvgPeriod.get(GVG_PERIOD.BATTLE);
// 如果现在是周日,那么就是本周期的组队开始时间,如果是其他日子(启动初始化),就是下周期的组队开始时间
let _teamTime = <number>getTimeFun().getTimeWithWeek(teamConfig.startDay, teamConfig.startHour, teamConfig.startMinute, teamConfig.startSecond);
let _prepareTime = <number>getTimeFun().getTimeWithWeek(prepareConfig.startDay, prepareConfig.startHour, prepareConfig.startMinute, prepareConfig.startSecond);
let _battleTime = <number>getTimeFun().getTimeWithWeek(battleConfig.startDay, battleConfig.startHour, battleConfig.startMinute, battleConfig.startSecond);
let _teamTime = <number>getTimeFun().getTimeWithWeek(teamConfig.startDay);
let _prepareTime = <number>getTimeFun().getTimeWithWeek(prepareConfig.startDay);
let _battleTime = <number>getTimeFun().getTimeWithWeek(battleConfig.startDay);
console.log('_teamTime: ', _teamTime);
let teamTime = curDay == 0? _teamTime: _teamTime - 7 * 86400;
@@ -61,7 +61,6 @@ export async function setGVGConfig(config?: GVGConfigType) {
if(!config) {
config = await GVGConfigModel.findConfig();
}
console.log('##### setGVGConfig', config)
pinus.app.set('gvgConfigId', config.configId);
pinus.app.set('gvgTeamTime', config.teamTime);
pinus.app.set('gvgPrepareTime', config.prepareTime);
@@ -99,14 +98,12 @@ function getCurrentTeamTime(time: number) {
}
export async function getGVGServerType(serverId: number) {
console.log('#### serverId', serverId)
let openTime = await getServerCreateTime(serverId);
return getServerTypeByTime(openTime)
}
export function getGVGPeriodData() {
let { configId, teamTime, prepareTime, battleTime, scheduleTime } = getGVGConfig();
console.log('#### getGVGPeriodData', configId, teamTime, prepareTime, battleTime, scheduleTime)
let period = getCurPeriod();
let countdownTime = teamTime;
switch(period) {
@@ -166,7 +163,6 @@ export async function getServersOfSameGroup(type: GVG_SERVER_TYPE, id: number) {
if(type == GVG_SERVER_TYPE.SINGLE) return [id];
let groupId = await getGroupIdOfServer(id);
console.log('###### getServersOfSameGroup', type, groupId, id);
return await getServersByGroupId(groupId);
}