feat: new maps

This commit is contained in:
tresabhi committed 2025-04-22 21:56:39 -05:00
1 parent df1bc56a4c
commit 38b4c62777
16 files changed
+32 -22

No files matched your search

+1
View File
@@ -54,6 +54,7 @@
"dbid", "dbid",
"Ddpf", "Ddpf",
"Ddsd", "Ddsd",
"deadrail",
"debugflags", "debugflags",
"deburr", "deburr",
"decalmask", "decalmask",
+2 -2
View File
@@ -881,8 +881,8 @@
"view_range": { "view_range": {
"camo": "Camo", "camo": "Camo",
"percentage": "%s1%", "percentage": "%s1%",
"desert_sands": "Desert Sands", "ghost_factory": "Ghost Factory",
"new_bay": "New Bay" "dead_rail": "Dead Rail"
} }
}, },
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 199 KiB

@@ -28,7 +28,7 @@ export function Crew({ stats }: StatsAcceptorProps) {
const commanderMastery = 1 + provisionCrewBonus; const commanderMastery = 1 + provisionCrewBonus;
return ( return (
<Flex direction="column" gap="2"> <Flex direction="column" gap="2" width="16rem">
<Flex gap="2" align="center"> <Flex gap="2" align="center">
<Heading size="5"> <Heading size="5">
{strings.website.tools.tankopedia.crew.title} {strings.website.tools.tankopedia.crew.title}
@@ -57,7 +57,7 @@ export function Firepower({ stats }: StatsAcceptorProps) {
}, [penetrationDistance]); }, [penetrationDistance]);
return ( return (
<Flex direction="column" gap="2"> <Flex direction="column" gap="2" width="16rem">
<Flex align="center" gap="4"> <Flex align="center" gap="4">
<Heading size="5"> <Heading size="5">
{strings.website.tools.tankopedia.firepower.title} {strings.website.tools.tankopedia.firepower.title}
@@ -11,7 +11,7 @@ export function Maneuverability({ stats }: StatsAcceptorProps) {
const { strings } = useLocale(); const { strings } = useLocale();
return ( return (
<Flex direction="column" gap="2"> <Flex direction="column" gap="2" width="16rem">
<Heading size="5"> <Heading size="5">
{strings.website.tools.tankopedia.maneuverability.title} {strings.website.tools.tankopedia.maneuverability.title}
</Heading> </Heading>
@@ -13,7 +13,7 @@ export function RicochetVisualizer({ stats }: StatsAcceptorProps) {
const container = useRef<HTMLDivElement>(null); const container = useRef<HTMLDivElement>(null);
const normalization = degToRad(stats.shellNormalization); const normalization = degToRad(stats.shellNormalization);
const ricochet = degToRad(stats.shellRicochet ?? 90); const ricochet = degToRad(stats.shellRicochet ?? 90);
const [angle, setAngle] = useState(degToRad(45)); const [angle, setAngle] = useState(degToRad(-25));
const doesRicochet = Math.abs(angle) >= ricochet; const doesRicochet = Math.abs(angle) >= ricochet;
const effectiveAngle = doesRicochet const effectiveAngle = doesRicochet
? -angle + Math.PI ? -angle + Math.PI
@@ -226,7 +226,7 @@ export function RicochetVisualizer({ stats }: StatsAcceptorProps) {
{doesRicochet {doesRicochet
? '-' ? '-'
: literals(strings.common.units.percentage, [ : literals(strings.common.units.percentage, [
(100 / Math.cos(effectiveAngle)).toFixed(2), (100 / Math.cos(effectiveAngle)).toFixed(0),
])} ])}
</Code> </Code>
</Flex> </Flex>
@@ -9,7 +9,7 @@ export function Survivability({ stats }: StatsAcceptorProps) {
const { strings } = useLocale(); const { strings } = useLocale();
return ( return (
<Flex direction="column" gap="2"> <Flex direction="column" gap="2" width="16rem">
<Heading size="5"> <Heading size="5">
{strings.website.tools.tankopedia.survivability.title} {strings.website.tools.tankopedia.survivability.title}
</Heading> </Heading>
@@ -8,13 +8,13 @@ import type { StatsAcceptorProps } from './HullTraverseVisualizer';
const maps = [ const maps = [
{ {
id: 'new-bay', id: 'ghost-factory',
string: 'new_bay', string: 'ghost_factory',
size: 512, size: 512,
}, },
{ {
id: 'desert-sands', id: 'dead-rail',
string: 'desert_sands', string: 'dead_rail',
size: 512, size: 512,
}, },
] as const; ] as const;
@@ -48,11 +48,22 @@ export function ViewRangeVisualizer({ stats }: StatsAcceptorProps) {
width="100%" width="100%"
height="100%" height="100%"
style={{ style={{
backgroundImage: `url(/assets/images/tankopedia/visualizers/range/${map.id}.webp)`, backgroundImage: `url(/assets/images/tankopedia/visualizers/range/${map.id}.png)`,
backgroundSize: 'cover', backgroundSize: 'cover',
backgroundPosition: 'center', backgroundPosition: 'center',
}} }}
> >
<Box
position="absolute"
top="0"
left="0"
width="100%"
height="100%"
style={{
background: Var('black-a5'),
}}
/>
<Flex <Flex
ref={range} ref={range}
position="absolute" position="absolute"
@@ -87,7 +98,7 @@ export function ViewRangeVisualizer({ stats }: StatsAcceptorProps) {
gap="3" gap="3"
align="center" align="center"
style={{ style={{
backgroundColor: Var('black-a8'), backgroundColor: Var('black-a5'),
backdropFilter: 'blur(4rem)', backdropFilter: 'blur(4rem)',
}} }}
> >
@@ -87,17 +87,15 @@ export function Characteristics() {
gap="8" gap="8"
direction={{ direction={{
initial: 'column', initial: 'column',
md: 'row', lg: 'row',
}} }}
> >
<Flex direction="column" gap="8" style={{ flex: 1 }}> <Firepower stats={stats} />
<Firepower stats={stats} /> <Maneuverability stats={stats} />
<Crew stats={stats} />
</Flex>
<Flex direction="column" gap="8" style={{ flex: 1 }}> <Flex direction="column" gap="8">
<Maneuverability stats={stats} />
<Survivability stats={stats} /> <Survivability stats={stats} />
<Crew stats={stats} />
</Flex> </Flex>
</Flex> </Flex>
); );
@@ -37,7 +37,7 @@ export function CharacteristicsSection() {
<Flex <Flex
flexGrow="1" flexGrow="1"
maxWidth={{ initial: '20rem', md: '40rem' }} maxWidth={{ initial: '20rem', md: '54rem' }}
direction="column" direction="column"
gap="6" gap="6"
width="100%" width="100%"