✨ feat(gvg): 占领城池对内政产量的加成

This commit is contained in:
luying
2023-02-17 10:58:06 +08:00
parent 7895c08f16
commit 72a25640aa
6 changed files with 139 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
// GVG城池
import { FILENAME } from '../../consts'
import { parseNumberList, readFileAndParse } from '../util'
export interface DicGVGArea {
// 区域id
areaId: number;
// 大地图id
mapId: string
// 大地图类型 1-单服 2-跨服
mapType: number;
// 城池id
cityId: number;
// 城池类型
cityType: number;
// 区域类型 1-守方备战区 2-攻方备战区 3-大据点区 4-中据点区 5-小据点区 6-投石车区
areaType: number;
// 区域管理
relateArea: number[];
// 0表不能被投石车选中作为攻击区域,1表能
catapultAttack: number;
}
export const dicGVGArea = new Map<number, DicGVGArea>();
export const dicGVGCity = new Map<number, { cityType: number, areaIds: number[] }>();
export function loadGVGArea() {
dicGVGArea.clear();
dicGVGCity.clear();
let arr = readFileAndParse(FILENAME.DIC_GVG_AREA);
arr.forEach(o => {
o.relateArea = parseNumberList(o.relateArea);
if(!dicGVGCity.has(o.cityId)) {
dicGVGCity.set(o.cityId, { cityType: o.cityType, areaIds: [] });
}
dicGVGCity.get(o.cityId)?.areaIds.push(o.areaId);
dicGVGArea.set(o.areaId, o);
});
arr = undefined;
}
@@ -0,0 +1,25 @@
// GVG城池
import { FILENAME } from '../../consts'
import { readFileAndParse } from '../util'
export interface DicGVGCityAdd {
// 城池类型 1-大城 2-中城 3-小城
cityType: number;
// dic_zyz_GVGResourceBase的type
resourceType: number;
// 联盟币的加成
coinAdd: number;
// 产量加成
outputAdd: number;
}
export const dicGVGCityAdd = new Map<string, DicGVGCityAdd>();
export function loadGVGCityAdd() {
dicGVGCityAdd.clear();
let arr = readFileAndParse(FILENAME.DIC_GVG_CITY_ADD);
arr.forEach(o => {
dicGVGCityAdd.set(`${o.cityType}_${o.resourceType}`, o);
});
arr = undefined;
}