✨ feat(gvg): 准备期:千机阁以及获取物品
This commit is contained in:
@@ -119,6 +119,8 @@ import { DicArtifact } from "./dictionary/DicArtifact";
|
||||
import { DicArtifactQuality } from "./dictionary/DicArtifactQuality";
|
||||
import { dicGiftPackagePlan, loadGiftPackagePlan } from "./dictionary/DicGiftPackagePlan";
|
||||
import { dicGVGPeriod, loadGVGPeriod } from './dictionary/DicGVGPeriod';
|
||||
import { dicGVGTech, loadGVGTech } from "./dictionary/DicGVGTech";
|
||||
import { dicGVGItem, loadGVGItem } from "./dictionary/DicGVGItems";
|
||||
|
||||
export const gameData = {
|
||||
daily: dicDaily,
|
||||
@@ -297,6 +299,9 @@ export const gameData = {
|
||||
artifactSeid: dicArtifactSeid,
|
||||
artifactByGroupAndQuality: dicArtifactsByGroup,
|
||||
gvgPeriod: dicGVGPeriod,
|
||||
gvgTech: dicGVGTech,
|
||||
gvgItem: dicGVGItem,
|
||||
gvgActive: new Map<number, number>(),
|
||||
};
|
||||
|
||||
// 在此提供一些原先在gamedata中提供的方法,以便更方便获取gameData数据
|
||||
@@ -1069,6 +1074,13 @@ export function getArtifactWithQuality(artifactId: number): (DicArtifact&DicArti
|
||||
return {...dicArtifact, ...dicArtifactQuality}
|
||||
}
|
||||
|
||||
function parseGVGActive() {
|
||||
let arr = decodeArrayListStr(param.GVG.GVG_LEAGUE_ACTIVE_POINT);
|
||||
for(let [id, active] of arr) {
|
||||
gameData.gvgActive.set(parseInt(id), parseInt(active));
|
||||
}
|
||||
}
|
||||
|
||||
// 初始加载
|
||||
function initDatas() {
|
||||
parseDicParam();
|
||||
@@ -1089,6 +1101,7 @@ function parseDicParam() {
|
||||
loadAuctionTime();
|
||||
decodeLadderBuyCost();
|
||||
parseComBattleRewardTime();
|
||||
parseGVGActive();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1265,6 +1278,8 @@ function loadDatas() {
|
||||
loadArtifactQualityPlan();
|
||||
loadArtifactSeid();
|
||||
loadGVGPeriod();
|
||||
loadGVGTech();
|
||||
loadGVGItem();
|
||||
}
|
||||
|
||||
// 重载dicParam
|
||||
|
||||
40
shared/pubUtils/dictionary/DicGVGItems.ts
Normal file
40
shared/pubUtils/dictionary/DicGVGItems.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
// GVG道具
|
||||
import { FILENAME } from '../../consts'
|
||||
import { RewardInter } from '../interface';
|
||||
import { parseGoodStr, readFileAndParse } from '../util'
|
||||
|
||||
export interface DicGVGItem {
|
||||
// 道具id
|
||||
id: number;
|
||||
// 点名称
|
||||
name: string
|
||||
// 1-种子 2-铲子 3-斧子 4-内政外政令 5-战功 6-激战期用的复活令&匕首
|
||||
type: number;
|
||||
// 1-每日刷新 2-赛期内刷新
|
||||
refreshType: number;
|
||||
// 兑换物品表消耗
|
||||
consume: RewardInter[];
|
||||
// 这个表里的兑换消耗
|
||||
leagueConsume: RewardInter[];
|
||||
// 耐久度或者产量
|
||||
value: number,
|
||||
// 消耗后可获得的奖励
|
||||
reward: RewardInter[];
|
||||
// 消耗后可获得的这张表里的奖励
|
||||
leagueReward: RewardInter[];
|
||||
}
|
||||
|
||||
export const dicGVGItem = new Map<number, DicGVGItem>();
|
||||
export function loadGVGItem() {
|
||||
dicGVGItem.clear();
|
||||
|
||||
let arr = readFileAndParse(FILENAME.DIC_GVG_ITEM);
|
||||
arr.forEach(o => {
|
||||
o.consume = parseGoodStr(o.consume);
|
||||
o.leagueConsume = parseGoodStr(o.leagueConsume);
|
||||
o.reward = parseGoodStr(o.reward);
|
||||
o.leagueReward = parseGoodStr(o.leagueReward);
|
||||
dicGVGItem.set(o.id, o);
|
||||
});
|
||||
arr = undefined;
|
||||
}
|
||||
44
shared/pubUtils/dictionary/DicGVGTech.ts
Normal file
44
shared/pubUtils/dictionary/DicGVGTech.ts
Normal file
@@ -0,0 +1,44 @@
|
||||
// GVG千机阁
|
||||
import { FILENAME } from '../../consts'
|
||||
import { decodeArrayListStr, readFileAndParse } from '../util'
|
||||
|
||||
export interface DicGVGTech {
|
||||
// 唯一id
|
||||
id: number;
|
||||
// 点名称
|
||||
name: string
|
||||
// 激活后获得的内容
|
||||
content: string;
|
||||
// 效果类型 1-资源产量上传 2-征战中原提升 3-激战期提升 4-复活cd减少 5-箭塔 6-攻城车
|
||||
type: number;
|
||||
// 资源提升量啊,复活cd减少量啊之类的值
|
||||
param: number;
|
||||
// 点排序
|
||||
nodeSort: number;
|
||||
// 联军等级限制
|
||||
levelLimit: number;
|
||||
// 前置id
|
||||
prepositionId: number[][];
|
||||
// 所需的战功
|
||||
consume: number;
|
||||
}
|
||||
|
||||
export const dicGVGTech = new Map<number, DicGVGTech>();
|
||||
export function loadGVGTech() {
|
||||
dicGVGTech.clear();
|
||||
|
||||
let arr = readFileAndParse(FILENAME.DIC_GVG_TECH);
|
||||
arr.forEach(o => {
|
||||
o.prepositionId = parsePrePositionId(o.prepositionId);
|
||||
dicGVGTech.set(o.id, o);
|
||||
});
|
||||
arr = undefined;
|
||||
}
|
||||
|
||||
|
||||
function parsePrePositionId(str: string) {
|
||||
let arr = decodeArrayListStr(str);
|
||||
return arr.map(arr1 => {
|
||||
return arr1.map(str => parseInt(str));
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user