✨ feat(gvg): 遗迹生成数据

This commit is contained in:
luying
2023-02-17 10:58:06 +08:00
parent 3c8ac3c9e5
commit 4035645772
12 changed files with 2174 additions and 1270 deletions
+15
View File
@@ -129,6 +129,7 @@ import { dicGVGCityAdd, loadGVGCityAdd } from './dictionary/DicGVGCityAdd';
import { dicGVGTask, dicGVGTaskByType, loadGVGTask } from './dictionary/DicGVGTask';
import { dicGVGVestigeByType, loadGVGVestigeType } from './dictionary/DicGVGVestigeType';
import { dicGVGVestige, loadGVGVestige } from './dictionary/DicGVGVestige';
import { DicGVGVestigeRange, dicGVGVestigeRange, loadGVGVestigeRange } from './dictionary/DicGVGVestigeRange';
export const gameData = {
daily: dicDaily,
@@ -325,6 +326,7 @@ export const gameData = {
gvgVestigeByServerType: dicGVGVestigeByType,
gvgVestigeCntByServerType: new Map<number, number>(), // 单服or跨服 => 遗迹数量
gvgVestige: dicGVGVestige,
gvgVestigeRange: dicGVGVestigeRange,
};
// 在此提供一些原先在gamedata中提供的方法,以便更方便获取gameData数据
@@ -1169,6 +1171,18 @@ function parseGVGVestigeCnt() {
}
}
export function getGVGVestigeRange(myRank: number) {
let latestRank: DicGVGVestigeRange;
for(let dic of gameData.gvgVestigeRange) {
latestRank = dic;
let { rankMin, rankMax } = dic;
if((rankMin < myRank && (rankMax >= myRank || rankMax == -1))) {
return dic;
}
}
return latestRank
}
// 初始加载
function initDatas() {
parseDicParam();
@@ -1379,6 +1393,7 @@ function loadDatas() {
loadGVGTask();
loadGVGVestigeType();
loadGVGVestige();
loadGVGVestigeRange();
}
// 重载dicParam
+4 -2
View File
@@ -391,6 +391,8 @@ export const GVG = {
GVG_FARM_LOCK_TIME: 300, // 农田锁定时间(秒)
GVG_MINE_LOCK_TIME: 300, // 矿山锁定时间(秒)
GVG_FORESTRY_LOCK_TIME: 300, // 林场锁定时间(秒)
GVG_FIELD_TYPE_RATIO: '1&5|2&10|3&10', // 全联盟的特殊格子上限百分比(a%的格子为小麦这个)1&a|2&b|3&c
GVG_SP_FIELD_RATIO: '10&30', // 分配给玩家的时候有多少特殊格子 min&max 填最大最小百分比即可
GVG_FIELD_TYPE_RATIO: '1&5%|2&10%|3&10%', // 全联盟的特殊格子上限百分比(a%的格子为小麦这个)1&a|2&b|3&c
GVG_SP_FIELD_RATIO: '10%&30%', // 分配给玩家的时候有多少特殊格子 min&max 填最大最小百分比即可
GVG_REFRESH_TIME: 5, // 0
GVG_ROBOT_NAME: '遗迹守护者', // 0
};
+5 -4
View File
@@ -12,12 +12,12 @@ export interface DicGVGVestige {
readonly rank: number;
// 驻扎分
readonly score: number;
// 机器人的名字
readonly name: string;
// 显示在上面的形象
readonly spine: number;
// 显示在详情的头像
readonly head: number;
// 显示在上面的形象
readonly spine: number;
// 显示的机器人的等级
readonly level: number;
// 显示战力
readonly ce: number;
// 突破奖励
@@ -42,6 +42,7 @@ export function loadGVGVestige() {
o.onceLeagueReward = parseGoodStr(o.onceLeagueReward);
o.battleReward = parseGoodStr(o.battleReward);
o.battleLeagueReward = parseGoodStr(o.battleLeagueReward);
o.warId = parseInt(o.warId);
if(!dicGVGVestige.has(o.vestigeId)) {
dicGVGVestige.set(o.vestigeId, new Map());
}
@@ -0,0 +1,39 @@
// GVG遗迹
import { FILENAME } from '../../consts'
import { readFileAndParse } from '../util'
export interface DicGVGVestigeRange {
// id
id: number;
// 最低排名(不含)
rankMin: number;
// 最高排名(含)
rankMax: number;
// 往前随机的排名最高是多少名
rangeBeforeFrom: number;
// 往前随机的排名最低是多少名
rangeBeforeTo: number;
// 往前随机的排名里随机多少个
rangeBeforeNum: number;
// 往后随机的排名最高是多少名
rangeAfterFrom: number;
// 往后随机的排名最低是多少名
rangeAfterTo: number;
// 往后随机的排名最低是多少名
rangeAfterNum: number;
// 是否显示前十名/前五名
topChallengeFrom: number;
// 是否显示前十名/前五名
topChallengeTo: number;
}
export const dicGVGVestigeRange: DicGVGVestigeRange[] = [];
export function loadGVGVestigeRange() {
dicGVGVestigeRange.splice(0, dicGVGVestigeRange.length);
let arr = readFileAndParse(FILENAME.DIC_GVG_VESTIGE_RANGE);
arr.forEach(o => {
dicGVGVestigeRange.push(o);
});
arr = undefined;
}