From fcb848df5b81b2a8a2d178df446169c8f19e1e3b Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Wed, 20 Nov 2024 10:26:55 -0600 Subject: [PATCH] feat: change tier back to number --- packages/bot/src/commands/ownedTanks.tsx | 3 +- .../bot/src/commands/ratingLeaderboard.tsx | 2 - .../src/core/blitzkit/filtersToDescription.ts | 8 +--- packages/core/src/blitz/equipmentPrice.ts | 23 ++++++----- packages/core/src/blitz/getRatingInfo.ts | 38 +++++++++---------- packages/core/src/blitz/index.ts | 2 +- packages/core/src/blitzkit/index.ts | 2 +- .../src/blitzkit/tankDefinitions/constants.ts | 37 +++++++----------- .../core/src/statistics/getTierWeights.ts | 3 +- .../scripts/src/buildAssets/definitions.ts | 19 +++++----- .../TankSearch/components/FilterControl.tsx | 5 +-- .../TankSearch/components/TierFilter.tsx | 31 ++++++--------- .../components/Modules.tsx | 3 +- .../TechTreeSection/components/Node.tsx | 3 +- .../Tankopedia/TechTreeSection/index.tsx | 16 +++----- packages/website/src/stores/tankFilters.ts | 4 +- 16 files changed, 80 insertions(+), 119 deletions(-) diff --git a/packages/bot/src/commands/ownedTanks.tsx b/packages/bot/src/commands/ownedTanks.tsx index e428c329a..9b6663b28 100644 --- a/packages/bot/src/commands/ownedTanks.tsx +++ b/packages/bot/src/commands/ownedTanks.tsx @@ -2,7 +2,6 @@ import { TANK_CLASSES, TIER_ROMAN_NUMERALS, TankDefinition, - Tier, flags, getAccountInfo, getTankStats, @@ -80,7 +79,7 @@ export const ownedTanksCommand = new Promise((resolve) => { index === 0 ? `${translate('bot.commands.owned_tanks.body.title', [ markdownEscape(accountInfo.nickname), - TIER_ROMAN_NUMERALS[tier as Tier], + TIER_ROMAN_NUMERALS[tier], ])}${lines.join('\n')}` : lines.join('\n'), ); diff --git a/packages/bot/src/commands/ratingLeaderboard.tsx b/packages/bot/src/commands/ratingLeaderboard.tsx index 3eca65e3f..5f527b7d2 100644 --- a/packages/bot/src/commands/ratingLeaderboard.tsx +++ b/packages/bot/src/commands/ratingLeaderboard.tsx @@ -3,7 +3,6 @@ import { FIRST_MINIMAL_ARCHIVED_RATING_SEASON, getAccountInfo, getArchivedLatestSeasonNumber, - getArchivedRatingInfo, getArchivedRatingLeaderboard, getArchivedRatingMidnightLeaderboard, getClanAccountInfo, @@ -12,7 +11,6 @@ import { getRatingNeighbors, isOnGoingRatingSeason, LEAGUES, - RatingInfo, Region, } from '@blitzkit/core'; import { diff --git a/packages/bot/src/core/blitzkit/filtersToDescription.ts b/packages/bot/src/core/blitzkit/filtersToDescription.ts index 321e1bb92..f022a9006 100644 --- a/packages/bot/src/core/blitzkit/filtersToDescription.ts +++ b/packages/bot/src/core/blitzkit/filtersToDescription.ts @@ -1,8 +1,4 @@ -import { - fetchTankDefinitions, - Tier, - TIER_ROMAN_NUMERALS, -} from '@blitzkit/core'; +import { fetchTankDefinitions, TIER_ROMAN_NUMERALS } from '@blitzkit/core'; import { Locale } from 'discord.js'; import { StatFilters } from '../blitzstars/filterStats'; import { translator } from '../localization/translator'; @@ -20,7 +16,7 @@ export async function filtersToDescription( if (nation) info.push(translate(`common.nations.${nation}`)); if (tier) { info.push( - translate('bot.common.filters.tier', [TIER_ROMAN_NUMERALS[tier as Tier]]), + translate('bot.common.filters.tier', [TIER_ROMAN_NUMERALS[tier]]), ); } if (tankClass) info.push(translate(`common.tank_class_short.${tankClass}`)); diff --git a/packages/core/src/blitz/equipmentPrice.ts b/packages/core/src/blitz/equipmentPrice.ts index 1d263c3d3..44da60650 100644 --- a/packages/core/src/blitz/equipmentPrice.ts +++ b/packages/core/src/blitz/equipmentPrice.ts @@ -1,15 +1,14 @@ import { Vector3Tuple } from 'three'; -import { Tier } from '../protos'; -export const equipmentPriceMatrix: Record = { - [Tier.I]: [100, 200, 300], - [Tier.II]: [200, 300, 400], - [Tier.III]: [400, 500, 600], - [Tier.IV]: [4000, 5000, 6000], - [Tier.V]: [40_000, 50_000, 60_000], - [Tier.VI]: [100_000, 120_000, 140_000], - [Tier.VII]: [150_000, 170_000, 190_000], - [Tier.VIII]: [200_000, 225_000, 250_000], - [Tier.IX]: [250_000, 275_000, 300_000], - [Tier.X]: [300_000, 350_000, 400_000], +export const equipmentPriceMatrix: Record = { + 1: [100, 200, 300], + 2: [200, 300, 400], + 3: [400, 500, 600], + 4: [4000, 5000, 6000], + 5: [40_000, 50_000, 60_000], + 6: [100_000, 120_000, 140_000], + 7: [150_000, 170_000, 190_000], + 8: [200_000, 225_000, 250_000], + 9: [250_000, 275_000, 300_000], + 10: [300_000, 350_000, 400_000], }; diff --git a/packages/core/src/blitz/getRatingInfo.ts b/packages/core/src/blitz/getRatingInfo.ts index 8ddaa809a..d778ea600 100644 --- a/packages/core/src/blitz/getRatingInfo.ts +++ b/packages/core/src/blitz/getRatingInfo.ts @@ -1,24 +1,24 @@ -import { RatingInfo, Region } from '@blitzkit/core'; -import { context } from '../blitzkit/context'; -import { patientFetch } from '../blitzkit/patientFetch'; -import { regionToRegionSubdomain } from './regionToRegionSubdomain'; +// import { Region } from '@blitzkit/core'; +// import { context } from '../blitzkit/context'; +// import { patientFetch } from '../blitzkit/patientFetch'; +// import { regionToRegionSubdomain } from './regionToRegionSubdomain'; -const cache: Partial> = {}; +// const cache: Partial> = {}; -export async function getRatingInfo(region: Region) { - if (cache[region]) return cache[region]!; +// export async function getRatingInfo(region: Region) { +// if (cache[region]) return cache[region]!; - const response = await patientFetch( - context === 'website' - ? `/api/${region}/rating/current/info` - : `https://${regionToRegionSubdomain( - region, - )}.wotblitz.com/en/api/rating-leaderboards/season/`, - undefined, - ); - const data = (await response.json()) as RatingInfo; +// const response = await patientFetch( +// context === 'website' +// ? `/api/${region}/rating/current/info` +// : `https://${regionToRegionSubdomain( +// region, +// )}.wotblitz.com/en/api/rating-leaderboards/season/`, +// undefined, +// ); +// const data = (await response.json()) as RatingInfo; - cache[region] = data; +// cache[region] = data; - return data; -} +// return data; +// } diff --git a/packages/core/src/blitz/index.ts b/packages/core/src/blitz/index.ts index aa2aadf58..e69009f61 100644 --- a/packages/core/src/blitz/index.ts +++ b/packages/core/src/blitz/index.ts @@ -9,7 +9,7 @@ export * from './getAccountInfo'; export * from './getClanAccountInfo'; export * from './getClanInfo'; export * from './getLeagueFromScore'; -export * from './getRatingInfo'; +// export * from './getRatingInfo'; export * from './getRatingLeague'; export * from './getRatingNeighbors'; export * from './getTankStats'; diff --git a/packages/core/src/blitzkit/index.ts b/packages/core/src/blitzkit/index.ts index 23e7c6165..496b1330d 100644 --- a/packages/core/src/blitzkit/index.ts +++ b/packages/core/src/blitzkit/index.ts @@ -16,7 +16,7 @@ export * from './eventManager'; // export * from './flagUserActivity'; export * from './gameDefinitions'; export * from './getArchivedLatestSeasonNumber'; -export * from './getArchivedRatingInfo'; +// export * from './getArchivedRatingInfo'; export * from './getArchivedRatingLeaderboard'; export * from './getArchivedRatingMidnightLeaderboard'; export * from './getTimeDaysAgo'; diff --git a/packages/core/src/blitzkit/tankDefinitions/constants.ts b/packages/core/src/blitzkit/tankDefinitions/constants.ts index 36178c3cb..56467f78b 100644 --- a/packages/core/src/blitzkit/tankDefinitions/constants.ts +++ b/packages/core/src/blitzkit/tankDefinitions/constants.ts @@ -1,10 +1,10 @@ +import { times } from 'lodash'; import { CrewType, GunDefinition, ShellType, TankClass, TankType, - Tier, } from '../../protos'; export const SHELL_NAMES: Record = { @@ -55,29 +55,18 @@ export const TANK_ICONS_COLLECTOR: Record = { [TankClass.MEDIUM]: 'https://i.imgur.com/u8YDMBh.png', [TankClass.HEAVY]: 'https://i.imgur.com/8xRf3nc.png', }; -export const TIERS = [ - Tier.I, - Tier.II, - Tier.III, - Tier.IV, - Tier.V, - Tier.VI, - Tier.VII, - Tier.VIII, - Tier.IX, - Tier.X, -]; -export const TIER_ROMAN_NUMERALS: Record = { - [Tier.I]: 'I', - [Tier.II]: 'II', - [Tier.III]: 'III', - [Tier.IV]: 'IV', - [Tier.V]: 'V', - [Tier.VI]: 'VI', - [Tier.VII]: 'VII', - [Tier.VIII]: 'VIII', - [Tier.IX]: 'IX', - [Tier.X]: 'X', +export const TIERS = times(10, (index) => index + 1); +export const TIER_ROMAN_NUMERALS: Record = { + 1: 'I', + 2: 'II', + 3: 'III', + 4: 'IV', + 5: 'V', + 6: 'VI', + 7: 'VII', + 8: 'VIII', + 9: 'IX', + 10: 'X', }; export const flags: Record = { diff --git a/packages/core/src/statistics/getTierWeights.ts b/packages/core/src/statistics/getTierWeights.ts index 2b455cdfd..42b0b0dc1 100644 --- a/packages/core/src/statistics/getTierWeights.ts +++ b/packages/core/src/statistics/getTierWeights.ts @@ -1,5 +1,4 @@ import { fetchTankDefinitions } from '../blitzkit'; -import { Tier } from '../protos'; import { BlitzStats } from './compositeStats/constants'; export async function getTierWeights( @@ -20,4 +19,4 @@ export async function getTierWeights( return tierWeights; } -export type TierWeightsRecord = Partial>; +export type TierWeightsRecord = Partial>; diff --git a/packages/scripts/src/buildAssets/definitions.ts b/packages/scripts/src/buildAssets/definitions.ts index c23de53dd..fc0dfa2dd 100644 --- a/packages/scripts/src/buildAssets/definitions.ts +++ b/packages/scripts/src/buildAssets/definitions.ts @@ -26,7 +26,6 @@ import { TankPrice, TankPriceType, TankType, - Tier, toUniqueId, Unlock, Vector3, @@ -890,7 +889,7 @@ export async function definitions() { : (typeof tank.price === 'number' ? false : 'gold' in tank.price) ? TankType.PREMIUM : TankType.RESEARCHABLE, - tier: (tank.level - 1) as Tier, + tier: tank.level, class: blitzTankClassToBlitzkit[tankTags[0] as BlitzTankClass], testing: tankTags.includes('testTank'), deprecated: tankTags.includes('deprecated'), @@ -967,7 +966,7 @@ export async function definitions() { resistance_hard: terrainResistances[0], resistance_medium: terrainResistances[1], resistance_soft: terrainResistances[2], - tier: (track.level - 1) as Tier, + tier: track.level, unlocks: resolveUnlocks(track.unlocks), }); @@ -990,7 +989,7 @@ export async function definitions() { id: engineId, name: strings[engineListEntry.userString], fire_chance: engineListEntry.fireStartingChance, - tier: (engineListEntry.level - 1) as Tier, + tier: engineListEntry.level, weight: engineListEntry.weight, power: engineListEntry.power, unlocks: resolveUnlocks(engine.unlocks), @@ -1050,7 +1049,7 @@ export async function definitions() { turretKey .replaceAll('_', ' ') .replace(/^(Turret ([0-9] )?)+/, ''), - tier: (turret.level - 1) as Tier, + tier: turret.level, guns: [], health: turret.maxHealth, view_range: turret.circularVisionRadius, @@ -1162,7 +1161,7 @@ export async function definitions() { weight: gunListEntry.weight, rotation_speed: gunListEntry.rotationSpeed, name: gunName, - tier: (gunListEntry.level - 1) as Tier, + tier: gunListEntry.level, shells: [], camouflage_loss: typeof gun.invisibilityFactorAtShot === 'number' @@ -1440,8 +1439,8 @@ export async function definitions() { filter_type: { $case: 'tiers', value: { - min: (includeRaw.minLevel - 1) as Tier, - max: (includeRaw.maxLevel - 1) as Tier, + min: includeRaw.minLevel, + max: includeRaw.maxLevel, }, }, }); @@ -1543,8 +1542,8 @@ export async function definitions() { filter_type: { $case: 'tiers', value: { - min: (includeRaw.minLevel - 1) as Tier, - max: (includeRaw.maxLevel - 1) as Tier, + min: includeRaw.minLevel, + max: includeRaw.maxLevel, }, }, }); diff --git a/packages/website/src/components/TankSearch/components/FilterControl.tsx b/packages/website/src/components/TankSearch/components/FilterControl.tsx index a8047e6fc..4e17e30f0 100644 --- a/packages/website/src/components/TankSearch/components/FilterControl.tsx +++ b/packages/website/src/components/TankSearch/components/FilterControl.tsx @@ -4,7 +4,6 @@ import { TANK_CLASSES, TankType, TIER_ROMAN_NUMERALS, - type Tier, } from '@blitzkit/core'; import { useStore } from '@nanostores/react'; import { ReloadIcon } from '@radix-ui/react-icons'; @@ -42,7 +41,7 @@ export function FilterControl({ compact }: FilterControlProps) { > {times(5, (index) => { - const tier = index as Tier; + const tier = index + 1; const selected = tankFilters.tiers?.includes(tier); return ( @@ -70,7 +69,7 @@ export function FilterControl({ compact }: FilterControlProps) { {times(5, (index) => { - const tier = (index + 5) as Tier; + const tier = index + 6; const selected = tankFilters.tiers?.includes(tier); return ( diff --git a/packages/website/src/components/TankSearch/components/TierFilter.tsx b/packages/website/src/components/TankSearch/components/TierFilter.tsx index e8cd36254..01aefd9d9 100644 --- a/packages/website/src/components/TankSearch/components/TierFilter.tsx +++ b/packages/website/src/components/TankSearch/components/TierFilter.tsx @@ -1,4 +1,4 @@ -import { type Tier, TIER_ROMAN_NUMERALS } from '@blitzkit/core'; +import { TIER_ROMAN_NUMERALS } from '@blitzkit/core'; import { useStore } from '@nanostores/react'; import { Flex, IconButton, Text } from '@radix-ui/themes'; import { times } from 'lodash-es'; @@ -20,7 +20,7 @@ export const TierFilter = memo(() => { style={{ borderRadius: 'var(--radius-full)' }} > {times(10, (index) => { - const tier = (10 - index) as Tier; + const tier = 10 - index; const selected = tankFilters.tiers.includes(tier); return ( @@ -30,25 +30,16 @@ export const TierFilter = memo(() => { radius="none" color={selected ? undefined : 'gray'} highContrast - onClick={() => - // mutateTankFilters((draft) => { - // if (draft.tiers?.includes(tier)) { - // draft.tiers = draft.tiers?.filter((t) => t !== tier); - // } else { - // draft.tiers = [...(draft.tiers ?? []), tier]; - // } - // }) - { - if (tankFilters.tiers.includes(tier)) { - $tankFilters.setKey( - 'tiers', - tankFilters.tiers.filter((t) => t !== tier), - ); - } else { - $tankFilters.setKey('tiers', [...tankFilters.tiers, tier]); - } + onClick={() => { + if (tankFilters.tiers.includes(tier)) { + $tankFilters.setKey( + 'tiers', + tankFilters.tiers.filter((t) => t !== tier), + ); + } else { + $tankFilters.setKey('tiers', [...tankFilters.tiers, tier]); } - } + }} > {TIER_ROMAN_NUMERALS[tier]} diff --git a/packages/website/src/components/Tankopedia/CharacteristicsSection/components/Modules.tsx b/packages/website/src/components/Tankopedia/CharacteristicsSection/components/Modules.tsx index d7d773293..8d1752f8b 100644 --- a/packages/website/src/components/Tankopedia/CharacteristicsSection/components/Modules.tsx +++ b/packages/website/src/components/Tankopedia/CharacteristicsSection/components/Modules.tsx @@ -10,7 +10,6 @@ import { TrackDefinition, TurretDefinition, type TankDefinition, - type Tier, type Unlock, } from '@blitzkit/core'; import { @@ -58,7 +57,7 @@ function ModuleButton({ onClick, }: { unlock: Unlock; - tier: Tier; + tier: number; selected: boolean; top: boolean; onClick: () => void; diff --git a/packages/website/src/components/Tankopedia/TechTreeSection/components/Node.tsx b/packages/website/src/components/Tankopedia/TechTreeSection/components/Node.tsx index 4aeab98ea..07b65fd15 100644 --- a/packages/website/src/components/Tankopedia/TechTreeSection/components/Node.tsx +++ b/packages/website/src/components/Tankopedia/TechTreeSection/components/Node.tsx @@ -3,7 +3,6 @@ import { fetchAverageDefinitions, fetchTankDefinitions, formatCompact, - Tier, TIER_ROMAN_NUMERALS, } from '@blitzkit/core'; import { Box, Flex, Link, Skeleton, Text } from '@radix-ui/themes'; @@ -125,7 +124,7 @@ export function Node({ id, highlight, nextIds, skeleton }: NodeProps) { - {averages && nextTanks && tank.tier !== Tier.X && ( + {averages && nextTanks && tank.tier !== 10 && ( {skeleton && } {!skeleton && ( diff --git a/packages/website/src/components/Tankopedia/TechTreeSection/index.tsx b/packages/website/src/components/Tankopedia/TechTreeSection/index.tsx index a215215c6..a8f4cadc3 100644 --- a/packages/website/src/components/Tankopedia/TechTreeSection/index.tsx +++ b/packages/website/src/components/Tankopedia/TechTreeSection/index.tsx @@ -1,10 +1,4 @@ -import { - asset, - fetchTankDefinitions, - imgur, - TankType, - Tier, -} from '@blitzkit/core'; +import { asset, fetchTankDefinitions, imgur, TankType } from '@blitzkit/core'; import { CaretLeftIcon, CaretRightIcon, PlusIcon } from '@radix-ui/react-icons'; import { Flex, Heading, IconButton, ScrollArea, Text } from '@radix-ui/themes'; import { Fragment, useEffect, useMemo, useRef, useState } from 'react'; @@ -32,10 +26,10 @@ export function TechTreeSection({ skeleton }: MaybeSkeletonComponentProps) { function extend(line: Line): Line[] { const root = tankDefinitions.tanks[line.at(-1)!]; - if (root.ancestors === undefined || root.tier === Tier.I) { + if (root.ancestors === undefined || root.tier === 1) { return [line]; } else { - if (root.ancestors.length === 1 || root.tier === Tier.II) { + if (root.ancestors.length === 1 || root.tier === 2) { line.push( root.ancestors.find( (ancestor) => !tankDefinitions.tanks[ancestor].deprecated, @@ -64,7 +58,7 @@ export function TechTreeSection({ skeleton }: MaybeSkeletonComponentProps) { (xp, id) => xp + (tankDefinitions.tanks[id].research_cost === undefined || - tankDefinitions.tanks[id].tier === Tier.I + tankDefinitions.tanks[id].tier === 1 ? 0 : (tankDefinitions.tanks[id].research_cost.research_cost_type! .value as number)), @@ -191,7 +185,7 @@ export function TechTreeSection({ skeleton }: MaybeSkeletonComponentProps) { ); })} - {master.tier < Tier.X && ( + {master.tier < 10 && ( <> {master.successors!.map((id, index) => ( diff --git a/packages/website/src/stores/tankFilters.ts b/packages/website/src/stores/tankFilters.ts index f57bdf700..bdb4b7dc2 100644 --- a/packages/website/src/stores/tankFilters.ts +++ b/packages/website/src/stores/tankFilters.ts @@ -1,4 +1,4 @@ -import type { GunDefinition, TankClass, TankType, Tier } from '@blitzkit/core'; +import type { GunDefinition, TankClass, TankType } from '@blitzkit/core'; import { map } from 'nanostores'; export type CaseType = T extends { @@ -8,7 +8,7 @@ export type CaseType = T extends { : never; export interface TankFilters { - tiers: Tier[]; + tiers: number[]; nations: string[]; classes: TankClass[]; types: TankType[];