feat: more defs

This commit is contained in:
TrèsAbhi committed 2023-12-12 13:40:58 -06:00
1 parent 2e2ab9b2d9
commit 66dbc5b2ed
10 files changed
+192 -73

No files matched your search

+1 -1
View File
@@ -5,5 +5,5 @@ export async function readXMLDVPL<Type>(file: string) {
const parser = new XMLParser();
const xml = await readStringDVPL(file);
return parser.parse(xml).root as Type;
return parser.parse(xml) as Type;
}
+5
View File
@@ -0,0 +1,5 @@
import { NATION_IDS } from '../../constants/nations';
export function toUniqueId(nation: string, id: number) {
return (id << 8) + (NATION_IDS[nation] << 4) + 1;
}
+8
View File
@@ -0,0 +1,8 @@
export interface BlitzkriegGunDefinition {
id: number;
name: string;
tier: number;
pitch: [number, number];
}
export type BlitzkriegGunDefinitions = Record<number, BlitzkriegGunDefinition>;
+11 -7
View File
@@ -2,27 +2,31 @@ import { deburr } from 'lodash';
import { TankType, TreeTypeString } from '../../../components/Tanks';
import { asset } from '../asset';
export interface TankDefinition {
export interface BlitzkriegTankDefinition {
id: number;
nation: string;
name: string;
name_short?: string;
tree_type: TreeTypeString;
tier: Tier;
type: TankType;
testing?: boolean;
turrets: number[];
}
export type TankDefinitions = Record<number, TankDefinition>;
export type BlitzkriegTankDefinitions = Record<
number,
BlitzkriegTankDefinition
>;
export const tankDefinitions = fetch(asset('definitions/tanks.json'), {
cache: 'no-cache',
}).then(async (response) => response.json() as Promise<TankDefinitions>);
}).then(
async (response) => response.json() as Promise<BlitzkriegTankDefinitions>,
);
const entries = new Promise<TankDefinition[]>(async (resolve) => {
const entries = new Promise<BlitzkriegTankDefinition[]>(async (resolve) => {
resolve(Object.entries(await tankDefinitions).map(([, entry]) => entry));
});
export const tanksDefinitionsArray = new Promise<TankDefinition[]>(
export const tanksDefinitionsArray = new Promise<BlitzkriegTankDefinition[]>(
async (resolve) => {
resolve((await entries).map((entry) => entry));
},
@@ -0,0 +1,12 @@
export interface BlitzkriegTurretDefinition {
id: number;
name: string;
tier: number;
yaw: [number, number];
guns: number[];
}
export type BlitzkriegTurretDefinitions = Record<
number,
BlitzkriegTurretDefinition
>;