✨ feat(gvg): 准备期征战中原初始
This commit is contained in:
@@ -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 [];
|
||||
}
|
||||
33
game-server/app/services/gvg/gvgFightService.ts
Normal file
33
game-server/app/services/gvg/gvgFightService.ts
Normal 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||[];
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user