feat: move tankopedia to tankDefinitions

This commit is contained in:
TrèsAbhi committed 2023-12-05 17:36:18 -06:00
1 parent cfe71e15a4
commit ad0fc69596
25 files changed
+270 -295

No files matched your search

+5 -5
View File
@@ -9,8 +9,8 @@ import { getClanAccountInfo } from '../core/blitz/getClanAccountInfo';
import getTankStats from '../core/blitz/getTankStats';
import getTreeType from '../core/blitz/getTreeType';
import resolveTankName from '../core/blitz/resolveTankName';
import { tankDefinitions } from '../core/blitzkrieg/definitions/tanks';
import { filtersToDescription } from '../core/blitzkrieg/filtersToDescription';
import { tankopedia } from '../core/blitzkrieg/tankopedia';
import { getBlitzStarsLinkButton } from '../core/blitzstars/getBlitzStarsLinkButton';
import getStatsInPeriod from '../core/blitzstars/getStatsInPeriod';
import { tankAverages } from '../core/blitzstars/tankAverages';
@@ -44,7 +44,7 @@ async function render(
{ start, end, name }: ResolvedPeriod,
filters: StatFilters,
) {
const awaitedTankopedia = await tankopedia;
const awaitedTankDefinitions = await tankDefinitions;
const awaitedTankAverages = await tankAverages;
const statsInPeriod = await getStatsInPeriod(region, id, start, end);
const { filteredOrder } = await filterStats(statsInPeriod, filters);
@@ -183,7 +183,7 @@ async function render(
await Promise.all(
filteredOrder.map(async (id, index) => {
const tankopediaEntry = awaitedTankopedia[id];
const tankDefinition = awaitedTankDefinitions[id];
const current = orderedCurrentStats[index];
const career = orderedCareerStats[index];
const currentWN8 = orderedCurrentWN8[index];
@@ -193,8 +193,8 @@ async function render(
<Breakdown.Row
key={id}
type="tank"
tankType={tankopediaEntry?.type}
treeType={tankopediaEntry ? await getTreeType(id) : undefined}
tankType={tankDefinition?.type}
treeType={tankDefinition ? await getTreeType(id) : undefined}
title={await resolveTankName(id)}
stats={[
{
+8 -8
View File
@@ -1,8 +1,8 @@
import { SlashCommandBuilder } from 'discord.js';
import { getAccountInfo } from '../core/blitz/getAccountInfo';
import { tankDefinitions } from '../core/blitzkrieg/definitions/tanks';
import getPeriodNow from '../core/blitzkrieg/getPeriodNow';
import getTimeDaysAgo from '../core/blitzkrieg/getTimeDaysAgo';
import { tankopedia } from '../core/blitzkrieg/tankopedia';
import getStatsInPeriod from '../core/blitzstars/getStatsInPeriod';
import { tankAverages } from '../core/blitzstars/tankAverages';
import addUsernameChoices from '../core/discord/addUsernameChoices';
@@ -66,11 +66,11 @@ export const eligibleCommand: CommandRegistry = {
(await entries.reduce<PossiblyPromise<number>>(
async (accumulator, [tankIdString, stats]) => {
const tankId = parseInt(tankIdString);
const tankopediaEntry = (await tankopedia)[tankId];
const tankDefinition = (await tankDefinitions)[tankId];
if (!tankopediaEntry) return accumulator;
if (!tankDefinition) return accumulator;
const tankTier = tankopediaEntry.tier;
const tankTier = tankDefinition.tier;
return (await accumulator) + tankTier * stats.battles;
},
@@ -79,9 +79,9 @@ export const eligibleCommand: CommandRegistry = {
(await entries.reduce<PossiblyPromise<number>>(
async (accumulator, [tankIdString, stats]) => {
const tankId = parseInt(tankIdString);
const tankopediaEntry = (await tankopedia)[tankId];
const tankDefinition = (await tankDefinitions)[tankId];
if (!tankopediaEntry) return accumulator;
if (!tankDefinition) return accumulator;
return stats.battles;
},
@@ -110,7 +110,7 @@ export const eligibleCommand: CommandRegistry = {
async (accumulator, [tankIdString, stats]) => {
const tankId = parseInt(tankIdString);
if ((await tankopedia)[tankId]?.tier === 10) {
if ((await tankDefinitions)[tankId]?.tier === 10) {
const tankStats = diffed[tankId];
return (await accumulator) + tankStats.damage_dealt;
} else return accumulator;
@@ -121,7 +121,7 @@ export const eligibleCommand: CommandRegistry = {
async (accumulator, [tankIdString, stats]) => {
const tankId = parseInt(tankIdString);
if ((await tankopedia)[tankId]?.tier === 10) {
if ((await tankDefinitions)[tankId]?.tier === 10) {
const tankStats = diffed[tankId];
return (await accumulator) + tankStats.battles;
} else return accumulator;
+15 -15
View File
@@ -3,20 +3,20 @@ import NoData, { NoDataType } from '../components/NoData';
import * as Tanks from '../components/Tanks';
import TitleBar from '../components/TitleBar';
import Wrapper from '../components/Wrapper';
import { encyclopediaInfo } from '../core/blitz/encyclopediaInfo';
import { getAccountInfo } from '../core/blitz/getAccountInfo';
import { getClanAccountInfo } from '../core/blitz/getClanAccountInfo';
import getTankStats from '../core/blitz/getTankStats';
import getTreeType from '../core/blitz/getTreeType';
import resolveTankName from '../core/blitz/resolveTankName';
import { tankopediaInfo } from '../core/blitz/tankopediaInfo';
import {
TIER_ROMAN_NUMERALS,
TankDefinition,
Tier,
tankDefinitions,
} from '../core/blitzkrieg/definitions/tanks';
import { emblemIdToURL } from '../core/blitzkrieg/emblemIdToURL';
import { tankIcon } from '../core/blitzkrieg/tankIcon';
import {
BlitzkriegTankopediaEntry,
TIER_ROMAN_NUMERALS,
Tier,
tankopedia,
} from '../core/blitzkrieg/tankopedia';
import addTierChoices from '../core/discord/addTierChoices';
import addUsernameChoices from '../core/discord/addUsernameChoices';
import autocompleteUsername from '../core/discord/autocompleteUsername';
@@ -42,21 +42,21 @@ export const ownedTanksCommand: CommandRegistry = {
const filteredTanks = (
await Promise.all(
tankStats.map(async (tankData) => ({
tankopedia: (await tankopedia)[tankData.tank_id]!,
tankDefinitions: (await tankDefinitions)[tankData.tank_id]!,
id: tankData.tank_id,
})),
)
).filter((tank) => tank.tankopedia?.tier === tier);
).filter((tank) => tank.tankDefinitions?.tier === tier);
const clanAccountInfo = await getClanAccountInfo(server, id, ['clan']);
const groupedTanks: Record<string, BlitzkriegTankopediaEntry[]> = {};
const groupedTanks: Record<string, TankDefinition[]> = {};
const nations: string[] = [];
filteredTanks.forEach((tank) => {
if (groupedTanks[tank.tankopedia.nation] === undefined) {
groupedTanks[tank.tankopedia.nation] = [tank.tankopedia];
nations.push(tank.tankopedia.nation);
if (groupedTanks[tank.tankDefinitions.nation] === undefined) {
groupedTanks[tank.tankDefinitions.nation] = [tank.tankDefinitions];
nations.push(tank.tankDefinitions.nation);
} else {
groupedTanks[tank.tankopedia.nation].push(tank.tankopedia);
groupedTanks[tank.tankDefinitions.nation].push(tank.tankDefinitions);
}
});
@@ -87,7 +87,7 @@ export const ownedTanksCommand: CommandRegistry = {
return (
<Tanks.Root>
<Tanks.Title>
{(await tankopediaInfo).vehicle_nations[nation]}
{(await encyclopediaInfo).vehicle_nations[nation]}
</Tanks.Title>
<Tanks.Row>
+1 -1
View File
@@ -1,7 +1,7 @@
import { SlashCommandBuilder } from 'discord.js';
import { go } from 'fuzzysort';
import markdownEscape from 'markdown-escape';
import { tankNamesDiacritics } from '../core/blitzkrieg/tankopedia';
import { tankNamesDiacritics } from '../core/blitzkrieg/definitions/tanks';
import addTankChoices from '../core/discord/addTankChoices';
import embedInfo from '../core/discord/embedInfo';
import { CommandRegistry } from '../events/interactionCreate';