From 417858f21a5d2e3323ec3854ec0e15fa835acc15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tr=C3=A8sAbhi?= <43380238+tresabhi@users.noreply.github.com> Date: Sat, 20 Jan 2024 13:43:03 -0600 Subject: [PATCH] feat: split tutorial bots --- scripts/buildAssets/definitions.ts | 4 ++++ scripts/buildAssets/tankArmors.ts | 2 ++ scripts/buildAssets/tankIcons.ts | 6 ++++-- scripts/buildAssets/tankModels.ts | 2 ++ .../ArmorMesh/components/Armor/shaders/fragment.glsl | 2 +- src/core/blitzkrieg/tankDefinitions.ts | 5 +++-- 6 files changed, 16 insertions(+), 5 deletions(-) diff --git a/scripts/buildAssets/definitions.ts b/scripts/buildAssets/definitions.ts index 1b4fc3c69..dacec572a 100644 --- a/scripts/buildAssets/definitions.ts +++ b/scripts/buildAssets/definitions.ts @@ -45,6 +45,7 @@ type ShellDefinitionsList = Record< damage: { armor: number; devices: number }; normalizationAngle: number; ricochetAngle: number; + explosionRadius?: number; } > & { icons: Record; @@ -285,6 +286,8 @@ export async function buildDefinitions() { ); for (const tankKey in tankList.root) { + if (tankKey.includes('tutorial_bot')) return; + const tank = tankList.root[tankKey]; const tankPrice: TankDefinitionPrice = typeof tank.price === 'number' @@ -567,6 +570,7 @@ export async function buildDefinitions() { normalization: shell.normalizationAngle, ricochet: shell.ricochetAngle, type: blitzShellKindToBLitzkrieg[shell.kind], + explosionRadius: shell.explosionRadius, icon: shell.icon, penetration: penetrationRaw[0] === penetrationRaw[1] diff --git a/scripts/buildAssets/tankArmors.ts b/scripts/buildAssets/tankArmors.ts index 25735a9fb..5fcc5e9a8 100644 --- a/scripts/buildAssets/tankArmors.ts +++ b/scripts/buildAssets/tankArmors.ts @@ -28,6 +28,8 @@ export async function buildTankArmors() { await Promise.all( Object.entries(tanks.root).map(async ([tankKey, tank]) => { + if (tankKey.includes('tutorial_bot')) return; + const id = toUniqueId(nation, tank.id); console.log(`Building armor ${id} @ ${nation}/${tankKey}`); diff --git a/scripts/buildAssets/tankIcons.ts b/scripts/buildAssets/tankIcons.ts index 8bee5e4fa..85bc1a5a2 100644 --- a/scripts/buildAssets/tankIcons.ts +++ b/scripts/buildAssets/tankIcons.ts @@ -32,11 +32,13 @@ export async function buildTankIcons() { ); await Promise.all( - Object.entries(tanks.root).map(async ([tankIndex, tank]) => { + Object.entries(tanks.root).map(async ([tankKey, tank]) => { + if (tankKey.includes('tutorial_bot')) return; + const nationVehicleId = tank.id; const id = (nationVehicleId << 8) + (NATION_IDS[nation] << 4) + 1; const parameters = await readYAMLDVPL( - `${DATA}/${POI.tankParameters}/${nation}/${tankIndex}.yaml.dvpl`, + `${DATA}/${POI.tankParameters}/${nation}/${tankKey}.yaml.dvpl`, ); const small = `${DATA}/${parameters.resourcesPath.smallIconPath .replace(/~res:\//, '') diff --git a/scripts/buildAssets/tankModels.ts b/scripts/buildAssets/tankModels.ts index 7ac38875f..9c370277c 100644 --- a/scripts/buildAssets/tankModels.ts +++ b/scripts/buildAssets/tankModels.ts @@ -43,6 +43,8 @@ export async function buildTankModels() { await Promise.all( Object.entries(tanks.root).map(async ([tankKey, tank]) => { + if (tankKey.includes('tutorial_bot')) return; + const id = toUniqueId(nation, tank.id); console.log(`Building model ${id} @ ${nation}/${tankKey}`); diff --git a/src/components/ArmorMesh/components/Armor/shaders/fragment.glsl b/src/components/ArmorMesh/components/Armor/shaders/fragment.glsl index e0f2e7d0b..42746bb8f 100644 --- a/src/components/ArmorMesh/components/Armor/shaders/fragment.glsl +++ b/src/components/ArmorMesh/components/Armor/shaders/fragment.glsl @@ -88,7 +88,7 @@ void main() { } if (canSplash) { - float reducedFinalThickness = finalThickness * (5.0 / 11.0); + float reducedFinalThickness = finalThickness * (1.0 / 10.0); float splashDelta = reducedFinalThickness - piercedPenetration; if (splashDelta > randomRadius) { diff --git a/src/core/blitzkrieg/tankDefinitions.ts b/src/core/blitzkrieg/tankDefinitions.ts index 7f5118300..96a083d6e 100644 --- a/src/core/blitzkrieg/tankDefinitions.ts +++ b/src/core/blitzkrieg/tankDefinitions.ts @@ -59,7 +59,7 @@ interface GunDefinitionAutoReloader { interClip: number; count: number; } -export interface ShellDefinition { +export type ShellDefinition = { id: number; name: string; speed: number; @@ -70,7 +70,8 @@ export interface ShellDefinition { type: ShellType; normalization?: number; ricochet?: number; -} + explosionRadius?: number; +}; export const tankDefinitions = fetch(asset('definitions/tanks.json'), { cache: 'no-cache',