军团活动:排行榜&军功上报

This commit is contained in:
luying
2021-03-18 11:59:53 +08:00
parent 4340f9a0b0
commit 9a463afd0d
27 changed files with 1963 additions and 29 deletions
+5 -1
View File
@@ -58,6 +58,8 @@ import { dicArmyDonate } from '../pubUtils/dictionary/DicArmyDonateBoxReward';
import { dicRoleFriend, DicRoleFriend } from "./dictionary/DicRoleFriend";
import { dicRoleFriendLv } from "./dictionary/DicRoleFriendLv";
import { Attribute } from "../domain/roleField/attribute";
import { dicGuildActivity } from './dictionary/DicGuildActivity';
import { dicGateActivityPoint } from './dictionary/DicGateActivityPoint';
export const gameData = {
blurprtCompose: dicBlueprtCompose,
@@ -139,7 +141,9 @@ export const gameData = {
armyDonateBox: dicArmyDonate,
roleFriend: dicRoleFriend,
roleFriendLv: dicRoleFriendLv,
figureCondition: figureCondition
figureCondition: figureCondition,
guildActivity: dicGuildActivity,
gateActivityPoint: dicGateActivityPoint
};
// 在此提供一些原先在gamedata中提供的方法,以便更方便获取gameData数据
+25
View File
@@ -34,6 +34,7 @@ export const PVP = {
PVP_SEASON_DAYS: 30, // PVP一个赛季的时间
PVP_OPPONENT_FREEREFRESH: 3, // pvp挑战对手每日免费刷新次数
PVP_WINREWARD_UPLIMIT: 10, // 连胜奖励军功加成上限
PVP_LINEUP_HEROS: 6, // pvp最多上阵人数
};
export const ARMY = {
ARMY_CREAT_COST: 188, // 创建军团需要的元宝
@@ -75,3 +76,27 @@ export const EXTERIOR = {
EXTERIOR_FACECASE: 11301, // 默认头像框id
EXTERIOR_APPEARANCE: 11419, // 默认形象id
};
export const HTTPMANAGE = {
ADDRESSTYPE: 1, // 1:开发服,2:审核服,3:版号服
SERVERTYPE: 1, // ADDRESSTYPE下服务器的筛选:1:开发服,2:玩家服
};
export const SYSTEAM = {
RECENT_GROUP_MSGS_CNT: 10, // 群消息获取条数
RECENT_PRIVATE_CHATS_CNT: 20, // 最近私聊个数
MSG_TYPE: 0, // 0:纯文本,1:副文本,2:表情
};
export const GUILDACTIVITY = {
GATEACTIVITY_CHALLENGE_TIMES: 1, // 蛮夷入侵每天可以挑战次的次数
GATEACTIVITY_HONOUR_RATIO: 0.5, // 功勋/积分的系数
GATEACTIVITY_ENEMYCE: 2000, // 蛮夷入侵敌军2000战力模板
GATEACTIVITY_ROUNDSTANDARD: 20, // 蛮夷入侵和基准战力相当的回合
CITYACTIVITY_CHALLENGE_CD: 300, // 诸侯混战每次战斗之后的cd间隔
CITYACTIVITY_CD_COST: 100, // 诸侯混战取消cd需要消耗的元宝数
CITYACTIVITY_ROUND_COUNT: 40, // 诸侯混战的总回合数量
RACEACTIVITY_LENGTH: 1000, // 粮草先行赛道的总米数
RACEACTIVITY_ENCOUNTER: '100&1|200&2|300&2|400&1|500&2|600&2|700&1|800&2|900&2', // 触发道具和事件的米数(1:道具;2:事件)
RACEACTIVITY_EVENT_RATIO: 0.5, // 触发事件好坏的比例
GATEACTIVITY_GATEHP: 10000, // 城门血量
GATEACTIVITY_BOSS_DIFFICULT: '1&1.2|2&1.5', // boss类型&难度系数|boss类型&难度系数(1:小boss,2:大boss)
RACEACTIVITY_DURABILITY_REWARD: 2, // 每剩余1%耐久度给予X点功勋
};
@@ -0,0 +1,15 @@
import { readJsonFile } from '../util'
import { FILENAME } from '../../consts'
export interface DicGkPvp {
readonly id: number;
readonly point: number;
}
const str = readJsonFile(FILENAME.DIC_GATE_ACTIVITY_POINT);
let arr = JSON.parse(str);
export const dicGateActivityPoint = new Map<number, number>();
arr.forEach(o => {
dicGateActivityPoint.set(o.id, o.point);
});
@@ -0,0 +1,33 @@
// 军团活动
import { readJsonFile, parseNumberList } from '../util'
import { FILENAME } from '../../consts'
export interface DicGuildActivity {
// id
readonly id: number;
// 开启日期 星期几
readonly openDay: number[];
// 持续时间 秒
readonly duringTime: number;
// 开启时间 几点
readonly startTime: number;
// 开始倒计时 几点
readonly countDown: number;
// 对应关卡id
readonly warid: number;
// 基础功勋值
readonly honour: number;
}
const str = readJsonFile(FILENAME.DIC_GUILD_ACTIVITY);
let arr = JSON.parse(str);
export const dicGuildActivity = new Map<number, DicGuildActivity>();
arr.forEach(o => {
o.openDay = parseNumberList(o.openDay)
dicGuildActivity.set( o.id, o );
});
arr = undefined;
+2
View File
@@ -41,6 +41,8 @@ export interface DicWarJson {
readonly spine: string;
// boss阶段
readonly bossStage: number;
// 敌人是小boss还是大boss,和gateActivityPoint的id相对应
readonly enemyType: number;
// 召唤技能的召唤物
readonly callSkillData: string;
+27
View File
@@ -88,6 +88,22 @@ export function getCurHourPoint(hour: number) {
return time;
}
/**
* 获取第2天凌晨几点的时间戳
* @param hour
*/
export function getNextHourPoint(hour: number) {
var date = new Date();
date.setHours(hour);
date.setMinutes(0);
date.setSeconds(0);
var time = Math.floor(date.getTime() / PER_SECOND);
if (nowSeconds() > time) {
return time + PER_DAY;
}
return time;
}
export function getTodayZeroDate() {
var date = new Date();
date.setHours(0);
@@ -145,3 +161,14 @@ export function getNextTime(date: Date, h: number, m = 0, s = 0): Date {
const timeToday = new Date(milliseconds).setHours(h, m, s);
return timeToday > milliseconds ? new Date(timeToday) : new Date(timeToday + PER_DAY * PER_SECOND);
}
/**
* 获得某个时间是星期几
* @param {Date} time
*/
export function getCutDay(time?: Date) {
if(!time) time = new Date();
let d = time.getDay();
if(d == 0) d = 7;
return d;
}