update equipments

This commit is contained in:
tresabhi committed 2026-07-31 19:48:03 -05:00
1 parent caf238dd32
commit d0834ed572
8 files changed
+22 -28

No files matched your search

@@ -8,12 +8,12 @@ export function resolvePenetrationCoefficient(
) { ) {
const calibrated = calibratedShells const calibrated = calibratedShells
? type === ShellType.SHELL_TYPE_AP ? type === ShellType.SHELL_TYPE_AP
? 1.08 ? 1.06
: type === ShellType.SHELL_TYPE_APCR : type === ShellType.SHELL_TYPE_APCR
? 1.05 ? 1.06
: type === ShellType.SHELL_TYPE_HEAT : type === ShellType.SHELL_TYPE_HEAT
? 1.13 ? 1.07
: 1.08 : 1.07
: 1; : 1;
const equalizer = (equalize ? equalizerObj?.penetration : undefined) ?? 1; const equalizer = (equalize ? equalizerObj?.penetration : undefined) ?? 1;
@@ -129,7 +129,7 @@ export function PrimaryArmorSceneComponent({
: undefined) ?? 1; : undefined) ?? 1;
material.uniforms.thickness.value = material.uniforms.thickness.value =
thickness * (hasEnhancedArmor ? 1.03 : 1) * equalizer; thickness * (hasEnhancedArmor ? 1.04 : 1) * equalizer;
if (!noInvalidate) invalidate(); if (!noInvalidate) invalidate();
} }
@@ -65,7 +65,7 @@ export function SpacedArmorSubExternal({
: undefined) ?? 1; : undefined) ?? 1;
material.uniforms.thickness.value = material.uniforms.thickness.value =
thickness * (hasEnhancedArmor ? 1.03 : 1) * equalizer; thickness * (hasEnhancedArmor ? 1.04 : 1) * equalizer;
} }
function handleAntagonistEquipmentChange() { function handleAntagonistEquipmentChange() {
const equipment = Duel.state.antagonist.equipmentMatrix; const equipment = Duel.state.antagonist.equipmentMatrix;
@@ -75,7 +75,7 @@ export function SpacedArmorSubSpaced({
: undefined) ?? 1; : undefined) ?? 1;
material.uniforms.thickness.value = material.uniforms.thickness.value =
thickness * (hasEnhancedArmor ? 1.03 : 1) * equalizer; thickness * (hasEnhancedArmor ? 1.04 : 1) * equalizer;
} }
function handleAntagonistEquipmentChange() { function handleAntagonistEquipmentChange() {
const equipment = Duel.state.antagonist.equipmentMatrix; const equipment = Duel.state.antagonist.equipmentMatrix;
@@ -129,7 +129,7 @@ export function SpacedArmorSceneComponent({
antagonistEqualizer, antagonistEqualizer,
); );
const thicknessCoefficient = const thicknessCoefficient =
(hasEnhancedArmor ? 1.03 : 1) * protagonistEqualizer.armor; (hasEnhancedArmor ? 1.04 : 1) * protagonistEqualizer.armor;
const filteredIntersections = intersections.filter( const filteredIntersections = intersections.filter(
(intersection) => (intersection) =>
"type" in intersection.object.userData && "type" in intersection.object.userData &&
@@ -78,7 +78,7 @@ export function StaticArmorSceneComponent({
const tank = Duel.use((state) => state.protagonist.tank); const tank = Duel.use((state) => state.protagonist.tank);
const equalize = Duel.use((state) => state.equalize); const equalize = Duel.use((state) => state.equalize);
const equalizer = (equalize ? tank.equalizer : undefined) ?? defaultEqualizer; const equalizer = (equalize ? tank.equalizer : undefined) ?? defaultEqualizer;
const thicknessCoefficient = (hasEnhancedArmor ? 1.03 : 1) * equalizer.armor; const thicknessCoefficient = (hasEnhancedArmor ? 1.04 : 1) * equalizer.armor;
const thickness = thicknessRaw * thicknessCoefficient; const thickness = thicknessRaw * thicknessCoefficient;
const x = thickness / thicknessRange.value; const x = thickness / thicknessRange.value;
const xClamped = clamp(x, 0, 1); const xClamped = clamp(x, 0, 1);
@@ -43,7 +43,7 @@ export function ConsumablesManager({
cooldown={ cooldown={
timers timers
? consumable.cooldown * ? consumable.cooldown *
(hasConsumableDeliverySystem ? 0.88 : 1) * (hasConsumableDeliverySystem ? 1 - 0.17 : 1) *
(1 - cooldownBooster! * 0.1) (1 - cooldownBooster! * 0.1)
: undefined : undefined
} }
@@ -193,7 +193,7 @@ export function tankCharacteristics(
coefficient( coefficient(
[hasSandbagArmor, 0.03], [hasSandbagArmor, 0.03],
[hasEnhancedSandbagArmor, 0.06], [hasEnhancedSandbagArmor, 0.06],
[hasImprovedAssembly, 0.04], [hasImprovedAssembly, 0.05],
) * equalizer.health; ) * equalizer.health;
const shellVelocityCoefficient = coefficient( const shellVelocityCoefficient = coefficient(
[hasSupercharger, 0.35], [hasSupercharger, 0.35],
@@ -201,40 +201,34 @@ export function tankCharacteristics(
); );
const aimTimeCoefficient = const aimTimeCoefficient =
coefficient( coefficient(
[hasEnhancedGunLayingDrive, -0.15], [hasEnhancedGunLayingDrive, -0.12],
[hasReticleCalibration, -0.3], [hasReticleCalibration, -0.3],
) * coefficient([true, degressiveStat(gunnerMastery)]); ) * coefficient([true, degressiveStat(gunnerMastery)]);
const dispersionStillCoefficient = const dispersionStillCoefficient =
coefficient([hasRefinedGun, -0.15], [hasReticleCalibration, -0.3]) * coefficient([hasRefinedGun, -0.11], [hasReticleCalibration, -0.3]) *
coefficient([true, degressiveStat(gunnerMastery)]); coefficient([true, degressiveStat(gunnerMastery)]);
const dispersionDamagedCoefficient = coefficient([ const dispersionDamagedCoefficient = coefficient([
hasVerticalStabilizer, hasVerticalStabilizer,
-0.12, -0.17,
]); ]);
const dispersionHullTraverseCoefficient = coefficient( const dispersionHullTraverseCoefficient = coefficient(
[hasVerticalStabilizer, -0.12], [hasVerticalStabilizer, -0.17],
[true, -crewSkills.smooth_turn / 100], [true, -crewSkills.smooth_turn / 100],
); );
const dispersionAfterShotCoefficient = coefficient( const dispersionAfterShotCoefficient = coefficient(
[hasVerticalStabilizer, -0.12], [hasVerticalStabilizer, -0.17],
[true, -crewSkills.soft_recoil / 100], [true, -crewSkills.soft_recoil / 100],
); );
const dispersionMovingCoefficient = coefficient( const dispersionMovingCoefficient = coefficient(
[hasVerticalStabilizer, -0.12], [hasVerticalStabilizer, -0.17],
[true, -crewSkills.smooth_driving / 100], [true, -crewSkills.smooth_driving / 100],
); );
const dispersionTurretTraverseCoefficient = coefficient( const dispersionTurretTraverseCoefficient = coefficient(
[hasVerticalStabilizer, -0.12], [hasVerticalStabilizer, -0.17],
[true, -crewSkills.smooth_turret * (2 / 100)], [true, -crewSkills.smooth_turret * (2 / 100)],
); );
const enginePowerCoefficient = coefficient( const enginePowerCoefficient = coefficient(
[ [hasEngineAccelerator, 0.06],
hasEngineAccelerator,
tank.class === TankClass.TANK_CLASS_HEAVY ||
tank.class === TankClass.TANK_CLASS_TANK_DESTROYER
? 0.05
: 0.04,
],
[hasReducedEnginePowerBoost, 0.1], [hasReducedEnginePowerBoost, 0.1],
[hasEnginePowerBoost, 0.2], [hasEnginePowerBoost, 0.2],
[hasImprovedEnginePowerBoost, 0.35], [hasImprovedEnginePowerBoost, 0.35],
@@ -248,7 +242,7 @@ export function tankCharacteristics(
coefficient([true, progressiveStat(gunnerMastery)]); coefficient([true, progressiveStat(gunnerMastery)]);
const hullTraverseCoefficient = const hullTraverseCoefficient =
coefficient( coefficient(
[hasImprovedControl, 0.11], [hasImprovedControl, 0.12],
[hasImprovedEnginePowerBoost, 0.01], [hasImprovedEnginePowerBoost, 0.01],
[true, crewSkills.virtuoso / 100], [true, crewSkills.virtuoso / 100],
) * coefficient([true, progressiveStat(driverMastery)]); ) * coefficient([true, progressiveStat(driverMastery)]);
@@ -305,8 +299,8 @@ export function tankCharacteristics(
: tank.class === TankClass.TANK_CLASS_MEDIUM : tank.class === TankClass.TANK_CLASS_MEDIUM
? 0.04 ? 0.04
: tank.class === TankClass.TANK_CLASS_LIGHT : tank.class === TankClass.TANK_CLASS_LIGHT
? 0.07 ? 0.06
: 0.1, : 0.07,
], ],
); );
const camouflageCoefficientStill = sum( const camouflageCoefficientStill = sum(