feat: move fire to first

This commit is contained in:
TrèsAbhi committed 2024-02-09 23:44:38 -06:00
1 parent 4206286c21
commit a8a50ac948
2 files changed
+138 -138

No files matched your search

@@ -69,78 +69,6 @@ export function Characteristics() {
return (
<Flex direction="column" gap="4" style={{ width: '100%' }}>
<Flex direction="column" gap="2">
<Heading size="5">Survivability</Heading>
<InfoWithDelta name="Health" unit="hp">
{(tank.health + turret.health) * (hasImprovedAssembly ? 1.06 : 1)}
</InfoWithDelta>
<InfoWithDelta name="Fire chance" unit="%" deltaType="lowerIsBetter">
{Math.round(engine.fireChance * 100)}
</InfoWithDelta>
<InfoWithDelta name="View range" unit="m">
{turret.viewRange *
(hasImprovedOptics
? tank.type === 'tankDestroyer'
? 1.05
: tank.type === 'heavy'
? 1.07
: 1.1
: 1)}
</InfoWithDelta>
<Info name="Camouflage" unit="%" />
<InfoWithDelta
indent
name="Still"
decimals={2}
deltaType="lowerIsBetter"
>
{tank.camouflage.still *
100 *
(hasCamouflageNet
? tank.type === 'heavy'
? 1.03
: tank.type === 'tankDestroyer'
? 1.07
: 1.05
: 1)}
</InfoWithDelta>
<InfoWithDelta
indent
name="Moving"
decimals={2}
deltaType="lowerIsBetter"
>
{tank.camouflage.moving * 100}
</InfoWithDelta>
<InfoWithDelta
indent
name="Shooting still"
decimals={2}
deltaType="lowerIsBetter"
>
{tank.camouflage.still * gun.camouflageLoss * 100}
</InfoWithDelta>
<InfoWithDelta
indent
name="Shooting on move"
decimals={2}
deltaType="lowerIsBetter"
>
{tank.camouflage.moving * gun.camouflageLoss * 100}
</InfoWithDelta>
<InfoWithDelta
indent
name="On fire"
decimals={2}
deltaType="lowerIsBetter"
>
{tank.camouflage.onFire * tank.camouflage.still * 100}
</InfoWithDelta>
<Info name="Size" unit="m">
{size[0].toFixed(2)} x {size[2].toFixed(2)} x {size[1].toFixed(2)}
</Info>
</Flex>
<Flex direction="column" gap="2">
<Heading size="5">Fire</Heading>
<Info name="Gun type">{GUN_TYPE_NAMES[gun.type]}</Info>
@@ -481,6 +409,78 @@ export function Characteristics() {
(hasImprovedControl ? 1.1 : 1)}
</InfoWithDelta>
</Flex>
<Flex direction="column" gap="2">
<Heading size="5">Survivability</Heading>
<InfoWithDelta name="Health" unit="hp">
{(tank.health + turret.health) * (hasImprovedAssembly ? 1.06 : 1)}
</InfoWithDelta>
<InfoWithDelta name="Fire chance" unit="%" deltaType="lowerIsBetter">
{Math.round(engine.fireChance * 100)}
</InfoWithDelta>
<InfoWithDelta name="View range" unit="m">
{turret.viewRange *
(hasImprovedOptics
? tank.type === 'tankDestroyer'
? 1.05
: tank.type === 'heavy'
? 1.07
: 1.1
: 1)}
</InfoWithDelta>
<Info name="Camouflage" unit="%" />
<InfoWithDelta
indent
name="Still"
decimals={2}
deltaType="lowerIsBetter"
>
{tank.camouflage.still *
100 *
(hasCamouflageNet
? tank.type === 'heavy'
? 1.03
: tank.type === 'tankDestroyer'
? 1.07
: 1.05
: 1)}
</InfoWithDelta>
<InfoWithDelta
indent
name="Moving"
decimals={2}
deltaType="lowerIsBetter"
>
{tank.camouflage.moving * 100}
</InfoWithDelta>
<InfoWithDelta
indent
name="Shooting still"
decimals={2}
deltaType="lowerIsBetter"
>
{tank.camouflage.still * gun.camouflageLoss * 100}
</InfoWithDelta>
<InfoWithDelta
indent
name="Shooting on move"
decimals={2}
deltaType="lowerIsBetter"
>
{tank.camouflage.moving * gun.camouflageLoss * 100}
</InfoWithDelta>
<InfoWithDelta
indent
name="On fire"
decimals={2}
deltaType="lowerIsBetter"
>
{tank.camouflage.onFire * tank.camouflage.still * 100}
</InfoWithDelta>
<Info name="Size" unit="m">
{size[0].toFixed(2)} x {size[2].toFixed(2)} x {size[1].toFixed(2)}
</Info>
</Flex>
</Flex>
);
}
@@ -448,72 +448,6 @@ export function TankSearch({ compact, onSelect = () => {} }: TankSearchProps) {
</DropdownMenu.SubContent>
</DropdownMenu.Sub>
<DropdownMenu.Sub>
<DropdownMenu.SubTrigger>Survivability</DropdownMenu.SubTrigger>
<DropdownMenu.SubContent>
<DropdownMenu.CheckboxItem
checked={sort.by === 'survivability.health'}
onClick={() => {
mutateTankopediaPersistent((draft) => {
draft.sort.by = 'survivability.health';
});
}}
>
Health
</DropdownMenu.CheckboxItem>
<DropdownMenu.CheckboxItem
checked={sort.by === 'survivability.viewRange'}
onClick={() => {
mutateTankopediaPersistent((draft) => {
draft.sort.by = 'survivability.viewRange';
});
}}
>
View range
</DropdownMenu.CheckboxItem>
<DropdownMenu.CheckboxItem
checked={sort.by === 'survivability.camouflageStill'}
onClick={() => {
mutateTankopediaPersistent((draft) => {
draft.sort.by = 'survivability.camouflageStill';
});
}}
>
Camouflage
</DropdownMenu.CheckboxItem>
<DropdownMenu.CheckboxItem
checked={sort.by === 'survivability.camouflageMoving'}
onClick={() => {
mutateTankopediaPersistent((draft) => {
draft.sort.by = 'survivability.camouflageMoving';
});
}}
>
Camouflage moving
</DropdownMenu.CheckboxItem>
<DropdownMenu.CheckboxItem
checked={sort.by === 'survivability.camouflageShooting'}
onClick={() => {
mutateTankopediaPersistent((draft) => {
draft.sort.by = 'survivability.camouflageShooting';
});
}}
>
Camouflage shooting
</DropdownMenu.CheckboxItem>
<DropdownMenu.CheckboxItem
checked={sort.by === 'survivability.size'}
onClick={() => {
mutateTankopediaPersistent((draft) => {
draft.sort.by = 'survivability.size';
});
}}
>
Size
</DropdownMenu.CheckboxItem>
</DropdownMenu.SubContent>
</DropdownMenu.Sub>
<DropdownMenu.Sub>
<DropdownMenu.SubTrigger>Fire</DropdownMenu.SubTrigger>
<DropdownMenu.SubContent>
@@ -708,6 +642,72 @@ export function TankSearch({ compact, onSelect = () => {} }: TankSearchProps) {
</DropdownMenu.SubContent>
</DropdownMenu.Sub>
<DropdownMenu.Sub>
<DropdownMenu.SubTrigger>Survivability</DropdownMenu.SubTrigger>
<DropdownMenu.SubContent>
<DropdownMenu.CheckboxItem
checked={sort.by === 'survivability.health'}
onClick={() => {
mutateTankopediaPersistent((draft) => {
draft.sort.by = 'survivability.health';
});
}}
>
Health
</DropdownMenu.CheckboxItem>
<DropdownMenu.CheckboxItem
checked={sort.by === 'survivability.viewRange'}
onClick={() => {
mutateTankopediaPersistent((draft) => {
draft.sort.by = 'survivability.viewRange';
});
}}
>
View range
</DropdownMenu.CheckboxItem>
<DropdownMenu.CheckboxItem
checked={sort.by === 'survivability.camouflageStill'}
onClick={() => {
mutateTankopediaPersistent((draft) => {
draft.sort.by = 'survivability.camouflageStill';
});
}}
>
Camouflage
</DropdownMenu.CheckboxItem>
<DropdownMenu.CheckboxItem
checked={sort.by === 'survivability.camouflageMoving'}
onClick={() => {
mutateTankopediaPersistent((draft) => {
draft.sort.by = 'survivability.camouflageMoving';
});
}}
>
Camouflage moving
</DropdownMenu.CheckboxItem>
<DropdownMenu.CheckboxItem
checked={sort.by === 'survivability.camouflageShooting'}
onClick={() => {
mutateTankopediaPersistent((draft) => {
draft.sort.by = 'survivability.camouflageShooting';
});
}}
>
Camouflage shooting
</DropdownMenu.CheckboxItem>
<DropdownMenu.CheckboxItem
checked={sort.by === 'survivability.size'}
onClick={() => {
mutateTankopediaPersistent((draft) => {
draft.sort.by = 'survivability.size';
});
}}
>
Size
</DropdownMenu.CheckboxItem>
</DropdownMenu.SubContent>
</DropdownMenu.Sub>
<DropdownMenu.Separator />
<DropdownMenu.Label>Direction</DropdownMenu.Label>