diff --git a/.gitignore b/.gitignore index efe1d5f02..af17ed83d 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,4 @@ target /.vercel /.astro .vercel +/src \ No newline at end of file diff --git a/docs/changelogs/1.27.2.md b/docs/changelogs/1.27.2.md new file mode 100644 index 000000000..687f37199 --- /dev/null +++ b/docs/changelogs/1.27.2.md @@ -0,0 +1,7 @@ +# BlitzKit 1.27.2 + +This update only affects the website. + +## Fixes + +- The new Improved Vertical Stabilizer equipment which only affects the gun depression found on the Type 63 now works diff --git a/package.json b/package.json index 847f902f5..270773745 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "blitzkit", "private": true, - "version": "1.27.1", + "version": "1.27.2", "description": "🎉 Tools for everything World of Tanks Blitz", "type": "module", "types": "./types.d.ts", diff --git a/packages/website/src/components/Armor/components/StaticArmor.tsx b/packages/website/src/components/Armor/components/StaticArmor.tsx index 08675a521..c6f410263 100644 --- a/packages/website/src/components/Armor/components/StaticArmor.tsx +++ b/packages/website/src/components/Armor/components/StaticArmor.tsx @@ -180,6 +180,11 @@ export const StaticArmor = memo(({ thicknessRange }) => { duel.protagonist.tank.equipment_preset, duel.protagonist.equipmentMatrix, ); + const hasDownImprovedVerticalStabilizer = await hasEquipment( + 124, + duel.protagonist.tank.equipment_preset, + duel.protagonist.equipmentMatrix, + ); const boundingRect = canvas.getBoundingClientRect(); delta.set(event.clientX, event.clientY).sub(position); @@ -191,6 +196,7 @@ export const StaticArmor = memo(({ thicknessRange }) => { gunModelDefinition.pitch, turretModelDefinition.yaw, hasImprovedVerticalStabilizer, + hasDownImprovedVerticalStabilizer, ); modelTransformEvent.emit({ pitch, yaw }); } @@ -275,6 +281,11 @@ export const StaticArmor = memo(({ thicknessRange }) => { duel.protagonist.tank.equipment_preset, duel.protagonist.equipmentMatrix, ); + const hasDownImprovedVerticalStabilizer = await hasEquipment( + 124, + duel.protagonist.tank.equipment_preset, + duel.protagonist.equipmentMatrix, + ); const boundingRect = canvas.getBoundingClientRect(); delta.set(event.clientX, event.clientY).sub(position); position.set(event.clientX, event.clientY); @@ -285,6 +296,7 @@ export const StaticArmor = memo(({ thicknessRange }) => { gunModelDefinition.pitch, turretModelDefinition.yaw, hasImprovedVerticalStabilizer, + hasDownImprovedVerticalStabilizer, ); modelTransformEvent.emit({ pitch, yaw }); } @@ -357,6 +369,11 @@ export const StaticArmor = memo(({ thicknessRange }) => { duel.protagonist.tank.equipment_preset, duel.protagonist.equipmentMatrix, ); + const hasDownImprovedVerticalStabilizer = await hasEquipment( + 124, + duel.protagonist.tank.equipment_preset, + duel.protagonist.equipmentMatrix, + ); const boundingRect = canvas.getBoundingClientRect(); delta.set(event.clientX, event.clientY).sub(position); position.set(event.clientX, event.clientY); @@ -367,6 +384,7 @@ export const StaticArmor = memo(({ thicknessRange }) => { gunModelDefinition.pitch, turretModelDefinition.yaw, hasImprovedVerticalStabilizer, + hasDownImprovedVerticalStabilizer, ); modelTransformEvent.emit({ pitch, yaw }); } diff --git a/packages/website/src/components/Tankopedia/CharacteristicsSection/components/Characteristics/index.tsx b/packages/website/src/components/Tankopedia/CharacteristicsSection/components/Characteristics/index.tsx index 6e8e557eb..e7636fb0b 100644 --- a/packages/website/src/components/Tankopedia/CharacteristicsSection/components/Characteristics/index.tsx +++ b/packages/website/src/components/Tankopedia/CharacteristicsSection/components/Characteristics/index.tsx @@ -107,6 +107,7 @@ export function Characteristics() { const hasSupercharger = useEquipment(107); const hasCalibratedShells = useEquipment(103); const hasImprovedVerticalStabilizer = useEquipment(122); + const hasDownImprovedVerticalStabilizer = useEquipment(124); const penetrationCoefficient = coefficient([ hasCalibratedShells, resolvePenetrationCoefficient(true, shell.type) - 1, @@ -129,9 +130,10 @@ export function Characteristics() { gunModelDefinition.pitch, turretModelDefinition.yaw, hasImprovedVerticalStabilizer, + hasDownImprovedVerticalStabilizer, ); }); - }, [hasImprovedVerticalStabilizer]); + }, [hasImprovedVerticalStabilizer, hasDownImprovedVerticalStabilizer]); return ( { if (!yawInput.current) return; @@ -92,6 +93,7 @@ export function QuickInputs() { gunModelDefinition.pitch, turretModelDefinition.yaw, hasImprovedVerticalStabilizer, + hasDownImprovedVerticalStabilizer, ); modelTransformEvent.emit({ pitch, yaw }); mutateDuel((state) => { @@ -133,6 +135,7 @@ export function QuickInputs() { gunModelDefinition.pitch, turretModelDefinition.yaw, hasImprovedVerticalStabilizer, + hasDownImprovedVerticalStabilizer, ); modelTransformEvent.emit({ pitch, yaw }); mutateDuel((state) => { diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx index 05fbd95af..67808f69a 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/Control.tsx @@ -118,6 +118,11 @@ export function Controls({ naked }: ControlsProps) { duel.protagonist.tank.equipment_preset, duel.protagonist.equipmentMatrix, ); + const hasDownImprovedVerticalStabilizer = await hasEquipment( + 124, + duel.protagonist.tank.equipment_preset, + duel.protagonist.equipmentMatrix, + ); switch (event) { case Pose.HullDown: { @@ -127,6 +132,7 @@ export function Controls({ naked }: ControlsProps) { protagonistGunModelDefinition.pitch, protagonistTurretModelDefinition.yaw, hasImprovedVerticalStabilizer, + hasDownImprovedVerticalStabilizer, ); camera.position @@ -159,6 +165,7 @@ export function Controls({ naked }: ControlsProps) { protagonistGunModelDefinition.pitch, protagonistTurretModelDefinition.yaw, hasImprovedVerticalStabilizer, + hasDownImprovedVerticalStabilizer, ); camera.position diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/TankModel.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/TankModel.tsx index 4cca908ff..b91ee66b6 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/TankModel.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/components/TankModel.tsx @@ -185,6 +185,11 @@ export function TankModel() { duel.protagonist.tank.equipment_preset, duel.protagonist.equipmentMatrix, ); + const hasDownImprovedVerticalStabilizer = await hasEquipment( + 124, + duel.protagonist.tank.equipment_preset, + duel.protagonist.equipmentMatrix, + ); const boundingRect = canvas.getBoundingClientRect(); delta.set(event.clientX, event.clientY).sub(position); @@ -196,6 +201,7 @@ export function TankModel() { gunModelDefinition.pitch, turretModelDefinition.yaw, hasImprovedVerticalStabilizer, + hasDownImprovedVerticalStabilizer, ); modelTransformEvent.emit({ pitch, yaw }); } @@ -287,6 +293,11 @@ export function TankModel() { duel.protagonist.tank.equipment_preset, duel.protagonist.equipmentMatrix, ); + const hasDownImprovedVerticalStabilizer = await hasEquipment( + 124, + duel.protagonist.tank.equipment_preset, + duel.protagonist.equipmentMatrix, + ); const boundingRect = canvas.getBoundingClientRect(); delta.set(event.clientX, event.clientY).sub(position); position.set(event.clientX, event.clientY); @@ -297,6 +308,7 @@ export function TankModel() { gunModelDefinition.pitch, turretModelDefinition.yaw, hasImprovedVerticalStabilizer, + hasDownImprovedVerticalStabilizer, ); modelTransformEvent.emit({ pitch, yaw }); } diff --git a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/index.tsx b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/index.tsx index ee647479c..fb383bcd1 100644 --- a/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/index.tsx +++ b/packages/website/src/components/Tankopedia/HeroSection/components/TankSandbox/index.tsx @@ -41,6 +41,7 @@ export const TankSandbox = forwardRef( const mutateTankopediaEphemeral = TankopediaEphemeral.useMutation(); const canvas = useRef(null); const hasImprovedVerticalStabilizer = useEquipment(122); + const hasDownImprovedVerticalStabilizer = useEquipment(124); const protagonistGun = Duel.use((state) => state.protagonist.gun); const protagonistTurret = Duel.use((state) => state.protagonist.turret); const mutateDuel = Duel.useMutation(); @@ -82,6 +83,7 @@ export const TankSandbox = forwardRef( gunModelDefinition.pitch, turretModelDefinition.yaw, hasImprovedVerticalStabilizer, + hasDownImprovedVerticalStabilizer, ); modelTransformEvent.emit({ pitch, yaw }); diff --git a/packages/website/src/core/blitz/applyPitchYawLimits.ts b/packages/website/src/core/blitz/applyPitchYawLimits.ts index 61d96c809..1440103bf 100644 --- a/packages/website/src/core/blitz/applyPitchYawLimits.ts +++ b/packages/website/src/core/blitz/applyPitchYawLimits.ts @@ -12,6 +12,7 @@ export function applyPitchYawLimits( pitchLimits: PitchLimits, // deg yawLimits?: YawLimits, // deg verticalStabilizer = false, + downVerticalStabilizer = false, ) { let newPitch = pitch; let newYaw = yaw; @@ -22,7 +23,8 @@ export function applyPitchYawLimits( ); } - const depressionBuff = verticalStabilizer ? degToRad(3) : 0; + const depressionBuff = + verticalStabilizer || downVerticalStabilizer ? degToRad(3) : 0; const elevationBuff = verticalStabilizer ? degToRad(4) : 0; let lowerPitch = -degToRad(pitchLimits.max) - depressionBuff; let upperPitch = -degToRad(pitchLimits.min) + elevationBuff; diff --git a/packages/website/src/core/blitzkit/tankCharacteristics.ts b/packages/website/src/core/blitzkit/tankCharacteristics.ts index 03d8f24b2..a9410cb77 100644 --- a/packages/website/src/core/blitzkit/tankCharacteristics.ts +++ b/packages/website/src/core/blitzkit/tankCharacteristics.ts @@ -109,6 +109,7 @@ export function tankCharacteristics( const hasEngineAccelerator = equipment(117); const hasCamouflageNet = equipment(115); const hasImprovedVerticalStabilizer = equipment(122); + const hasDownImprovedVerticalStabilizer = equipment(124); const hasImprovedSuspension = equipment(123); const hasTungsten = consumable(45); @@ -425,7 +426,8 @@ export function tankCharacteristics( const gunDepression = gunModelDefinition.pitch.max + gunDefaultPitch + - (hasImprovedVerticalStabilizer ? 3 : 0); + (hasImprovedVerticalStabilizer ? 3 : 0) + + (hasDownImprovedVerticalStabilizer ? 3 : 0); const gunElevation = -gunModelDefinition.pitch.min - gunDefaultPitch + diff --git a/submodules/CUE4Parse b/submodules/CUE4Parse new file mode 160000 index 000000000..624e07c8c --- /dev/null +++ b/submodules/CUE4Parse @@ -0,0 +1 @@ +Subproject commit 624e07c8c396724b3ae72d4e1e2854fdc5269e24 diff --git a/submodules/blitzkit-closed b/submodules/blitzkit-closed index c1d631764..31937a9f1 160000 --- a/submodules/blitzkit-closed +++ b/submodules/blitzkit-closed @@ -1 +1 @@ -Subproject commit c1d631764f74f8050660aa95c1da071baaadde43 +Subproject commit 31937a9f1e83e588d84a2ce1616870a442d2a7a4