mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-24 03:59:50 +02:00
feat: crew
This commit is contained in:
1 parent
c128d8ab0c
commit
2a70602f7e
2 files changed
+22
No files matched your search
@@ -23,8 +23,10 @@ import {
|
|||||||
import { ProvisionDefinitions } from '../../src/core/blitzkrieg/provisionDefinitions';
|
import { ProvisionDefinitions } from '../../src/core/blitzkrieg/provisionDefinitions';
|
||||||
import { superCompress } from '../../src/core/blitzkrieg/superCompress';
|
import { superCompress } from '../../src/core/blitzkrieg/superCompress';
|
||||||
import {
|
import {
|
||||||
|
CrewMember,
|
||||||
GunDefinition,
|
GunDefinition,
|
||||||
ShellType,
|
ShellType,
|
||||||
|
TankDefinition,
|
||||||
TankDefinitionPrice,
|
TankDefinitionPrice,
|
||||||
TankDefinitions,
|
TankDefinitions,
|
||||||
Tier,
|
Tier,
|
||||||
@@ -84,6 +86,7 @@ interface VehicleDefinitions {
|
|||||||
still: number;
|
still: number;
|
||||||
firePenalty: number;
|
firePenalty: number;
|
||||||
};
|
};
|
||||||
|
crew: Record<CrewMember, string | string[]>;
|
||||||
speedLimits: {
|
speedLimits: {
|
||||||
forward: number;
|
forward: number;
|
||||||
backward: number;
|
backward: number;
|
||||||
@@ -436,9 +439,21 @@ export async function definitions(production: boolean) {
|
|||||||
hullArmor.spaced.push(armorId);
|
hullArmor.spaced.push(armorId);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
const crew: TankDefinition['crew'] = {};
|
||||||
|
|
||||||
|
Object.entries(tankDefinition.root.crew).forEach(([key, value]) => {
|
||||||
|
if (!(key in crew)) crew[key as CrewMember] = 0;
|
||||||
|
|
||||||
|
if (typeof value === 'string') {
|
||||||
|
crew[key as CrewMember]!++;
|
||||||
|
} else {
|
||||||
|
crew[key as CrewMember]! += value.length;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
tankDefinitions[tankId] = {
|
tankDefinitions[tankId] = {
|
||||||
id: tankId,
|
id: tankId,
|
||||||
|
crew,
|
||||||
weight: tankDefinition.root.hull.weight,
|
weight: tankDefinition.root.hull.weight,
|
||||||
health: tankDefinition.root.hull.maxHealth,
|
health: tankDefinition.root.hull.maxHealth,
|
||||||
speed: {
|
speed: {
|
||||||
|
|||||||
@@ -13,9 +13,16 @@ export const SHELL_NAMES: Record<ShellType, string> = {
|
|||||||
he: 'HE',
|
he: 'HE',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type CrewMember =
|
||||||
|
| 'commander'
|
||||||
|
| 'radioman'
|
||||||
|
| 'gunner'
|
||||||
|
| 'driver'
|
||||||
|
| 'loader';
|
||||||
export type TankDefinitions = Record<number, TankDefinition>;
|
export type TankDefinitions = Record<number, TankDefinition>;
|
||||||
export interface TankDefinition {
|
export interface TankDefinition {
|
||||||
id: number;
|
id: number;
|
||||||
|
crew: { [crew in CrewMember]?: number };
|
||||||
health: number;
|
health: number;
|
||||||
nation: string;
|
nation: string;
|
||||||
name: string;
|
name: string;
|
||||||
|
|||||||
Reference in new issue
Block a user