feat: reactive armor

This commit is contained in:
TrèsAbhi committed 2024-04-09 10:35:32 -05:00
1 parent 511151e101
commit 69040dc453
3 files changed
+16 -7

No files matched your search

+11 -6
View File
@@ -75,15 +75,20 @@ export default function Page() {
const crewSkills = useCompareTemporary((state) => state.crewSkills); const crewSkills = useCompareTemporary((state) => state.crewSkills);
const stats = useMemo( const stats = useMemo(
() => () =>
members.map((item) => members.map((thisMember) =>
tankCharacteristics( tankCharacteristics(
{ {
...item, ...thisMember,
crewSkills, crewSkills,
stockEngine: item.tank.engines[0], stockEngine: thisMember.tank.engines[0],
stockGun: item.tank.turrets[0].guns[0], stockGun: thisMember.tank.turrets[0].guns[0],
stockTrack: item.tank.tracks[0], stockTrack: thisMember.tank.tracks[0],
stockTurret: item.tank.turrets[0], stockTurret: thisMember.tank.turrets[0],
applyReactive: members.some(
(member) =>
member.key !== thisMember.key &&
member.consumables.includes(33),
),
}, },
{ {
equipmentDefinitions: awaitedEquipmentDefinitions, equipmentDefinitions: awaitedEquipmentDefinitions,
@@ -86,6 +86,7 @@ export function Characteristics() {
stockGun, stockGun,
stockTrack, stockTrack,
stockTurret, stockTurret,
applyReactive: false,
}, },
{ {
equipmentDefinitions: awaitedEquipmentDefinitions, equipmentDefinitions: awaitedEquipmentDefinitions,
+4 -1
View File
@@ -38,6 +38,7 @@ export function tankCharacteristics(
stockTrack, stockTrack,
stockTurret, stockTurret,
stockGun, stockGun,
applyReactive,
}: { }: {
tank: TankDefinition; tank: TankDefinition;
turret: TurretDefinition; turret: TurretDefinition;
@@ -55,6 +56,7 @@ export function tankCharacteristics(
provisions: number[]; provisions: number[];
crewSkills: Record<string, number>; crewSkills: Record<string, number>;
camouflage: boolean; camouflage: boolean;
applyReactive: boolean;
}, },
{ {
modelDefinitions, modelDefinitions,
@@ -132,7 +134,8 @@ export function tankCharacteristics(
const crewMemberMastery = commanderMastery * 1.1; const crewMemberMastery = commanderMastery * 1.1;
const intraClipCoefficient = coefficient([hasShellReloadBoost, -0.3]); const intraClipCoefficient = coefficient([hasShellReloadBoost, -0.3]);
const damageCoefficient = coefficient([hasTungsten, 0.15]); const damageCoefficient =
coefficient([hasTungsten, 0.15]) * coefficient([applyReactive, -0.2]);
const reloadCoefficient = const reloadCoefficient =
(coefficient([hasRammer, -0.07]) * (coefficient([hasRammer, -0.07]) *
coefficient([true, degressiveStat(crewMemberMastery)])) / coefficient([true, degressiveStat(crewMemberMastery)])) /