mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-21 02:37:05 +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 { superCompress } from '../../src/core/blitzkrieg/superCompress';
|
||||
import {
|
||||
CrewMember,
|
||||
GunDefinition,
|
||||
ShellType,
|
||||
TankDefinition,
|
||||
TankDefinitionPrice,
|
||||
TankDefinitions,
|
||||
Tier,
|
||||
@@ -84,6 +86,7 @@ interface VehicleDefinitions {
|
||||
still: number;
|
||||
firePenalty: number;
|
||||
};
|
||||
crew: Record<CrewMember, string | string[]>;
|
||||
speedLimits: {
|
||||
forward: number;
|
||||
backward: number;
|
||||
@@ -436,9 +439,21 @@ export async function definitions(production: boolean) {
|
||||
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] = {
|
||||
id: tankId,
|
||||
crew,
|
||||
weight: tankDefinition.root.hull.weight,
|
||||
health: tankDefinition.root.hull.maxHealth,
|
||||
speed: {
|
||||
|
||||
@@ -13,9 +13,16 @@ export const SHELL_NAMES: Record<ShellType, string> = {
|
||||
he: 'HE',
|
||||
};
|
||||
|
||||
export type CrewMember =
|
||||
| 'commander'
|
||||
| 'radioman'
|
||||
| 'gunner'
|
||||
| 'driver'
|
||||
| 'loader';
|
||||
export type TankDefinitions = Record<number, TankDefinition>;
|
||||
export interface TankDefinition {
|
||||
id: number;
|
||||
crew: { [crew in CrewMember]?: number };
|
||||
health: number;
|
||||
nation: string;
|
||||
name: string;
|
||||
|
||||
Reference in new issue
Block a user