diff --git a/public/protos/blitzkit.proto b/public/protos/blitzkit.proto index a756b02c5..9e6edf050 100644 --- a/public/protos/blitzkit.proto +++ b/public/protos/blitzkit.proto @@ -4,7 +4,8 @@ package blitzkit; message AverageDefinitions { map averages = 1; - uint32 players = 2; + uint32 sampled_players = 2; + uint32 scanned_players = 3; } message Tank { diff --git a/src/app/tools/tank-performance/components/Info.tsx b/src/app/tools/tank-performance/components/Info.tsx index 0914f9139..8e10f37e7 100644 --- a/src/app/tools/tank-performance/components/Info.tsx +++ b/src/app/tools/tank-performance/components/Info.tsx @@ -4,9 +4,14 @@ import { InfoCircledIcon } from '@radix-ui/react-icons'; import { Callout, Flex } from '@radix-ui/themes'; import { use } from 'react'; import { averageDefinitions } from '../../../../core/blitzkit/averageDefinitions'; +import { discoveredIdsDefinitions } from '../../../../core/blitzkit/discoveredIdDefinitions'; export function Info() { const awaitedAverageDefinitions = use(averageDefinitions); + const awaitedDiscoveredIdsDefinitions = use(discoveredIdsDefinitions); + const ratio = + awaitedDiscoveredIdsDefinitions.count / + awaitedAverageDefinitions.scanned_players; return ( @@ -15,9 +20,13 @@ export function Info() { - Based on {awaitedAverageDefinitions.players.toLocaleString()} players - with at least 5,000 career battles and 1 battle in the past 120 days. - Player counts are less than real values. Updated daily. + Based on{' '} + {Math.round( + ratio * awaitedAverageDefinitions.sampled_players, + ).toLocaleString()}{' '} + players with at least 5,000 career battles and 1 battle in the past + 120 days. {awaitedDiscoveredIdsDefinitions.count.toLocaleString()}{' '} + scanned in total. Updated daily. diff --git a/src/core/blitzkit/averageDefinitions/index.ts b/src/core/blitzkit/averageDefinitions/index.ts index 033749443..25428a34f 100644 --- a/src/core/blitzkit/averageDefinitions/index.ts +++ b/src/core/blitzkit/averageDefinitions/index.ts @@ -22,7 +22,8 @@ export interface AverageDefinitionsEntrySubPartial { export interface AverageDefinitions { averages: Record; - players: number; + sampled_players: number; + scanned_players: number; } export const averageDefinitions = fetch(asset('definitions/averages.pb'))