feat: /ownedtanks

This commit is contained in:
TresAbhi committed 2023-04-25 01:39:43 +00:00
1 parent 3cd52b2688
commit ac095b7bbf
6 files changed
+255 -57

No files matched your search

+44
View File
@@ -0,0 +1,44 @@
export type TankType = 'heavyTank' | 'AT-SPG' | 'mediumTank' | 'lightTank';
export interface Tankopedia {
status: 'ok'; // always will be ok since it is cached
meta: {
count: number;
};
data: {
[tankId: number]: {
name: string;
nation: string;
is_premium: boolean;
tier: number;
cost: {
price_credit: number;
price_gold: number;
};
images: {
preview: string;
normal: string;
};
tank_id: number;
type: TankType;
description: string;
};
};
}
export const tankopedia = (await (
await fetch('https://www.blitzstars.com/bs-tankopedia.json')
).json()) as Tankopedia;
export const tankTypeNames: Record<TankType, string> = {
'AT-SPG': 'Tank Destroyer',
heavyTank: 'Heavy Tank',
mediumTank: 'Medium Tank',
lightTank: 'Light Tank',
};
export const tankTypeEmojis: Record<TankType, string> = {
'AT-SPG': '🔽',
heavyTank: '🇭',
mediumTank: '🇲',
lightTank: '🇱',
};
+38
View File
@@ -0,0 +1,38 @@
import { WargamingResponse } from './wargamingResponse.js';
export interface TanksStats extends WargamingResponse {
data: {
[accountId: number]:
| {
all: {
spotted: number;
hits: number;
frags: number;
max_xp: number;
wins: number;
losses: number;
capture_points: number;
battles: number;
damage_dealt: number;
damage_received: number;
max_frags: number;
shots: number;
frags8p: number;
xp: number;
win_and_survived: number;
survived_battles: number;
dropped_capture_points: number;
};
last_battle_time: number;
account_id: number;
max_xp: number;
in_garage_updated: number;
max_frags: number;
frags: number | null;
mark_of_mastery: number;
battle_life_time: number;
in_garage: number | null;
tank_id: number;
}[];
};
}