2023-10-11 18:57:51 -05:00
|
|
|
import { TierWeightsRecord } from '../../components/TierWeights';
|
2024-04-23 09:57:59 -05:00
|
|
|
import { tankDefinitions } from '../blitzkit/tankDefinitions';
|
2024-08-10 13:29:10 -05:00
|
|
|
import { BlitzStats } from './compositeStats/constants';
|
2023-10-11 18:57:51 -05:00
|
|
|
|
|
|
|
|
export async function getTierWeights(
|
2024-08-10 13:29:10 -05:00
|
|
|
stats: Record<number, BlitzStats>,
|
2023-10-11 18:57:51 -05:00
|
|
|
order: number[] = Object.keys(stats).map(parseInt),
|
|
|
|
|
) {
|
2023-12-05 17:36:18 -06:00
|
|
|
const awaitedTankDefinitions = await tankDefinitions;
|
2023-10-11 18:57:51 -05:00
|
|
|
const tierWeights: TierWeightsRecord = {};
|
|
|
|
|
|
2023-11-29 12:17:21 -06:00
|
|
|
order.forEach((id) => {
|
2023-12-05 17:36:18 -06:00
|
|
|
const entry = awaitedTankDefinitions[id];
|
2023-10-11 18:57:51 -05:00
|
|
|
|
|
|
|
|
if (!entry) return;
|
|
|
|
|
if (!tierWeights[entry.tier]) tierWeights[entry.tier] = 0;
|
|
|
|
|
|
|
|
|
|
tierWeights[entry.tier]! += stats[id].battles;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return tierWeights;
|
|
|
|
|
}
|