diff --git a/docs/download.html b/docs/download.html index 62e6e4ad..21971014 100644 --- a/docs/download.html +++ b/docs/download.html @@ -22,6 +22,33 @@ SnowRunner XML Editor Desktop +
+

v1.0.0

+
+ +
+ Для Windows 10 | 11 +
+ + +
+
+

v0.8.9

diff --git a/inno-setup/installer.config.iss b/inno-setup/installer.config.iss index 7c0b63a6..65a859fc 100644 --- a/inno-setup/installer.config.iss +++ b/inno-setup/installer.config.iss @@ -1,5 +1,5 @@ #define MyAppName "SnowRunnerXMLEditor" -#define MyAppVersion "0.8.9" +#define MyAppVersion "1.0.0" #define MyAppPublisher "VerZsuT" #define MyAppURL "https://snowrunner.mod.io/guides/snowrunner-xml-editor/" #define MyAppExeName "SnowRunner-XML-Editor.exe" diff --git a/package.json b/package.json index 153096ef..bb7e1d68 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "snowrunner-xml-editor-desktop", "productName": "SnowRunner-XML-Editor", - "version": "0.8.9", + "version": "1.0.0", "description": "Allows you to visually edit the game's XML files.", "type": "module", "repository": { @@ -28,32 +28,34 @@ }, "devDependencies": { "@ant-design/icons-vue": "^7.0.1", - "@electron-forge/cli": "^7.3.0", - "@electron-forge/plugin-vite": "^7.3.0", + "@electron-forge/cli": "^7.3.1", + "@electron-forge/plugin-vite": "^7.3.1", "@types/memoizee": "^0.4.11", - "@typescript-eslint/eslint-plugin": "^7.1.0", - "@typescript-eslint/parser": "^7.1.0", + "@typescript-eslint/eslint-plugin": "^7.3.1", + "@typescript-eslint/parser": "^7.3.1", "@vitejs/plugin-vue": "^5.0.4", "ant-design-vue": "^4.1.2", "cheerio": "^1.0.0-rc.12", "cross-env": "^7.0.3", - "electron": "^29.1.0", + "debounce": "^2.0.0", + "electron": "^29.1.5", "emr-bridge": "^1.7.1", "eslint": "^8.57.0", "eslint-import-resolver-typescript": "^3.6.1", "eslint-plugin-import": "^2.29.1", "eslint-plugin-unicorn": "^51.0.1", - "eslint-plugin-vue": "^9.22.0", + "eslint-plugin-vue": "^9.23.0", "memoizee": "^0.4.15", "pinia": "^2.1.7", - "sass": "^1.71.1", + "sass": "^1.72.0", "ts-node": "^10.9.2", "tslib": "^2.6.2", - "typescript": "^5.3.3", - "vite": "^5.1.4", + "typescript": "^5.4.3", + "vite": "^5.2.4", "vite-plugin-static-copy": "^1.0.1", "vue": "^3.4.21", "vue-eslint-parser": "^9.4.2", - "vue-tsc": "^1.8.27" + "vue-tsc": "^2.0.7", + "xml-formatter": "^3.6.2" } } diff --git a/src/build-configs/forge.js b/src/build-configs/forge.js index 68e32b56..e29d12d7 100644 --- a/src/build-configs/forge.js +++ b/src/build-configs/forge.js @@ -63,9 +63,6 @@ class ForgeConfig { function archive(source, name) { execSync(`WinRAR a -ibck -ep1 -m5 "${name}" "${source}"`, { cwd: paths.winrar }) } - function hasArg(name) { - return process.argv.includes(name) - } info('Clear other files in out dir') for (const entry of await readdir(paths.out)) { @@ -88,23 +85,17 @@ class ForgeConfig { info('Rename build') await rename(paths.build, join(_dirname, '../../out/SnowRunnerXMLEditor')) - if (hasArg('--fast')) return - - if (!hasArg('--no-installer')) { - info('Create installer') - const configData = String(await readFile(paths.innoSetupConfig)) - await writeFile(paths.innoSetupConfig, configData.replaceAll(/#define MyAppVersion .*?\r\n/g, `#define MyAppVersion "${version}"\r\n`)) - execSync(paths.innoSetupConfig) - await cp(paths.installer, paths.updateInstaller) - await cp(paths.installer, paths.installerWithVersion) - } - - if (!hasArg('--no-archive')) { - info('Archive build') - archive(paths.renamedBuild, paths.buildArchive) - await cp(paths.buildArchive, paths.updateBuildArchive) - archive(paths.installerWithVersion, paths.modioArchive) - } + info('Create installer') + const configData = String(await readFile(paths.innoSetupConfig)) + await writeFile(paths.innoSetupConfig, configData.replaceAll(/#define MyAppVersion .*?\r\n/g, `#define MyAppVersion "${version}"\r\n`)) + execSync(paths.innoSetupConfig) + await cp(paths.installer, paths.updateInstaller) + await cp(paths.installer, paths.installerWithVersion) + + info('Archive build') + archive(paths.renamedBuild, paths.buildArchive) + await cp(paths.buildArchive, paths.updateBuildArchive) + archive(paths.installerWithVersion, paths.modioArchive) } }, plugins: [ diff --git a/src/consts.ts b/src/consts.ts index 2f77fcaf..352da9b9 100644 --- a/src/consts.ts +++ b/src/consts.ts @@ -1,7 +1,7 @@ /** Название программы */ export const APP_NAME = 'SnowRunner XML Editor' /** Версия программы */ -export const PROGRAM_VERSION = '0.8.9' +export const PROGRAM_VERSION = '1.0.0' /** В любом случае показать devtools */ export const FORCE_DEVTOOLS = false diff --git a/src/modules/archive/main/texts.ts b/src/modules/archive/main/texts.ts index 2f8ce075..df034e38 100644 --- a/src/modules/archive/main/texts.ts +++ b/src/modules/archive/main/texts.ts @@ -1,5 +1,5 @@ -import { localize } from '/utils/texts/main' - import texts from '../texts' -export default localize(texts) +import { LocalizationObj } from '/utils/texts/main' + +export default new LocalizationObj(texts).get() diff --git a/src/modules/archive/texts.ts b/src/modules/archive/texts.ts index 0153cbc5..b89d616a 100644 --- a/src/modules/archive/texts.ts +++ b/src/modules/archive/texts.ts @@ -1,25 +1,22 @@ -import { Lang } from '/mods/data/config/enums' +import { BaseLocalization, BaseLocalizationObj } from '/utils/texts/base-localization' -export default { +export default new BaseLocalizationObj({ /** Ошибка сохранения мода */ - saveModError: { - [Lang.ru]: 'Не удалось сохранить файлы модификации. Нет доступа к записи файла.', - [Lang.en]: 'The modification files could not be saved. There is no write access to the file.', - [Lang.de]: 'Die Änderungsdateien konnten nicht gespeichert werden. Sie haben keinen Zugriff auf das Schreiben der Datei.', - [Lang.ch]: '修改文件无法保存。没有写入文件的权限。' - }, + saveModError: new BaseLocalization() + .ru('Не удалось сохранить файлы модификации. Нет доступа к записи файла.') + .en('The modification files could not be saved. There is no write access to the file.') + .de('Die Änderungsdateien konnten nicht gespeichert werden. Sie haben keinen Zugriff auf das Schreiben der Datei.') + .ch('修改文件无法保存。没有写入文件的权限。'), /** Ошибка сохранения `initial.pak` */ - saveOriginalError: { - [Lang.ru]: 'Не удалось обновить файлы в initial.pak. Нет доступа к записи', - [Lang.en]: 'Failed to update files in initial. pak. There is no access to the record', - [Lang.de]: 'Die Dateien in initial konnten nicht aktualisiert werden.pak. Kein Zugriff auf den Datensatz', - [Lang.ch]: '更新initial.pak中的文件失败。没有写入权限' - }, + saveOriginalError: new BaseLocalization() + .ru('Не удалось обновить файлы в initial.pak. Нет доступа к записи') + .en('Failed to update files in initial. pak. There is no access to the record') + .de('Die Dateien in initial konnten nicht aktualisiert werden.pak. Kein Zugriff auf den Datensatz') + .ch('更新initial.pak中的文件失败。没有写入权限'), /** Распаковка */ - unpacking: { - [Lang.ru]: 'Распаковка', - [Lang.en]: 'Unpacking', - [Lang.de]: 'Auspacken', - [Lang.ch]: '打开包装' - } -} + unpacking: new BaseLocalization() + .ru('Распаковка') + .en('Unpacking') + .de('Auspacken') + .ch('打开包装') +}) diff --git a/src/modules/backup/main/texts.ts b/src/modules/backup/main/texts.ts index 2f8ce075..df034e38 100644 --- a/src/modules/backup/main/texts.ts +++ b/src/modules/backup/main/texts.ts @@ -1,5 +1,5 @@ -import { localize } from '/utils/texts/main' - import texts from '../texts' -export default localize(texts) +import { LocalizationObj } from '/utils/texts/main' + +export default new LocalizationObj(texts).get() diff --git a/src/modules/backup/texts.ts b/src/modules/backup/texts.ts index 0ff293bb..39af259d 100644 --- a/src/modules/backup/texts.ts +++ b/src/modules/backup/texts.ts @@ -1,18 +1,16 @@ -import { Lang } from '../data/config/enums' +import { BaseLocalization, BaseLocalizationObj } from '/utils/texts/base-localization' -export default { +export default new BaseLocalizationObj({ /** Бэкап сохранён успешно */ - successBackupSave: { - [Lang.ru]: 'Бэкап initial.pak успешно сохранён.', - [Lang.en]: 'The initial.pak backup was saved successfully.', - [Lang.de]: 'Die Initiale.pak backup wurde erfolgreich gespeichert.', - [Lang.ch]: 'initial.pak备份已成功保存。' - }, + successBackupSave: new BaseLocalization() + .ru('Бэкап initial.pak успешно сохранён.') + .en('The initial.pak backup was saved successfully.') + .de('Die Initiale.pak backup wurde erfolgreich gespeichert.') + .ch('initial.pak备份已成功保存。'), /** `initial.pak` восстановлен успешно */ - successInitialRestore: { - [Lang.ru]: 'initial.pak был успешно восстановлен.', - [Lang.en]: 'initial.pak was successfully restored.', - [Lang.de]: 'initial.pak wurde erfolgreich restauriert.', - [Lang.ch]: 'initial.pak已被成功恢复。' - } -} + successInitialRestore: new BaseLocalization() + .ru('initial.pak был успешно восстановлен.') + .en('initial.pak was successfully restored.') + .de('initial.pak wurde erfolgreich restauriert.') + .ch('initial.pak已被成功恢复。') +}) diff --git a/src/modules/checks/main/texts.ts b/src/modules/checks/main/texts.ts index 2cf3aab2..df034e38 100644 --- a/src/modules/checks/main/texts.ts +++ b/src/modules/checks/main/texts.ts @@ -1,5 +1,5 @@ import texts from '../texts' -import { localize } from '/utils/texts/main' +import { LocalizationObj } from '/utils/texts/main' -export default localize(texts) +export default new LocalizationObj(texts).get() diff --git a/src/modules/checks/texts.ts b/src/modules/checks/texts.ts index 8bd4df45..5ead9621 100644 --- a/src/modules/checks/texts.ts +++ b/src/modules/checks/texts.ts @@ -1,39 +1,34 @@ -import { Lang } from '/mods/data/config/enums' +import { BaseLocalization, BaseLocalizationObj } from '/utils/texts/base-localization' -export default { +export default new BaseLocalizationObj({ /** Ошибка прав доступа */ - adminRequiredMessage: { - [Lang.ru]: 'Ошибка запуска. Программа должна быть запущена от имени администратора.', - [Lang.en]: 'Startup error. The program must be run as an administrator.', - [Lang.de]: 'Startfehler. Das Programm muss als administrator ausgeführt.', - [Lang.ch]: '启动错误。该程序必须以管理员身份启动。' - }, + adminRequiredMessage: new BaseLocalization() + .ru('Ошибка запуска. Программа должна быть запущена от имени администратора.') + .en('Startup error. The program must be run as an administrator.') + .de('Startfehler. Das Programm muss als administrator ausgeführt.') + .ch('启动错误。该程序必须以管理员身份启动。'), /** Доступна новая версия */ - allowNewVersion: { - [Lang.ru]: 'Доступна новая версия программы.', - [Lang.en]: 'A new version of the program is available.', - [Lang.de]: 'Eine neue Version des Programms ist verfügbar.', - [Lang.ch]: '新版本的软件已经问世。' - }, + allowNewVersion: new BaseLocalization() + .ru('Доступна новая версия программы.') + .en('A new version of the program is available.') + .de('Eine neue Version des Programms ist verfügbar.') + .ch('新版本的软件已经问世。'), /** Не найден `initial.pak` */ - initialNotFound: { - [Lang.ru]: 'initial.pak не найден.', - [Lang.en]: 'initial.pak not found', - [Lang.de]: 'initial.pak nicht gefunden', - [Lang.ch]: '没有找到initial.pak。' - }, + initialNotFound: new BaseLocalization() + .ru('initial.pak не найден.') + .en('initial.pak not found') + .de('initial.pak nicht gefunden') + .ch('没有找到initial.pak。'), /** Не найдена папка `classes` */ - classesNotFound: { - [Lang.ru]: 'Папка classes не найдена.', - [Lang.en]: 'Folder classes not found', - [Lang.de]: 'Klassen nicht gefunden', - [Lang.ch]: '没有找到classes文件夹。' - }, + classesNotFound: new BaseLocalization() + .ru('Папка classes не найдена.') + .en('Folder classes not found') + .de('Klassen nicht gefunden') + .ch('没有找到classes文件夹。'), /** Не найдена папка `_dlc` */ - dlcFolderNotFound: { - [Lang.ru]: 'Папка с дополнениями не найдена', - [Lang.en]: 'DLC folder not found', - [Lang.de]: 'DLC-Ordner nicht gefunden', - [Lang.ch]: '未找到增编文件夹' - } -} + dlcFolderNotFound: new BaseLocalization() + .ru('Папка с дополнениями не найдена') + .en('DLC folder not found') + .de('DLC-Ordner nicht gefunden') + .ch('未找到增编文件夹') +}) diff --git a/src/modules/data/config/main.ts b/src/modules/data/config/main.ts index c1f31e2a..ba78a832 100644 --- a/src/modules/data/config/main.ts +++ b/src/modules/data/config/main.ts @@ -8,13 +8,8 @@ import { PubKeys } from './public' import type { IConfig } from './types' import { PROGRAM_VERSION } from '/consts' -import Edited from '/mods/data/edited/main' -import Favorites from '/mods/data/favorites/main' -import Mods from '/mods/data/mods/main' -import Sizes from '/mods/data/sizes/main' import { ErrorText, ProgramError } from '/mods/errors/main' import { File, Files } from '/mods/files/main' -import Helpers from '/mods/helpers/main' import { HasPublic } from '/utils/bridge/main' import { isNullable } from '/utils/checks/main' @@ -101,6 +96,12 @@ class Config extends HasPublic { * @param noReload - отмена перезагрузки после завершения. */ async reset(noReload = false) { + const Edited = (await import('/mods/data/edited/main')).default + const Favorites = (await import('/mods/data/favorites/main')).default + const Mods = (await import('/mods/data/mods/main')).default + const Sizes = (await import('/mods/data/sizes/main')).default + const Helpers = (await import('/mods/helpers/main')).default + this.set(this.default) await Helpers.clearTemp() @@ -151,13 +152,14 @@ class Config extends HasPublic { private async getFromJSON(defaultConfig: IConfig): Promise { const data = await Files.config.readFromJSON<{ version: string }>() const version = this.getVersion(data.version) + const thisVersion = this.getVersion(this.default.version) let config: IConfig - if (version === this.default.version) { + if (version === thisVersion) { config = data as IConfig } - else if (version < this.default.version) { + else if (version < thisVersion) { config = await this.convertToNewest(data) } else { diff --git a/src/modules/data/defaults/renderer.ts b/src/modules/data/defaults/renderer.ts index dd4415bd..2a7192a9 100644 --- a/src/modules/data/defaults/renderer.ts +++ b/src/modules/data/defaults/renderer.ts @@ -31,6 +31,7 @@ export default { SuspensionStrength: 0.33 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 900 }, 'Truck > GameData': { @@ -61,6 +62,7 @@ export default { SuspensionStrength: 0.33 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; -1; 0)', Mass: 5000 }, 'Truck > GameData': { @@ -99,6 +101,7 @@ export default { SuspensionStrength: 0.33 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 1300 }, 'Truck > FuelMass > Body': { @@ -148,6 +151,7 @@ export default { SuspensionStrength: 0.33 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(-1; 0; 0)', Mass: 1200 }, 'Truck > GameData': { @@ -189,6 +193,7 @@ export default { SuspensionStrength: 0.33 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 700 }, 'Truck > GameData': { @@ -238,6 +243,7 @@ export default { SuspensionStrength: 0.33 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(-1; 0; 0)', Mass: 1400 }, 'Truck > GameData': { @@ -268,6 +274,7 @@ export default { SuspensionStrength: 0.15 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 900 }, 'Truck > GameData': { @@ -301,6 +308,7 @@ export default { SuspensionStrength: 0.01 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 400 }, 'Truck > GameData': { @@ -334,6 +342,7 @@ export default { SuspensionStrength: 0.0422 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 1000 }, 'Truck > GameData': { @@ -388,6 +397,7 @@ export default { SuspensionStrength: 0.1 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(-4; 0.7; 0)', Mass: 8000 }, 'Truck > GameData': {} @@ -424,6 +434,7 @@ export default { SuspensionStrength: 0.0422 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 4000 }, 'Truck > FuelMass > Body': { @@ -476,6 +487,7 @@ export default { SuspensionStrength: 0.2 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 3000 }, 'Truck > GameData': { @@ -514,6 +526,7 @@ export default { SuspensionStrength: 0.035 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 11_000 }, 'Truck > FuelMass > Body': { @@ -547,6 +560,7 @@ export default { SuspensionStrength: 0.04 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; -1; 0.5)', Mass: 10_000 }, 'Truck > GameData': { @@ -596,6 +610,7 @@ export default { SuspensionStrength: 0.35 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 1000 }, 'Truck > GameData': { @@ -629,6 +644,7 @@ export default { SuspensionStrength: 0.0422 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 1000 }, 'Truck > GameData': { @@ -659,6 +675,7 @@ export default { SuspensionStrength: 0.04 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; -1; 0.5)', Mass: 10_000 }, 'Truck > GameData': { @@ -685,6 +702,7 @@ export default { SuspensionStrength: 0.33 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 2500 }, 'Truck > FuelMass > Body': { @@ -725,6 +743,7 @@ export default { SuspensionStrength: 0.33 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(-0.8; 0; 0)', Mass: 800 }, 'Truck > GameData': { @@ -754,6 +773,7 @@ export default { SuspensionStrength: 0.33 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 800 }, 'Truck > GameData': { @@ -1149,54 +1169,6 @@ export default { UnlockByRank: 1 } }, - s_zikz_5368_default: { - 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { - CriticalDamageThreshold: 0.4, - DamageCapacity: 140 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(1)': { - Height: 0.1, - Strength: 0.1, - Damping: 0.2, - SuspensionMin: -0.3, - BrokenSuspensionMax: 0.1 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(2)': { - Height: 0.06, - Strength: 0.12, - Damping: 0.2, - SuspensionMin: -0.25, - BrokenSuspensionMax: 0.2 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > GameData': { - Price: 4200, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(2)': { - CriticalDamageThreshold: 0.5, - DamageCapacity: 180 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > Suspension:nth-of-type(1)': { - Height: 0.3, - Strength: 0.05, - Damping: 0.4, - SuspensionMin: -0.3, - BrokenSuspensionMax: 0.1 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > Suspension:nth-of-type(2)': { - Height: 0.26, - Strength: 0.04, - Damping: 0.4, - SuspensionMin: -0.28, - BrokenSuspensionMax: 0.2 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > GameData': { - Price: 6400, - UnlockByExploration: 'true', - UnlockByRank: 1 - } - }, wheels_medium_double_default: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 1, @@ -1320,38 +1292,51 @@ export default { UnlockByRank: 12 } }, - wheels_medium_offroad_double_default: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 3, - BodyFrictionAsphalt: 1, - SubstanceFriction: 1.7, - IsIgnoreIce: 'false' + s_zikz_5368_default: { + 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { + CriticalDamageThreshold: 0.4, + DamageCapacity: 140 }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 4900, - UnlockByExploration: 'false', - UnlockByRank: 1 + 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(1)': { + Height: 0.1, + Strength: 0.1, + Damping: 0.2, + SuspensionMin: -0.3, + BrokenSuspensionMax: 0.1 }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 3.1, - BodyFrictionAsphalt: 0.8, - SubstanceFriction: 1.6, - IsIgnoreIce: 'false' + 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(2)': { + Height: 0.06, + Strength: 0.12, + Damping: 0.2, + SuspensionMin: -0.25, + BrokenSuspensionMax: 0.2 }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 5100, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > GameData': { + Price: 4200, UnlockByExploration: 'false', UnlockByRank: 1 }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 3.1, - BodyFrictionAsphalt: 0.8, - SubstanceFriction: 1.8, - IsIgnoreIce: 'false' + 'SuspensionSetVariants > SuspensionSet:nth-of-type(2)': { + CriticalDamageThreshold: 0.5, + DamageCapacity: 180 }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 5700, - UnlockByExploration: 'false', + 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > Suspension:nth-of-type(1)': { + Height: 0.3, + Strength: 0.05, + Damping: 0.4, + SuspensionMin: -0.3, + BrokenSuspensionMax: 0.1 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > Suspension:nth-of-type(2)': { + Height: 0.26, + Strength: 0.04, + Damping: 0.4, + SuspensionMin: -0.28, + BrokenSuspensionMax: 0.2 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > GameData': { + Price: 6400, + UnlockByExploration: 'true', UnlockByRank: 1 } }, @@ -1390,6 +1375,41 @@ export default { UnlockByRank: 1 } }, + wheels_medium_offroad_double_default: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 3, + BodyFrictionAsphalt: 1, + SubstanceFriction: 1.7, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 4900, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 3.1, + BodyFrictionAsphalt: 0.8, + SubstanceFriction: 1.6, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 5100, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 3.1, + BodyFrictionAsphalt: 0.8, + SubstanceFriction: 1.8, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 5700, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, wheels_medium_mudtires_double_default: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 2, @@ -1828,30 +1848,6 @@ export default { UnlockByRank: 1 } }, - wheels_scout_yar_871_default: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 2.4, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 4900, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 2, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2.4, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 5300, - UnlockByExploration: 'false', - UnlockByRank: 12 - } - }, wheels_scout_yar_87_default: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 1.5, @@ -1921,6 +1917,30 @@ export default { UnlockByRank: 1 } }, + wheels_scout_yar_871_default: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 2.4, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 4900, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 2, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2.4, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 5300, + UnlockByExploration: 'false', + UnlockByRank: 12 + } + }, wheels_scout_yar87_mudtires_default: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 2.7, @@ -2147,74 +2167,6 @@ export default { UnlockByRank: 1 } }, - wheels_heavy_double1_default: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1, - BodyFrictionAsphalt: 3, - SubstanceFriction: 0.4, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 3600, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1.2, - BodyFrictionAsphalt: 3, - SubstanceFriction: 0.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 4000, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 1, - BodyFrictionAsphalt: 3.2, - SubstanceFriction: 0.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 4400, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > WheelFriction': { - BodyFriction: 1.5, - BodyFrictionAsphalt: 1.9, - SubstanceFriction: 1, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > GameData': { - Price: 4900, - UnlockByExploration: 'false', - UnlockByRank: 9 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > WheelFriction': { - BodyFriction: 1.5, - BodyFrictionAsphalt: 1.5, - SubstanceFriction: 1.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > GameData': { - Price: 5300, - UnlockByExploration: 'false', - UnlockByRank: 9 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(6) > WheelFriction': { - BodyFriction: 1.7, - BodyFrictionAsphalt: 1.5, - SubstanceFriction: 1, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(6) > GameData': { - Price: 5700, - UnlockByExploration: 'false', - UnlockByRank: 9 - } - }, wheels_heavy_single_default: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 1.5, @@ -2305,50 +2257,72 @@ export default { UnlockByRank: 14 } }, - wheels_heavy_double2_default: { + wheels_heavy_double1_default: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 3, - BodyFrictionAsphalt: 0.8, - SubstanceFriction: 1.9, + BodyFriction: 1, + BodyFrictionAsphalt: 3, + SubstanceFriction: 0.4, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 5900, + Price: 3600, UnlockByExploration: 'false', - UnlockByRank: 11 + UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 3.2, - BodyFrictionAsphalt: 0.8, - SubstanceFriction: 1.5, + BodyFriction: 1.2, + BodyFrictionAsphalt: 3, + SubstanceFriction: 0.2, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 6200, + Price: 4000, UnlockByExploration: 'false', - UnlockByRank: 11 + UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 3, - BodyFrictionAsphalt: 1, - SubstanceFriction: 1.5, + BodyFriction: 1, + BodyFrictionAsphalt: 3.2, + SubstanceFriction: 0.2, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 6800, + Price: 4400, UnlockByExploration: 'false', - UnlockByRank: 11 + UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > WheelFriction': { - BodyFriction: 3, - BodyFrictionAsphalt: 1.2, - SubstanceFriction: 1.3, - IsIgnoreIce: 'true' + BodyFriction: 1.5, + BodyFrictionAsphalt: 1.9, + SubstanceFriction: 1, + IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > GameData': { - Price: 6800, + Price: 4900, UnlockByExploration: 'false', - UnlockByRank: 14 + UnlockByRank: 9 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > WheelFriction': { + BodyFriction: 1.5, + BodyFrictionAsphalt: 1.5, + SubstanceFriction: 1.2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > GameData': { + Price: 5300, + UnlockByExploration: 'false', + UnlockByRank: 9 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(6) > WheelFriction': { + BodyFriction: 1.7, + BodyFrictionAsphalt: 1.5, + SubstanceFriction: 1, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(6) > GameData': { + Price: 5700, + UnlockByExploration: 'false', + UnlockByRank: 9 } }, s_ws_6900xd_twin_default: { @@ -2399,39 +2373,50 @@ export default { UnlockByRank: 1 } }, - wheels_heavy_mudtires_single_default: { + wheels_heavy_double2_default: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1.8, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2.2, + BodyFriction: 3, + BodyFrictionAsphalt: 0.8, + SubstanceFriction: 1.9, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 6200, + Price: 5900, UnlockByExploration: 'false', - UnlockByRank: 1 + UnlockByRank: 11 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 2.3, - BodyFrictionAsphalt: 0.6, - SubstanceFriction: 2, + BodyFriction: 3.2, + BodyFrictionAsphalt: 0.8, + SubstanceFriction: 1.5, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 6800, + Price: 6200, UnlockByExploration: 'false', - UnlockByRank: 1 + UnlockByRank: 11 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 1.9, - BodyFrictionAsphalt: 0.6, - SubstanceFriction: 2.4, + BodyFriction: 3, + BodyFrictionAsphalt: 1, + SubstanceFriction: 1.5, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 7400, + Price: 6800, UnlockByExploration: 'false', - UnlockByRank: 1 + UnlockByRank: 11 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > WheelFriction': { + BodyFriction: 3, + BodyFrictionAsphalt: 1.2, + SubstanceFriction: 1.3, + IsIgnoreIce: 'true' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > GameData': { + Price: 6800, + UnlockByExploration: 'false', + UnlockByRank: 14 } }, wheels_heavy_offroad_single_default: { @@ -2504,72 +2489,72 @@ export default { UnlockByRank: 1 } }, - wheels_heavy_highway_double_default: { + wheels_heavy_mudtires_single_default: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1, - BodyFrictionAsphalt: 3, - SubstanceFriction: 0.4, + BodyFriction: 1.8, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2.2, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 3600, + Price: 6200, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1.1, - BodyFrictionAsphalt: 3, - SubstanceFriction: 0.3, + BodyFriction: 2.3, + BodyFrictionAsphalt: 0.6, + SubstanceFriction: 2, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 4000, + Price: 6800, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 0.9, - BodyFrictionAsphalt: 3.2, - SubstanceFriction: 0.4, + BodyFriction: 1.9, + BodyFrictionAsphalt: 0.6, + SubstanceFriction: 2.4, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 4400, + Price: 7400, UnlockByExploration: 'false', UnlockByRank: 1 } }, - wheels_heavy_offroad_double_default: { + wheels_heavy_highway_double_default: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 3, - BodyFrictionAsphalt: 1, - SubstanceFriction: 1.7, + BodyFriction: 1, + BodyFrictionAsphalt: 3, + SubstanceFriction: 0.4, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 5900, + Price: 3600, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 3.1, - BodyFrictionAsphalt: 0.8, - SubstanceFriction: 1.6, + BodyFriction: 1.1, + BodyFrictionAsphalt: 3, + SubstanceFriction: 0.3, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 6200, + Price: 4000, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 3.2, - BodyFrictionAsphalt: 0.6, - SubstanceFriction: 1.6, + BodyFriction: 0.9, + BodyFrictionAsphalt: 3.2, + SubstanceFriction: 0.4, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 6800, + Price: 4400, UnlockByExploration: 'false', UnlockByRank: 1 } @@ -2609,6 +2594,41 @@ export default { UnlockByRank: 1 } }, + wheels_heavy_offroad_double_default: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 3, + BodyFrictionAsphalt: 1, + SubstanceFriction: 1.7, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 5900, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 3.1, + BodyFrictionAsphalt: 0.8, + SubstanceFriction: 1.6, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 6200, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 3.2, + BodyFrictionAsphalt: 0.6, + SubstanceFriction: 1.6, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 6800, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, ws_4964_white_default: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_WS_4964_WHITE_NAME', @@ -2684,54 +2704,6 @@ export default { UnlockByRank: 1 } }, - s_white_ws4964_default: { - 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { - CriticalDamageThreshold: 0.4, - DamageCapacity: 170 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(1)': { - Height: 0.15, - Strength: 0.04, - Damping: 0.2, - SuspensionMin: -0.25, - BrokenSuspensionMax: 0.1 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(2)': { - Height: 0.1, - Strength: 0.04, - Damping: 0.2, - SuspensionMin: -0.18, - BrokenSuspensionMax: 0.2 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > GameData': { - Price: 4500, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(2)': { - CriticalDamageThreshold: 0.5, - DamageCapacity: 200 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > Suspension:nth-of-type(1)': { - Height: 0.3, - Strength: 0.04, - Damping: 0.2, - SuspensionMin: -0.35, - BrokenSuspensionMax: 0.1 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > Suspension:nth-of-type(2)': { - Height: 0.25, - Strength: 0.04, - Damping: 0.2, - SuspensionMin: -0.33, - BrokenSuspensionMax: 0.2 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > GameData': { - Price: 9400, - UnlockByExploration: 'true', - UnlockByRank: 1 - } - }, e_us_truck_old_default: { 'EngineVariants > Engine:nth-of-type(1)': { CriticalDamageThreshold: 0.3, @@ -2787,6 +2759,54 @@ export default { UnlockByRank: 1 } }, + s_white_ws4964_default: { + 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { + CriticalDamageThreshold: 0.4, + DamageCapacity: 170 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(1)': { + Height: 0.15, + Strength: 0.04, + Damping: 0.2, + SuspensionMin: -0.25, + BrokenSuspensionMax: 0.1 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(2)': { + Height: 0.1, + Strength: 0.04, + Damping: 0.2, + SuspensionMin: -0.18, + BrokenSuspensionMax: 0.2 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > GameData': { + Price: 4500, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(2)': { + CriticalDamageThreshold: 0.5, + DamageCapacity: 200 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > Suspension:nth-of-type(1)': { + Height: 0.3, + Strength: 0.04, + Damping: 0.2, + SuspensionMin: -0.35, + BrokenSuspensionMax: 0.1 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > Suspension:nth-of-type(2)': { + Height: 0.25, + Strength: 0.04, + Damping: 0.2, + SuspensionMin: -0.33, + BrokenSuspensionMax: 0.2 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > GameData': { + Price: 9400, + UnlockByExploration: 'true', + UnlockByRank: 1 + } + }, voron_grad_default: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_VORON_GRAD_NAME', @@ -3686,19 +3706,6 @@ export default { UnlockByRank: 1 } }, - wheels_scout_btr_default: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 3, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 8, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 7200, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, s_tuz_420_tatarin_default: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.99, @@ -3724,6 +3731,19 @@ export default { UnlockByRank: 1 } }, + wheels_scout_btr_default: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 3, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 8, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 7200, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, tuz_166_default: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_TUZ_166_NAME', @@ -3848,6 +3868,95 @@ export default { UnlockByRank: 1 } }, + e_ru_scout_old_tuz_default: { + 'EngineVariants > Engine:nth-of-type(1)': { + CriticalDamageThreshold: 0.5, + DamageCapacity: 80, + DamagedConsumptionModifier: 2, + EngineResponsiveness: 0.01, + FuelConsumption: 0.4, + Torque: 20_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.4, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(1) > GameData': { + Price: 1700, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, + e_ru_scout_old_default: { + 'EngineVariants > Engine:nth-of-type(1)': { + CriticalDamageThreshold: 0.7, + DamageCapacity: 120, + DamagedConsumptionModifier: 1.1, + EngineResponsiveness: 0.04, + FuelConsumption: 0.6, + Torque: 30_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.6, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(1) > GameData': { + Price: 1500, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'EngineVariants > Engine:nth-of-type(2)': { + CriticalDamageThreshold: 0.7, + DamageCapacity: 120, + DamagedConsumptionModifier: 1.3, + EngineResponsiveness: 0.09, + FuelConsumption: 1.1, + Torque: 40_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.7, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(2) > GameData': { + Price: 4700, + UnlockByExploration: 'true', + UnlockByRank: 1 + }, + 'EngineVariants > Engine:nth-of-type(3)': { + CriticalDamageThreshold: 0.7, + DamageCapacity: 170, + DamagedConsumptionModifier: 1.4, + EngineResponsiveness: 0.14, + FuelConsumption: 1.4, + Torque: 46_500, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.7, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(3) > GameData': { + Price: 6000, + UnlockByExploration: 'true', + UnlockByRank: 1 + }, + 'EngineVariants > Engine:nth-of-type(4)': { + CriticalDamageThreshold: 0.4, + DamageCapacity: 70, + DamagedConsumptionModifier: 1.6, + EngineResponsiveness: 0.08, + FuelConsumption: 1.9, + Torque: 72_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.6, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(4) > GameData': { + Price: 7500, + UnlockByExploration: 'true', + UnlockByRank: 1 + } + }, wheels_scout2_default: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 1.4, @@ -3916,41 +4025,6 @@ export default { UnlockByRank: 10 } }, - wheels_scout1_default: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 0.8, - BodyFrictionAsphalt: 2, - SubstanceFriction: 0.4, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 1000, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1, - BodyFrictionAsphalt: 2, - SubstanceFriction: 0.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 1200, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 0.8, - BodyFrictionAsphalt: 2.5, - SubstanceFriction: 0.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 1400, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, s_tuz_166_default: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.7, @@ -4020,92 +4094,38 @@ export default { UnlockByRank: 1 } }, - e_ru_scout_old_tuz_default: { - 'EngineVariants > Engine:nth-of-type(1)': { - CriticalDamageThreshold: 0.5, - DamageCapacity: 80, - DamagedConsumptionModifier: 2, - EngineResponsiveness: 0.01, - FuelConsumption: 0.4, - Torque: 20_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.4, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(1) > GameData': { - Price: 1700, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, - e_ru_scout_old_default: { - 'EngineVariants > Engine:nth-of-type(1)': { - CriticalDamageThreshold: 0.7, - DamageCapacity: 120, - DamagedConsumptionModifier: 1.1, - EngineResponsiveness: 0.04, - FuelConsumption: 0.6, - Torque: 30_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.6, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 + wheels_scout1_default: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 0.8, + BodyFrictionAsphalt: 2, + SubstanceFriction: 0.4, + IsIgnoreIce: 'false' }, - 'EngineVariants > Engine:nth-of-type(1) > GameData': { - Price: 1500, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 1000, UnlockByExploration: 'false', UnlockByRank: 1 }, - 'EngineVariants > Engine:nth-of-type(2)': { - CriticalDamageThreshold: 0.7, - DamageCapacity: 120, - DamagedConsumptionModifier: 1.3, - EngineResponsiveness: 0.09, - FuelConsumption: 1.1, - Torque: 40_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.7, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(2) > GameData': { - Price: 4700, - UnlockByExploration: 'true', - UnlockByRank: 1 - }, - 'EngineVariants > Engine:nth-of-type(3)': { - CriticalDamageThreshold: 0.7, - DamageCapacity: 170, - DamagedConsumptionModifier: 1.4, - EngineResponsiveness: 0.14, - FuelConsumption: 1.4, - Torque: 46_500, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.7, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 1, + BodyFrictionAsphalt: 2, + SubstanceFriction: 0.2, + IsIgnoreIce: 'false' }, - 'EngineVariants > Engine:nth-of-type(3) > GameData': { - Price: 6000, - UnlockByExploration: 'true', + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 1200, + UnlockByExploration: 'false', UnlockByRank: 1 }, - 'EngineVariants > Engine:nth-of-type(4)': { - CriticalDamageThreshold: 0.4, - DamageCapacity: 70, - DamagedConsumptionModifier: 1.6, - EngineResponsiveness: 0.08, - FuelConsumption: 1.9, - Torque: 72_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.6, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 0.8, + BodyFrictionAsphalt: 2.5, + SubstanceFriction: 0.2, + IsIgnoreIce: 'false' }, - 'EngineVariants > Engine:nth-of-type(4) > GameData': { - Price: 7500, - UnlockByExploration: 'true', + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 1400, + UnlockByExploration: 'false', UnlockByRank: 1 } }, @@ -4133,6 +4153,41 @@ export default { UnlockByRank: 1 } }, + wheels_scout_mudtires_default: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 2.7, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 1.8, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 5100, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 2.4, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2.1, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 5500, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 2.1, + BodyFrictionAsphalt: 0.4, + SubstanceFriction: 2.5, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 5900, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, wheels_scout_offroad_default: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 2, @@ -4179,41 +4234,6 @@ export default { UnlockByRank: 1 } }, - wheels_scout_mudtires_default: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 2.7, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 1.8, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 5100, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 2.4, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2.1, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 5500, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 2.1, - BodyFrictionAsphalt: 0.4, - SubstanceFriction: 2.5, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 5900, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, tayga_6436_default: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_TAYGA_6436_NAME', @@ -4331,6 +4351,19 @@ export default { UnlockByRank: 1 } }, + wheels_heavy_mudtires_tayga_default: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 2, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2.4, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 7400, + UnlockByExploration: 'false', + UnlockByRank: 13 + } + }, s_tayga_6436_default: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.5, @@ -4379,19 +4412,6 @@ export default { UnlockByRank: 1 } }, - wheels_heavy_mudtires_tayga_default: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 2, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2.4, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 7400, - UnlockByExploration: 'false', - UnlockByRank: 13 - } - }, step_310e_default: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_STEP_310E_NAME', @@ -4609,54 +4629,6 @@ export default { UnlockByRank: 1 } }, - s_royal_bm17_default: { - 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { - CriticalDamageThreshold: 0.5, - DamageCapacity: 200 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(1)': { - Height: 0.09, - Strength: 0.1, - Damping: 0.2, - SuspensionMin: -0.22, - BrokenSuspensionMax: 0.1 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(2)': { - Height: 0.03, - Strength: 0.07, - Damping: 0.2, - SuspensionMin: -0.15, - BrokenSuspensionMax: 0.2 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > GameData': { - Price: 6200, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(2)': { - CriticalDamageThreshold: 0.6, - DamageCapacity: 220 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > Suspension:nth-of-type(1)': { - Height: 0.17, - Strength: 0.1, - Damping: 0.2, - SuspensionMin: -0.35, - BrokenSuspensionMax: 0.1 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > Suspension:nth-of-type(2)': { - Height: 0.15, - Strength: 0.08, - Damping: 0.2, - SuspensionMin: -0.23, - BrokenSuspensionMax: 0.2 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > GameData': { - Price: 10_500, - UnlockByExploration: 'true', - UnlockByRank: 1 - } - }, e_us_truck_modern_default: { 'EngineVariants > Engine:nth-of-type(1)': { CriticalDamageThreshold: 0.5, @@ -4729,6 +4701,54 @@ export default { UnlockByRank: 1 } }, + s_royal_bm17_default: { + 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { + CriticalDamageThreshold: 0.5, + DamageCapacity: 200 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(1)': { + Height: 0.09, + Strength: 0.1, + Damping: 0.2, + SuspensionMin: -0.22, + BrokenSuspensionMax: 0.1 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(2)': { + Height: 0.03, + Strength: 0.07, + Damping: 0.2, + SuspensionMin: -0.15, + BrokenSuspensionMax: 0.2 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > GameData': { + Price: 6200, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(2)': { + CriticalDamageThreshold: 0.6, + DamageCapacity: 220 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > Suspension:nth-of-type(1)': { + Height: 0.17, + Strength: 0.1, + Damping: 0.2, + SuspensionMin: -0.35, + BrokenSuspensionMax: 0.1 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > Suspension:nth-of-type(2)': { + Height: 0.15, + Strength: 0.08, + Damping: 0.2, + SuspensionMin: -0.23, + BrokenSuspensionMax: 0.2 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > GameData': { + Price: 10_500, + UnlockByExploration: 'true', + UnlockByRank: 1 + } + }, pacific_p16_default: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_PACIFIC_P16_NAME', @@ -4839,6 +4859,19 @@ export default { UnlockByRank: 1 } }, + wheels_heavy_double_p16_default: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 3, + BodyFrictionAsphalt: 0.8, + SubstanceFriction: 3.5, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 5900, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, s_pacific_p16_default: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.6, @@ -4864,19 +4897,6 @@ export default { UnlockByRank: 1 } }, - wheels_heavy_double_p16_default: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 3, - BodyFrictionAsphalt: 0.8, - SubstanceFriction: 3.5, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 5900, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, pacific_p12w_default: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_PACIFIC_P12W_NAME', @@ -5271,6 +5291,50 @@ export default { UnlockByRank: 1 } }, + s_kolob_74941_default: { + 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { + CriticalDamageThreshold: 0.6, + DamageCapacity: 280 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(1)': { + Height: 0.15, + Strength: 0.025, + SuspensionMin: -0.35, + BrokenSuspensionMax: 0.2 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(2)': { + Height: 0.15, + Strength: 0.022, + SuspensionMin: -0.15, + BrokenSuspensionMax: 0.2 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > GameData': { + Price: 6600, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(2)': { + CriticalDamageThreshold: 0.6, + DamageCapacity: 230 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > Suspension:nth-of-type(1)': { + Height: 0.15, + Strength: 0.025, + SuspensionMin: -0.35, + BrokenSuspensionMax: 0.2 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > Suspension:nth-of-type(2)': { + Height: 0.15, + Strength: 0.022, + SuspensionMin: -0.25, + BrokenSuspensionMax: 0.2 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > GameData': { + Price: 11_700, + UnlockByExploration: 'true', + UnlockByRank: 1 + } + }, wheels_superheavy_single_default: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 1.7, @@ -5317,50 +5381,6 @@ export default { UnlockByRank: 1 } }, - s_kolob_74941_default: { - 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { - CriticalDamageThreshold: 0.6, - DamageCapacity: 280 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(1)': { - Height: 0.15, - Strength: 0.025, - SuspensionMin: -0.35, - BrokenSuspensionMax: 0.2 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(2)': { - Height: 0.15, - Strength: 0.022, - SuspensionMin: -0.15, - BrokenSuspensionMax: 0.2 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > GameData': { - Price: 6600, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(2)': { - CriticalDamageThreshold: 0.6, - DamageCapacity: 230 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > Suspension:nth-of-type(1)': { - Height: 0.15, - Strength: 0.025, - SuspensionMin: -0.35, - BrokenSuspensionMax: 0.2 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > Suspension:nth-of-type(2)': { - Height: 0.15, - Strength: 0.022, - SuspensionMin: -0.25, - BrokenSuspensionMax: 0.2 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(2) > GameData': { - Price: 11_700, - UnlockByExploration: 'true', - UnlockByRank: 1 - } - }, wheels_superheavy_mudtires_default: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 1.6, @@ -5829,6 +5849,25 @@ export default { UnlockByRank: 6 } }, + e_us_truck_old_4070_default: { + 'EngineVariants > Engine:nth-of-type(1)': { + CriticalDamageThreshold: 0.5, + DamageCapacity: 200, + DamagedConsumptionModifier: 1.8, + EngineResponsiveness: 0.035, + FuelConsumption: 7, + Torque: 160_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.6, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(1) > GameData': { + Price: 8500, + UnlockByExploration: 'true', + UnlockByRank: 1 + } + }, s_international_transtar_4070a_default: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.7, @@ -5873,25 +5912,6 @@ export default { UnlockByRank: 1 } }, - e_us_truck_old_4070_default: { - 'EngineVariants > Engine:nth-of-type(1)': { - CriticalDamageThreshold: 0.5, - DamageCapacity: 200, - DamagedConsumptionModifier: 1.8, - EngineResponsiveness: 0.035, - FuelConsumption: 7, - Torque: 160_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.6, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(1) > GameData': { - Price: 8500, - UnlockByExploration: 'true', - UnlockByRank: 1 - } - }, international_scout_800_default: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_INTERNATIONAL_SCOUT_800_NAME', @@ -7076,7 +7096,10 @@ export default { } }, ford_clt9000_default: { - 'Truck > GameData > UiDesc': {}, + 'Truck > GameData > UiDesc > region\\:default': { + UiName: 'UI_VEHICLE_FORD_CLT9000_NAME', + UiDesc: 'UI_VEHICLE_FORD_CLT9000_DESC' + }, 'Truck > TruckData': { Responsiveness: 0.2, BackSteerSpeed: 0.01, @@ -7147,6 +7170,25 @@ export default { UnlockByRank: 1 } }, + e_us_truck_old_clt_default: { + 'EngineVariants > Engine:nth-of-type(1)': { + CriticalDamageThreshold: 0.6, + DamageCapacity: 180, + DamagedConsumptionModifier: 1.7, + EngineResponsiveness: 0.035, + FuelConsumption: 5, + Torque: 155_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.5, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(1) > GameData': { + Price: 9400, + UnlockByExploration: 'true', + UnlockByRank: 1 + } + }, s_ford_clt9000_default: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.7, @@ -7195,25 +7237,6 @@ export default { UnlockByRank: 1 } }, - e_us_truck_old_clt_default: { - 'EngineVariants > Engine:nth-of-type(1)': { - CriticalDamageThreshold: 0.6, - DamageCapacity: 180, - DamagedConsumptionModifier: 1.7, - EngineResponsiveness: 0.035, - FuelConsumption: 5, - Torque: 155_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.5, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(1) > GameData': { - Price: 9400, - UnlockByExploration: 'true', - UnlockByRank: 1 - } - }, don_71_default: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_DON_71_NAME', @@ -9238,37 +9261,37 @@ export default { UnlockByRank: 12 } }, - wheels_medium_highway_double_DLC_trial_6: { + wheels_medium_offroad_double_DLC_trial_6: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1, - BodyFrictionAsphalt: 3, - SubstanceFriction: 0.4, + BodyFriction: 3, + BodyFrictionAsphalt: 1, + SubstanceFriction: 1.7, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 2300, + Price: 4900, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1.1, - BodyFrictionAsphalt: 3, - SubstanceFriction: 0.3, + BodyFriction: 3.1, + BodyFrictionAsphalt: 0.8, + SubstanceFriction: 1.6, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 2500, + Price: 5100, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 0.9, - BodyFrictionAsphalt: 3.2, - SubstanceFriction: 0.4, + BodyFriction: 3.1, + BodyFrictionAsphalt: 0.8, + SubstanceFriction: 1.8, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 2900, + Price: 5700, UnlockByExploration: 'false', UnlockByRank: 1 } @@ -9308,37 +9331,37 @@ export default { UnlockByRank: 1 } }, - wheels_medium_offroad_double_DLC_trial_6: { + wheels_medium_highway_double_DLC_trial_6: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 3, - BodyFrictionAsphalt: 1, - SubstanceFriction: 1.7, + BodyFriction: 1, + BodyFrictionAsphalt: 3, + SubstanceFriction: 0.4, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 4900, + Price: 2300, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 3.1, - BodyFrictionAsphalt: 0.8, - SubstanceFriction: 1.6, + BodyFriction: 1.1, + BodyFrictionAsphalt: 3, + SubstanceFriction: 0.3, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 5100, + Price: 2500, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 3.1, - BodyFrictionAsphalt: 0.8, - SubstanceFriction: 1.8, + BodyFriction: 0.9, + BodyFrictionAsphalt: 3.2, + SubstanceFriction: 0.4, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 5700, + Price: 2900, UnlockByExploration: 'false', UnlockByRank: 1 } @@ -9501,6 +9524,7 @@ export default { SuspensionStrength: 0.33 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 1300 }, 'Truck > GameData': { @@ -9531,6 +9555,7 @@ export default { SuspensionStrength: 0.1 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 100 }, 'Truck > GameData': { @@ -9569,6 +9594,7 @@ export default { SuspensionStrength: 0.0422 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 4000 }, 'Truck > GameData': { @@ -9723,6 +9749,59 @@ export default { UnlockByRank: 1 } }, + e_ru_special_zikz_mastodont_dlc_9: { + 'EngineVariants > Engine:nth-of-type(1)': { + CriticalDamageThreshold: 0.4, + DamageCapacity: 150, + DamagedConsumptionModifier: 1.4, + EngineResponsiveness: 0.03, + FuelConsumption: 20, + Torque: 203_000, + DamagedMinTorqueMultiplier: 0.8, + DamagedMaxTorqueMultiplier: 0.5, + BrakesDelay: 0.7, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(1) > GameData': { + Price: 13_200, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'EngineVariants > Engine:nth-of-type(2)': { + CriticalDamageThreshold: 0.5, + DamageCapacity: 260, + DamagedConsumptionModifier: 1.3, + EngineResponsiveness: 0.035, + FuelConsumption: 17, + Torque: 230_000, + DamagedMinTorqueMultiplier: 0.9, + DamagedMaxTorqueMultiplier: 0.7, + BrakesDelay: 0.4, + MaxDeltaAngVel: 0.03 + }, + 'EngineVariants > Engine:nth-of-type(2) > GameData': { + Price: 18_800, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'EngineVariants > Engine:nth-of-type(3)': { + CriticalDamageThreshold: 0.3, + DamageCapacity: 320, + DamagedConsumptionModifier: 1.2, + EngineResponsiveness: 0.045, + FuelConsumption: 14, + Torque: 265_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.8, + BrakesDelay: 0.3, + MaxDeltaAngVel: 0.05 + }, + 'EngineVariants > Engine:nth-of-type(3) > GameData': { + Price: 24_400, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, gearboxes_special_zikz_612h_dlc_9: { 'GearboxVariants > Gearbox:nth-of-type(1)': { AWDConsumptionModifier: 1, @@ -9869,59 +9948,6 @@ export default { UnlockByRank: 1 } }, - e_ru_special_zikz_mastodont_dlc_9: { - 'EngineVariants > Engine:nth-of-type(1)': { - CriticalDamageThreshold: 0.4, - DamageCapacity: 150, - DamagedConsumptionModifier: 1.4, - EngineResponsiveness: 0.03, - FuelConsumption: 20, - Torque: 203_000, - DamagedMinTorqueMultiplier: 0.8, - DamagedMaxTorqueMultiplier: 0.5, - BrakesDelay: 0.7, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(1) > GameData': { - Price: 13_200, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'EngineVariants > Engine:nth-of-type(2)': { - CriticalDamageThreshold: 0.5, - DamageCapacity: 260, - DamagedConsumptionModifier: 1.3, - EngineResponsiveness: 0.035, - FuelConsumption: 17, - Torque: 230_000, - DamagedMinTorqueMultiplier: 0.9, - DamagedMaxTorqueMultiplier: 0.7, - BrakesDelay: 0.4, - MaxDeltaAngVel: 0.03 - }, - 'EngineVariants > Engine:nth-of-type(2) > GameData': { - Price: 18_800, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'EngineVariants > Engine:nth-of-type(3)': { - CriticalDamageThreshold: 0.3, - DamageCapacity: 320, - DamagedConsumptionModifier: 1.2, - EngineResponsiveness: 0.045, - FuelConsumption: 14, - Torque: 265_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.8, - BrakesDelay: 0.3, - MaxDeltaAngVel: 0.05 - }, - 'EngineVariants > Engine:nth-of-type(3) > GameData': { - Price: 24_400, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, wheels_zikz_612h_mastodont_dlc_9: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 1.7, @@ -9935,73 +9961,6 @@ export default { UnlockByRank: 1 } }, - wheels_heavy_single2_zikz_612h_dlc_9: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 2, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2.4, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 7400, - UnlockByExploration: 'false', - UnlockByRank: 13 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 2.4, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 7700, - UnlockByExploration: 'false', - UnlockByRank: 13 - } - }, - s_zikz_612h_mastodont_dlc_9: { - 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { - CriticalDamageThreshold: 0.4, - DamageCapacity: 160 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(1)': { - Height: 0.065, - Strength: 0.065, - Damping: 0.5, - SuspensionMin: -0.25, - SuspensionMax: 0.1, - BrokenSuspensionMax: 0.2 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(2)': { - Height: 0.07, - Strength: 0.07, - Damping: 0.55, - SuspensionMin: -0.25, - SuspensionMax: 0.1, - BrokenSuspensionMax: 0.1 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(3)': { - Height: 0.03, - Strength: 0.1, - Damping: 0.75, - SuspensionMin: -0.2, - SuspensionMax: 0.1, - BrokenSuspensionMax: 0.1 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(4)': { - Height: 0.03, - Strength: 0.12, - Damping: 0.85, - SuspensionMin: -0.2, - SuspensionMax: 0.1, - BrokenSuspensionMax: 0.1 - }, - 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > GameData': { - Price: 4000, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, wheels_heavy_single_zikz_612h_dlc_9: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 1.5, @@ -10092,6 +10051,73 @@ export default { UnlockByRank: 14 } }, + wheels_heavy_single2_zikz_612h_dlc_9: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 2, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2.4, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 7400, + UnlockByExploration: 'false', + UnlockByRank: 13 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 2.4, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 7700, + UnlockByExploration: 'false', + UnlockByRank: 13 + } + }, + s_zikz_612h_mastodont_dlc_9: { + 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { + CriticalDamageThreshold: 0.4, + DamageCapacity: 160 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(1)': { + Height: 0.065, + Strength: 0.065, + Damping: 0.5, + SuspensionMin: -0.25, + SuspensionMax: 0.1, + BrokenSuspensionMax: 0.2 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(2)': { + Height: 0.07, + Strength: 0.07, + Damping: 0.55, + SuspensionMin: -0.25, + SuspensionMax: 0.1, + BrokenSuspensionMax: 0.1 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(3)': { + Height: 0.03, + Strength: 0.1, + Damping: 0.75, + SuspensionMin: -0.2, + SuspensionMax: 0.1, + BrokenSuspensionMax: 0.1 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > Suspension:nth-of-type(4)': { + Height: 0.03, + Strength: 0.12, + Damping: 0.85, + SuspensionMin: -0.2, + SuspensionMax: 0.1, + BrokenSuspensionMax: 0.1 + }, + 'SuspensionSetVariants > SuspensionSet:nth-of-type(1) > GameData': { + Price: 4000, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, zikz_566a_dlc_9: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_ZiKZ_566A_NAME', @@ -10334,111 +10360,6 @@ export default { UnlockByRank: 13 } }, - wheels_medium_highway_double_dlc_9: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1, - BodyFrictionAsphalt: 3, - SubstanceFriction: 0.4, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 2300, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1.1, - BodyFrictionAsphalt: 3, - SubstanceFriction: 0.3, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 2500, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 0.9, - BodyFrictionAsphalt: 3.2, - SubstanceFriction: 0.4, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 2900, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, - wheels_medium_allterrain_double_dlc_9: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1.7, - BodyFrictionAsphalt: 1.5, - SubstanceFriction: 1, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 3800, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1.5, - BodyFrictionAsphalt: 1.7, - SubstanceFriction: 1.1, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 4200, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 1.5, - BodyFrictionAsphalt: 1.4, - SubstanceFriction: 1.4, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 4500, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, - wheels_medium_mudtires_double_dlc_9: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 2, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 5200, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 2.2, - BodyFrictionAsphalt: 0.4, - SubstanceFriction: 2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 5600, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 2.1, - BodyFrictionAsphalt: 0.4, - SubstanceFriction: 2.1, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 5900, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, wheels_medium_offroad_double_dlc_9: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 3, @@ -10474,6 +10395,111 @@ export default { UnlockByRank: 1 } }, + wheels_medium_allterrain_double_dlc_9: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1.7, + BodyFrictionAsphalt: 1.5, + SubstanceFriction: 1, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 3800, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 1.5, + BodyFrictionAsphalt: 1.7, + SubstanceFriction: 1.1, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 4200, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 1.5, + BodyFrictionAsphalt: 1.4, + SubstanceFriction: 1.4, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 4500, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, + wheels_medium_mudtires_double_dlc_9: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 2, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2.2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 5200, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 2.2, + BodyFrictionAsphalt: 0.4, + SubstanceFriction: 2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 5600, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 2.1, + BodyFrictionAsphalt: 0.4, + SubstanceFriction: 2.1, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 5900, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, + wheels_medium_highway_double_dlc_9: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1, + BodyFrictionAsphalt: 3, + SubstanceFriction: 0.4, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 2300, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 1.1, + BodyFrictionAsphalt: 3, + SubstanceFriction: 0.3, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 2500, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 0.9, + BodyFrictionAsphalt: 3.2, + SubstanceFriction: 0.4, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 2900, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, gearboxes_zikz_566a_dlc_9: { 'GearboxVariants > Gearbox:nth-of-type(1)': { AWDConsumptionModifier: 1.2, @@ -11001,6 +11027,41 @@ export default { UnlockByRank: 14 } }, + wheels_heavy_mudtires_single_dlc_9: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1.8, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2.2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 6200, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 2.3, + BodyFrictionAsphalt: 0.6, + SubstanceFriction: 2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 6800, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 1.9, + BodyFrictionAsphalt: 0.6, + SubstanceFriction: 2.4, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 7400, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, wheels_heavy_offroad_single_dlc_9: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 3, @@ -11071,41 +11132,6 @@ export default { UnlockByRank: 1 } }, - wheels_heavy_mudtires_single_dlc_9: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1.8, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 6200, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 2.3, - BodyFrictionAsphalt: 0.6, - SubstanceFriction: 2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 6800, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 1.9, - BodyFrictionAsphalt: 0.6, - SubstanceFriction: 2.4, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 7400, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, gearboxes_special_dlc_9: { 'GearboxVariants > Gearbox:nth-of-type(1)': { AWDConsumptionModifier: 1, @@ -11455,6 +11481,7 @@ export default { SuspensionStrength: 0.9 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 500 }, 'Truck > GameData': { @@ -11501,6 +11528,7 @@ export default { SuspensionStrength: 0.3 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 1000 }, 'Truck > GameData': { @@ -11523,6 +11551,7 @@ export default { SuspensionStrength: 0.9 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 500 }, 'Truck > GameData': { @@ -11851,74 +11880,6 @@ export default { UnlockByRank: 1 } }, - wheels_heavy_double1_dlc_8: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1, - BodyFrictionAsphalt: 3, - SubstanceFriction: 0.4, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 3600, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1.2, - BodyFrictionAsphalt: 3, - SubstanceFriction: 0.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 4000, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 1, - BodyFrictionAsphalt: 3.2, - SubstanceFriction: 0.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 4400, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > WheelFriction': { - BodyFriction: 1.5, - BodyFrictionAsphalt: 1.9, - SubstanceFriction: 1, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > GameData': { - Price: 4900, - UnlockByExploration: 'false', - UnlockByRank: 9 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > WheelFriction': { - BodyFriction: 1.5, - BodyFrictionAsphalt: 1.5, - SubstanceFriction: 1.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > GameData': { - Price: 5300, - UnlockByExploration: 'false', - UnlockByRank: 9 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(6) > WheelFriction': { - BodyFriction: 1.7, - BodyFrictionAsphalt: 1.5, - SubstanceFriction: 1, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(6) > GameData': { - Price: 5700, - UnlockByExploration: 'false', - UnlockByRank: 9 - } - }, wheels_heavy_double2_dlc_8: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 3, @@ -11965,7 +11926,7 @@ export default { UnlockByRank: 14 } }, - wheels_heavy_highway_double_dlc_8: { + wheels_heavy_double1_dlc_8: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 1, BodyFrictionAsphalt: 3, @@ -11978,9 +11939,9 @@ export default { UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1.1, + BodyFriction: 1.2, BodyFrictionAsphalt: 3, - SubstanceFriction: 0.3, + SubstanceFriction: 0.2, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { @@ -11989,15 +11950,48 @@ export default { UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 0.9, + BodyFriction: 1, BodyFrictionAsphalt: 3.2, - SubstanceFriction: 0.4, + SubstanceFriction: 0.2, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { Price: 4400, UnlockByExploration: 'false', UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > WheelFriction': { + BodyFriction: 1.5, + BodyFrictionAsphalt: 1.9, + SubstanceFriction: 1, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > GameData': { + Price: 4900, + UnlockByExploration: 'false', + UnlockByRank: 9 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > WheelFriction': { + BodyFriction: 1.5, + BodyFrictionAsphalt: 1.5, + SubstanceFriction: 1.2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > GameData': { + Price: 5300, + UnlockByExploration: 'false', + UnlockByRank: 9 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(6) > WheelFriction': { + BodyFriction: 1.7, + BodyFrictionAsphalt: 1.5, + SubstanceFriction: 1, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(6) > GameData': { + Price: 5700, + UnlockByExploration: 'false', + UnlockByRank: 9 } }, wheels_heavy_offroad_double_dlc_8: { @@ -12035,6 +12029,41 @@ export default { UnlockByRank: 1 } }, + wheels_heavy_highway_double_dlc_8: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1, + BodyFrictionAsphalt: 3, + SubstanceFriction: 0.4, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 3600, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 1.1, + BodyFrictionAsphalt: 3, + SubstanceFriction: 0.3, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 4000, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 0.9, + BodyFrictionAsphalt: 3.2, + SubstanceFriction: 0.4, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 4400, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, wheels_heavy_allterrain_double_dlc_8: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 1.7, @@ -12372,37 +12401,37 @@ export default { UnlockByRank: 12 } }, - wheels_medium_allterrain_double_dlc_8: { + wheels_medium_highway_double_dlc_8: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1.7, - BodyFrictionAsphalt: 1.5, - SubstanceFriction: 1, + BodyFriction: 1, + BodyFrictionAsphalt: 3, + SubstanceFriction: 0.4, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 3800, + Price: 2300, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1.5, - BodyFrictionAsphalt: 1.7, - SubstanceFriction: 1.1, + BodyFriction: 1.1, + BodyFrictionAsphalt: 3, + SubstanceFriction: 0.3, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 4200, + Price: 2500, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 1.5, - BodyFrictionAsphalt: 1.4, - SubstanceFriction: 1.4, + BodyFriction: 0.9, + BodyFrictionAsphalt: 3.2, + SubstanceFriction: 0.4, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 4500, + Price: 2900, UnlockByExploration: 'false', UnlockByRank: 1 } @@ -12442,37 +12471,37 @@ export default { UnlockByRank: 1 } }, - wheels_medium_highway_double_dlc_8: { + wheels_medium_allterrain_double_dlc_8: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1, - BodyFrictionAsphalt: 3, - SubstanceFriction: 0.4, + BodyFriction: 1.7, + BodyFrictionAsphalt: 1.5, + SubstanceFriction: 1, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 2300, + Price: 3800, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1.1, - BodyFrictionAsphalt: 3, - SubstanceFriction: 0.3, + BodyFriction: 1.5, + BodyFrictionAsphalt: 1.7, + SubstanceFriction: 1.1, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 2500, + Price: 4200, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 0.9, - BodyFrictionAsphalt: 3.2, - SubstanceFriction: 0.4, + BodyFriction: 1.5, + BodyFrictionAsphalt: 1.4, + SubstanceFriction: 1.4, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 2900, + Price: 4500, UnlockByExploration: 'false', UnlockByRank: 1 } @@ -12843,6 +12872,19 @@ export default { UnlockByRank: 1 } }, + wheels_step_39331_pike_dlc_8: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1.4, + BodyFrictionAsphalt: 1.5, + SubstanceFriction: 1.5, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 4900, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, s_step_39331_pike_dlc_8: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.5, @@ -12891,19 +12933,6 @@ export default { UnlockByRank: 1 } }, - wheels_step_39331_pike_dlc_8: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1.4, - BodyFrictionAsphalt: 1.5, - SubstanceFriction: 1.5, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 4900, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, rezvani_hercules_6x6_dlc_8: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_REZVANI_NAME', @@ -14038,19 +14067,6 @@ export default { UnlockByRank: 1 } }, - wheels_kirovets_k700_dlc_8: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1.7, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 3, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 7500, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, s_kirovets_k700_dlc_8: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.6, @@ -14077,6 +14093,19 @@ export default { UnlockByRank: 1 } }, + wheels_kirovets_k700_dlc_8: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1.7, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 3, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 7500, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, western_star_57x_dlc_7: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_WESTERN_STAR_57X_NAME', @@ -14515,72 +14544,72 @@ export default { UnlockByRank: 12 } }, - wheels_medium_highway_double_dlc_7: { + wheels_medium_offroad_double_dlc_7: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1, - BodyFrictionAsphalt: 3, - SubstanceFriction: 0.4, + BodyFriction: 3, + BodyFrictionAsphalt: 1, + SubstanceFriction: 1.7, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 2300, + Price: 4900, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1.1, - BodyFrictionAsphalt: 3, - SubstanceFriction: 0.3, + BodyFriction: 3.1, + BodyFrictionAsphalt: 0.8, + SubstanceFriction: 1.6, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 2500, + Price: 5100, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 0.9, - BodyFrictionAsphalt: 3.2, - SubstanceFriction: 0.4, + BodyFriction: 3.1, + BodyFrictionAsphalt: 0.8, + SubstanceFriction: 1.8, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 2900, + Price: 5700, UnlockByExploration: 'false', UnlockByRank: 1 } }, - wheels_medium_offroad_double_dlc_7: { + wheels_medium_highway_double_dlc_7: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 3, - BodyFrictionAsphalt: 1, - SubstanceFriction: 1.7, + BodyFriction: 1, + BodyFrictionAsphalt: 3, + SubstanceFriction: 0.4, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 4900, + Price: 2300, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 3.1, - BodyFrictionAsphalt: 0.8, - SubstanceFriction: 1.6, + BodyFriction: 1.1, + BodyFrictionAsphalt: 3, + SubstanceFriction: 0.3, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 5100, + Price: 2500, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 3.1, - BodyFrictionAsphalt: 0.8, - SubstanceFriction: 1.8, + BodyFriction: 0.9, + BodyFrictionAsphalt: 3.2, + SubstanceFriction: 0.4, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 5700, + Price: 2900, UnlockByExploration: 'false', UnlockByRank: 1 } @@ -15131,41 +15160,6 @@ export default { UnlockByRank: 1 } }, - wheels_scout1_dlc_7: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 0.8, - BodyFrictionAsphalt: 2, - SubstanceFriction: 0.4, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 1000, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1, - BodyFrictionAsphalt: 2, - SubstanceFriction: 0.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 1200, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 0.8, - BodyFrictionAsphalt: 2.5, - SubstanceFriction: 0.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 1400, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, wheels_scout2_dlc_7: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 1.4, @@ -15234,6 +15228,41 @@ export default { UnlockByRank: 10 } }, + wheels_scout1_dlc_7: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 0.8, + BodyFrictionAsphalt: 2, + SubstanceFriction: 0.4, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 1000, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 1, + BodyFrictionAsphalt: 2, + SubstanceFriction: 0.2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 1200, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 0.8, + BodyFrictionAsphalt: 2.5, + SubstanceFriction: 0.2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 1400, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, wheels_scout_offroad_dlc_7: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 2, @@ -15280,6 +15309,30 @@ export default { UnlockByRank: 1 } }, + wheels_scout_highway_dlc_7: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 0.7, + BodyFrictionAsphalt: 2.2, + SubstanceFriction: 0.3, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 1200, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 1, + BodyFrictionAsphalt: 2.3, + SubstanceFriction: 0.2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 1400, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, wheels_scout_mudtires_dlc_7: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 2.7, @@ -15315,28 +15368,17 @@ export default { UnlockByRank: 1 } }, - wheels_scout_highway_dlc_7: { + wheels_gor_by4_dlc_7: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 0.7, - BodyFrictionAsphalt: 2.2, - SubstanceFriction: 0.3, + BodyFriction: 3, + BodyFrictionAsphalt: 0.8, + SubstanceFriction: 2.1, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 1200, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1, - BodyFrictionAsphalt: 2.3, - SubstanceFriction: 0.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 1400, + Price: 4900, UnlockByExploration: 'false', - UnlockByRank: 1 + UnlockByRank: 7 } }, s_gor_by4_dlc_7: { @@ -15391,19 +15433,6 @@ export default { UnlockByRank: 1 } }, - wheels_gor_by4_dlc_7: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 3, - BodyFrictionAsphalt: 0.8, - SubstanceFriction: 2.1, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 4900, - UnlockByExploration: 'false', - UnlockByRank: 7 - } - }, azov_43_191_sprinter_dlc_7: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_AZOV_42_191_SPRINTER__NAME', @@ -15594,6 +15623,41 @@ export default { UnlockByRank: 14 } }, + wheels_heavy_mudtires_single2_dlc_7: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1.8, + BodyFrictionAsphalt: 0.4, + SubstanceFriction: 2.6, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 5200, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 2.4, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2.1, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 5600, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 1.8, + BodyFrictionAsphalt: 0.6, + SubstanceFriction: 2.5, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 5900, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, wheels_heavy_offroad_single_dlc_7: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 3, @@ -15664,54 +15728,6 @@ export default { UnlockByRank: 1 } }, - wheels_heavy_mudtires_single2_dlc_7: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1.8, - BodyFrictionAsphalt: 0.4, - SubstanceFriction: 2.6, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 5200, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 2.4, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2.1, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 5600, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 1.8, - BodyFrictionAsphalt: 0.6, - SubstanceFriction: 2.5, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 5900, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, - wheels_azov_43_191_sprinter_dlc_7: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1.5, - BodyFrictionAsphalt: 1.5, - SubstanceFriction: 2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 4900, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, gearboxes_azov_sprinter_dlc_7: { 'GearboxVariants > Gearbox:nth-of-type(1)': { AWDConsumptionModifier: 1, @@ -15838,6 +15854,19 @@ export default { UnlockByRank: 1 } }, + wheels_azov_43_191_sprinter_dlc_7: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1.5, + BodyFrictionAsphalt: 1.5, + SubstanceFriction: 2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 4900, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, s_azov_43_191_sprinter_dlc_7: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.6, @@ -15887,6 +15916,7 @@ export default { SuspensionStrength: 0.33 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 600 }, 'Truck > GameData': { @@ -15917,6 +15947,7 @@ export default { SuspensionStrength: 0.33 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 800 }, 'Truck > GameData': { @@ -15950,6 +15981,7 @@ export default { SuspensionStrength: 0.33 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 600 }, 'Truck > GameData': { @@ -16333,6 +16365,109 @@ export default { UnlockByRank: 1 } }, + wheels_heavy_single_dlc_6: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1.5, + BodyFrictionAsphalt: 1.5, + SubstanceFriction: 1.2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 4900, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 3, + BodyFrictionAsphalt: 1, + SubstanceFriction: 1.5, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 5900, + UnlockByExploration: 'false', + UnlockByRank: 11 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 3, + BodyFrictionAsphalt: 0.8, + SubstanceFriction: 1.8, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 6200, + UnlockByExploration: 'false', + UnlockByRank: 11 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > WheelFriction': { + BodyFriction: 2, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > GameData': { + Price: 7000, + UnlockByExploration: 'false', + UnlockByRank: 13 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > WheelFriction': { + BodyFriction: 3, + BodyFrictionAsphalt: 1.2, + SubstanceFriction: 1.3, + IsIgnoreIce: 'true' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > GameData': { + Price: 6800, + UnlockByExploration: 'false', + UnlockByRank: 14 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(6) > WheelFriction': { + BodyFriction: 2, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(6) > GameData': { + Price: 8500, + UnlockByExploration: 'false', + UnlockByRank: 15 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(7) > WheelFriction': { + BodyFriction: 2, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(7) > GameData': { + Price: 7900, + UnlockByExploration: 'false', + UnlockByRank: 14 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(8) > WheelFriction': { + BodyFriction: 2, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(8) > GameData': { + Price: 7500, + UnlockByExploration: 'false', + UnlockByRank: 14 + } + }, + wheels_heavy_mudtires_tayga_dlc_6: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 2, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2.4, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 7400, + UnlockByExploration: 'false', + UnlockByRank: 13 + } + }, wheels_heavy_single2_dlc_6: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 2, @@ -16357,24 +16492,11 @@ export default { UnlockByRank: 13 } }, - wheels_heavy_mudtires_tayga_dlc_6: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 2, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2.4, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 7400, - UnlockByExploration: 'false', - UnlockByRank: 13 - } - }, - wheels_heavy_single_dlc_6: { + wheels_heavy_offroad_single_dlc_6: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1.5, - BodyFrictionAsphalt: 1.5, - SubstanceFriction: 1.2, + BodyFriction: 3, + BodyFrictionAsphalt: 0.8, + SubstanceFriction: 1.6, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { @@ -16383,81 +16505,26 @@ export default { UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 3, + BodyFriction: 3.2, BodyFrictionAsphalt: 1, - SubstanceFriction: 1.5, + SubstanceFriction: 1.3, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { Price: 5900, UnlockByExploration: 'false', - UnlockByRank: 11 + UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { BodyFriction: 3, - BodyFrictionAsphalt: 0.8, - SubstanceFriction: 1.8, + BodyFrictionAsphalt: 0.9, + SubstanceFriction: 1.7, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { Price: 6200, UnlockByExploration: 'false', - UnlockByRank: 11 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > WheelFriction': { - BodyFriction: 2, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > GameData': { - Price: 7000, - UnlockByExploration: 'false', - UnlockByRank: 13 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > WheelFriction': { - BodyFriction: 3, - BodyFrictionAsphalt: 1.2, - SubstanceFriction: 1.3, - IsIgnoreIce: 'true' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > GameData': { - Price: 6800, - UnlockByExploration: 'false', - UnlockByRank: 14 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(6) > WheelFriction': { - BodyFriction: 2, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(6) > GameData': { - Price: 8500, - UnlockByExploration: 'false', - UnlockByRank: 15 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(7) > WheelFriction': { - BodyFriction: 2, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(7) > GameData': { - Price: 7900, - UnlockByExploration: 'false', - UnlockByRank: 14 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(8) > WheelFriction': { - BodyFriction: 2, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(8) > GameData': { - Price: 7500, - UnlockByExploration: 'false', - UnlockByRank: 14 + UnlockByRank: 1 } }, wheels_heavy_mudtires_single_dlc_6: { @@ -16530,41 +16597,6 @@ export default { UnlockByRank: 1 } }, - wheels_heavy_offroad_single_dlc_6: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 3, - BodyFrictionAsphalt: 0.8, - SubstanceFriction: 1.6, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 4900, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 3.2, - BodyFrictionAsphalt: 1, - SubstanceFriction: 1.3, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 5900, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 3, - BodyFrictionAsphalt: 0.9, - SubstanceFriction: 1.7, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 6200, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, s_tayga_6455b_dlc_6: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.5, @@ -16920,72 +16952,72 @@ export default { UnlockByRank: 1 } }, - wheels_medium_mudtires_double_dlc_6: { + wheels_medium_offroad_double_dlc_6: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 2, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2.2, + BodyFriction: 3, + BodyFrictionAsphalt: 1, + SubstanceFriction: 1.7, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 5200, + Price: 4900, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 2.2, - BodyFrictionAsphalt: 0.4, - SubstanceFriction: 2, + BodyFriction: 3.1, + BodyFrictionAsphalt: 0.8, + SubstanceFriction: 1.6, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 5600, + Price: 5100, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 2.1, - BodyFrictionAsphalt: 0.4, - SubstanceFriction: 2.1, + BodyFriction: 3.1, + BodyFrictionAsphalt: 0.8, + SubstanceFriction: 1.8, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 5900, + Price: 5700, UnlockByExploration: 'false', UnlockByRank: 1 } }, - wheels_medium_offroad_double_dlc_6: { + wheels_medium_mudtires_double_dlc_6: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 3, - BodyFrictionAsphalt: 1, - SubstanceFriction: 1.7, + BodyFriction: 2, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2.2, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 4900, + Price: 5200, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 3.1, - BodyFrictionAsphalt: 0.8, - SubstanceFriction: 1.6, + BodyFriction: 2.2, + BodyFrictionAsphalt: 0.4, + SubstanceFriction: 2, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 5100, + Price: 5600, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 3.1, - BodyFrictionAsphalt: 0.8, - SubstanceFriction: 1.8, + BodyFriction: 2.1, + BodyFrictionAsphalt: 0.4, + SubstanceFriction: 2.1, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 5700, + Price: 5900, UnlockByExploration: 'false', UnlockByRank: 1 } @@ -17025,6 +17057,19 @@ export default { UnlockByRank: 1 } }, + wheels_step_3364_crocodile_dlc_6: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1.4, + BodyFrictionAsphalt: 1.5, + SubstanceFriction: 1.5, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 4900, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, s_step_3364_crocodile_dlc_6: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.5, @@ -17073,19 +17118,6 @@ export default { UnlockByRank: 1 } }, - wheels_step_3364_crocodile_dlc_6: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1.4, - BodyFrictionAsphalt: 1.5, - SubstanceFriction: 1.5, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 4900, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, land_rover_defender_90_dlc_6: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_LAND_ROVER_DEFENDER_90_NAME', @@ -17451,74 +17483,6 @@ export default { UnlockByRank: 1 } }, - wheels_scout2_dlc_6: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1.4, - BodyFrictionAsphalt: 1, - SubstanceFriction: 1, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 2300, - UnlockByExploration: 'false', - UnlockByRank: 2 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1, - BodyFrictionAsphalt: 1, - SubstanceFriction: 1.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 2500, - UnlockByExploration: 'false', - UnlockByRank: 2 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 1, - BodyFrictionAsphalt: 1.2, - SubstanceFriction: 1, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 2900, - UnlockByExploration: 'false', - UnlockByRank: 2 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > WheelFriction': { - BodyFriction: 2, - BodyFrictionAsphalt: 1, - SubstanceFriction: 1.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > GameData': { - Price: 4200, - UnlockByExploration: 'false', - UnlockByRank: 4 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > WheelFriction': { - BodyFriction: 3, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 1.6, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > GameData': { - Price: 5100, - UnlockByExploration: 'false', - UnlockByRank: 7 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(6) > WheelFriction': { - BodyFriction: 2, - BodyFrictionAsphalt: 0.9, - SubstanceFriction: 1.1, - IsIgnoreIce: 'true' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(6) > GameData': { - Price: 5700, - UnlockByExploration: 'false', - UnlockByRank: 10 - } - }, wheels_scout1_dlc_6: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 0.8, @@ -17554,6 +17518,74 @@ export default { UnlockByRank: 1 } }, + wheels_scout2_dlc_6: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1.4, + BodyFrictionAsphalt: 1, + SubstanceFriction: 1, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 2300, + UnlockByExploration: 'false', + UnlockByRank: 2 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 1, + BodyFrictionAsphalt: 1, + SubstanceFriction: 1.2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 2500, + UnlockByExploration: 'false', + UnlockByRank: 2 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 1, + BodyFrictionAsphalt: 1.2, + SubstanceFriction: 1, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 2900, + UnlockByExploration: 'false', + UnlockByRank: 2 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > WheelFriction': { + BodyFriction: 2, + BodyFrictionAsphalt: 1, + SubstanceFriction: 1.2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > GameData': { + Price: 4200, + UnlockByExploration: 'false', + UnlockByRank: 4 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > WheelFriction': { + BodyFriction: 3, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 1.6, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > GameData': { + Price: 5100, + UnlockByExploration: 'false', + UnlockByRank: 7 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(6) > WheelFriction': { + BodyFriction: 2, + BodyFrictionAsphalt: 0.9, + SubstanceFriction: 1.1, + IsIgnoreIce: 'true' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(6) > GameData': { + Price: 5700, + UnlockByExploration: 'false', + UnlockByRank: 10 + } + }, wheels_scout_highway_dlc_6: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 0.7, @@ -17659,19 +17691,6 @@ export default { UnlockByRank: 1 } }, - wheels_land_rover_defender_90_dlc_6: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 2, - BodyFrictionAsphalt: 3, - SubstanceFriction: 1.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 4500, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, s_land_rover_defender_90_dlc_6: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.7, @@ -17720,6 +17739,19 @@ export default { UnlockByRank: 1 } }, + wheels_land_rover_defender_90_dlc_6: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 2, + BodyFrictionAsphalt: 3, + SubstanceFriction: 1.2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 4500, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, land_rover_defender_110_dlc_6: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_LAND_ROVER_DEFENDER_110_NAME', @@ -17790,6 +17822,19 @@ export default { UnlockByRank: 1 } }, + wheels_land_rover_defender_110_dlc_6: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 2, + BodyFrictionAsphalt: 3, + SubstanceFriction: 1.2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 4500, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, s_land_rover_defender_110_dlc_6: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.7, @@ -17838,19 +17883,6 @@ export default { UnlockByRank: 1 } }, - wheels_land_rover_defender_110_dlc_6: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 2, - BodyFrictionAsphalt: 3, - SubstanceFriction: 1.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 4500, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, aramatsu_forester_dlc_6: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_ARAMATSU_FORESTER__NAME', @@ -18821,41 +18853,6 @@ export default { UnlockByRank: 14 } }, - wheels_heavy_mudtires_single2_dlc_5: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1.8, - BodyFrictionAsphalt: 0.4, - SubstanceFriction: 2.6, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 5200, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 2.4, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2.1, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 5600, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 1.8, - BodyFrictionAsphalt: 0.6, - SubstanceFriction: 2.5, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 5900, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, wheels_heavy_mudtires_single_dlc_5: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 1.8, @@ -18926,6 +18923,41 @@ export default { UnlockByRank: 1 } }, + wheels_heavy_mudtires_single2_dlc_5: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1.8, + BodyFrictionAsphalt: 0.4, + SubstanceFriction: 2.6, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 5200, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 2.4, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2.1, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 5600, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 1.8, + BodyFrictionAsphalt: 0.6, + SubstanceFriction: 2.5, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 5900, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, e_ru_truck_modern_dlc_5: { 'EngineVariants > Engine:nth-of-type(1)': { CriticalDamageThreshold: 0.6, @@ -18998,6 +19030,19 @@ export default { UnlockByRank: 1 } }, + wheels_tatra_phoenix_dlc_5: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1.7, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 3, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 7500, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, s_tatra_phoenix_dlc_5: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.6, @@ -19025,19 +19070,6 @@ export default { UnlockByRank: 1 } }, - wheels_tatra_phoenix_dlc_5: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1.7, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 3, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 7500, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, tatra_force_t815_7_dlc_5: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_TATRA_FORCE_T815_7_NAME', @@ -19905,30 +19937,6 @@ export default { UnlockByRank: 10 } }, - wheels_scout_highway_dlc_5: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 0.7, - BodyFrictionAsphalt: 2.2, - SubstanceFriction: 0.3, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 1200, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1, - BodyFrictionAsphalt: 2.3, - SubstanceFriction: 0.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 1400, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, wheels_scout_mudtires_dlc_5: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 2.7, @@ -19964,6 +19972,30 @@ export default { UnlockByRank: 1 } }, + wheels_scout_highway_dlc_5: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 0.7, + BodyFrictionAsphalt: 2.2, + SubstanceFriction: 0.3, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 1200, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 1, + BodyFrictionAsphalt: 2.3, + SubstanceFriction: 0.2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 1400, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, wheels_scout_offroad_dlc_5: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 2, @@ -20010,6 +20042,19 @@ export default { UnlockByRank: 1 } }, + wheels_scout_offroad2_jeep_wrangler_dlc_5: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 2, + BodyFrictionAsphalt: 3, + SubstanceFriction: 1.2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 4500, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, s_jeep_wrangler_dlc_5: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.7, @@ -20104,19 +20149,6 @@ export default { UnlockByRank: 1 } }, - wheels_scout_offroad2_jeep_wrangler_dlc_5: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 2, - BodyFrictionAsphalt: 3, - SubstanceFriction: 1.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 4500, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, jeep_cj7_renegade_dlc_5: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_JEEP_CJ7_RENEGADE_NAME', @@ -20603,6 +20635,78 @@ export default { UnlockByRank: 1 } }, + e_us_truck_modern_dlc_4_1: { + 'EngineVariants > Engine:nth-of-type(1)': { + CriticalDamageThreshold: 0.5, + DamageCapacity: 160, + DamagedConsumptionModifier: 1.2, + EngineResponsiveness: 0.2, + FuelConsumption: 6, + Torque: 160_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.8, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(1) > GameData': { + Price: 3000, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'EngineVariants > Engine:nth-of-type(2)': { + CriticalDamageThreshold: 0.6, + DamageCapacity: 180, + DamagedConsumptionModifier: 1.3, + EngineResponsiveness: 0.25, + FuelConsumption: 6.5, + Torque: 180_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.7, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(2) > GameData': { + Price: 10_400, + UnlockByExploration: 'true', + UnlockByRank: 1 + }, + 'EngineVariants > Engine:nth-of-type(3)': { + CriticalDamageThreshold: 0.7, + DamageCapacity: 220, + DamagedConsumptionModifier: 1.1, + EngineResponsiveness: 0.3, + FuelConsumption: 7.5, + Torque: 192_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.8, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(3) > GameData': { + Price: 11_300, + UnlockByExploration: 'true', + UnlockByRank: 1 + } + }, + e_us_truck_modern_catroyal_dlc_4_1: { + 'EngineVariants > Engine:nth-of-type(1)': { + CriticalDamageThreshold: 0.5, + DamageCapacity: 150, + DamagedConsumptionModifier: 1.2, + EngineResponsiveness: 0.15, + FuelConsumption: 5, + Torque: 160_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.6, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(1) > GameData': { + Price: 3200, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, wheels_medium_double_dlc_4_1: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 1, @@ -20726,113 +20830,6 @@ export default { UnlockByRank: 12 } }, - e_us_truck_modern_dlc_4_1: { - 'EngineVariants > Engine:nth-of-type(1)': { - CriticalDamageThreshold: 0.5, - DamageCapacity: 160, - DamagedConsumptionModifier: 1.2, - EngineResponsiveness: 0.2, - FuelConsumption: 6, - Torque: 160_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.8, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(1) > GameData': { - Price: 3000, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'EngineVariants > Engine:nth-of-type(2)': { - CriticalDamageThreshold: 0.6, - DamageCapacity: 180, - DamagedConsumptionModifier: 1.3, - EngineResponsiveness: 0.25, - FuelConsumption: 6.5, - Torque: 180_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.7, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(2) > GameData': { - Price: 10_400, - UnlockByExploration: 'true', - UnlockByRank: 1 - }, - 'EngineVariants > Engine:nth-of-type(3)': { - CriticalDamageThreshold: 0.7, - DamageCapacity: 220, - DamagedConsumptionModifier: 1.1, - EngineResponsiveness: 0.3, - FuelConsumption: 7.5, - Torque: 192_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.8, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(3) > GameData': { - Price: 11_300, - UnlockByExploration: 'true', - UnlockByRank: 1 - } - }, - e_us_truck_modern_catroyal_dlc_4_1: { - 'EngineVariants > Engine:nth-of-type(1)': { - CriticalDamageThreshold: 0.5, - DamageCapacity: 150, - DamagedConsumptionModifier: 1.2, - EngineResponsiveness: 0.15, - FuelConsumption: 5, - Torque: 160_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.6, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(1) > GameData': { - Price: 3200, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, - wheels_medium_offroad_double_dlc_4_1: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 3, - BodyFrictionAsphalt: 1, - SubstanceFriction: 1.7, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 4900, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 3.1, - BodyFrictionAsphalt: 0.8, - SubstanceFriction: 1.6, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 5100, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 3.1, - BodyFrictionAsphalt: 0.8, - SubstanceFriction: 1.8, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 5700, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, wheels_medium_highway_double_dlc_4_1: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 1, @@ -20903,6 +20900,41 @@ export default { UnlockByRank: 1 } }, + wheels_medium_offroad_double_dlc_4_1: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 3, + BodyFrictionAsphalt: 1, + SubstanceFriction: 1.7, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 4900, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 3.1, + BodyFrictionAsphalt: 0.8, + SubstanceFriction: 1.6, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 5100, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 3.1, + BodyFrictionAsphalt: 0.8, + SubstanceFriction: 1.8, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 5700, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, s_international_hx_520_dlc_4_1: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.7, @@ -21013,6 +21045,25 @@ export default { UnlockByRank: 1 } }, + e_us_truck_modern_cathx_dlc_4_1: { + 'EngineVariants > Engine:nth-of-type(1)': { + CriticalDamageThreshold: 0.5, + DamageCapacity: 200, + DamagedConsumptionModifier: 1.1, + EngineResponsiveness: 0.1, + FuelConsumption: 6.5, + Torque: 210_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.8, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(1) > GameData': { + Price: 11_300, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, s_cat_ct681_dlc_4_1: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.7, @@ -21045,25 +21096,6 @@ export default { UnlockByRank: 1 } }, - e_us_truck_modern_cathx_dlc_4_1: { - 'EngineVariants > Engine:nth-of-type(1)': { - CriticalDamageThreshold: 0.5, - DamageCapacity: 200, - DamagedConsumptionModifier: 1.1, - EngineResponsiveness: 0.1, - FuelConsumption: 6.5, - Torque: 210_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.8, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(1) > GameData': { - Price: 11_300, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, trailer_train_rocket_dlc_4: { 'Truck > TruckData': { FuelCapacity: 0, @@ -21152,6 +21184,7 @@ export default { SuspensionStrength: 0.6 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 1; 0)', Mass: 120_000 }, 'Truck > GameData': { @@ -21289,6 +21322,59 @@ export default { UnlockByRank: 20 } }, + e_ru_special_dlc_4: { + 'EngineVariants > Engine:nth-of-type(1)': { + CriticalDamageThreshold: 0.3, + DamageCapacity: 220, + DamagedConsumptionModifier: 1.4, + EngineResponsiveness: 0.045, + FuelConsumption: 9, + Torque: 205_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.6, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(1) > GameData': { + Price: 5700, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'EngineVariants > Engine:nth-of-type(2)': { + CriticalDamageThreshold: 0.6, + DamageCapacity: 270, + DamagedConsumptionModifier: 1.3, + EngineResponsiveness: 0.04, + FuelConsumption: 10, + Torque: 230_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.8, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(2) > GameData': { + Price: 20_700, + UnlockByExploration: 'true', + UnlockByRank: 1 + }, + 'EngineVariants > Engine:nth-of-type(3)': { + CriticalDamageThreshold: 0.6, + DamageCapacity: 300, + DamagedConsumptionModifier: 1.5, + EngineResponsiveness: 0.04, + FuelConsumption: 11.5, + Torque: 260_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.7, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(3) > GameData': { + Price: 24_400, + UnlockByExploration: 'true', + UnlockByRank: 1 + } + }, gearboxes_special_dlc_4: { 'GearboxVariants > Gearbox:nth-of-type(1)': { AWDConsumptionModifier: 1, @@ -21431,59 +21517,6 @@ export default { UnlockByRank: 1 } }, - e_ru_special_dlc_4: { - 'EngineVariants > Engine:nth-of-type(1)': { - CriticalDamageThreshold: 0.3, - DamageCapacity: 220, - DamagedConsumptionModifier: 1.4, - EngineResponsiveness: 0.045, - FuelConsumption: 9, - Torque: 205_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.6, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(1) > GameData': { - Price: 5700, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'EngineVariants > Engine:nth-of-type(2)': { - CriticalDamageThreshold: 0.6, - DamageCapacity: 270, - DamagedConsumptionModifier: 1.3, - EngineResponsiveness: 0.04, - FuelConsumption: 10, - Torque: 230_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.8, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(2) > GameData': { - Price: 20_700, - UnlockByExploration: 'true', - UnlockByRank: 1 - }, - 'EngineVariants > Engine:nth-of-type(3)': { - CriticalDamageThreshold: 0.6, - DamageCapacity: 300, - DamagedConsumptionModifier: 1.5, - EngineResponsiveness: 0.04, - FuelConsumption: 11.5, - Torque: 260_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.7, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(3) > GameData': { - Price: 24_400, - UnlockByExploration: 'true', - UnlockByRank: 1 - } - }, wheels_superheavy_mudtires_dlc_4: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 1.6, @@ -21519,19 +21552,6 @@ export default { UnlockByRank: 1 } }, - wheels_zikz_605r_1_dlc_4: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1.7, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 3, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 7500, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, s_zikz_605r_dlc_4: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.6, @@ -21557,6 +21577,19 @@ export default { UnlockByRank: 1 } }, + wheels_zikz_605r_1_dlc_4: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1.7, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 3, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 7500, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, tatra_t813_dlc_4: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_TATRA_T813_NAME', @@ -21754,72 +21787,72 @@ export default { UnlockByRank: 1 } }, - wheels_heavy_mudtires_single_dlc_4: { + wheels_heavy_mudtires_single2_dlc_4: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 1.8, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2.2, + BodyFrictionAsphalt: 0.4, + SubstanceFriction: 2.6, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 6200, + Price: 5200, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 2.3, - BodyFrictionAsphalt: 0.6, - SubstanceFriction: 2, + BodyFriction: 2.4, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2.1, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 6800, + Price: 5600, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 1.9, + BodyFriction: 1.8, BodyFrictionAsphalt: 0.6, - SubstanceFriction: 2.4, + SubstanceFriction: 2.5, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 7400, + Price: 5900, UnlockByExploration: 'false', UnlockByRank: 1 } }, - wheels_heavy_mudtires_single2_dlc_4: { + wheels_heavy_mudtires_single_dlc_4: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 1.8, - BodyFrictionAsphalt: 0.4, - SubstanceFriction: 2.6, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2.2, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 5200, + Price: 6200, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 2.4, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2.1, + BodyFriction: 2.3, + BodyFrictionAsphalt: 0.6, + SubstanceFriction: 2, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 5600, + Price: 6800, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 1.8, + BodyFriction: 1.9, BodyFrictionAsphalt: 0.6, - SubstanceFriction: 2.5, + SubstanceFriction: 2.4, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 5900, + Price: 7400, UnlockByExploration: 'false', UnlockByRank: 1 } @@ -21874,19 +21907,6 @@ export default { UnlockByRank: 1 } }, - wheels_tatra_t813_dlc_4: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1.7, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 3, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 7500, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, s_tatra_t813_dlc_4: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.6, @@ -21912,6 +21932,19 @@ export default { UnlockByRank: 1 } }, + wheels_tatra_t813_dlc_4: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1.7, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 3, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 7500, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, tatra_805_dlc_4: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_TATRA_805_NAME', @@ -22392,6 +22425,41 @@ export default { UnlockByRank: 12 } }, + wheels_medium_allterrain_single_dlc_4: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1.7, + BodyFrictionAsphalt: 1.5, + SubstanceFriction: 1, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 3800, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 1.5, + BodyFrictionAsphalt: 1.7, + SubstanceFriction: 1.1, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 4200, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 1.5, + BodyFrictionAsphalt: 1.4, + SubstanceFriction: 1.4, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 4500, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, wheels_medium_offroad_single_dlc_4: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 3, @@ -22462,41 +22530,6 @@ export default { UnlockByRank: 1 } }, - wheels_medium_allterrain_single_dlc_4: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1.7, - BodyFrictionAsphalt: 1.5, - SubstanceFriction: 1, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 3800, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1.5, - BodyFrictionAsphalt: 1.7, - SubstanceFriction: 1.1, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 4200, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 1.5, - BodyFrictionAsphalt: 1.4, - SubstanceFriction: 1.4, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 4500, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, wheels_medium_mudtires_actaeon_dlc_4: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 2, @@ -23247,6 +23280,7 @@ export default { SuspensionStrength: 0.6 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 1; 0)', Mass: 140_000 }, 'Truck > GameData': { @@ -23277,6 +23311,7 @@ export default { SuspensionStrength: 0.1 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 100 }, 'Truck > GameData': { @@ -23310,6 +23345,7 @@ export default { SuspensionStrength: 0.08 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 600 }, 'Truck > GameData': { @@ -23356,6 +23392,7 @@ export default { SuspensionStrength: 0.33 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 2000 }, 'Truck > GameData': { @@ -23529,59 +23566,6 @@ export default { UnlockByRank: 20 } }, - e_us_special_dlc_3: { - 'EngineVariants > Engine:nth-of-type(1)': { - CriticalDamageThreshold: 0.6, - DamageCapacity: 240, - DamagedConsumptionModifier: 1.2, - EngineResponsiveness: 0.035, - FuelConsumption: 9.5, - Torque: 200_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.7, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(1) > GameData': { - Price: 7500, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'EngineVariants > Engine:nth-of-type(2)': { - CriticalDamageThreshold: 0.6, - DamageCapacity: 260, - DamagedConsumptionModifier: 1.4, - EngineResponsiveness: 0.04, - FuelConsumption: 11, - Torque: 220_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.8, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(2) > GameData': { - Price: 18_800, - UnlockByExploration: 'true', - UnlockByRank: 1 - }, - 'EngineVariants > Engine:nth-of-type(3)': { - CriticalDamageThreshold: 0.5, - DamageCapacity: 280, - DamagedConsumptionModifier: 1.5, - EngineResponsiveness: 0.04, - FuelConsumption: 12.5, - Torque: 250_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.7, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(3) > GameData': { - Price: 22_500, - UnlockByExploration: 'true', - UnlockByRank: 1 - } - }, gearboxes_trucks_dlc_3: { 'GearboxVariants > Gearbox:nth-of-type(1)': { AWDConsumptionModifier: 1.2, @@ -23780,72 +23764,57 @@ export default { UnlockByRank: 1 } }, - wheels_heavy_double1_dlc_3: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1, - BodyFrictionAsphalt: 3, - SubstanceFriction: 0.4, - IsIgnoreIce: 'false' + e_us_special_dlc_3: { + 'EngineVariants > Engine:nth-of-type(1)': { + CriticalDamageThreshold: 0.6, + DamageCapacity: 240, + DamagedConsumptionModifier: 1.2, + EngineResponsiveness: 0.035, + FuelConsumption: 9.5, + Torque: 200_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.7, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 3600, + 'EngineVariants > Engine:nth-of-type(1) > GameData': { + Price: 7500, UnlockByExploration: 'false', UnlockByRank: 1 }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1.2, - BodyFrictionAsphalt: 3, - SubstanceFriction: 0.2, - IsIgnoreIce: 'false' + 'EngineVariants > Engine:nth-of-type(2)': { + CriticalDamageThreshold: 0.6, + DamageCapacity: 260, + DamagedConsumptionModifier: 1.4, + EngineResponsiveness: 0.04, + FuelConsumption: 11, + Torque: 220_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.8, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 4000, - UnlockByExploration: 'false', + 'EngineVariants > Engine:nth-of-type(2) > GameData': { + Price: 18_800, + UnlockByExploration: 'true', UnlockByRank: 1 }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 1, - BodyFrictionAsphalt: 3.2, - SubstanceFriction: 0.2, - IsIgnoreIce: 'false' + 'EngineVariants > Engine:nth-of-type(3)': { + CriticalDamageThreshold: 0.5, + DamageCapacity: 280, + DamagedConsumptionModifier: 1.5, + EngineResponsiveness: 0.04, + FuelConsumption: 12.5, + Torque: 250_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.7, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 4400, - UnlockByExploration: 'false', + 'EngineVariants > Engine:nth-of-type(3) > GameData': { + Price: 22_500, + UnlockByExploration: 'true', UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > WheelFriction': { - BodyFriction: 1.5, - BodyFrictionAsphalt: 1.9, - SubstanceFriction: 1, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > GameData': { - Price: 4900, - UnlockByExploration: 'false', - UnlockByRank: 9 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > WheelFriction': { - BodyFriction: 1.5, - BodyFrictionAsphalt: 1.5, - SubstanceFriction: 1.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > GameData': { - Price: 5300, - UnlockByExploration: 'false', - UnlockByRank: 9 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(6) > WheelFriction': { - BodyFriction: 1.7, - BodyFrictionAsphalt: 1.5, - SubstanceFriction: 1, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(6) > GameData': { - Price: 5700, - UnlockByExploration: 'false', - UnlockByRank: 9 } }, wheels_heavy_double2_dlc_3: { @@ -23984,6 +23953,74 @@ export default { UnlockByRank: 14 } }, + wheels_heavy_double1_dlc_3: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1, + BodyFrictionAsphalt: 3, + SubstanceFriction: 0.4, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 3600, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 1.2, + BodyFrictionAsphalt: 3, + SubstanceFriction: 0.2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 4000, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 1, + BodyFrictionAsphalt: 3.2, + SubstanceFriction: 0.2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 4400, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > WheelFriction': { + BodyFriction: 1.5, + BodyFrictionAsphalt: 1.9, + SubstanceFriction: 1, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > GameData': { + Price: 4900, + UnlockByExploration: 'false', + UnlockByRank: 9 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > WheelFriction': { + BodyFriction: 1.5, + BodyFrictionAsphalt: 1.5, + SubstanceFriction: 1.2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > GameData': { + Price: 5300, + UnlockByExploration: 'false', + UnlockByRank: 9 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(6) > WheelFriction': { + BodyFriction: 1.7, + BodyFrictionAsphalt: 1.5, + SubstanceFriction: 1, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(6) > GameData': { + Price: 5700, + UnlockByExploration: 'false', + UnlockByRank: 9 + } + }, wheels_heavy_single2_dlc_3: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 2, @@ -24078,41 +24115,6 @@ export default { UnlockByRank: 1 } }, - wheels_heavy_offroad_double_dlc_3: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 3, - BodyFrictionAsphalt: 1, - SubstanceFriction: 1.7, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 5900, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 3.1, - BodyFrictionAsphalt: 0.8, - SubstanceFriction: 1.6, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 6200, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 3.2, - BodyFrictionAsphalt: 0.6, - SubstanceFriction: 1.6, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 6800, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, wheels_heavy_offroad_single_dlc_3: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 3, @@ -24148,37 +24150,37 @@ export default { UnlockByRank: 1 } }, - wheels_heavy_mudtires_single_dlc_3: { + wheels_heavy_offroad_double_dlc_3: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1.8, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2.2, + BodyFriction: 3, + BodyFrictionAsphalt: 1, + SubstanceFriction: 1.7, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 6200, + Price: 5900, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 2.3, - BodyFrictionAsphalt: 0.6, - SubstanceFriction: 2, + BodyFriction: 3.1, + BodyFrictionAsphalt: 0.8, + SubstanceFriction: 1.6, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 6800, + Price: 6200, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 1.9, + BodyFriction: 3.2, BodyFrictionAsphalt: 0.6, - SubstanceFriction: 2.4, + SubstanceFriction: 1.6, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 7400, + Price: 6800, UnlockByExploration: 'false', UnlockByRank: 1 } @@ -24218,6 +24220,41 @@ export default { UnlockByRank: 1 } }, + wheels_heavy_mudtires_single_dlc_3: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1.8, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2.2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 6200, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 2.3, + BodyFrictionAsphalt: 0.6, + SubstanceFriction: 2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 6800, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 1.9, + BodyFrictionAsphalt: 0.6, + SubstanceFriction: 2.4, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 7400, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, s_paystar_5600ts_dlc_3: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.6, @@ -24418,6 +24455,19 @@ export default { UnlockByRank: 1 } }, + wheels_heavy_offroad_p512_dlc_3: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 3, + BodyFrictionAsphalt: 0.8, + SubstanceFriction: 3.5, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 6800, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, s_pacific_p512_dlc_3: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.4, @@ -24443,19 +24493,6 @@ export default { UnlockByRank: 1 } }, - wheels_heavy_offroad_p512_dlc_3: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 3, - BodyFrictionAsphalt: 0.8, - SubstanceFriction: 3.5, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 6800, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, boar_45318_dlc_3: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_BOAR_45318_NAME', @@ -24710,72 +24747,72 @@ export default { UnlockByRank: 12 } }, - wheels_medium_highway_double_dlc_3: { + wheels_medium_allterrain_double_dlc_3: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1, - BodyFrictionAsphalt: 3, - SubstanceFriction: 0.4, + BodyFriction: 1.7, + BodyFrictionAsphalt: 1.5, + SubstanceFriction: 1, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 2300, + Price: 3800, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1.1, - BodyFrictionAsphalt: 3, - SubstanceFriction: 0.3, + BodyFriction: 1.5, + BodyFrictionAsphalt: 1.7, + SubstanceFriction: 1.1, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 2500, + Price: 4200, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 0.9, - BodyFrictionAsphalt: 3.2, - SubstanceFriction: 0.4, + BodyFriction: 1.5, + BodyFrictionAsphalt: 1.4, + SubstanceFriction: 1.4, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 2900, + Price: 4500, UnlockByExploration: 'false', UnlockByRank: 1 } }, - wheels_medium_allterrain_double_dlc_3: { + wheels_medium_highway_double_dlc_3: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1.7, - BodyFrictionAsphalt: 1.5, - SubstanceFriction: 1, + BodyFriction: 1, + BodyFrictionAsphalt: 3, + SubstanceFriction: 0.4, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 3800, + Price: 2300, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1.5, - BodyFrictionAsphalt: 1.7, - SubstanceFriction: 1.1, + BodyFriction: 1.1, + BodyFrictionAsphalt: 3, + SubstanceFriction: 0.3, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 4200, + Price: 2500, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 1.5, - BodyFrictionAsphalt: 1.4, - SubstanceFriction: 1.4, + BodyFriction: 0.9, + BodyFrictionAsphalt: 3.2, + SubstanceFriction: 0.4, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 4500, + Price: 2900, UnlockByExploration: 'false', UnlockByRank: 1 } @@ -24979,6 +25016,76 @@ export default { UnlockByRank: 16 } }, + e_ru_truck_old_dlc_2_2: { + 'EngineVariants > Engine:nth-of-type(1)': { + CriticalDamageThreshold: 0.8, + DamageCapacity: 180, + DamagedConsumptionModifier: 1.6, + EngineResponsiveness: 0.04, + FuelConsumption: 4.5, + Torque: 130_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.6, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(1) > GameData': { + Price: 2500, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'EngineVariants > Engine:nth-of-type(2)': { + CriticalDamageThreshold: 0.7, + DamageCapacity: 200, + DamagedConsumptionModifier: 1.7, + EngineResponsiveness: 0.04, + FuelConsumption: 5.5, + Torque: 140_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.7, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(2) > GameData': { + Price: 7200, + UnlockByExploration: 'true', + UnlockByRank: 1 + }, + 'EngineVariants > Engine:nth-of-type(3)': { + CriticalDamageThreshold: 0.7, + DamageCapacity: 240, + DamagedConsumptionModifier: 1.8, + EngineResponsiveness: 0.04, + FuelConsumption: 6, + Torque: 160_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.6, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(3) > GameData': { + Price: 9000, + UnlockByExploration: 'true', + UnlockByRank: 1 + }, + 'EngineVariants > Engine:nth-of-type(4)': { + CriticalDamageThreshold: 0.5, + DamageCapacity: 120, + DamagedConsumptionModifier: 2.1, + EngineResponsiveness: 0.04, + FuelConsumption: 7.5, + Torque: 185_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.6, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(4) > GameData': { + Price: 11_300, + UnlockByExploration: 'true', + UnlockByRank: 1 + } + }, gearboxes_trucks_dlc_2_2: { 'GearboxVariants > Gearbox:nth-of-type(1)': { AWDConsumptionModifier: 1.2, @@ -25177,76 +25284,6 @@ export default { UnlockByRank: 1 } }, - e_ru_truck_old_dlc_2_2: { - 'EngineVariants > Engine:nth-of-type(1)': { - CriticalDamageThreshold: 0.8, - DamageCapacity: 180, - DamagedConsumptionModifier: 1.6, - EngineResponsiveness: 0.04, - FuelConsumption: 4.5, - Torque: 130_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.6, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(1) > GameData': { - Price: 2500, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'EngineVariants > Engine:nth-of-type(2)': { - CriticalDamageThreshold: 0.7, - DamageCapacity: 200, - DamagedConsumptionModifier: 1.7, - EngineResponsiveness: 0.04, - FuelConsumption: 5.5, - Torque: 140_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.7, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(2) > GameData': { - Price: 7200, - UnlockByExploration: 'true', - UnlockByRank: 1 - }, - 'EngineVariants > Engine:nth-of-type(3)': { - CriticalDamageThreshold: 0.7, - DamageCapacity: 240, - DamagedConsumptionModifier: 1.8, - EngineResponsiveness: 0.04, - FuelConsumption: 6, - Torque: 160_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.6, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(3) > GameData': { - Price: 9000, - UnlockByExploration: 'true', - UnlockByRank: 1 - }, - 'EngineVariants > Engine:nth-of-type(4)': { - CriticalDamageThreshold: 0.5, - DamageCapacity: 120, - DamagedConsumptionModifier: 2.1, - EngineResponsiveness: 0.04, - FuelConsumption: 7.5, - Torque: 185_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.6, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(4) > GameData': { - Price: 11_300, - UnlockByExploration: 'true', - UnlockByRank: 1 - } - }, wheels_medium_double_front_dlc_2_2: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 1, @@ -25542,6 +25579,7 @@ export default { SuspensionStrength: 0.35 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 9000 }, 'Truck > GameData': { @@ -25596,6 +25634,7 @@ export default { SuspensionStrength: 0.1 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(-4; 0.7; 0)', Mass: 8000 }, 'Truck > GameData': { @@ -25653,6 +25692,7 @@ export default { SuspensionStrength: 0.1 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 750 }, 'Truck > GameData': { @@ -25675,6 +25715,7 @@ export default { SuspensionStrength: 0.0422 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 20_000 }, 'Truck > GameData': { @@ -26583,19 +26624,6 @@ export default { UnlockByRank: 1 } }, - wheels_cat_th357_single_dlc_2_1: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1.7, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 3, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 8300, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, s_cat_th357_dlc_2_1: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.7, @@ -26623,6 +26651,19 @@ export default { UnlockByRank: 1 } }, + wheels_cat_th357_single_dlc_2_1: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1.7, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 3, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 8300, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, cat_770g_dlc_2_1: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_CAT_770G_NAME', @@ -26825,6 +26866,7 @@ export default { SuspensionStrength: 0.04 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 1000 }, 'Truck > GameData': { @@ -27333,41 +27375,6 @@ export default { UnlockByRank: 12 } }, - wheels_medium_highway_double_dlc_1_2: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1, - BodyFrictionAsphalt: 3, - SubstanceFriction: 0.4, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 2300, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1.1, - BodyFrictionAsphalt: 3, - SubstanceFriction: 0.3, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 2500, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 0.9, - BodyFrictionAsphalt: 3.2, - SubstanceFriction: 0.4, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 2900, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, wheels_medium_offroad_double_dlc_1_2: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 3, @@ -27403,37 +27410,37 @@ export default { UnlockByRank: 1 } }, - wheels_medium_allterrain_double_dlc_1_2: { + wheels_medium_highway_double_dlc_1_2: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1.7, - BodyFrictionAsphalt: 1.5, - SubstanceFriction: 1, + BodyFriction: 1, + BodyFrictionAsphalt: 3, + SubstanceFriction: 0.4, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 3800, + Price: 2300, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1.5, - BodyFrictionAsphalt: 1.7, - SubstanceFriction: 1.1, + BodyFriction: 1.1, + BodyFrictionAsphalt: 3, + SubstanceFriction: 0.3, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 4200, + Price: 2500, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 1.5, - BodyFrictionAsphalt: 1.4, - SubstanceFriction: 1.4, + BodyFriction: 0.9, + BodyFrictionAsphalt: 3.2, + SubstanceFriction: 0.4, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 4500, + Price: 2900, UnlockByExploration: 'false', UnlockByRank: 1 } @@ -27473,6 +27480,41 @@ export default { UnlockByRank: 1 } }, + wheels_medium_allterrain_double_dlc_1_2: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1.7, + BodyFrictionAsphalt: 1.5, + SubstanceFriction: 1, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 3800, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 1.5, + BodyFrictionAsphalt: 1.7, + SubstanceFriction: 1.1, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 4200, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 1.5, + BodyFrictionAsphalt: 1.4, + SubstanceFriction: 1.4, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 4500, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, wheels_medium_mudtires_actaeon_dlc_1_2: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 2, @@ -28128,6 +28170,7 @@ export default { SuspensionStrength: 0.1 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(-0.5; -0.7; 0)', Mass: 600 }, 'Truck > GameData': { @@ -28158,6 +28201,7 @@ export default { SuspensionStrength: 0.01 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; -0.837; 0)', Mass: 1700 }, 'Truck > GameData': {} @@ -28639,37 +28683,56 @@ export default { UnlockByRank: 12 } }, - wheels_medium_highway_double_dlc_1_1: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1, - BodyFrictionAsphalt: 3, - SubstanceFriction: 0.4, - IsIgnoreIce: 'false' + winches_medium_trucks_dlc_1_1: { + 'WinchVariants > Winch:nth-of-type(1)': { + Length: 14, + StrengthMult: 1, + IsEngineIgnitionRequired: 'true' }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 2300, + 'WinchVariants > Winch:nth-of-type(1) > GameData': { + Price: 1000, UnlockByExploration: 'false', UnlockByRank: 1 }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1.1, - BodyFrictionAsphalt: 3, - SubstanceFriction: 0.3, - IsIgnoreIce: 'false' + 'WinchVariants > Winch:nth-of-type(2)': { + Length: 18, + StrengthMult: 1, + IsEngineIgnitionRequired: 'true' }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 2500, + 'WinchVariants > Winch:nth-of-type(2) > GameData': { + Price: 11_300, UnlockByExploration: 'false', - UnlockByRank: 1 + UnlockByRank: 8 }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 0.9, - BodyFrictionAsphalt: 3.2, - SubstanceFriction: 0.4, - IsIgnoreIce: 'false' + 'WinchVariants > Winch:nth-of-type(3)': { + Length: 14, + StrengthMult: 1.3, + IsEngineIgnitionRequired: 'true' }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 2900, + 'WinchVariants > Winch:nth-of-type(3) > GameData': { + Price: 15_000, + UnlockByExploration: 'false', + UnlockByRank: 12 + }, + 'WinchVariants > Winch:nth-of-type(4)': { + Length: 18, + StrengthMult: 1.3, + IsEngineIgnitionRequired: 'true' + }, + 'WinchVariants > Winch:nth-of-type(4) > GameData': { + Price: 18_800, + UnlockByExploration: 'false', + UnlockByRank: 16 + } + }, + winches_actaeon_dlc_1_1: { + 'WinchVariants > Winch:nth-of-type(1)': { + Length: 14, + StrengthMult: 0.8, + IsEngineIgnitionRequired: 'false' + }, + 'WinchVariants > Winch:nth-of-type(1) > GameData': { + Price: 15_000, UnlockByExploration: 'false', UnlockByRank: 1 } @@ -28709,126 +28772,107 @@ export default { UnlockByRank: 1 } }, - wheels_medium_allterrain_double_dlc_1_1: { + wheels_medium_mudtires_double_dlc_1_1: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1.7, - BodyFrictionAsphalt: 1.5, - SubstanceFriction: 1, + BodyFriction: 2, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2.2, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 3800, + Price: 5200, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1.5, - BodyFrictionAsphalt: 1.7, - SubstanceFriction: 1.1, + BodyFriction: 2.2, + BodyFrictionAsphalt: 0.4, + SubstanceFriction: 2, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 4200, + Price: 5600, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 1.5, - BodyFrictionAsphalt: 1.4, - SubstanceFriction: 1.4, + BodyFriction: 2.1, + BodyFrictionAsphalt: 0.4, + SubstanceFriction: 2.1, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 4500, + Price: 5900, UnlockByExploration: 'false', UnlockByRank: 1 } }, - wheels_medium_mudtires_double_dlc_1_1: { + wheels_medium_highway_double_dlc_1_1: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 2, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2.2, + BodyFriction: 1, + BodyFrictionAsphalt: 3, + SubstanceFriction: 0.4, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 5200, + Price: 2300, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 2.2, - BodyFrictionAsphalt: 0.4, - SubstanceFriction: 2, + BodyFriction: 1.1, + BodyFrictionAsphalt: 3, + SubstanceFriction: 0.3, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 5600, + Price: 2500, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 2.1, - BodyFrictionAsphalt: 0.4, - SubstanceFriction: 2.1, + BodyFriction: 0.9, + BodyFrictionAsphalt: 3.2, + SubstanceFriction: 0.4, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 5900, + Price: 2900, UnlockByExploration: 'false', UnlockByRank: 1 } }, - winches_medium_trucks_dlc_1_1: { - 'WinchVariants > Winch:nth-of-type(1)': { - Length: 14, - StrengthMult: 1, - IsEngineIgnitionRequired: 'true' + wheels_medium_allterrain_double_dlc_1_1: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1.7, + BodyFrictionAsphalt: 1.5, + SubstanceFriction: 1, + IsIgnoreIce: 'false' }, - 'WinchVariants > Winch:nth-of-type(1) > GameData': { - Price: 1000, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 3800, UnlockByExploration: 'false', UnlockByRank: 1 }, - 'WinchVariants > Winch:nth-of-type(2)': { - Length: 18, - StrengthMult: 1, - IsEngineIgnitionRequired: 'true' - }, - 'WinchVariants > Winch:nth-of-type(2) > GameData': { - Price: 11_300, - UnlockByExploration: 'false', - UnlockByRank: 8 - }, - 'WinchVariants > Winch:nth-of-type(3)': { - Length: 14, - StrengthMult: 1.3, - IsEngineIgnitionRequired: 'true' + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 1.5, + BodyFrictionAsphalt: 1.7, + SubstanceFriction: 1.1, + IsIgnoreIce: 'false' }, - 'WinchVariants > Winch:nth-of-type(3) > GameData': { - Price: 15_000, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 4200, UnlockByExploration: 'false', - UnlockByRank: 12 - }, - 'WinchVariants > Winch:nth-of-type(4)': { - Length: 18, - StrengthMult: 1.3, - IsEngineIgnitionRequired: 'true' + UnlockByRank: 1 }, - 'WinchVariants > Winch:nth-of-type(4) > GameData': { - Price: 18_800, - UnlockByExploration: 'false', - UnlockByRank: 16 - } - }, - winches_actaeon_dlc_1_1: { - 'WinchVariants > Winch:nth-of-type(1)': { - Length: 14, - StrengthMult: 0.8, - IsEngineIgnitionRequired: 'false' + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 1.5, + BodyFrictionAsphalt: 1.4, + SubstanceFriction: 1.4, + IsIgnoreIce: 'false' }, - 'WinchVariants > Winch:nth-of-type(1) > GameData': { - Price: 15_000, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 4500, UnlockByExploration: 'false', UnlockByRank: 1 } @@ -28918,7 +28962,10 @@ export default { } }, ford_f750_dlc_1_1: { - 'Truck > GameData > UiDesc': {}, + 'Truck > GameData > UiDesc > region\\:default': { + UiName: 'UI_VEHICLE_FORD_F750_NAME', + UiDesc: 'UI_VEHICLE_FORD_F750_DESC' + }, 'Truck > TruckData': { Responsiveness: 0.6, BackSteerSpeed: 0.06, @@ -29090,63 +29137,6 @@ export default { UnlockByRank: 1 } }, - wheels_ford_f750_dlc_1_1: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1, - BodyFrictionAsphalt: 3, - SubstanceFriction: 0.4, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 2300, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 3, - BodyFrictionAsphalt: 1, - SubstanceFriction: 1.5, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 4400, - UnlockByExploration: 'false', - UnlockByRank: 5 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 3, - BodyFrictionAsphalt: 0.8, - SubstanceFriction: 1.9, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 4900, - UnlockByExploration: 'false', - UnlockByRank: 7 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > WheelFriction': { - BodyFriction: 3.2, - BodyFrictionAsphalt: 0.8, - SubstanceFriction: 1.5, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > GameData': { - Price: 5700, - UnlockByExploration: 'false', - UnlockByRank: 10 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > WheelFriction': { - BodyFriction: 3, - BodyFrictionAsphalt: 1.2, - SubstanceFriction: 1.3, - IsIgnoreIce: 'true' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > GameData': { - Price: 6000, - UnlockByExploration: 'false', - UnlockByRank: 10 - } - }, e_us_scout_old_dlc_1_1: { 'EngineVariants > Engine:nth-of-type(1)': { CriticalDamageThreshold: 0.6, @@ -29290,6 +29280,63 @@ export default { UnlockByRank: 1 } }, + wheels_ford_f750_dlc_1_1: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1, + BodyFrictionAsphalt: 3, + SubstanceFriction: 0.4, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 2300, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 3, + BodyFrictionAsphalt: 1, + SubstanceFriction: 1.5, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 4400, + UnlockByExploration: 'false', + UnlockByRank: 5 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 3, + BodyFrictionAsphalt: 0.8, + SubstanceFriction: 1.9, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 4900, + UnlockByExploration: 'false', + UnlockByRank: 7 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > WheelFriction': { + BodyFriction: 3.2, + BodyFrictionAsphalt: 0.8, + SubstanceFriction: 1.5, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > GameData': { + Price: 5700, + UnlockByExploration: 'false', + UnlockByRank: 10 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > WheelFriction': { + BodyFriction: 3, + BodyFrictionAsphalt: 1.2, + SubstanceFriction: 1.3, + IsIgnoreIce: 'true' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(5) > GameData': { + Price: 6000, + UnlockByExploration: 'false', + UnlockByRank: 10 + } + }, semitrailer_stepdeck_plane_02_dlc_12: { 'Truck > TruckData': { FuelCapacity: 0, @@ -29325,6 +29372,7 @@ export default { SuspensionStrength: 0.04 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 1000 }, 'Truck > GameData': { @@ -29363,6 +29411,7 @@ export default { SuspensionStrength: 0.1 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(-4; 0.7; 0)', Mass: 6500 }, 'Truck > GameData': { @@ -29684,38 +29733,75 @@ export default { UnlockByRank: 1 } }, - wheels_scout1_dlc_12: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 0.8, - BodyFrictionAsphalt: 2, - SubstanceFriction: 0.4, - IsIgnoreIce: 'false' + e_us_scout_old_dlc_12: { + 'EngineVariants > Engine:nth-of-type(1)': { + CriticalDamageThreshold: 0.6, + DamageCapacity: 100, + DamagedConsumptionModifier: 1.2, + EngineResponsiveness: 0.25, + FuelConsumption: 1.3, + Torque: 35_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.6, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 1000, + 'EngineVariants > Engine:nth-of-type(1) > GameData': { + Price: 1500, UnlockByExploration: 'false', UnlockByRank: 1 }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1, - BodyFrictionAsphalt: 2, - SubstanceFriction: 0.2, - IsIgnoreIce: 'false' + 'EngineVariants > Engine:nth-of-type(2)': { + CriticalDamageThreshold: 0.4, + DamageCapacity: 100, + DamagedConsumptionModifier: 1.5, + EngineResponsiveness: 0.3, + FuelConsumption: 1.7, + Torque: 42_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.5, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 1200, - UnlockByExploration: 'false', + 'EngineVariants > Engine:nth-of-type(2) > GameData': { + Price: 4700, + UnlockByExploration: 'true', UnlockByRank: 1 }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 0.8, - BodyFrictionAsphalt: 2.5, - SubstanceFriction: 0.2, - IsIgnoreIce: 'false' + 'EngineVariants > Engine:nth-of-type(3)': { + CriticalDamageThreshold: 0.7, + DamageCapacity: 150, + DamagedConsumptionModifier: 1.5, + EngineResponsiveness: 0.35, + FuelConsumption: 2, + Torque: 50_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.7, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 1400, - UnlockByExploration: 'false', + 'EngineVariants > Engine:nth-of-type(3) > GameData': { + Price: 6000, + UnlockByExploration: 'true', + UnlockByRank: 1 + } + }, + e_us_special_mtb_8106_dlc_12: { + 'EngineVariants > Engine:nth-of-type(1)': { + CriticalDamageThreshold: 0.65, + DamageCapacity: 130, + DamagedConsumptionModifier: 1.51, + EngineResponsiveness: 0.37, + FuelConsumption: 1.85, + Torque: 58_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.6, + BrakesDelay: 0.28, + MaxDeltaAngVel: 0.04 + }, + 'EngineVariants > Engine:nth-of-type(1) > GameData': { + Price: 6600, + UnlockByExploration: 'true', UnlockByRank: 1 } }, @@ -29787,83 +29873,37 @@ export default { UnlockByRank: 10 } }, - wheels_scout_offroad_dlc_12: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 2, - BodyFrictionAsphalt: 1, - SubstanceFriction: 1.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 4200, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 2.2, - BodyFrictionAsphalt: 0.8, - SubstanceFriction: 1.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 4600, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 2.3, - BodyFrictionAsphalt: 1, - SubstanceFriction: 1.1, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 5000, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > WheelFriction': { - BodyFriction: 2.2, - BodyFrictionAsphalt: 1.1, - SubstanceFriction: 1.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > GameData': { - Price: 5200, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, - wheels_scout_mudtires_dlc_12: { + wheels_scout1_dlc_12: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 2.7, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 1.8, + BodyFriction: 0.8, + BodyFrictionAsphalt: 2, + SubstanceFriction: 0.4, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 5100, + Price: 1000, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 2.4, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2.1, + BodyFriction: 1, + BodyFrictionAsphalt: 2, + SubstanceFriction: 0.2, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 5500, + Price: 1200, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 2.1, - BodyFrictionAsphalt: 0.4, - SubstanceFriction: 2.5, + BodyFriction: 0.8, + BodyFrictionAsphalt: 2.5, + SubstanceFriction: 0.2, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 5900, + Price: 1400, UnlockByExploration: 'false', UnlockByRank: 1 } @@ -29892,6 +29932,87 @@ export default { UnlockByRank: 1 } }, + wheels_scout_mudtires_dlc_12: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 2.7, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 1.8, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 5100, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 2.4, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2.1, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 5500, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 2.1, + BodyFrictionAsphalt: 0.4, + SubstanceFriction: 2.5, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 5900, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, + wheels_scout_offroad_dlc_12: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 2, + BodyFrictionAsphalt: 1, + SubstanceFriction: 1.2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 4200, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 2.2, + BodyFrictionAsphalt: 0.8, + SubstanceFriction: 1.2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 4600, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 2.3, + BodyFrictionAsphalt: 1, + SubstanceFriction: 1.1, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 5000, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > WheelFriction': { + BodyFriction: 2.2, + BodyFrictionAsphalt: 1.1, + SubstanceFriction: 1.2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(4) > GameData': { + Price: 5200, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, s_mtb_8106_dlc_12: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.7, @@ -29963,78 +30084,6 @@ export default { UnlockByRank: 1 } }, - e_us_scout_old_dlc_12: { - 'EngineVariants > Engine:nth-of-type(1)': { - CriticalDamageThreshold: 0.6, - DamageCapacity: 100, - DamagedConsumptionModifier: 1.2, - EngineResponsiveness: 0.25, - FuelConsumption: 1.3, - Torque: 35_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.6, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(1) > GameData': { - Price: 1500, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'EngineVariants > Engine:nth-of-type(2)': { - CriticalDamageThreshold: 0.4, - DamageCapacity: 100, - DamagedConsumptionModifier: 1.5, - EngineResponsiveness: 0.3, - FuelConsumption: 1.7, - Torque: 42_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.5, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(2) > GameData': { - Price: 4700, - UnlockByExploration: 'true', - UnlockByRank: 1 - }, - 'EngineVariants > Engine:nth-of-type(3)': { - CriticalDamageThreshold: 0.7, - DamageCapacity: 150, - DamagedConsumptionModifier: 1.5, - EngineResponsiveness: 0.35, - FuelConsumption: 2, - Torque: 50_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.7, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(3) > GameData': { - Price: 6000, - UnlockByExploration: 'true', - UnlockByRank: 1 - } - }, - e_us_special_mtb_8106_dlc_12: { - 'EngineVariants > Engine:nth-of-type(1)': { - CriticalDamageThreshold: 0.65, - DamageCapacity: 130, - DamagedConsumptionModifier: 1.51, - EngineResponsiveness: 0.37, - FuelConsumption: 1.85, - Torque: 58_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.6, - BrakesDelay: 0.28, - MaxDeltaAngVel: 0.04 - }, - 'EngineVariants > Engine:nth-of-type(1) > GameData': { - Price: 6600, - UnlockByExploration: 'true', - UnlockByRank: 1 - } - }, femm_37at_dlc_12: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_FEMM_37AT_NAME', @@ -30322,41 +30371,6 @@ export default { UnlockByRank: 1 } }, - wheels_superheavy_mudtires_dlc_12: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1.6, - BodyFrictionAsphalt: 0.6, - SubstanceFriction: 3, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 7500, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1.7, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 3.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 8100, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 2, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 3.1, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 9000, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, e_ru_special_dlc_12: { 'EngineVariants > Engine:nth-of-type(1)': { CriticalDamageThreshold: 0.3, @@ -30446,6 +30460,41 @@ export default { UnlockByRank: 1 } }, + wheels_superheavy_mudtires_dlc_12: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1.6, + BodyFrictionAsphalt: 0.6, + SubstanceFriction: 3, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 7500, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 1.7, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 3.2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 8100, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 2, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 3.1, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 9000, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, s_femm_37at_dlc_12: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.6, @@ -30496,6 +30545,7 @@ export default { SuspensionStrength: 0.0422 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(-2; 0; 0)', Mass: 10_000 }, 'Truck > GameData': { @@ -30522,6 +30572,7 @@ export default { SuspensionStrength: 0.065 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 900 }, 'Truck > GameData': { @@ -30556,6 +30607,7 @@ export default { SuspensionStrength: 0.03 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(-0.8; 0; 0)', Mass: 800 }, 'Truck > GameData': { @@ -30687,6 +30739,59 @@ export default { UnlockByRank: 1 } }, + e_us_scout_old_dlc_11: { + 'EngineVariants > Engine:nth-of-type(1)': { + CriticalDamageThreshold: 0.6, + DamageCapacity: 100, + DamagedConsumptionModifier: 1.2, + EngineResponsiveness: 0.25, + FuelConsumption: 1.3, + Torque: 35_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.6, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(1) > GameData': { + Price: 1500, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'EngineVariants > Engine:nth-of-type(2)': { + CriticalDamageThreshold: 0.4, + DamageCapacity: 100, + DamagedConsumptionModifier: 1.5, + EngineResponsiveness: 0.3, + FuelConsumption: 1.7, + Torque: 42_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.5, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(2) > GameData': { + Price: 4700, + UnlockByExploration: 'true', + UnlockByRank: 1 + }, + 'EngineVariants > Engine:nth-of-type(3)': { + CriticalDamageThreshold: 0.7, + DamageCapacity: 150, + DamagedConsumptionModifier: 1.5, + EngineResponsiveness: 0.35, + FuelConsumption: 2, + Torque: 50_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.7, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(3) > GameData': { + Price: 6000, + UnlockByExploration: 'true', + UnlockByRank: 1 + } + }, gearboxes_scouts_dlc_11: { 'GearboxVariants > Gearbox:nth-of-type(1)': { AWDConsumptionModifier: 1.1, @@ -30877,59 +30982,6 @@ export default { UnlockByRank: 1 } }, - e_us_scout_old_dlc_11: { - 'EngineVariants > Engine:nth-of-type(1)': { - CriticalDamageThreshold: 0.6, - DamageCapacity: 100, - DamagedConsumptionModifier: 1.2, - EngineResponsiveness: 0.25, - FuelConsumption: 1.3, - Torque: 35_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.6, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(1) > GameData': { - Price: 1500, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'EngineVariants > Engine:nth-of-type(2)': { - CriticalDamageThreshold: 0.4, - DamageCapacity: 100, - DamagedConsumptionModifier: 1.5, - EngineResponsiveness: 0.3, - FuelConsumption: 1.7, - Torque: 42_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.5, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(2) > GameData': { - Price: 4700, - UnlockByExploration: 'true', - UnlockByRank: 1 - }, - 'EngineVariants > Engine:nth-of-type(3)': { - CriticalDamageThreshold: 0.7, - DamageCapacity: 150, - DamagedConsumptionModifier: 1.5, - EngineResponsiveness: 0.35, - FuelConsumption: 2, - Torque: 50_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.7, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(3) > GameData': { - Price: 6000, - UnlockByExploration: 'true', - UnlockByRank: 1 - } - }, wheels_scout1_dlc_11: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 0.8, @@ -31068,6 +31120,30 @@ export default { UnlockByRank: 1 } }, + wheels_scout_highway_dlc_11: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 0.7, + BodyFrictionAsphalt: 2.2, + SubstanceFriction: 0.3, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 1200, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 1, + BodyFrictionAsphalt: 2.3, + SubstanceFriction: 0.2, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 1400, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, s_neo_falcon_2000_dlc_11: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.7, @@ -31118,30 +31194,6 @@ export default { UnlockByRank: 1 } }, - wheels_scout_highway_dlc_11: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 0.7, - BodyFrictionAsphalt: 2.2, - SubstanceFriction: 0.3, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 1200, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1, - BodyFrictionAsphalt: 2.3, - SubstanceFriction: 0.2, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 1400, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, wheels_scout_offroad_dlc_11: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 2, @@ -31363,6 +31415,19 @@ export default { UnlockByRank: 1 } }, + wheels_scout_burlak_offroad_dlc_11: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 3.3, + BodyFrictionAsphalt: 0.6, + SubstanceFriction: 2.2, + IsIgnoreIce: 'true' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 2300, + UnlockByExploration: 'false', + UnlockByRank: 2 + } + }, s_burlak_6x6_dlc_11: { 'SuspensionSetVariants > SuspensionSet:nth-of-type(1)': { CriticalDamageThreshold: 0.7, @@ -31390,19 +31455,6 @@ export default { UnlockByRank: 1 } }, - wheels_scout_burlak_offroad_dlc_11: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 3.3, - BodyFrictionAsphalt: 0.6, - SubstanceFriction: 2.2, - IsIgnoreIce: 'true' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 2300, - UnlockByExploration: 'false', - UnlockByRank: 2 - } - }, semitrailer_fishing_boat_dlc_10: { 'Truck > TruckData': { FuelCapacity: 0, @@ -31443,6 +31495,7 @@ export default { SuspensionStrength: 0.35 }, 'Truck > PhysicsModel > Body': { + CenterOfMassOffset: '(0; 0; 0)', Mass: 9000 }, 'Truck > GameData': { @@ -31565,59 +31618,6 @@ export default { UnlockByRank: 16 } }, - e_us_truck_modern_mack_defense_m917_dlc_10: { - 'EngineVariants > Engine:nth-of-type(1)': { - CriticalDamageThreshold: 0.6, - DamageCapacity: 180, - DamagedConsumptionModifier: 1.5, - EngineResponsiveness: 0.035, - FuelConsumption: 8, - Torque: 176_500, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.6, - BrakesDelay: 0.6, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(1) > GameData': { - Price: 15_000, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'EngineVariants > Engine:nth-of-type(2)': { - CriticalDamageThreshold: 0.8, - DamageCapacity: 300, - DamagedConsumptionModifier: 1.4, - EngineResponsiveness: 0.044, - FuelConsumption: 10, - Torque: 232_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.75, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.015 - }, - 'EngineVariants > Engine:nth-of-type(2) > GameData': { - Price: 19_700, - UnlockByExploration: 'true', - UnlockByRank: 1 - }, - 'EngineVariants > Engine:nth-of-type(3)': { - CriticalDamageThreshold: 0.75, - DamageCapacity: 280, - DamagedConsumptionModifier: 1.3, - EngineResponsiveness: 0.045, - FuelConsumption: 9.5, - Torque: 222_000, - DamagedMinTorqueMultiplier: 0.9, - DamagedMaxTorqueMultiplier: 0.7, - BrakesDelay: 0.4, - MaxDeltaAngVel: 0.02 - }, - 'EngineVariants > Engine:nth-of-type(3) > GameData': { - Price: 24_400, - UnlockByExploration: 'true', - UnlockByRank: 1 - } - }, gearboxes_special_mack_defense_dlc_10: { 'GearboxVariants > Gearbox:nth-of-type(1)': { AWDConsumptionModifier: 1.15, @@ -31820,6 +31820,59 @@ export default { UnlockByRank: 1 } }, + e_us_truck_modern_mack_defense_m917_dlc_10: { + 'EngineVariants > Engine:nth-of-type(1)': { + CriticalDamageThreshold: 0.6, + DamageCapacity: 180, + DamagedConsumptionModifier: 1.5, + EngineResponsiveness: 0.035, + FuelConsumption: 8, + Torque: 176_500, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.6, + BrakesDelay: 0.6, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(1) > GameData': { + Price: 15_000, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'EngineVariants > Engine:nth-of-type(2)': { + CriticalDamageThreshold: 0.8, + DamageCapacity: 300, + DamagedConsumptionModifier: 1.4, + EngineResponsiveness: 0.044, + FuelConsumption: 10, + Torque: 232_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.75, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.015 + }, + 'EngineVariants > Engine:nth-of-type(2) > GameData': { + Price: 19_700, + UnlockByExploration: 'true', + UnlockByRank: 1 + }, + 'EngineVariants > Engine:nth-of-type(3)': { + CriticalDamageThreshold: 0.75, + DamageCapacity: 280, + DamagedConsumptionModifier: 1.3, + EngineResponsiveness: 0.045, + FuelConsumption: 9.5, + Torque: 222_000, + DamagedMinTorqueMultiplier: 0.9, + DamagedMaxTorqueMultiplier: 0.7, + BrakesDelay: 0.4, + MaxDeltaAngVel: 0.02 + }, + 'EngineVariants > Engine:nth-of-type(3) > GameData': { + Price: 24_400, + UnlockByExploration: 'true', + UnlockByRank: 1 + } + }, wheels_heavy_single_dlc_10: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 1.5, @@ -32031,72 +32084,72 @@ export default { UnlockByRank: 1 } }, - wheels_heavy_mudtires_single_dlc_10: { + wheels_heavy_mudtires_single2_dlc_10: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 1.8, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2.2, + BodyFrictionAsphalt: 0.4, + SubstanceFriction: 2.6, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 6200, + Price: 5200, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 2.3, - BodyFrictionAsphalt: 0.6, - SubstanceFriction: 2, + BodyFriction: 2.4, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2.1, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 6800, + Price: 5600, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 1.9, + BodyFriction: 1.8, BodyFrictionAsphalt: 0.6, - SubstanceFriction: 2.4, + SubstanceFriction: 2.5, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 7400, + Price: 5900, UnlockByExploration: 'false', UnlockByRank: 1 } }, - wheels_heavy_mudtires_single2_dlc_10: { + wheels_heavy_mudtires_single_dlc_10: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 1.8, - BodyFrictionAsphalt: 0.4, - SubstanceFriction: 2.6, + BodyFrictionAsphalt: 0.5, + SubstanceFriction: 2.2, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 5200, + Price: 6200, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 2.4, - BodyFrictionAsphalt: 0.5, - SubstanceFriction: 2.1, + BodyFriction: 2.3, + BodyFrictionAsphalt: 0.6, + SubstanceFriction: 2, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 5600, + Price: 6800, UnlockByExploration: 'false', UnlockByRank: 1 }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 1.8, + BodyFriction: 1.9, BodyFrictionAsphalt: 0.6, - SubstanceFriction: 2.5, + SubstanceFriction: 2.4, IsIgnoreIce: 'false' }, 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 5900, + Price: 7400, UnlockByExploration: 'false', UnlockByRank: 1 } @@ -32436,6 +32489,78 @@ export default { UnlockByRank: 1 } }, + e_us_truck_modern_dlc_10: { + 'EngineVariants > Engine:nth-of-type(1)': { + CriticalDamageThreshold: 0.5, + DamageCapacity: 160, + DamagedConsumptionModifier: 1.2, + EngineResponsiveness: 0.2, + FuelConsumption: 6, + Torque: 160_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.8, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(1) > GameData': { + Price: 3000, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'EngineVariants > Engine:nth-of-type(2)': { + CriticalDamageThreshold: 0.6, + DamageCapacity: 180, + DamagedConsumptionModifier: 1.3, + EngineResponsiveness: 0.25, + FuelConsumption: 6.5, + Torque: 180_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.7, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(2) > GameData': { + Price: 10_400, + UnlockByExploration: 'true', + UnlockByRank: 1 + }, + 'EngineVariants > Engine:nth-of-type(3)': { + CriticalDamageThreshold: 0.7, + DamageCapacity: 220, + DamagedConsumptionModifier: 1.1, + EngineResponsiveness: 0.3, + FuelConsumption: 7.5, + Torque: 192_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.8, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(3) > GameData': { + Price: 11_300, + UnlockByExploration: 'true', + UnlockByRank: 1 + } + }, + e_us_truck_modern_kenworth_990_dlc_10: { + 'EngineVariants > Engine:nth-of-type(1)': { + CriticalDamageThreshold: 0.4, + DamageCapacity: 180, + DamagedConsumptionModifier: 1.2, + EngineResponsiveness: 0.18, + FuelConsumption: 8.8, + Torque: 228_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.6, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(1) > GameData': { + Price: 20_700, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, wheels_heavy_double2_dlc_10: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 3, @@ -32627,113 +32752,6 @@ export default { UnlockByRank: 1 } }, - e_us_truck_modern_dlc_10: { - 'EngineVariants > Engine:nth-of-type(1)': { - CriticalDamageThreshold: 0.5, - DamageCapacity: 160, - DamagedConsumptionModifier: 1.2, - EngineResponsiveness: 0.2, - FuelConsumption: 6, - Torque: 160_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.8, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(1) > GameData': { - Price: 3000, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'EngineVariants > Engine:nth-of-type(2)': { - CriticalDamageThreshold: 0.6, - DamageCapacity: 180, - DamagedConsumptionModifier: 1.3, - EngineResponsiveness: 0.25, - FuelConsumption: 6.5, - Torque: 180_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.7, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(2) > GameData': { - Price: 10_400, - UnlockByExploration: 'true', - UnlockByRank: 1 - }, - 'EngineVariants > Engine:nth-of-type(3)': { - CriticalDamageThreshold: 0.7, - DamageCapacity: 220, - DamagedConsumptionModifier: 1.1, - EngineResponsiveness: 0.3, - FuelConsumption: 7.5, - Torque: 192_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.8, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(3) > GameData': { - Price: 11_300, - UnlockByExploration: 'true', - UnlockByRank: 1 - } - }, - e_us_truck_modern_kenworth_990_dlc_10: { - 'EngineVariants > Engine:nth-of-type(1)': { - CriticalDamageThreshold: 0.4, - DamageCapacity: 180, - DamagedConsumptionModifier: 1.2, - EngineResponsiveness: 0.18, - FuelConsumption: 8.8, - Torque: 228_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.6, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(1) > GameData': { - Price: 20_700, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, - wheels_heavy_allterrain_double_dlc_10: { - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { - BodyFriction: 1.7, - BodyFrictionAsphalt: 1.5, - SubstanceFriction: 1, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { - Price: 4900, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { - BodyFriction: 1.5, - BodyFrictionAsphalt: 1.7, - SubstanceFriction: 1.1, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { - Price: 5300, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { - BodyFriction: 1.5, - BodyFrictionAsphalt: 1.4, - SubstanceFriction: 1.4, - IsIgnoreIce: 'false' - }, - 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { - Price: 5700, - UnlockByExploration: 'false', - UnlockByRank: 1 - } - }, wheels_heavy_offroad_double_dlc_10: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 3, @@ -32804,6 +32822,41 @@ export default { UnlockByRank: 1 } }, + wheels_heavy_allterrain_double_dlc_10: { + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { + BodyFriction: 1.7, + BodyFrictionAsphalt: 1.5, + SubstanceFriction: 1, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > GameData': { + Price: 4900, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > WheelFriction': { + BodyFriction: 1.5, + BodyFrictionAsphalt: 1.7, + SubstanceFriction: 1.1, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(2) > GameData': { + Price: 5300, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > WheelFriction': { + BodyFriction: 1.5, + BodyFrictionAsphalt: 1.4, + SubstanceFriction: 1.4, + IsIgnoreIce: 'false' + }, + 'TruckWheels > TruckTires > TruckTire:nth-of-type(3) > GameData': { + Price: 5700, + UnlockByExploration: 'false', + UnlockByRank: 1 + } + }, kenworth_963_dlc_10: { 'Truck > GameData > UiDesc': { UiName: 'UI_VEHICLE_KENWORTH_963_NAME', @@ -32864,59 +32917,6 @@ export default { UnlockByRank: 1 } }, - e_us_truck_old_kenworth_963_dlc_10: { - 'EngineVariants > Engine:nth-of-type(1)': { - CriticalDamageThreshold: 0.6, - DamageCapacity: 180, - DamagedConsumptionModifier: 1.6, - EngineResponsiveness: 0.1, - FuelConsumption: 8.5, - Torque: 175_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.6, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(1) > GameData': { - Price: 5700, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'EngineVariants > Engine:nth-of-type(2)': { - CriticalDamageThreshold: 0.7, - DamageCapacity: 240, - DamagedConsumptionModifier: 1.7, - EngineResponsiveness: 0.15, - FuelConsumption: 9, - Torque: 190_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.7, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.01 - }, - 'EngineVariants > Engine:nth-of-type(2) > GameData': { - Price: 13_200, - UnlockByExploration: 'false', - UnlockByRank: 1 - }, - 'EngineVariants > Engine:nth-of-type(3)': { - CriticalDamageThreshold: 0.6, - DamageCapacity: 250, - DamagedConsumptionModifier: 1.6, - EngineResponsiveness: 0.2, - FuelConsumption: 12, - Torque: 265_000, - DamagedMinTorqueMultiplier: 1, - DamagedMaxTorqueMultiplier: 0.7, - BrakesDelay: 0.5, - MaxDeltaAngVel: 0.012 - }, - 'EngineVariants > Engine:nth-of-type(3) > GameData': { - Price: 16_000, - UnlockByExploration: 'true', - UnlockByRank: 1 - } - }, gearboxes_special_kenworth_963_dlc_10: { 'GearboxVariants > Gearbox:nth-of-type(1)': { AWDConsumptionModifier: 1.4, @@ -33115,6 +33115,59 @@ export default { UnlockByRank: 1 } }, + e_us_truck_old_kenworth_963_dlc_10: { + 'EngineVariants > Engine:nth-of-type(1)': { + CriticalDamageThreshold: 0.6, + DamageCapacity: 180, + DamagedConsumptionModifier: 1.6, + EngineResponsiveness: 0.1, + FuelConsumption: 8.5, + Torque: 175_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.6, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(1) > GameData': { + Price: 5700, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'EngineVariants > Engine:nth-of-type(2)': { + CriticalDamageThreshold: 0.7, + DamageCapacity: 240, + DamagedConsumptionModifier: 1.7, + EngineResponsiveness: 0.15, + FuelConsumption: 9, + Torque: 190_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.7, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.01 + }, + 'EngineVariants > Engine:nth-of-type(2) > GameData': { + Price: 13_200, + UnlockByExploration: 'false', + UnlockByRank: 1 + }, + 'EngineVariants > Engine:nth-of-type(3)': { + CriticalDamageThreshold: 0.6, + DamageCapacity: 250, + DamagedConsumptionModifier: 1.6, + EngineResponsiveness: 0.2, + FuelConsumption: 12, + Torque: 265_000, + DamagedMinTorqueMultiplier: 1, + DamagedMaxTorqueMultiplier: 0.7, + BrakesDelay: 0.5, + MaxDeltaAngVel: 0.012 + }, + 'EngineVariants > Engine:nth-of-type(3) > GameData': { + Price: 16_000, + UnlockByExploration: 'true', + UnlockByRank: 1 + } + }, wheels_superheavy_single_dlc_10: { 'TruckWheels > TruckTires > TruckTire:nth-of-type(1) > WheelFriction': { BodyFriction: 1.7, diff --git a/src/modules/data/mods/main.ts b/src/modules/data/mods/main.ts index fed1bbe8..e8d0cef8 100644 --- a/src/modules/data/mods/main.ts +++ b/src/modules/data/mods/main.ts @@ -4,13 +4,13 @@ import MainArrayBase from '/utils/json-arrays/main' import { publicFunction, publicMainEvent, publicRendererEvent } from 'emr-bridge' -import Config from '../config/main' import type { PubType } from './public' import { PubKeys } from './public' import type { IMod } from './types' import Archive from '/mods/archive/main' import Checks from '/mods/checks/main' +import Config from '/mods/data/config/main' import Sizes from '/mods/data/sizes/main' import { Dir, Dirs, File, Files } from '/mods/files/main' import GameTexts from '/mods/game-texts/main' @@ -35,7 +35,7 @@ class Mods extends MainArrayBase { return { ...item, file: new File(item.path) } } - /** Обрабатывает имеющиеся моды в архиве */ + /** Обрабатывает добавленные моды */ async procMods() { if (!Config.useMods || !hasItems(this)) return @@ -76,7 +76,22 @@ class Mods extends MainArrayBase { const out: [File, string][] = [] if (!await dir.exists()) return [] - const processFile = async (file: File, dir: Dir) => { + for (const entry of await dir.read()) { + if (await entry.isFile()) { + await processFile(entry.asFile(), dir) + } + else { + const innerDir = entry.asDir() + for (const innerEntry of await innerDir.read()) { + if (await innerEntry.isDir()) continue + await processFile(innerEntry.asFile(), innerDir) + } + } + } + + async function processFile(file: File, dir: Dir) { + if (out.some(([outFile]) => outFile.path === file.path)) return + const tempDir = Dirs.modsTemp.dir(file.name) if (file.isExt('pak')) { @@ -87,26 +102,18 @@ class Mods extends MainArrayBase { let name = file.name if (await modioFile.exists()) { - name = (await modioFile.readFromJSON()).name + const modIoName = (await modioFile.readFromJSON()).name + const procedName = procNameForFS(modIoName) + + if (!out.some(([, fileName]) => fileName === procedName)) { + name = modIoName + } } out.push([file, procNameForFS(name)]) } } } - for (const entry of await dir.read()) { - if (await entry.isFile()) { - await processFile(entry.asFile(), dir) - continue - } - - const innerDir = entry.asDir() - for (const innerEntry of await innerDir.read()) { - if (await innerEntry.isDir()) continue - await processFile(innerEntry.asFile(), innerDir) - } - } - return out } diff --git a/src/modules/dialogs/main/texts.ts b/src/modules/dialogs/main/texts.ts index 2cf3aab2..df034e38 100644 --- a/src/modules/dialogs/main/texts.ts +++ b/src/modules/dialogs/main/texts.ts @@ -1,5 +1,5 @@ import texts from '../texts' -import { localize } from '/utils/texts/main' +import { LocalizationObj } from '/utils/texts/main' -export default localize(texts) +export default new LocalizationObj(texts).get() diff --git a/src/modules/dialogs/texts.ts b/src/modules/dialogs/texts.ts index 41f95c40..b8a4cd59 100644 --- a/src/modules/dialogs/texts.ts +++ b/src/modules/dialogs/texts.ts @@ -1,18 +1,16 @@ -import { Lang } from '/mods/data/config/enums' +import { BaseLocalization, BaseLocalizationObj } from '/utils/texts/base-localization' -export default { +export default new BaseLocalizationObj({ /** Заголовок ошибки */ - error: { - [Lang.ru]: 'Ошибка', - [Lang.en]: 'Error', - [Lang.de]: 'Fehler', - [Lang.ch]: '误差' - }, + error: new BaseLocalization() + .ru('Ошибка') + .en('Error') + .de('Fehler') + .ch('误差'), /** Текст "ОК" */ - ok: { - [Lang.ru]: 'Ок', - [Lang.en]: 'Ok', - [Lang.de]: 'Ok', - [Lang.ch]: '确认' - } -} + ok: new BaseLocalization() + .ru('Ок') + .en('Ok') + .de('Ok') + .ch('确认') +}) diff --git a/src/modules/epf/main/texts.ts b/src/modules/epf/main/texts.ts index 2cf3aab2..df034e38 100644 --- a/src/modules/epf/main/texts.ts +++ b/src/modules/epf/main/texts.ts @@ -1,5 +1,5 @@ import texts from '../texts' -import { localize } from '/utils/texts/main' +import { LocalizationObj } from '/utils/texts/main' -export default localize(texts) +export default new LocalizationObj(texts).get() diff --git a/src/modules/epf/texts.ts b/src/modules/epf/texts.ts index b1aa01f8..3039ff04 100644 --- a/src/modules/epf/texts.ts +++ b/src/modules/epf/texts.ts @@ -1,18 +1,16 @@ -import { Lang } from '/mods/data/config/enums' +import { BaseLocalization, BaseLocalizationObj } from '/utils/texts/base-localization' -export default { +export default new BaseLocalizationObj({ /** Файлы успешно объединены */ - successJoin: { - [Lang.ru]: 'Следующие файлы были объединены в один:', - [Lang.en]: 'The following files have been merged into one:', - [Lang.de]: 'Die folgenden Dateien wurden zu einem zusammengefasst:', - [Lang.ch]: '以下文件已合并为一个' - }, + successJoin: new BaseLocalization() + .ru('Следующие файлы были объединены в один:') + .en('The following files have been merged into one:') + .de('Die folgenden Dateien wurden zu einem zusammengefasst:') + .ch('以下文件已合并为一个'), /** Сообщение о содержимом */ - seeExportedMessage: { - [Lang.ru]: 'В данном файле находятся параметры следующих файлов:', - [Lang.en]: 'This file contains the parameters of the following files:', - [Lang.de]: 'Diese Datei enthält die Einstellungen der folgenden Dateien:', - [Lang.ch]: '该文件包含以下文件的参数' - } -} + seeExportedMessage: new BaseLocalization() + .ru('В данном файле находятся параметры следующих файлов:') + .en('This file contains the parameters of the following files:') + .de('Diese Datei enthält die Einstellungen der folgenden Dateien:') + .ch('该文件包含以下文件的参数') +}) diff --git a/src/modules/files/main.ts b/src/modules/files/main.ts index c9f18b62..6e5b1ce6 100644 --- a/src/modules/files/main.ts +++ b/src/modules/files/main.ts @@ -1,5 +1,5 @@ import { execFile } from 'node:child_process' -import type { WatchEventType } from 'node:fs' +import type { WatchListener } from 'node:fs' import { watch } from 'node:fs' import { access, chmod, constants, copyFile, lstat, mkdir, readFile, readdir, rename, rm, writeFile } from 'node:fs/promises' import { basename, dirname, extname, join } from 'node:path' @@ -268,8 +268,8 @@ export class File extends FSEntry { } /** Отслеживает изменения файла */ - watch(listener: (event: WatchEventType) => void) { - watch(this.path, { persistent: false }, listener) + watch(listener: WatchListener) { + return watch(this.path, { persistent: false }, listener) } /** Исполняет файл */ diff --git a/src/modules/files/renderer.ts b/src/modules/files/renderer.ts index 0336bb41..2c2ea116 100644 --- a/src/modules/files/renderer.ts +++ b/src/modules/files/renderer.ts @@ -1,6 +1,6 @@ import type CP from 'node:child_process' import type FS from 'node:fs' -import type { WatchEventType } from 'node:fs' +import type { WatchListener } from 'node:fs' import type FSP from 'node:fs/promises' import type PATH from 'node:path' @@ -286,8 +286,8 @@ export class File extends FSEntry { } /** Отслеживает изменения файла */ - watch(listener: (event: WatchEventType) => void) { - watch(this.path, { persistent: false }, listener) + watch(listener: WatchListener) { + return watch(this.path, { persistent: false }, listener) } /** Исполняет файл */ diff --git a/src/modules/helpers/main.ts b/src/modules/helpers/main.ts index acb20813..f1fba9de 100644 --- a/src/modules/helpers/main.ts +++ b/src/modules/helpers/main.ts @@ -74,6 +74,7 @@ class Helpers extends HasPublic { publicFunction(PubKeys.homedir, homedir) publicFunction(PubKeys.userInfo, userInfo) publicFunction(PubKeys.openLink, shell.openExternal) + publicFunction(PubKeys.openFile, shell.openExternal) publicFunction(PubKeys.openPath, shell.openPath) publicFunction(PubKeys.reloadApp, () => { app.relaunch(); app.quit() }) publicFunction(PubKeys.quitApp, app.quit) diff --git a/src/modules/helpers/public.ts b/src/modules/helpers/public.ts index 3616b755..d09d1f03 100644 --- a/src/modules/helpers/public.ts +++ b/src/modules/helpers/public.ts @@ -9,6 +9,7 @@ export enum PubKeys { homedir = 'helpers/homedir', userInfo = 'helpers/user-info', openLink = 'helpers/open-link', + openFile = 'helpers/open-file', openPath = 'helpers/open-path', reloadApp = 'helpers/reload-app', quitApp = 'helpers/quit-app', @@ -21,6 +22,7 @@ export type PubType = { [PubKeys.homedir]: typeof homedir [PubKeys.userInfo]: typeof userInfo [PubKeys.openLink](url: string): Promise + [PubKeys.openFile](path: string): Promise [PubKeys.openPath](path: string): Promise [PubKeys.reloadApp](): void [PubKeys.quitApp](): void diff --git a/src/modules/helpers/renderer.ts b/src/modules/helpers/renderer.ts index 3d056977..9c7cf476 100644 --- a/src/modules/helpers/renderer.ts +++ b/src/modules/helpers/renderer.ts @@ -35,6 +35,9 @@ class Helpers { /** Открывает путь в проводнике */ openPath = providePubFunc(PubKeys.openPath) + /** Открывает файл для редактирования */ + openFile = providePubFunc(PubKeys.openFile) + /** Перезагружает программу */ reloadApp = providePubFunc(PubKeys.reloadApp) diff --git a/src/modules/images/renderer.ts b/src/modules/images/renderer.ts index 4e4fd6e6..bb0ea7fc 100644 --- a/src/modules/images/renderer.ts +++ b/src/modules/images/renderer.ts @@ -8,10 +8,9 @@ import { TruckXML } from '/mods/xml/renderer' class Images { /** Возвращает путь к картинке для данного файла */ async getSrc(category: Category, file: File, xml: TruckXML): Promise { - const base = Config.isDev ? '/src' : '..' const ext = category === Category.trucks ? '.jpg' : '.png' - const images = new Dir(base, '/images', category) // {project}/src/images || {app}/renderer/src/renderer/pages + const images = new Dir(this.getPath(category)) const image = images.file(`${file.name}${ext}`) const defaultImage = images.file('default.png') @@ -30,8 +29,13 @@ class Images { /** Получить путь к иконке группы */ getGroupIconSrc(name: string) { + return this.getPath(`icons/${name}.png`) + } + + /** Возвращает путь в папке `images` */ + getPath(pathInImagesFolder: string) { const base = Config.isDev ? '/src' : '..' - return `${base}/images/icons/${name}.png` + return `${base}/images/${pathInImagesFolder}` } /** Получить модовую картинку */ @@ -39,8 +43,7 @@ class Images { const modName = Mods.getModID(file) if (!modName || !xml.GameData?.UiDesc) return - const base = Config.isDev ? '/src' : '..' - const images = new Dir(base, '/images', category) // {project}/src/images || {app}/renderer/src/renderer/pages + const images = new Dir(this.getPath(category)) const defaultImage = images.file('default.png') const imgName = xml.GameData?.UiDesc?.UiIcon328x458 diff --git a/src/modules/messages/renderer/index.ts b/src/modules/messages/renderer/index.ts index 1ddd6158..8389fc39 100644 --- a/src/modules/messages/renderer/index.ts +++ b/src/modules/messages/renderer/index.ts @@ -46,8 +46,11 @@ class Messages { } /** Сообщение об ошибке */ - error(text: string) { - notification.error({ message: 'Error', description: text, duration: 10_000 }) + error(error: Error): void + error(error: string): void + error(error: string | Error): void { + notification.error({ message: 'Error', description: String(error), duration: 10_000 }) + console.error(error) } /** Информационное сообщение */ diff --git a/src/modules/messages/renderer/texts.ts b/src/modules/messages/renderer/texts.ts index ef7168ae..32650e31 100644 --- a/src/modules/messages/renderer/texts.ts +++ b/src/modules/messages/renderer/texts.ts @@ -1,5 +1,5 @@ import texts from '../texts' -import { localize } from '/utils/texts/renderer' +import { LocalizationObj } from '/utils/texts/renderer' -export default localize(texts) +export default new LocalizationObj(texts).get() diff --git a/src/modules/messages/texts.ts b/src/modules/messages/texts.ts index 8fd43f50..d9ded64b 100644 --- a/src/modules/messages/texts.ts +++ b/src/modules/messages/texts.ts @@ -1,11 +1,10 @@ -import { Lang } from '/mods/data/config/enums' +import { BaseLocalization, BaseLocalizationObj } from '/utils/texts/base-localization' -export default { +export default new BaseLocalizationObj({ /** Заголовок ошибки */ - error: { - [Lang.ru]: 'Ошибка', - [Lang.en]: 'Error', - [Lang.de]: 'Fehler', - [Lang.ch]: '误差' - } -} + error: new BaseLocalization() + .ru('Ошибка') + .en('Error') + .de('Fehler') + .ch('误差') +}) diff --git a/src/modules/windows/main/index.ts b/src/modules/windows/main/index.ts index 6bca897c..8bb9d834 100644 --- a/src/modules/windows/main/index.ts +++ b/src/modules/windows/main/index.ts @@ -6,15 +6,13 @@ import { publicFunction, publicRendererEvent } from 'emr-bridge' import { FORCE_DEVTOOLS } from '/consts' -import loadingWindow from './loading' -import mainWindow from './main' -import settingsWindow from './settings' -import setupWindow from './setup' -import updateWindow from './update' -import whatsNewWindow from './whats-new' +import LoadingWindow from './loading' +import MainWindow from './main' +import SettingsWindow from './settings' +import SetupWindow from './setup' +import UpdateWindow from './update' +import WhatsNewWindow from './whats-new' -import Config from '/mods/data/config/main' -import { Files } from '/mods/files/main' import type { IDownloadWindow, IUpdateWindow } from '/mods/updates/types' import { ProgramWindow } from '../enums' @@ -22,6 +20,9 @@ import type { PubType } from '../public' import { PubKeys } from '../public' import type { WindowParams } from '../types' +import Config from '/mods/data/config/main' +import { Files } from '/mods/files/main' + export * from '../enums' export type * from '../types' @@ -207,13 +208,13 @@ class Windows { /** Инициализация объектов окон программы */ private initWindows() { - loadingWindow.register(this) - mainWindow.register(this) - mainWindow.register(this) - settingsWindow.register(this) - setupWindow.register(this) - updateWindow.register(this) - whatsNewWindow.register(this) + LoadingWindow.register(this) + MainWindow.register(this) + MainWindow.register(this) + SettingsWindow.register(this) + SetupWindow.register(this) + UpdateWindow.register(this) + WhatsNewWindow.register(this) } /** Инициализация публичных объектов/методов */ diff --git a/src/modules/windows/main/update.ts b/src/modules/windows/main/update.ts index b00d7273..ecc0b0cc 100644 --- a/src/modules/windows/main/update.ts +++ b/src/modules/windows/main/update.ts @@ -1,11 +1,11 @@ +import type { BrowserWindow } from 'electron' + import { publicMainEvent } from 'emr-bridge' import { ProgramWindow, WindowType } from '../enums' import { PubKeys } from '../public' import { getDevPage, getRenderer, newWindow } from './utils' -import type { BrowserWindow } from 'electron' - import type { IUpdateWindow } from '/mods/updates/types' /** Вызвать событие контента */ diff --git a/src/modules/xml/game/addon/truck-data.ts b/src/modules/xml/game/addon/truck-data.ts index 4b61bdcf..a3c71db8 100644 --- a/src/modules/xml/game/addon/truck-data.ts +++ b/src/modules/xml/game/addon/truck-data.ts @@ -3,6 +3,8 @@ import { intAttr, numUtils } from '../game-xml' import Limit from '../limit' import XMLWithTemplates from '../xml-with-templates' +import { Localization } from '/utils/texts/renderer' + /** Свойства непосредственно аддона */ export default class TruckData extends XMLWithTemplates { /** Объем топлива */ @@ -11,6 +13,11 @@ export default class TruckData extends XMLWithTemplates { set FuelCapacity(_: number | undefined) {} @numUtils() get $FuelCapacity() { return {} as NumUtils } + FuelCapacityDesc = new Localization() + .ru('Объём топлива в аддоне') + .en('The amount of fuel in the addon') + .de('Kraftstoffmenge im Addon') + .get() /** Объем воды */ @intAttr(Limit.Positive.fixed()) @@ -18,6 +25,11 @@ export default class TruckData extends XMLWithTemplates { set WaterCapacity(_: number | undefined) {} @numUtils() get $WaterCapacity() { return {} as NumUtils } + WaterCapacityDesc = new Localization() + .ru('Объём воды в аддоне') + .en('The amount of water in the addon') + .de('Wassermenge im Addon') + .get() /** Количество ремкомплекта */ @intAttr(Limit.Positive.fixed()) @@ -25,6 +37,11 @@ export default class TruckData extends XMLWithTemplates { set RepairsCapacity(_: number | undefined) {} @numUtils() get $RepairsCapacity() { return {} as NumUtils } + RepairsCapacityDesc = new Localization() + .ru('Количество ремонтных частей в аддоне') + .en('The number of repair parts in the addon') + .de('Anzahl der Reparaturteile im Addon') + .get() /** WheelRepairsCapacity */ @intAttr(Limit.Positive.fixed()) @@ -32,4 +49,9 @@ export default class TruckData extends XMLWithTemplates { set WheelRepairsCapacity(_: number | undefined) {} @numUtils() get $WheelRepairsCapacity() { return {} as NumUtils } + WheelRepairsCapacityDesc = new Localization() + .ru('Количество ремонтных колёс в аддоне') + .en('The number of repair wheels in the addon') + .de('Anzahl der Reparaturräder im Addon') + .get() } diff --git a/src/modules/xml/game/base/game-data.ts b/src/modules/xml/game/base/game-data.ts index 84f5535e..21a073b5 100644 --- a/src/modules/xml/game/base/game-data.ts +++ b/src/modules/xml/game/base/game-data.ts @@ -4,6 +4,8 @@ import Limit from '../limit' import XMLWithTemplates, { innerElement } from '../xml-with-templates' import BaseUiDesc from './ui-desc' +import { Localization } from '/utils/texts/renderer' + /** Информация о взаимодействии сущности с окружающим миром */ export default class GameData extends XMLWithTemplates { /** Цена */ @@ -12,6 +14,11 @@ export default class GameData extends XMLWithTemplates { set Price(_) {} @numUtils() get $Price() { return {} as NumUtils } + PriceDesc = new Localization() + .ru('Стоимость предмета / автомобиля в магазине. В случае автомобиля это лишь базовая стоимость, не включающая стоимость стандартного оборудования при покупке в магазине') + .en('The cost of the item / truck in the store. In the case of a truck, this is only the basic cost, which does not include the cost of standard equipment when purchased in a store') + .de('Der Wert des Artikels / Autos im Laden. Im Falle eines Autos handelt es sich lediglich um die Grundkosten, die beim Kauf im Geschäft nicht die Kosten für Standardausrüstung beinhalten') + .get() /** Разлочивается разведкой */ @boolAttr() @@ -19,6 +26,11 @@ export default class GameData extends XMLWithTemplates { set UnlockByExploration(_: boolean | undefined) {} @boolUtils() get $UnlockByExploration() { return {} as BoolUtils } + UnlockByExplorationDesc = new Localization() + .ru('Разблокируется ли предмет / автомобиль при помощи поиска на локации (разведки)') + .en('Does the item / truck unlock using location search') + .de('Öffnet sich ein Gegenstand / ein Fahrzeug mit einer Standortsuche') + .get() /** Разлочивается рангом */ @intAttr(new Limit({ min: 1, max: 30, fixed: true })) @@ -26,6 +38,11 @@ export default class GameData extends XMLWithTemplates { set UnlockByRank(_: number | undefined) {} @numUtils() get $UnlockByRank() { return {} as NumUtils } + UnlockByRankDesc = new Localization() + .ru('При достижении какого уровня открывается предмет / автомобиль. Игнорируется если стоит разблокировка разведкой') + .en('Upon reaching which level the item / truck opens. It is ignored if it is worth unlocking by exploration') + .de('Wenn das Niveau erreicht ist, öffnet sich das Objekt / Fahrzeug. Wird ignoriert, wenn es sich lohnt, durch Intelligenz freigeschaltet zu werden') + .get() /** Блок UI */ @innerElement(BaseUiDesc) diff --git a/src/modules/xml/game/base/ui-desc.ts b/src/modules/xml/game/base/ui-desc.ts index 0386b0bf..fd27db1d 100644 --- a/src/modules/xml/game/base/ui-desc.ts +++ b/src/modules/xml/game/base/ui-desc.ts @@ -2,6 +2,8 @@ import type { StrUtils } from '../game-xml' import { strAttr, strUtils } from '../game-xml' import XMLWithTemplates from '../xml-with-templates' +import { Localization } from '/utils/texts/renderer' + /** Блок UI */ export default class UiDesc extends XMLWithTemplates { /** Описание */ @@ -10,6 +12,13 @@ export default class UiDesc extends XMLWithTemplates { set UiDesc(_) {} @strUtils() get $UiDesc() { return {} as StrUtils } + get UiDescDesc() { + return new Localization() + .ru('Описание предмета') + .en('Description of the item') + .de('Beschreibung des Gegenstands') + .get() + } /** Название */ @strAttr() @@ -17,4 +26,11 @@ export default class UiDesc extends XMLWithTemplates { set UiName(_) {} @strUtils() get $UiName() { return {} as StrUtils } + get UiNameDesc() { + return new Localization() + .ru('Название предмета') + .en('Name of the item') + .de('Name des Gegenstands') + .get() + } } diff --git a/src/modules/xml/game/base/wheel-friction.ts b/src/modules/xml/game/base/wheel-friction.ts index 78abf070..d3da071c 100644 --- a/src/modules/xml/game/base/wheel-friction.ts +++ b/src/modules/xml/game/base/wheel-friction.ts @@ -3,6 +3,8 @@ import { boolAttr, boolUtils, floatAttr, numUtils } from '../game-xml' import Limit from '../limit' import XMLWithTemplates from '../xml-with-templates' +import { Localization } from '/utils/texts/renderer' + /** Трение колеса */ export default class WheelFriction extends XMLWithTemplates { /** Трение с грунтом, голым террейном без грязи и другими коллизионными объектами */ @@ -11,13 +13,23 @@ export default class WheelFriction extends XMLWithTemplates { set BodyFriction(_: number | undefined) {} @numUtils() get $BodyFriction() { return {} as NumUtils } + BodyFrictionDesc = new Localization() + .ru('Трение с грунтом, без грязи и других объектов') + .en('Friction with the ground, without dirt and other objects') + .de('Reibung mit dem Boden, ohne Schmutz und andere Gegenstände') + .get() /** Трение с дорогой */ @floatAttr(new Limit({ min: 0.1, max: 10.0 })) - get BodyFrictionAsphalt() { return 1.0 } + get BodyFrictionAsphalt() { return this.BodyFriction } set BodyFrictionAsphalt(_: number | undefined) {} @numUtils() get $BodyFrictionAsphalt() { return {} as NumUtils } + BodyFrictionAsphaltDesc = new Localization() + .ru('Трение с дорогой') + .en('Friction with the road') + .de('Reibung mit der Straße') + .get() /** Трение с грязью */ @floatAttr(new Limit({ min: 0.1, max: 10.0 })) @@ -25,6 +37,11 @@ export default class WheelFriction extends XMLWithTemplates { set SubstanceFriction(_: number | undefined) {} @numUtils() get $SubstanceFriction() { return {} as NumUtils } + SubstanceFrictionDesc = new Localization() + .ru('Трение с грязью') + .en('Friction with mud') + .de('Reiben mit Schmutz') + .get() /** Игнорирование льда */ @boolAttr() @@ -32,4 +49,9 @@ export default class WheelFriction extends XMLWithTemplates { set IsIgnoreIce(_: boolean | undefined) {} @boolUtils() get $IsIgnoreIce() { return {} as BoolUtils } + IsIgnoreIceDesc = new Localization() + .ru('Имеет ли колесо хорошее сцепление на льду') + .en('Does the wheel have good grip on ice') + .de('Hat das Rad einen guten Griff auf dem Eis') + .get() } diff --git a/src/modules/xml/game/engines/engine/index.ts b/src/modules/xml/game/engines/engine/index.ts index 8edad864..244e02bb 100644 --- a/src/modules/xml/game/engines/engine/index.ts +++ b/src/modules/xml/game/engines/engine/index.ts @@ -4,6 +4,8 @@ import { floatAttr, intAttr, numUtils, strAttr, strUtils } from '../../game-xml' import Limit from '../../limit' import XMLWithTemplates, { innerElement } from '../../xml-with-templates' +import { Localization } from '/utils/texts/renderer' + /** Двигатель */ export default class Engine extends XMLWithTemplates { /** Имя двигателя */ @@ -19,6 +21,11 @@ export default class Engine extends XMLWithTemplates { set FuelConsumption(_: number | undefined) {} @numUtils() get $FuelConsumption() { return {} as NumUtils } + FuelConsumptionDesc = new Localization() + .ru('Базовое потребление топлива двигателем') + .en('The basic fuel consumption of the engine') + .de('Basiskraftstoffverbrauch durch den Motor') + .get() /** Размер допустимого ущерба */ @intAttr(new Limit({ min: 0, max: 64_000, fixed: true })) @@ -26,6 +33,11 @@ export default class Engine extends XMLWithTemplates { set DamageCapacity(_: number | undefined) {} @numUtils() get $DamageCapacity() { return {} as NumUtils } + DamageCapacityDesc = new Localization() + .ru('Размер допустимого ущерба двигателю') + .en('The amount of possible damage to the engine') + .de('Die Größe des zulässigen Motorschadens') + .get() /** Порог критической поломки */ @floatAttr(new Limit({ min: 0.0, max: 0.999 })) @@ -33,6 +45,11 @@ export default class Engine extends XMLWithTemplates { set CriticalDamageThreshold(_: number | undefined) {} @numUtils() get $CriticalDamageThreshold() { return {} as NumUtils } + CriticalDamageThresholdDesc = new Localization() + .ru('Порог критической поломки. После этого порога изменяется расход топлива и мощность двигателя') + .en('The threshold of critical failure. After this threshold, the fuel consumption and engine power change') + .de('Kritische Bruchschwelle. Nach dieser Schwelle ändert sich der Kraftstoffverbrauch und die Motorleistung') + .get() /** Максимальное значение изменения расхода при поломке двигателя */ @floatAttr(new Limit({ min: 0.1, max: 32.0 })) @@ -40,6 +57,11 @@ export default class Engine extends XMLWithTemplates { set DamagedConsumptionModifier(_: number | undefined) {} @numUtils() get $DamagedConsumptionModifier() { return {} as NumUtils } + DamagedConsumptionModifierDesc = new Localization() + .ru('Максимальное значение изменения расхода при поломке двигателя') + .en('The maximum value of the flow rate change in case of engine failure') + .de('Maximale Durchflussänderung bei Motorschaden') + .get() /** Отзывчивость двигателя */ @floatAttr(new Limit({ min: 0.01, max: 1.0 })) @@ -47,6 +69,11 @@ export default class Engine extends XMLWithTemplates { set EngineResponsiveness(_: number | undefined) {} @numUtils() get $EngineResponsiveness() { return {} as NumUtils } + EngineResponsivenessDesc = new Localization() + .ru('Отзывчивость двигателя (скорость набирания оборотов)') + .en('Engine responsiveness (revving speed)') + .de('Reaktionsfähigkeit des Motors (Drehzahl)') + .get() /** Мощность */ @intAttr(new Limit({ min: 0, max: 1_000_000, fixed: true })) @@ -54,6 +81,11 @@ export default class Engine extends XMLWithTemplates { set Torque(_: number | undefined) {} @numUtils() get $Torque() { return {} as NumUtils } + TorqueDesc = new Localization() + .ru('Мощность двигателя') + .en('Engine power') + .de('Motorleistung') + .get() /** Множитель мощности, когда ущерб движка достиг порога CriticalDamageThresold */ @floatAttr(new Limit({ min: 0.0, max: 1.0 })) @@ -61,6 +93,11 @@ export default class Engine extends XMLWithTemplates { set DamagedMinTorqueMultiplier(_: number | undefined) {} @numUtils() get $DamagedMinTorqueMultiplier() { return {} as NumUtils } + DamagedMinTorqueMultiplierDesc = new Localization() + .ru('Множитель мощности, когда ущерб движка достиг порога поломки') + .en('Power multiplier when engine damage has reached the breakdown threshold') + .de('Leistungsmultiplikator, wenn der Motorschaden die Bruchschwelle erreicht hat') + .get() /** Множитель мощности, когда движок близок к полной поломке */ @floatAttr(new Limit({ min: 0.0, max: 1.0 })) @@ -68,6 +105,11 @@ export default class Engine extends XMLWithTemplates { set DamagedMaxTorqueMultiplier(_: number | undefined) {} @numUtils() get $DamagedMaxTorqueMultiplier() { return {} as NumUtils } + DamagedMaxTorqueMultiplierDesc = new Localization() + .ru('Множитель мощности, когда движок близок к полной поломке (к 0 прочности)') + .en('Power multiplier when the engine is close to complete breakdown (to 0 strength)') + .de('Leistungsmultiplikator, wenn der Motor nahe an einem vollständigen Bruch liegt (bei 0 Stärke)') + .get() /** Задержка при торможении */ @floatAttr(new Limit({ min: 0.0, max: 1.0 })) @@ -75,6 +117,11 @@ export default class Engine extends XMLWithTemplates { set BrakesDelay(_: number | undefined) {} @numUtils() get $BrakesDelay() { return {} as NumUtils } + BrakesDelayDesc = new Localization() + .ru('Задержка при торможении') + .en('Braking delay') + .de('Verzögerung beim Bremsen') + .get() /** Ограничитель максимального углового ускорения колёс */ @floatAttr(new Limit({ min: 0.0, max: 1_000_000.0 })) @@ -82,6 +129,11 @@ export default class Engine extends XMLWithTemplates { set MaxDeltaAngVel(_: number | undefined) {} @numUtils() get $MaxDeltaAngVel() { return {} as NumUtils } + MaxDeltaAngVelDesc = new Localization() + .ru('Ограничитель максимального углового ускорения колёс. Чем он меньше, тем медленнее разгоняется машина') + .en('The limiter of the maximum angular acceleration of the wheels. The smaller it is, the slower the car accelerates') + .de('Begrenzer für maximale Winkelbeschleunigung der Räder. Je kleiner es ist, desto langsamer beschleunigt das Auto') + .get() /** Информация о взаимодействии двигателя с окружающим миром */ @innerElement(BaseGameData) diff --git a/src/modules/xml/game/game-xml.ts b/src/modules/xml/game/game-xml.ts index c9a88c27..e3ce7800 100644 --- a/src/modules/xml/game/game-xml.ts +++ b/src/modules/xml/game/game-xml.ts @@ -200,10 +200,10 @@ export function strAttr() { key: string, descriptor: PropertyDescriptor ) => { - const defaultVal: Value = descriptor.get?.() + const getDefault = descriptor.get descriptor.get = function(this: This) { - return this.procAttr(key)?.str as Value ?? defaultVal + return this.procAttr(key)?.str as Value ?? getDefault?.() } descriptor.set = function(this: This, value: Value) { this.procAttr(key, value ?? null) @@ -247,10 +247,10 @@ export function strArrAttr( key: string, descriptor: PropertyDescriptor ) => { - const defaultVal: Value = descriptor.get?.() ?? [] + const getDefault = descriptor.get ?? (() => []) descriptor.get = function(this: This) { - return strToArr(this.procAttr(key)?.str, parser) ?? defaultVal + return strToArr(this.procAttr(key)?.str, parser) ?? getDefault?.() } descriptor.set = function(this: This, value: Value) { this.procAttr(key, hasItems(value) ? arrToStr(value) : (preserve ? '' : null)) @@ -268,19 +268,15 @@ export function strArrUtils( parser = (str: string) => str as T | undefined, preserve = false ) { - type Value = T[] - return ( _: This, key: string, descriptor: PropertyDescriptor ) => { const name = key.split('$')[1] - let defaultVal: Value descriptor.get = function(this: This) { const selector = this.selector - defaultVal ??= this[name] return { get: () => this[name], @@ -330,11 +326,11 @@ export function posAttr(limit?: PosLimits) { key: string, descriptor: PropertyDescriptor ) => { - const defaultVal: Value = descriptor.get?.() + const getDefault = descriptor.get descriptor.get = function(this: This) { const str = this.procAttr(key)?.str - if (!str) return defaultVal + if (!str) return getDefault?.() return Position.from(str, limit) } @@ -379,10 +375,10 @@ export function intAttr(limit?: Limit) { key: string, descriptor: PropertyDescriptor ) => { - const defaultVal: Value = descriptor.get?.() + const getDefault = descriptor.get descriptor.get = function(this: This) { - return this.procAttr(key)?.int ?? defaultVal + return this.procAttr(key)?.int ?? getDefault?.() } descriptor.set = function(this: This, value: Value) { this.procAttr(key, value ?? null, limit) @@ -421,10 +417,10 @@ export function floatAttr(limit?: Limit) { key: string, descriptor: PropertyDescriptor ) => { - const defaultVal: Value = descriptor.get?.() + const getDefault = descriptor.get descriptor.get = function(this: This) { - return this.procAttr(key)?.float ?? defaultVal + return this.procAttr(key)?.float ?? getDefault?.() } descriptor.set = function(this: This, value: Value) { this.procAttr(key, value ?? null, limit) @@ -441,10 +437,10 @@ export function boolAttr() { key: string, descriptor: PropertyDescriptor ) => { - const defaultVal: Value = descriptor.get?.() + const getDefault = descriptor.get descriptor.get = function(this: This) { - return this.procAttr(key)?.bool ?? defaultVal + return this.procAttr(key)?.bool ?? getDefault?.() } descriptor.set = function(this: This, value: Value) { this.procAttr(key, value ?? null) diff --git a/src/modules/xml/game/gearboxes/gearbox/gear.ts b/src/modules/xml/game/gearboxes/gearbox/gear.ts index 004091a5..b4fea6ed 100644 --- a/src/modules/xml/game/gearboxes/gearbox/gear.ts +++ b/src/modules/xml/game/gearboxes/gearbox/gear.ts @@ -3,6 +3,8 @@ import { floatAttr, numUtils } from '../../game-xml' import Limit from '../../limit' import XMLWithTemplates from '../../xml-with-templates' +import { Localization } from '/utils/texts/renderer' + /** Передача */ export default class Gear extends XMLWithTemplates { /** Максимальная угловая скорость колеса на данной передаче */ @@ -11,6 +13,11 @@ export default class Gear extends XMLWithTemplates { set AngVel(_: number | undefined) {} @numUtils() get $AngVel() { return {} as NumUtils } + AngVelDesc = new Localization() + .ru('Максимальная угловая скорость колеса на данной передаче') + .en('The maximum angular velocity of the wheel in this gear') + .de('Die maximale Winkelgeschwindigkeit des Rades bei diesem Gang') + .get() /** Множитель потребления топлива на данной передаче */ @floatAttr(new Limit({ min: 0.0, max: 10.0 })) @@ -18,4 +25,9 @@ export default class Gear extends XMLWithTemplates { set FuelModifier(_: number | undefined) {} @numUtils() get $FuelModifier() { return {} as NumUtils } + FuelModifierDesc = new Localization() + .ru('Множитель потребления топлива на данной передаче') + .en('Fuel consumption multiplier in this gear') + .de('Multiplikator des Kraftstoffverbrauchs in diesem Getriebe') + .get() } diff --git a/src/modules/xml/game/gearboxes/gearbox/gearbox-params.ts b/src/modules/xml/game/gearboxes/gearbox/gearbox-params.ts index 79b6c75d..efd52f7f 100644 --- a/src/modules/xml/game/gearboxes/gearbox/gearbox-params.ts +++ b/src/modules/xml/game/gearboxes/gearbox/gearbox-params.ts @@ -3,6 +3,8 @@ import type { BoolUtils } from '../../game-xml' import { boolAttr, boolUtils } from '../../game-xml' import XMLWithTemplates, { innerElement } from '../../xml-with-templates' +import { Localization } from '/utils/texts/renderer' + /** Наличие передач в коробке */ export default class GearboxParams extends XMLWithTemplates { /** “H”. Если значение false, кнопка неактивна */ @@ -11,6 +13,11 @@ export default class GearboxParams extends XMLWithTemplates { set IsHighGearExists(_: boolean | undefined) {} @boolUtils() get $IsHighGearExists() { return {} as BoolUtils } + IsHighGearExistsDesc = new Localization() + .ru('Доступна ли повышенная передача') + .en('Is high gear available') + .de('Ist eine erhöhte Übertragung verfügbar') + .get() /** “L+” Первая передача */ @boolAttr() @@ -18,6 +25,11 @@ export default class GearboxParams extends XMLWithTemplates { set IsLowerPlusGearExists(_: boolean | undefined) {} @boolUtils() get $IsLowerPlusGearExists() { return {} as BoolUtils } + IsLowerPlusGearExistsDesc = new Localization() + .ru('Доступна ли пониженная+ (первая) передача') + .en('Is lower+ (first) gear available') + .de('Ist ein reduzierter+ (erster) Gang verfügbar') + .get() /** “L”. Максимальная угловая скорость 0.45*AngVel от первой передачи */ @boolAttr() @@ -25,12 +37,23 @@ export default class GearboxParams extends XMLWithTemplates { set IsLowerGearExists(_: boolean | undefined) {} @boolUtils() get $IsLowerGearExists() { return {} as BoolUtils } + IsLowerGearExistsDesc = new Localization() + .ru('Доступна ли пониженная передача (45% скорости первой передачи)') + .en('Is lower gear available (45% of the first gear speed)') + .de('Ist eine reduzierte Übertragung verfügbar (45% der ersten Übertragungsrate)') + .get() + /** Точная регулировка */ @boolAttr() get IsManualLowGear() { return false } set IsManualLowGear(_: boolean | undefined) {} @boolUtils() get $IsManualLowGear() { return {} as BoolUtils } + IsManualLowGearDesc = new Localization() + .ru('Доступна ли точная регулировка') + .en('Is a manual gear available') + .de('Ist eine genaue Einstellung verfügbar') + .get() /** “L-”. Максимальная угловая скорость 0.2*AngVel от первой передачи */ @boolAttr() @@ -38,6 +61,11 @@ export default class GearboxParams extends XMLWithTemplates { set IsLowerMinusGearExists(_: boolean | undefined) {} @boolUtils() get $IsLowerMinusGearExists() { return {} as BoolUtils } + IsLowerMinusGearExistsDesc = new Localization() + .ru('Доступна ли пониженная- передача (20% скорости первой передачи)') + .en('Is lower- available (20% of the first gear speed)') + .de('Ist eine reduzierte Übertragung verfügbar (20% der ersten Übertragungsrate)') + .get() /** Блок UI */ @innerElement(BaseUiDesc) diff --git a/src/modules/xml/game/gearboxes/gearbox/index.ts b/src/modules/xml/game/gearboxes/gearbox/index.ts index a097f296..40c7be35 100644 --- a/src/modules/xml/game/gearboxes/gearbox/index.ts +++ b/src/modules/xml/game/gearboxes/gearbox/index.ts @@ -5,6 +5,8 @@ import XMLWithTemplates, { innerElement, innerElements } from '../../xml-with-te import GameData from './game-data' import Gear from './gear' +import { Localization } from '/utils/texts/renderer' + export * from './game-data' export { default as GearboxGameData } from './game-data' export { default as Gear } from './gear' @@ -17,6 +19,11 @@ export default class Gearbox extends XMLWithTemplates { set AWDConsumptionModifier(_: number | undefined) {} @numUtils() get $AWDConsumptionModifier() { return {} as NumUtils } + AWDConsumptionModifierDesc = new Localization() + .ru('Коэффициент изменения расхода топлива при использовании полного привода') + .en('The coefficient of change in fuel consumption when using all-wheel drive') + .de('Änderungskoeffizient des Kraftstoffverbrauchs bei Verwendung eines Allradantriebs') + .get() /** Процент повреждений, после которого коробка начинает проявлять признаки поломки - вылетающие передачи и увеличение расхода топлива */ @floatAttr(new Limit({ min: 0.0, max: 0.999 })) @@ -24,6 +31,11 @@ export default class Gearbox extends XMLWithTemplates { set CriticalDamageThreshold(_: number | undefined) {} @numUtils() get $CriticalDamageThreshold() { return {} as NumUtils } + CriticalDamageThresholdDesc = new Localization() + .ru('Порог повреждений, после которого коробка начинает проявлять признаки поломки - вылетающие передачи и увеличение расхода топлива') + .en('The damage threshold, after which the box begins to show signs of failure - flying gears and increased fuel consumption') + .de('Die Schadensschwelle, nach der die Box Anzeichen von Bruch zeigt - ausfallende Übertragungen und erhöhter Kraftstoffverbrauch') + .get() /** Размер допустимого ущерба */ @intAttr(new Limit({ min: 0, max: 64_000, fixed: true })) @@ -31,6 +43,11 @@ export default class Gearbox extends XMLWithTemplates { set DamageCapacity(_: number | undefined) {} @numUtils() get $DamageCapacity() { return {} as NumUtils } + DamageCapacityDesc = new Localization() + .ru('Размер допустимого ущерба коробке передач') + .en('The amount of possible damage to the gearbox') + .de('Die Größe des zulässigen Getriebeschadens') + .get() /** Максимальный множитель расхода топлива, к этому множителю расход приходит, когда коробка полностью сломана */ @floatAttr(new Limit({ min: 0.0, max: 32.0 })) @@ -38,6 +55,11 @@ export default class Gearbox extends XMLWithTemplates { set DamagedConsumptionModifier(_: number | undefined) {} @numUtils() get $DamagedConsumptionModifier() { return {} as NumUtils } + DamagedConsumptionModifierDesc = new Localization() + .ru('Максимальный множитель расхода топлива, к этому множителю расход приходит, когда коробка полностью сломана') + .en('The maximum fuel consumption multiplier, the consumption comes to this multiplier when the box is completely broken') + .de('Der maximale Kraftstoffverbrauchsmultiplikator, zu diesem Volumenmultiplikator kommt der Verbrauch, wenn die Box vollständig kaputt ist') + .get() /** Базовое потребление топлива коробкой */ @floatAttr(new Limit({ min: 0.0, max: 10.0 })) @@ -45,6 +67,11 @@ export default class Gearbox extends XMLWithTemplates { set FuelConsumption(_: number | undefined) {} @numUtils() get $FuelConsumption() { return {} as NumUtils } + FuelConsumptionDesc = new Localization() + .ru('Базовое потребление топлива коробкой передач') + .en('Basic fuel consumption of the gearbox') + .de('Basiskraftstoffverbrauch durch Getriebe') + .get() /** Множитель потребления топлива, когда автомобиль стоит на месте с заведенным двигателем */ @floatAttr(new Limit({ min: 0.0, max: 10.0 })) @@ -52,6 +79,11 @@ export default class Gearbox extends XMLWithTemplates { set IdleFuelModifier(_: number | undefined) {} @numUtils() get $IdleFuelModifier() { return {} as NumUtils } + IdleFuelModifierDesc = new Localization() + .ru('Множитель потребления топлива, когда автомобиль стоит на месте с заведенным двигателем') + .en('Fuel consumption multiplier when the car is stationary with the engine running') + .de('Multiplikator des Kraftstoffverbrauchs, wenn das Fahrzeug bei laufendem Motor stillsteht') + .get() /** Название подвески */ @strAttr() @@ -60,12 +92,17 @@ export default class Gearbox extends XMLWithTemplates { @strUtils() get $Name() { return {} as StrUtils } - /** минимальная частота вылетания передачи, на момент, когда прочность достигла CriticalDamageThreshold */ + /** Минимальная частота вылетания передачи, на момент, когда прочность достигла CriticalDamageThreshold */ @floatAttr(new Limit({ min: 0.0, max: 60.0 })) get MinBreakFreq() { return 0.0 } set MinBreakFreq(_: number | undefined) {} @numUtils() get $MinBreakFreq() { return {} as NumUtils } + MinBreakFreqDesc = new Localization() + .ru('Минимальная частота вылетания передачи, на момент, когда прочность достигла критического порога') + .en('The minimum frequency of transmission failure, at the moment when the strength has reached a critical threshold') + .de('Minimale Übertragungsabfangsrate, zu dem Zeitpunkt, an dem die Stärke die kritische Schwelle erreicht hat') + .get() /** Максимальная частота вылетания передачи, на момент, когда прочность приближается к нулю */ @floatAttr(new Limit({ min: 0.0, max: 60.0 })) @@ -73,6 +110,11 @@ export default class Gearbox extends XMLWithTemplates { set MaxBreakFreq(_: number | undefined) {} @numUtils() get $MaxBreakFreq() { return {} as NumUtils } + MaxBreakFreqDesc = new Localization() + .ru('Максимальная частота вылетания передачи, на момент, когда прочность приближается к нулю') + .en('The maximum frequency of transmission failure, at the moment when the strength is approaching zero') + .de('Maximale Abfangfrequenz des Getriebes, zu dem Zeitpunkt, an dem sich die Stärke dem Nullpunkt nähert') + .get() /** Задняя передача */ @innerElement(Gear) diff --git a/src/modules/xml/game/suspensions/suspension-set.ts b/src/modules/xml/game/suspensions/suspension-set.ts index 860c1ad6..919f288d 100644 --- a/src/modules/xml/game/suspensions/suspension-set.ts +++ b/src/modules/xml/game/suspensions/suspension-set.ts @@ -5,6 +5,8 @@ import Limit from '../limit' import XMLWithTemplates, { innerElement, innerElements } from '../xml-with-templates' import Suspension from './suspension' +import { Localization } from '/utils/texts/renderer' + export { default as Suspension } from './suspension' /** Набор подвесок */ @@ -22,6 +24,11 @@ export default class SuspensionSet extends XMLWithTemplates { set DamageCapacity(_: number | undefined) {} @numUtils() get $DamageCapacity() { return {} as NumUtils } + DamageCapacityDesc = new Localization() + .ru('Размер допустимого ущерба подвеске') + .en('The amount of possible damage to the suspension') + .de('Die Höhe des zulässigen Schadens an der Aufhängung') + .get() /** Порог критического урона */ @floatAttr(new Limit({ min: 0.0, max: 0.999 })) @@ -29,6 +36,11 @@ export default class SuspensionSet extends XMLWithTemplates { set CriticalDamageThreshold(_: number | undefined) {} @numUtils() get $CriticalDamageThreshold() { return {} as NumUtils } + CriticalDamageThresholdDesc = new Localization() + .ru('Порог критического урона подвески') + .en('Suspension Critical Damage Threshold') + .de('Schwelle für kritischen Fahrwerksschaden') + .get() /** Коэффициент увеличения повреждения подвески при пробитом колесе */ @floatAttr(new Limit({ min: 0.0, max: 100.0 })) @@ -36,6 +48,11 @@ export default class SuspensionSet extends XMLWithTemplates { set BrokenWheelDamageMultiplier(_: number | undefined) {} @numUtils() get $BrokenWheelDamageMultiplier() { return {} as NumUtils } + BrokenWheelDamageMultiplierDesc = new Localization() + .ru('Коэффициент увеличения повреждения подвески при пробитом колесе') + .en('The coefficient of increase in suspension damage with a punctured wheel') + .de('Erhöhte Fahrwerksschäden bei eingeschlossenem Rad') + .get() /** Подвески */ @innerElements(Suspension, 'Suspension') diff --git a/src/modules/xml/game/suspensions/suspension/index.ts b/src/modules/xml/game/suspensions/suspension/index.ts index 32ec1bc5..8ae5c7a9 100644 --- a/src/modules/xml/game/suspensions/suspension/index.ts +++ b/src/modules/xml/game/suspensions/suspension/index.ts @@ -4,6 +4,8 @@ import Limit from '../../limit' import type { WheelLocation } from '../../truck/truck-data/wheels/wheel' import XMLWithTemplates from '../../xml-with-templates' +import { Localization } from '/utils/texts/renderer' + /** Подвеска */ export default class Suspension extends XMLWithTemplates { /** Тип колеса */ @@ -19,6 +21,11 @@ export default class Suspension extends XMLWithTemplates { set Height(_) {} @numUtils() get $Height() { return {} as NumUtils } + HeightDesc = new Localization() + .ru('Высота подвески') + .en('Suspension height') + .de('Höhe der Aufhängung') + .get() /** Жесткость подвески */ @floatAttr(new Limit({ min: 0.01 })) @@ -26,6 +33,11 @@ export default class Suspension extends XMLWithTemplates { set Strength(_) {} @numUtils() get $Strength() { return {} as NumUtils } + StrengthDesc = new Localization() + .ru('Жесткость подвески') + .en('Suspension stiffness') + .de('Federungssteifigkeit') + .get() /** Затухание */ @floatAttr(new Limit({ min: 0.0, max: 1000.0 })) @@ -33,6 +45,11 @@ export default class Suspension extends XMLWithTemplates { set Damping(_) {} @numUtils() get $Damping() { return {} as NumUtils } + DampingDesc = new Localization() + .ru('Демпинг (снижение скорости и интенсивности вибраций)') + .en('Damping (reducing the speed and intensity of vibrations)') + .de('Damping (reduzierte Geschwindigkeit und Vibrationsintensität)') + .get() /** Минимальный ход подвески */ @floatAttr(new Limit({ min: -1000.0, max: 1000.0 })) @@ -40,6 +57,11 @@ export default class Suspension extends XMLWithTemplates { set SuspensionMin(_) {} @numUtils() get $SuspensionMin() { return {} as NumUtils } + SuspensionMinDesc = new Localization() + .ru('Минимальный ход подвески (Позиция, которую колесо может принять при полной просадке подвески)') + .en('Minimum suspension stroke (The position that the wheel can take when the suspension is fully sagged)') + .de('Minimaler Federweg (Position, die das Rad annehmen kann, wenn die Federung vollständig abfällt)') + .get() /** Максимальный ход подвески */ @floatAttr(new Limit({ min: -1000.0, max: 1000.0 })) @@ -47,6 +69,11 @@ export default class Suspension extends XMLWithTemplates { set SuspensionMax(_) {} @numUtils() get $SuspensionMax() { return {} as NumUtils } + SuspensionMaxDesc = new Localization() + .ru('Максимальный ход подвески (Позиция, которую может принять колесо, если подвеска в рабочем состоянии и ее жесткость равна нулю, когда колесо висит в воздухе)') + .en('Maximum suspension travel (The position that the wheel can take if the suspension is in working condition and its stiffness is zero when the wheel is hanging in the air)') + .de('Maximaler Federweg (Die Position, die das Rad annehmen kann, wenn die Federung in Betrieb ist und ihre Steifigkeit Null ist, wenn das Rad in der Luft hängt)') + .get() /** Максимальный ход сломанной подвески */ @floatAttr(new Limit({ min: -1000.0, max: 1000.0 })) @@ -54,4 +81,9 @@ export default class Suspension extends XMLWithTemplates { set BrokenSuspensionMax(_) {} @numUtils() get $BrokenSuspensionMax() { return {} as NumUtils } + BrokenSuspensionMaxDesc = new Localization() + .ru('Максимальный ход сломанной подвески') + .en('The maximum stroke of a broken suspension') + .de('Maximaler Hub der gebrochenen Aufhängung') + .get() } diff --git a/src/modules/xml/game/truck/game-data/addon-slots.ts b/src/modules/xml/game/truck/game-data/addon-slots.ts index 9d22889b..3185cada 100644 --- a/src/modules/xml/game/truck/game-data/addon-slots.ts +++ b/src/modules/xml/game/truck/game-data/addon-slots.ts @@ -3,6 +3,8 @@ import type { NumUtils } from '../../game-xml' import { intAttr, numUtils } from '../../game-xml' import XMLWithTemplates from '../../xml-with-templates' +import { Localization } from '/utils/texts/renderer' + export default class AddonSlots extends XMLWithTemplates { /** Кол-во слотов для груза */ @intAttr(Limit.Positive.fixed()) @@ -10,4 +12,9 @@ export default class AddonSlots extends XMLWithTemplates { set Quantity(_: number | undefined) {} @numUtils() get $Quantity() { return {} as NumUtils } + QuantityDesc = new Localization() + .ru('Количество слотов для груза') + .en('Number of cargo slots') + .de('Anzahl der Ladeschlitze') + .get() } diff --git a/src/modules/xml/game/truck/game-data/index.ts b/src/modules/xml/game/truck/game-data/index.ts index 0c56f1b5..6e1d77e6 100644 --- a/src/modules/xml/game/truck/game-data/index.ts +++ b/src/modules/xml/game/truck/game-data/index.ts @@ -8,6 +8,8 @@ import CraneSocket from './crane-socket' import UiDesc from './ui-desc' import WinchSocket from './winch-socket' +import { Localization } from '/utils/texts/renderer' + export * from './addon-sockets' export { default as TrailerAddonSlots, default as TruckAddonSockets } from './addon-sockets' export { default as TruckCraneSocket } from './crane-socket' @@ -22,6 +24,11 @@ export default class GameData extends BaseGameData { set Country(_) {} @strArrUtils(strToCountry, true) get $Country() { return {} as StrArrUtils } + CountryDesc = new Localization() + .ru('Регион, в котором автомобиль доступен для покупки') + .en('The region where the car is available for purchase') + .de('Die Region, in der das Auto zum Kauf verfügbar ist') + .get() /** Исключение конкретного аддона из типа */ @strArrAttr() diff --git a/src/modules/xml/game/truck/game-data/ui-desc.ts b/src/modules/xml/game/truck/game-data/ui-desc.ts index 368e2387..d5cabd82 100644 --- a/src/modules/xml/game/truck/game-data/ui-desc.ts +++ b/src/modules/xml/game/truck/game-data/ui-desc.ts @@ -1,6 +1,7 @@ import { BaseUiDesc } from '../../base' import type { StrUtils } from '../../game-xml' import { strAttr, strUtils } from '../../game-xml' +import { innerElement } from '../../xml-with-templates' /** Блок UI */ export default class UiDesc extends BaseUiDesc { @@ -10,4 +11,16 @@ export default class UiDesc extends BaseUiDesc { set UiIcon328x458(_) {} @strUtils() get $UiIcon328x458() { return {} as StrUtils } + + /** Блок UI для региона */ + @innerElement(UiDesc, 'region\\:default') + get DefaultRegion(): UiDesc | undefined { return undefined } + + get UiDescDesc() { + return super.UiDescDesc + } + + get UiNameDesc() { + return super.UiNameDesc + } } diff --git a/src/modules/xml/game/truck/truck-data/fuel-tank.ts b/src/modules/xml/game/truck/truck-data/fuel-tank.ts index 95b13059..2e84b898 100644 --- a/src/modules/xml/game/truck/truck-data/fuel-tank.ts +++ b/src/modules/xml/game/truck/truck-data/fuel-tank.ts @@ -3,6 +3,8 @@ import { intAttr, numUtils } from '../../game-xml' import Limit from '../../limit' import XMLWithTemplates from '../../xml-with-templates' +import { Localization } from '/utils/texts/renderer' + /** Свойства бензeобака */ export default class FuelTank extends XMLWithTemplates { /** Размер допустимого ущерба */ @@ -11,4 +13,9 @@ export default class FuelTank extends XMLWithTemplates { set DamageCapacity(_: number | undefined) {} @numUtils() get $DamageCapacity() { return {} as NumUtils } + DamageCapacityDesc = new Localization() + .ru('Размер допустимого ущерба бензобака') + .en('The amount of permissible damage to the gas tank') + .de('Die Höhe des zulässigen Schadens am Benzintank') + .get() } diff --git a/src/modules/xml/game/truck/truck-data/index.ts b/src/modules/xml/game/truck/truck-data/index.ts index 144259b8..7e122b53 100644 --- a/src/modules/xml/game/truck/truck-data/index.ts +++ b/src/modules/xml/game/truck/truck-data/index.ts @@ -12,6 +12,8 @@ import Wheels from './wheels' import Winch from './winch' import WinchUpgradeSocket from './winch-upgrade-socket' +import { Localization } from '/utils/texts/renderer' + export { default as TruckCompatibleWheels } from './compatible-wheels' export { default as TruckEngineSocket } from './engine-socket' export { default as TruckFuelTank } from './fuel-tank' @@ -30,6 +32,11 @@ export default class TruckData extends AddonTruckData { set BackSteerSpeed(_) {} @numUtils() get $BackSteerSpeed() { return {} as NumUtils } + BackSteerSpeedDesc = new Localization() + .ru('Скорость, с которой руль возвращается в исходное положение после поворота') + .en('The speed at which the steering wheel returns to its original position after turning') + .de('Die Geschwindigkeit, mit der das Lenkrad nach dem Abbiegen in die Ausgangsposition zurückkehrt') + .get() /** Блокировка дифференциала */ @strAttr() @@ -38,12 +45,17 @@ export default class TruckData extends AddonTruckData { @strUtils() get $DiffLockType() { return {} as StrUtils } - /** Задержка после нажатия “включить двигатель” */ + /** Задержка после нажатия "включить двигатель" */ @floatAttr(new Limit({ min: 0.0, max: 8.0 })) get EngineStartDelay(): number | undefined { return undefined } set EngineStartDelay(_) {} @numUtils() get $EngineStartDelay() { return {} as NumUtils } + EngineStartDelayDesc = new Localization() + .ru('Задержка после нажатия "включить двигатель"') + .en('Delay after pressing "turn on the engine"') + .de('Verzögerung nach dem Drücken von "Motor einschalten"') + .get() /** Время начала визуализации выхлопа */ @floatAttr(Limit.Positive) @@ -51,13 +63,23 @@ export default class TruckData extends AddonTruckData { set ExhaustStartTime(_) {} @numUtils() get $ExhaustStartTime() { return {} as NumUtils } + ExhaustStartTimeDesc = new Localization() + .ru('Время начала выхлопа') + .en('Exhaust start time') + .de('Abgas-Startzeit') + .get() - /** Чувствительность руля */ + /** Чувствительность рулевого управления */ @floatAttr(new Limit({ min: 0.0, max: 1.0 })) get Responsiveness(): number | undefined { return undefined } set Responsiveness(_) {} @numUtils() get $Responsiveness() { return {} as NumUtils } + ResponsivenessDesc = new Localization() + .ru('Чувствительность рулевого управления') + .en('Steering sensitivity') + .de('Lenkempfindlichkeit') + .get() /** Скорость поворота руля */ @floatAttr(new Limit({ min: 0.0, max: 1.0 })) @@ -65,6 +87,11 @@ export default class TruckData extends AddonTruckData { set SteerSpeed(_) {} @numUtils() get $SteerSpeed() { return {} as NumUtils } + SteerSpeedDesc = new Localization() + .ru('Скорость поворота руля') + .en('Steering wheel rotation speed') + .de('Lenkgeschwindigkeit') + .get() /** Иконка трака для гаража */ @strAttr() diff --git a/src/modules/xml/game/truck/truck-data/wheels/wheel.ts b/src/modules/xml/game/truck/truck-data/wheels/wheel.ts index 6c4f2851..96d9bbae 100644 --- a/src/modules/xml/game/truck/truck-data/wheels/wheel.ts +++ b/src/modules/xml/game/truck/truck-data/wheels/wheel.ts @@ -4,6 +4,8 @@ import Limit from '../../../limit' import type Position from '../../../position' import XMLWithTemplates from '../../../xml-with-templates' +import { Localization } from '/utils/texts/renderer' + /** Описание конкретного колеса */ export default class Wheel extends XMLWithTemplates { /** Положение левого колеса (координата z обязательно должна быть положительной) */ @@ -33,6 +35,11 @@ export default class Wheel extends XMLWithTemplates { set Torque(_) {} @strUtils() get $Torque() { return {} as StrUtils } + TorqueDesc = new Localization() + .ru('Тип привода колеса') + .en('Type of wheel drive') + .de('Art des Radantriebs') + .get() /** Максимальный угол поворота колеса при рулении */ @floatAttr(new Limit({ min: -90.0, max: 90.0 })) @@ -40,6 +47,11 @@ export default class Wheel extends XMLWithTemplates { set SteeringAngle(_: number | undefined) {} @numUtils() get $SteeringAngle() { return {} as NumUtils } + SteeringAngleDesc = new Localization() + .ru('Максимальный угол поворота колеса при рулении') + .en('The maximum angle of rotation of the wheel when taxiing') + .de('Maximaler Lenkwinkel des Rades beim Lenken') + .get() /** Угол наклона колеса по оси OX в сторону поворота */ @floatAttr(new Limit({ min: 0.0, max: 45.0 })) @@ -47,6 +59,11 @@ export default class Wheel extends XMLWithTemplates { set SteeringCastor(_: number | undefined) {} @numUtils() get $SteeringCastor() { return {} as NumUtils } + SteeringCastorDesc = new Localization() + .ru('Угол наклона колеса в сторону поворота') + .en('The angle of inclination of the wheel in the direction of rotation') + .de('Neigungswinkel des Rades zum Drehen') + .get() /** Минимальное значение просадки подвески */ @floatAttr(new Limit({ min: -1000.0, max: 1000.0 })) @@ -61,6 +78,11 @@ export default class Wheel extends XMLWithTemplates { set SuspensionHeight(_: number | undefined) {} @numUtils() get $SuspensionHeight() { return {} as NumUtils } + SuspensionHeightDesc = new Localization() + .ru('Высота подвески колеса') + .en('Wheel suspension height') + .de('Höhe der Radaufhängung') + .get() /** Жесткость подвески */ @floatAttr(new Limit({ min: 0.0, max: 1000.0 })) @@ -68,6 +90,11 @@ export default class Wheel extends XMLWithTemplates { set SuspensionStrength(_: number | undefined) {} @numUtils() get $SuspensionStrength() { return {} as NumUtils } + SuspensionStrengthDesc = new Localization() + .ru('Жесткость подвески колеса') + .en('Wheel suspension stiffness') + .de('Steifigkeit der Radaufhängung') + .get() /** Имя файла колеса */ @strAttr() diff --git a/src/modules/xml/game/truck/truck-data/winch.ts b/src/modules/xml/game/truck/truck-data/winch.ts index d9491398..f67159b9 100644 --- a/src/modules/xml/game/truck/truck-data/winch.ts +++ b/src/modules/xml/game/truck/truck-data/winch.ts @@ -3,6 +3,8 @@ import { floatAttr, numUtils } from '../../game-xml' import Limit from '../../limit' import XMLWithTemplates from '../../xml-with-templates' +import { Localization } from '/utils/texts/renderer' + /** Параметры лебедки */ export default class Winch extends XMLWithTemplates { /** Максимальная длина веревки лебедки */ @@ -11,6 +13,11 @@ export default class Winch extends XMLWithTemplates { set Length(_: number | undefined) {} @numUtils() get $Length() { return {} as NumUtils } + LengthDesc = new Localization() + .ru('Максимальная длина веревки лебедки') + .en('Maximum length of the winch rope') + .de('Maximale Länge des Seilwinde') + .get() /** Сила лебедки */ @floatAttr(new Limit({ min: 0.0, max: 10.0 })) diff --git a/src/modules/xml/game/winches/winch.ts b/src/modules/xml/game/winches/winch.ts index 98bdcf84..bbaf58ea 100644 --- a/src/modules/xml/game/winches/winch.ts +++ b/src/modules/xml/game/winches/winch.ts @@ -4,6 +4,8 @@ import { boolAttr, boolUtils, floatAttr, numUtils } from '../game-xml' import Limit from '../limit' import XMLWithTemplates, { innerElement } from '../xml-with-templates' +import { Localization } from '/utils/texts/renderer' + /** Лебёдка */ export default class Winch extends XMLWithTemplates { /** Длина лебёдки */ @@ -12,6 +14,11 @@ export default class Winch extends XMLWithTemplates { set Length(_: number | undefined) {} @numUtils() get $Length() { return {} as NumUtils } + LengthDesc = new Localization() + .ru('Максимальная длина веревки лебедки') + .en('Maximum length of the winch rope') + .de('Maximale Länge des Seilwinde') + .get() /** Сила лебёдки */ @floatAttr(new Limit({ min: 0.0, max: 10.0 })) @@ -26,6 +33,11 @@ export default class Winch extends XMLWithTemplates { set IsEngineIgnitionRequired(_: boolean | undefined) {} @boolUtils() get $IsEngineIgnitionRequired() { return {} as BoolUtils } + IsEngineIgnitionRequiredDesc = new Localization() + .ru('Может ли лебёдка работать с заглушенным двигателем') + .en('Can the winch work with the engine turned off') + .de('Kann die Winde mit einem abgeschalteten Motor arbeiten') + .get() /** Информация о взаимодействии лебёдки с окружающим миром */ @innerElement(BaseGameData) diff --git a/src/modules/xml/xml-element.ts b/src/modules/xml/xml-element.ts index 8aead091..8f9b5870 100644 --- a/src/modules/xml/xml-element.ts +++ b/src/modules/xml/xml-element.ts @@ -4,6 +4,8 @@ import { load } from 'cheerio' import { File } from '/mods/files/renderer' import { hasItems, isString } from '/utils/checks/renderer' +import xmlFormat from 'xml-formatter' + /** Объект DOM элемента */ export default class XMLElement { /** Является ли аргумент `XMLElement` */ @@ -17,7 +19,7 @@ export default class XMLElement { static async from(file: File): Promise static async from(source: File | string): Promise { const data = File.isFile(source) ? (await source.read()) : source - const xml = load(data || '', { xmlMode: true }) + const xml = load(data || '', { xml: true }) if (!data || !xml.xml()) return return new this(xml.root()) @@ -39,9 +41,9 @@ export default class XMLElement { return new XMLElement(this.element.parent()) } + /** Строковое представление элемента */ get xml() { - const string = this.element.html() || '' let attrs: string[] | undefined if (this.hasAttrs()) { @@ -50,16 +52,56 @@ export default class XMLElement { attrs.push(`${name}="${value}"`) } } - if (this.tagName) { - return `<${this.tagName}${attrs && hasItems(attrs) ? ` ${attrs.join(' ')}` : ''}>\n${string}\n` + if (this.tagName) { + const xml = this.innerXML + ? `<${this.tagName}${attrs && hasItems(attrs) ? ` ${attrs.join(' ')}` : ''}>\n\t${this.innerXML}\n` + : `<${this.tagName}${attrs && hasItems(attrs) ? ` ${attrs.join(' ')}` : ''} />` + + try { + return xmlFormat(xml) + } + catch { + return xml + } } - return load(string, { xmlMode: true }).xml() + return this.baseXML } + /** Строковое представление элемента вместе с базовым тегом */ get baseXML() { - return load(this.baseElement.html() || '', { xmlMode: true }).xml() + function format(str: string) { + return xmlFormat(str, { + whiteSpaceAtEndOfSelfclosingTag: true, + forceSelfClosingEmptyTag: true, + indentation: ' ' + }) + } + + try { + const cloned = this.baseElement.clone() + const templates = cloned.find('_templates').eq(0) + let templatesText = '' + + if (templates.length === 1) { + const Include = templates.attr('Include') + const templatesXML = `<_templates${Include ? ` Include="${Include}"` : ''}>${templates.html()!}` + templatesText = `${format(templatesXML)}\r\n` + templates.remove() + } + + const mainText = format(cloned.html()!.replace('', '')) + return templatesText + mainText + } + catch { + return this.baseElement.html()! + } + } + + /** Строковое представление содержимого элемента */ + get innerXML() { + return this.element.html() ?? '' } /** Существует ли элемент */ diff --git a/src/renderer/components/language/index.vue b/src/renderer/components/language/index.vue index ad387a46..2f9824f8 100644 --- a/src/renderer/components/language/index.vue +++ b/src/renderer/components/language/index.vue @@ -1,12 +1,11 @@