From 065c5098b915d5475e234dd071776857e5260d22 Mon Sep 17 00:00:00 2001 From: VforValens Date: Wed, 17 Aug 2022 17:51:28 -0400 Subject: [PATCH] v1.4.0 Changelog * Bugfixes for non-working features * Code Refactor, and cleanup * Separated out all instances of the config files to their own separate entities. DebugMode is the only entity existing within the original config.json which will enable logging in the server for every feature enabled. * Removed Progression from the AIO and separated it out to its own individual modification. New Features * Added SMG In Holsters to Weapons.json * Added Skill Progression/Fatigue rates to Skills.json * Added Remove Discard Limit, and Remove Item Restrictions to Items.json * Reworked Insurance, and added minHr, maxHr, and storageMaxHr alongside the previously existing priceCoefficient, and returnChance in Insurance.json * Added Armor Materials to Armor.json --- V-AIO Progression ReadMe.pdf | Bin 23536 -> 0 bytes Valens-AIO ReadMe.pdf | Bin 1724367 -> 1741572 bytes config/ammo.json | 2 +- config/armor.json | 84 ++++++++++ config/config.json | 32 +--- config/config.ts | 37 ----- config/items.json | 2 + config/locations.json | 1 + config/progression.json | 3 - config/progression.ts | 4 - config/quests.json | 3 + config/raid.json | 13 ++ config/skills.json | 11 ++ config/{ => ts}/ammo.ts | 0 config/ts/armor.ts | 26 +++ config/{ => ts}/bots.ts | 12 +- config/ts/config.ts | 4 + config/{ => ts}/containers.ts | 0 config/{ => ts}/flea.ts | 0 config/{ => ts}/globals.ts | 0 config/{ => ts}/hideout.ts | 0 config/{ => ts}/insurance.ts | 0 config/{ => ts}/items.ts | 2 + config/{ => ts}/locations.ts | 1 + config/{ => ts}/loot.ts | 0 config/{ => ts}/prewipe.ts | 0 config/ts/quests.ts | 4 + config/ts/raid.ts | 14 ++ config/ts/skills.ts | 12 ++ config/ts/weapons.ts | 14 ++ config/weapons.json | 12 ++ package.json | 2 +- src/ammo.ts | 6 +- src/armor.ts | 131 +++++++++++++++ src/bots.ts | 2 +- src/containers.ts | 2 +- src/flea.ts | 14 +- src/globals.ts | 18 +-- src/hideout.ts | 2 +- src/insurance.ts | 4 +- src/items.ts | 50 +++++- src/locations.ts | 15 +- src/loot.ts | 2 +- src/mod.ts | 20 +-- src/prewipe.ts | 2 +- src/progression.ts | 291 ---------------------------------- src/quests.ts | 13 +- src/raid.ts | 20 +-- src/skills.ts | 76 +++++++++ src/weapons.ts | 46 ++++-- 50 files changed, 562 insertions(+), 447 deletions(-) delete mode 100644 V-AIO Progression ReadMe.pdf create mode 100644 config/armor.json delete mode 100644 config/config.ts delete mode 100644 config/progression.json delete mode 100644 config/progression.ts create mode 100644 config/quests.json create mode 100644 config/raid.json create mode 100644 config/skills.json rename config/{ => ts}/ammo.ts (100%) create mode 100644 config/ts/armor.ts rename config/{ => ts}/bots.ts (88%) create mode 100644 config/ts/config.ts rename config/{ => ts}/containers.ts (100%) rename config/{ => ts}/flea.ts (100%) rename config/{ => ts}/globals.ts (100%) rename config/{ => ts}/hideout.ts (100%) rename config/{ => ts}/insurance.ts (100%) rename config/{ => ts}/items.ts (85%) rename config/{ => ts}/locations.ts (85%) rename config/{ => ts}/loot.ts (100%) rename config/{ => ts}/prewipe.ts (100%) create mode 100644 config/ts/quests.ts create mode 100644 config/ts/raid.ts create mode 100644 config/ts/skills.ts create mode 100644 config/ts/weapons.ts create mode 100644 config/weapons.json create mode 100644 src/armor.ts delete mode 100644 src/progression.ts create mode 100644 src/skills.ts diff --git a/V-AIO Progression ReadMe.pdf b/V-AIO Progression ReadMe.pdf deleted file mode 100644 index 05bc8071c9beb11da854ae2a1cc56435595870f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23536 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 X2#2@D;*X0621CjqX@!I|jkNv;>&2tY diff --git a/Valens-AIO ReadMe.pdf b/Valens-AIO ReadMe.pdf index 5959446c95d2c5d580666ca93bb56d99102cce21..9d6b03d8043339621116901506c1ddbc5ab4a172 100644 GIT binary patch delta 74327 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 delta 59196 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 BI0XOz diff --git a/config/ammo.json b/config/ammo.json index 685bbca..e0bba93 100644 --- a/config/ammo.json +++ b/config/ammo.json @@ -2,7 +2,7 @@ "stacks": { "grenades": 1, - "a338lapua": 30, + "a338Lapua": 30, "a127x55": 30, "a762x54": 40, "a762x51": 40, diff --git a/config/armor.json b/config/armor.json new file mode 100644 index 0000000..a4bee65 --- /dev/null +++ b/config/armor.json @@ -0,0 +1,84 @@ +{ + "armorMaterials": + { + "uhmwpe": + { + "destructibility": 0.45, + "minRepairDegradation": 0.01, + "maxRepairDegradation": 0.03, + "explosionDestructibility": 0.4, + "minRepairKitDegradation": 0.005, + "maxRepairKitDegradation": 0.025 + }, + + "aramid": + { + "destructibility": 0.25, + "minRepairDegradation": 0.03, + "maxRepairDegradation": 0.07, + "explosionDestructibility": 0.2, + "minRepairKitDegradation": 0.025, + "maxRepairKitDegradation": 0.065 + }, + + "combined": + { + "destructibility": 0.5, + "minRepairDegradation": 0.1, + "maxRepairDegradation": 0.15, + "explosionDestructibility": 0.4, + "minRepairKitDegradation": 0.09, + "maxRepairKitDegradation": 0.14 + }, + + "titan": + { + "destructibility": 0.55, + "minRepairDegradation": 0.06, + "maxRepairDegradation": 0.1, + "explosionDestructibility": 0.5, + "minRepairKitDegradation": 0.055, + "maxRepairKitDegradation": 0.09 + }, + + "aluminium": + { + "destructibility": 0.6, + "minRepairDegradation": 0.06, + "maxRepairDegradation": 0.1, + "explosionDestructibility": 0.6, + "minRepairKitDegradation": 0.055, + "maxRepairKitDegradation": 0.09 + }, + + "armoredSteel": + { + "destructibility": 0.7, + "minRepairDegradation": 0.01, + "maxRepairDegradation": 0.03, + "explosionDestructibility": 0.6, + "minRepairKitDegradation": 0.005, + "maxRepairKitDegradation": 0.025 + }, + + "ceramic": + { + "destructibility": 0.8, + "minRepairDegradation": 0.17, + "maxRepairDegradation": 0.22, + "explosionDestructibility": 0.7, + "minRepairKitDegradation": 0.155, + "maxRepairKitDegradation": 0.2 + }, + + "glass": + { + "destructibility": 0.8, + "minRepairDegradation": 0.23, + "maxRepairDegradation": 0.42, + "explosionDestructibility": 0.8, + "minRepairKitDegradation": 0.21, + "maxRepairKitDegradation": 0.38 + } + } +} \ No newline at end of file diff --git a/config/config.json b/config/config.json index 8717d9f..c3b89aa 100644 --- a/config/config.json +++ b/config/config.json @@ -1,33 +1,3 @@ { - "DebugMode": false, - - - "quests": - { - "onlyFoundInRaid": true - }, - - "raid": - { - "carExtractBaseStandingGain": 0.25, - "chompiesBossFix": true, - "fixOpenZones": true, - "scavExtractGain": 0.01, - "timeLimit": 60, - "aiAmount": "asonline", - "aiDifficulty": "asonline", - "bossEnabled": true, - "scavWars": false, - "taggedAndCursed": false, - "enablePve": true - }, - - "weapons": - { - "jam": false, - "misfeed": false, - "misfire": false, - "overheat": false, - "slide": false - } + "DebugMode": false } \ No newline at end of file diff --git a/config/config.ts b/config/config.ts deleted file mode 100644 index 269869d..0000000 --- a/config/config.ts +++ /dev/null @@ -1,37 +0,0 @@ -export interface Config -{ - DebugMode: boolean - raid: Raid - quests: Quests - weapons: Weapons -} - -export interface Quests -{ - onlyFoundInRaid: boolean -} - -export interface Raid -{ - carExtractBaseStandingGain: number - chompiesBossFix: boolean - fixOpenZones: boolean - scavExtractGain: number - timeLimit: number - aiAmount: string - aiDifficulty: string - bossEnabled: boolean - scavWars: boolean - taggedAndCursed: boolean - enablePve: boolean -} - -export interface Weapons -{ - jam: boolean - misfeed: boolean - misfire: boolean - overheat: boolean - slide: boolean -} - \ No newline at end of file diff --git a/config/items.json b/config/items.json index 8b3d630..66fc2e6 100644 --- a/config/items.json +++ b/config/items.json @@ -25,6 +25,8 @@ "examinedByDefault": false, "removeBackpackFilter": true, + "removeDiscardLimit": true, + "removeItemRestrictions": false, "removeKeyUsageMax": false, "roublesMaxStack": 500000, "dollarsMaxStack": 50000, diff --git a/config/locations.json b/config/locations.json index bd205ec..46e35c3 100644 --- a/config/locations.json +++ b/config/locations.json @@ -1,5 +1,6 @@ { "allExtractsAvailable": false, + "freeLabsEntry": false, "exfilTime": 8, "extractionsExtended": false, "noExtractRestrictions": false diff --git a/config/progression.json b/config/progression.json deleted file mode 100644 index c26ec9a..0000000 --- a/config/progression.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "enabled": true -} \ No newline at end of file diff --git a/config/progression.ts b/config/progression.ts deleted file mode 100644 index 96e8a55..0000000 --- a/config/progression.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface Progression -{ - enabled: boolean -} \ No newline at end of file diff --git a/config/quests.json b/config/quests.json new file mode 100644 index 0000000..bacc3f9 --- /dev/null +++ b/config/quests.json @@ -0,0 +1,3 @@ +{ + "onlyFoundInRaid": true +} \ No newline at end of file diff --git a/config/raid.json b/config/raid.json new file mode 100644 index 0000000..bead856 --- /dev/null +++ b/config/raid.json @@ -0,0 +1,13 @@ +{ + "carExtractBaseStandingGain": 0.25, + "chompiesBossFix": true, + "fixOpenZones": true, + "scavExtractGain": 0.01, + "timeLimit": 60, + "aiAmount": "asonline", + "aiDifficulty": "asonline", + "bossEnabled": true, + "scavWars": false, + "taggedAndCursed": false, + "enablePve": true +} \ No newline at end of file diff --git a/config/skills.json b/config/skills.json new file mode 100644 index 0000000..69b5b5f --- /dev/null +++ b/config/skills.json @@ -0,0 +1,11 @@ +{ + "skillEnduranceWeightThreshold": 0.65, + "skillFatiguePerPoint": 0.6, + "skillFreshEffectiveness": 1.3, + "skillFatigueReset": 200, + "skillFreshPoints": 1, + "skillMinEffectiveness": 0.0001, + "skillPointsBeforeFatigue": 1, + "skillProgressRate": 0.4, + "weaponSkillProgressRate": 1 +} diff --git a/config/ammo.ts b/config/ts/ammo.ts similarity index 100% rename from config/ammo.ts rename to config/ts/ammo.ts diff --git a/config/ts/armor.ts b/config/ts/armor.ts new file mode 100644 index 0000000..2b9a69b --- /dev/null +++ b/config/ts/armor.ts @@ -0,0 +1,26 @@ +export interface ArmorConfig +{ + armorMaterials: Armor +} + +export interface Armor +{ + uhmwpe: Materials + aramid: Materials + combined: Materials + titan: Materials + aluminium: Materials + armoredSteel: Materials + ceramic: Materials + glass: Materials +} + +export interface Materials +{ + destructibility: number + minRepairDegradation: number + maxRepairDegradation: number + explosionDestructibility: number + minRepairKitDegradation: number + maxRepairKitDegradation: number +} \ No newline at end of file diff --git a/config/bots.ts b/config/ts/bots.ts similarity index 88% rename from config/bots.ts rename to config/ts/bots.ts index 147e458..bb6dfcf 100644 --- a/config/bots.ts +++ b/config/ts/bots.ts @@ -31,17 +31,9 @@ export interface DifficultyWeights { difficulty: string useWeights: boolean - weights: Weights + weights: Record } - -export interface Weights -{ - easy: number - normal: number - hard: number - impossible: number -} - + export interface ConvertIntoPmcChance { assault: PmcChance diff --git a/config/ts/config.ts b/config/ts/config.ts new file mode 100644 index 0000000..787d957 --- /dev/null +++ b/config/ts/config.ts @@ -0,0 +1,4 @@ +export interface Config +{ + DebugMode: boolean +} diff --git a/config/containers.ts b/config/ts/containers.ts similarity index 100% rename from config/containers.ts rename to config/ts/containers.ts diff --git a/config/flea.ts b/config/ts/flea.ts similarity index 100% rename from config/flea.ts rename to config/ts/flea.ts diff --git a/config/globals.ts b/config/ts/globals.ts similarity index 100% rename from config/globals.ts rename to config/ts/globals.ts diff --git a/config/hideout.ts b/config/ts/hideout.ts similarity index 100% rename from config/hideout.ts rename to config/ts/hideout.ts diff --git a/config/insurance.ts b/config/ts/insurance.ts similarity index 100% rename from config/insurance.ts rename to config/ts/insurance.ts diff --git a/config/items.ts b/config/ts/items.ts similarity index 85% rename from config/items.ts rename to config/ts/items.ts index 0c3f8ca..799ce0b 100644 --- a/config/items.ts +++ b/config/ts/items.ts @@ -6,6 +6,8 @@ export interface ItemsConfig eodStash: Stash examinedByDefault: boolean removeBackpackFilter: boolean + removeDiscardLimit: boolean + removeItemRestrictions: boolean removeKeyUsageMax: boolean dollarsMaxStack: number eurosMaxStack: number diff --git a/config/locations.ts b/config/ts/locations.ts similarity index 85% rename from config/locations.ts rename to config/ts/locations.ts index 4c43c51..ffd3567 100644 --- a/config/locations.ts +++ b/config/ts/locations.ts @@ -1,6 +1,7 @@ export interface LocationsConfig { allExtractsAvailable: boolean + freeLabsEntry: boolean exfilTime: number extractionsExtended: boolean noExtractRestrictions: boolean diff --git a/config/loot.ts b/config/ts/loot.ts similarity index 100% rename from config/loot.ts rename to config/ts/loot.ts diff --git a/config/prewipe.ts b/config/ts/prewipe.ts similarity index 100% rename from config/prewipe.ts rename to config/ts/prewipe.ts diff --git a/config/ts/quests.ts b/config/ts/quests.ts new file mode 100644 index 0000000..3e24770 --- /dev/null +++ b/config/ts/quests.ts @@ -0,0 +1,4 @@ +export interface QuestsConfig +{ + onlyFoundInRaid: boolean +} \ No newline at end of file diff --git a/config/ts/raid.ts b/config/ts/raid.ts new file mode 100644 index 0000000..6fd1824 --- /dev/null +++ b/config/ts/raid.ts @@ -0,0 +1,14 @@ +export interface RaidConfig +{ + carExtractBaseStandingGain: number + chompiesBossFix: boolean + fixOpenZones: boolean + scavExtractGain: number + timeLimit: number + aiAmount: string + aiDifficulty: string + bossEnabled: boolean + scavWars: boolean + taggedAndCursed: boolean + enablePve: boolean +} \ No newline at end of file diff --git a/config/ts/skills.ts b/config/ts/skills.ts new file mode 100644 index 0000000..d4c9e8f --- /dev/null +++ b/config/ts/skills.ts @@ -0,0 +1,12 @@ +export interface SkillsConfig +{ + skillEnduranceWeightThreshold: number + skillFatiguePerPoint: number + skillFatigueReset: number + skillFreshEffectiveness: number + skillFreshPoints: number + skillMinEffectiveness: number + skillPointsBeforeFatigue: number + skillProgressRate: number + weaponSkillProgressRate: number +} \ No newline at end of file diff --git a/config/ts/weapons.ts b/config/ts/weapons.ts new file mode 100644 index 0000000..e0dd957 --- /dev/null +++ b/config/ts/weapons.ts @@ -0,0 +1,14 @@ +export interface WeaponsConfig +{ + malfunctions: Malfunctions + smgInHolsters: boolean +} + +export interface Malfunctions +{ + jam: boolean + misfeed: boolean + misfire: boolean + overheat: boolean + slide: boolean +} \ No newline at end of file diff --git a/config/weapons.json b/config/weapons.json new file mode 100644 index 0000000..248942e --- /dev/null +++ b/config/weapons.json @@ -0,0 +1,12 @@ +{ + "malfunctions": + { + "jam": false, + "misfeed": false, + "misfire": false, + "overheat": false, + "slide": false + }, + + "smgInHolsters": false +} \ No newline at end of file diff --git a/package.json b/package.json index 0744e95..7e6c098 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "Valens-AIO", - "version": "1.3.1", + "version": "1.4.0", "main": "src/mod.js", "license": "CC BY-NC-ND 4.0", "author": "Valens", diff --git a/src/ammo.ts b/src/ammo.ts index 44d7db2..0669738 100644 --- a/src/ammo.ts +++ b/src/ammo.ts @@ -1,11 +1,11 @@ import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; import { Logger } from "./logger"; import { Grenade, Ammo762x51, Ammo762x54, Ammo338Lapua, Ammo46x30, Ammo57x28, Ammo762x25, Ammo9x18, Ammo9x19, Ammo9x21, Ammo357Mag, Ammo45ACP, Ammo545x39, Ammo556x45, Ammo300Blackout, Ammo762x39, Ammo9x39, Ammo366TKM, Ammo127x55, Ammo12Gauge, Ammo20Gauge, Ammo23x75, Ammo30x29, Ammo26x75 } from "@spt-aki/models/enums/AmmoTypes"; -import { AmmoConfig } from "../config/ammo"; +import { AmmoConfig } from "../config/ts/ammo"; export class Ammo { - private modConfig: AmmoConfig = require("./config/ammo.json") + private modConfig: AmmoConfig = require("../config/ammo.json") private logger: Logger; private tables: DatabaseServer; @@ -31,7 +31,7 @@ export class Ammo } } - // Sets 338 Lapua Magnum max stacks. + // Sets .338 Lapua Magnum max stacks. if (mod.a338Lapua != 30) { for (const value of Object.values(Ammo338Lapua)) diff --git a/src/armor.ts b/src/armor.ts new file mode 100644 index 0000000..93545b5 --- /dev/null +++ b/src/armor.ts @@ -0,0 +1,131 @@ +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ArmorConfig } from "../config/ts/armor"; +import { Logger } from "./logger"; + +export class Armor +{ + private modConfig: ArmorConfig = require("../config/armor.json"); + private logger: Logger; + private tables: DatabaseServer; + private mod: any; + private armor: any; + + constructor(logger: Logger, databaseServer: DatabaseServer) + { + this.logger = logger; + this.tables = databaseServer; + } + + public updateArmor(): void + { + const mod = this.modConfig; + const uhmwpe = this.modConfig.armorMaterials.uhmwpe; + const aramid = this.modConfig.armorMaterials.aramid; + const combined = this.modConfig.armorMaterials.combined; + const titan = this.modConfig.armorMaterials.titan; + const aluminium = this.modConfig.armorMaterials.aluminium; + const steel = this.modConfig.armorMaterials.armoredSteel; + const ceramic = this.modConfig.armorMaterials.ceramic; + const glass = this.modConfig.armorMaterials.glass; + const armor = this.tables.getTables().globals.config.ArmorMaterials; + + + if (uhmwpe.destructibility != 0.45 || uhmwpe.minRepairDegradation != 0.01 || uhmwpe.maxRepairDegradation != 0.03 + || uhmwpe.explosionDestructibility != 0.4 || uhmwpe.minRepairKitDegradation != 0.005 || uhmwpe.maxRepairKitDegradation != 0.025) + { + armor.UHMWPE.Destructibility = uhmwpe.destructibility; + armor.UHMWPE.MinRepairDegradation = uhmwpe.minRepairDegradation; + armor.UHMWPE.MaxRepairDegradation = uhmwpe.maxRepairDegradation; + armor.UHMWPE.ExplosionDestructibility = uhmwpe.explosionDestructibility; + armor.UHMWPE.MinRepairKitDegradation = uhmwpe.minRepairKitDegradation; + armor.UHMWPE.MaxRepairKitDegradation = uhmwpe.maxRepairKitDegradation; + this.logger.info("UHMWPE Armor Materials Patched"); + } + + if (aramid.destructibility != 0.25 || aramid.minRepairDegradation != 0.03 || aramid.maxRepairDegradation != 0.07 + || aramid.explosionDestructibility != 0.2 || aramid.minRepairKitDegradation != 0.025 || aramid.maxRepairKitDegradation != 0.065) + { + armor.Aramid.Destructibility = aramid.destructibility; + armor.Aramid.MinRepairDegradation = aramid.minRepairDegradation; + armor.Aramid.MaxRepairDegradation = aramid.maxRepairDegradation; + armor.Aramid.ExplosionDestructibility = aramid.explosionDestructibility; + armor.Aramid.MinRepairKitDegradation = aramid.minRepairKitDegradation; + armor.Aramid.MaxRepairKitDegradation = aramid.maxRepairKitDegradation; + this.logger.info("Aramid Armor Materials Patched"); + } + + if (combined.destructibility != 0.5 || combined.minRepairDegradation != 0.1 || combined.maxRepairDegradation != 0.15 + || combined.explosionDestructibility != 0.4 || combined.minRepairKitDegradation != 0.009 || combined.maxRepairKitDegradation != 0.014) + { + armor.Combined.Destructibility = combined.destructibility; + armor.Combined.MinRepairDegradation = combined.minRepairDegradation; + armor.Combined.MaxRepairDegradation = combined.maxRepairDegradation; + armor.Combined.ExplosionDestructibility = combined.explosionDestructibility; + armor.Combined.MinRepairKitDegradation = combined.minRepairKitDegradation; + armor.Combined.MaxRepairKitDegradation = combined.maxRepairKitDegradation; + this.logger.info("Combined Armor Materials Patched"); + } + + if (titan.destructibility != 0.55 || titan.minRepairDegradation != 0.06 || titan.maxRepairDegradation != 0.1 + || titan.explosionDestructibility != 0.5 || titan.minRepairKitDegradation != 0.055 || titan.maxRepairKitDegradation != 0.09) + { + armor.Titan.Destructibility = titan.destructibility; + armor.Titan.MinRepairDegradation = titan.minRepairDegradation; + armor.Titan.MaxRepairDegradation = titan.maxRepairDegradation; + armor.Titan.ExplosionDestructibility = titan.explosionDestructibility; + armor.Titan.MinRepairKitDegradation = titan.minRepairKitDegradation; + armor.Titan.MaxRepairKitDegradation = titan.maxRepairKitDegradation; + this.logger.info("Titan Armor Materials Patched"); + } + + if (aluminium.destructibility != 0.6 || aluminium.minRepairDegradation != 0.06 || aluminium.maxRepairDegradation != 0.1 + || aluminium.explosionDestructibility != 0.6 || aluminium.minRepairKitDegradation != 0.055 || aluminium.maxRepairKitDegradation != 0.09) + { + armor.Aluminium.Destructibility = aluminium.destructibility; + armor.Aluminium.MinRepairDegradation = aluminium.minRepairDegradation; + armor.Aluminium.MaxRepairDegradation = aluminium.maxRepairDegradation; + armor.Aluminium.ExplosionDestructibility = aluminium.explosionDestructibility; + armor.Aluminium.MinRepairKitDegradation = aluminium.minRepairKitDegradation; + armor.Aluminium.MaxRepairKitDegradation = aluminium.maxRepairKitDegradation; + this.logger.info("Aluminium Armor Materials Patched"); + } + + if (steel.destructibility != 0.7 || steel.minRepairDegradation != 0.01 || steel.maxRepairDegradation != 0.03 + || steel.explosionDestructibility != 0.6 || steel.minRepairKitDegradation != 0.005 || steel.maxRepairKitDegradation != 0.025) + { + armor.ArmoredSteel.Destructibility = steel.destructibility; + armor.ArmoredSteel.MinRepairDegradation = steel.minRepairDegradation; + armor.ArmoredSteel.MaxRepairDegradation = steel.maxRepairDegradation; + armor.ArmoredSteel.ExplosionDestructibility = steel.explosionDestructibility; + armor.ArmoredSteel.MinRepairKitDegradation = steel.minRepairKitDegradation; + armor.ArmoredSteel.MaxRepairKitDegradation = steel.maxRepairKitDegradation; + this.logger.info("Steel Armor Materials Patched"); + } + + if (ceramic.destructibility != 0.8 || ceramic.minRepairDegradation != 0.17 || ceramic.maxRepairDegradation != 0.22 + || ceramic.explosionDestructibility != 0.7 || ceramic.minRepairKitDegradation != 0.155 || ceramic.maxRepairKitDegradation != 0.2) + { + armor.Ceramic.Destructibility = ceramic.destructibility; + armor.Ceramic.MinRepairDegradation = ceramic.minRepairDegradation; + armor.Ceramic.MaxRepairDegradation = ceramic.maxRepairDegradation; + armor.Ceramic.ExplosionDestructibility = ceramic.explosionDestructibility; + armor.Ceramic.MinRepairKitDegradation = ceramic.minRepairKitDegradation; + armor.Ceramic.MaxRepairKitDegradation = ceramic.maxRepairKitDegradation; + this.logger.info("Ceramic Armor Materials Patched"); + } + + if (glass.destructibility != 0.8 || glass.minRepairDegradation != 0.23 || glass.maxRepairDegradation != 0.42 + || glass.explosionDestructibility != 0.8 || glass.minRepairKitDegradation != 0.21 || glass.maxRepairKitDegradation != 0.38) + { + armor.Glass.Destructibility = glass.destructibility; + armor.Glass.MinRepairDegradation = glass.minRepairDegradation; + armor.Glass.MaxRepairDegradation = glass.maxRepairDegradation; + armor.Glass.ExplosionDestructibility = glass.explosionDestructibility; + armor.Glass.MinRepairKitDegradation = glass.minRepairKitDegradation; + armor.Glass.MaxRepairKitDegradation = glass.maxRepairKitDegradation; + this.logger.info("Glass Armor Materials Patched"); + } + + + } +} \ No newline at end of file diff --git a/src/bots.ts b/src/bots.ts index 62e15c2..7f86655 100644 --- a/src/bots.ts +++ b/src/bots.ts @@ -1,7 +1,7 @@ import { IBotConfig } from "@spt-aki/models/spt/config/IBotConfig"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; import { Logger } from "./logger"; -import { BotsConfig } from "../config/bots"; +import { BotsConfig } from "../config/ts/bots"; import { WeightedRandomHelper } from "@spt-aki/helpers/WeightedRandomHelper"; export class Bots { diff --git a/src/containers.ts b/src/containers.ts index 6445bd7..5e2455d 100644 --- a/src/containers.ts +++ b/src/containers.ts @@ -1,6 +1,6 @@ import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; import { Logger } from "./logger"; -import { ContainersConfig } from "../config/containers"; +import { ContainersConfig } from "../config/ts/containers"; import { CommonContainers, SecuredContainers } from "@spt-aki/models/enums/ContainerTypes"; export class Containers diff --git a/src/flea.ts b/src/flea.ts index 650df26..8d55c03 100644 --- a/src/flea.ts +++ b/src/flea.ts @@ -1,33 +1,33 @@ import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; import { Logger } from "./logger"; -import { FleaConfig } from "../config/flea"; -import { IGlobals } from "@spt-aki/models/spt/server/IDatabaseTables/IGlobals"; +import { FleaConfig } from "../config/ts/flea"; export class Flea { private modConfig: FleaConfig = require("../config/flea.json"); private logger: Logger; private ragfairConfig: IRagfairConfig; - private globals: IGlobals; + private tables: DatabaseServer; - constructor (logger: Logger, ragfairConfig: IRagfairConfig, globals: IGlobals) + constructor (logger: Logger, ragfairConfig: IRagfairConfig, databaseServer: DatabaseServer) { this.logger = logger; this.ragfairConfig = ragfairConfig; - this.globals = globals; + this.tables = databaseServer; } public updateFlea(): void { const mod = this.modConfig; - const global = this.globals; + const global = this.tables.getTables().globals; const ragfair = this.ragfairConfig.dynamic; if (mod.minUserLevel != 15) { - global.minUserLevel = mod.minUserLevel; + global.config.RagFair.minUserLevel = mod.minUserLevel; this.logger.info(`Fleamarket unlocked at level ${mod.minUserLevel}`) } diff --git a/src/globals.ts b/src/globals.ts index 4ef8ae4..c7bdde5 100644 --- a/src/globals.ts +++ b/src/globals.ts @@ -1,23 +1,23 @@ -import { IGlobals } from "@spt-aki/models/spt/server/IDatabaseTables/IGlobals"; -import { GlobalsConfig } from "../config/globals"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { GlobalsConfig } from "../config/ts/globals"; import { Logger } from "./logger"; export class Globals { private modConfig: GlobalsConfig = require("../config/globals.json"); private logger: Logger; - private globals: IGlobals; + private tables: DatabaseServer; - constructor(logger: Logger, globals: IGlobals) + constructor(logger: Logger, databaseServer: DatabaseServer) { this.logger = logger; - this.globals = globals; + this.tables = databaseServer; } public updateGlobals(): void { const mod = this.modConfig; - const global = this.globals; + const global = this.tables.getTables().globals; if (mod.damagePerMeter != 9 || mod.safeHeight != 3) { @@ -50,7 +50,7 @@ export class Globals private matchEndSettings(): void { - const global1 = this.globals.config.exp.match_end; + const global1 = this.tables.getTables().globals.config.exp.match_end; const mod = this.modConfig.matchEnd; global1.survived_exp_requirement = mod.survivedExpRequirement; @@ -63,8 +63,8 @@ export class Globals global1.survivedMult = mod.survivedMult; global1.runnerMult = mod.runnerMult; global1.killedMult = mod.killedMult; - this.globals.config.exp.kill.headShotMult = mod.headShotMult; - this.globals.config.exp.kill.expOnDamageAllHealth = mod.expOnDamageAllHealth; + this.tables.getTables().globals.config.exp.kill.headShotMult = mod.headShotMult; + this.tables.getTables().globals.config.exp.kill.expOnDamageAllHealth = mod.expOnDamageAllHealth; this.logger.info("Match End Settings Patched"); } } diff --git a/src/hideout.ts b/src/hideout.ts index e8412a6..0a4e265 100644 --- a/src/hideout.ts +++ b/src/hideout.ts @@ -1,6 +1,6 @@ import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; import { Logger } from "./logger"; -import { HideoutConfig } from "../config/hideout"; +import { HideoutConfig } from "../config/ts/hideout"; import { IHideoutConfig } from "@spt-aki/models/spt/config/IHideoutConfig"; export class Hideout diff --git a/src/insurance.ts b/src/insurance.ts index 5d463d2..db88483 100644 --- a/src/insurance.ts +++ b/src/insurance.ts @@ -1,7 +1,7 @@ import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; import { ITrader } from "@spt-aki/models/eft/common/tables/ITrader"; import { IInsuranceConfig } from "@spt-aki/models/spt/config/IInsuranceConfig"; -import { InsuranceConfig } from "../config/insurance"; +import { InsuranceConfig } from "../config/ts/insurance"; import { Logger } from "./logger"; export class Insurance @@ -89,7 +89,7 @@ export class Insurance changePraporStorage(): void { this.traders["54cb50c76803fa8b248b4571"].base.insurance.max_storage_time = this.modConfig.prapor.storageMaxHr; - } + } changePraporPriceCoef(): void { diff --git a/src/items.ts b/src/items.ts index aaa0680..04aa4f0 100644 --- a/src/items.ts +++ b/src/items.ts @@ -1,5 +1,5 @@ import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; -import { ItemsConfig } from "../config/items"; +import { ItemsConfig } from "../config/ts/items"; import { Logger } from "./logger"; export class Items @@ -100,6 +100,20 @@ export class Items this.items["569668774bdc2da2298b4568"]._props.StackMaxSize = this.modConfig.eurosMaxStack; this.logger.info(`Euro Max Stack set to ${this.modConfig.eurosMaxStack}`, true); } + + // Remove ExcludedFilter Restrictions from all items. + if (this.modConfig.removeItemRestrictions) + { + this.removeItemRestrictions(); + this.logger.info("Removed Item Restrictions"); + } + + // Remove the Discard Limit from in raid restrictions. + if (this.modConfig.removeDiscardLimit) + { + this.removeDiscardLimit(); + this.logger.info("Removed Discard Limit"); + } } @@ -124,7 +138,31 @@ export class Items { if (this.items[item]._parent === "5448e53e4bdc2d60728b4567") { - this.items[item]._props.Grids[4]._props.filters[0].ExcludedFilter = []; + for (const i in this.items[item]._props.Grids) + { + const grid = this.items[item]._props.Grids[i]; + grid._props.filters[0].ExcludedFilter = []; + } + } + } + } + + // Removes any values in the ExcludedFilter for all items under _props > _Grids > _props > filters > ExcludedFilter in database/templates/items.json + private removeItemRestrictions(): void + { + for (const item in this.items) + { + for (const i in this.items[item]._props?.Grids) + { + const grid = this.items[item]._props?.Grids[i]; + for (const j in grid._props.filters) + { + const filters = grid._props.filters[j]; + if (filters != [] && filters.ExcludedFilter != []) + { + filters.ExcludedFilter = []; + } + } } } } @@ -172,4 +210,12 @@ export class Items } } } + + private removeDiscardLimit(): void + { + for (const item in this.items) + { + this.items[item]._props.DiscardLimit = 0; + } + } } diff --git a/src/locations.ts b/src/locations.ts index 8dea23f..8ecbd6f 100644 --- a/src/locations.ts +++ b/src/locations.ts @@ -1,5 +1,5 @@ import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; -import { LocationsConfig } from "../config/locations"; +import { LocationsConfig } from "../config/ts/locations"; import { Logger } from "./logger"; export class Locations @@ -45,6 +45,13 @@ export class Locations this.extractionsExtended(); this.logger.info("Extractions Are Extended"); } + + // Remove the access key "5c94bbff86f7747ee735c08f" (Labs access card) from Labs. + if (mod.freeLabsEntry) + { + this.freeLabsEntry(); + this.logger.info("Labs is now Free to enter"); + } } private allExtractsAvailable(): void @@ -176,4 +183,10 @@ export class Locations } } + + private freeLabsEntry(): void + { + const locations = this.tables.getTables().locations.laboratory.base; + locations.AccessKeys = []; + } } \ No newline at end of file diff --git a/src/loot.ts b/src/loot.ts index 21b71e1..9e1e077 100644 --- a/src/loot.ts +++ b/src/loot.ts @@ -1,6 +1,6 @@ import { ILocationConfig } from "@spt-aki/models/spt/config/ILocationConfig"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; -import { LootConfig } from "../config/loot"; +import { LootConfig } from "../config/ts/loot"; import { Logger } from "./logger"; export class Loot diff --git a/src/mod.ts b/src/mod.ts index 7c2edc1..1371353 100644 --- a/src/mod.ts +++ b/src/mod.ts @@ -12,6 +12,7 @@ import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ILocationConfig } from "@spt-aki/models/spt/config/ILocationConfig"; import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig"; import { Ammo } from "./ammo"; +import { Armor } from "./armor"; import { Bots } from "./bots"; import { Flea } from "./flea"; import { Hideout } from "./hideout"; @@ -21,13 +22,12 @@ import { Raid } from "./raid"; import { Globals } from "./globals"; import { Insurance } from "./insurance"; import { Logger } from "./logger"; -import { Config } from "../config/config"; +import { Config } from "../config/ts/config"; import { Weapons } from "./weapons"; import { Containers } from "./containers"; import { Locations } from "./locations"; import { Quests } from "./quests"; -import { Progression } from "./progression"; -import { IGlobals } from "@spt-aki/models/eft/common/IGlobals"; +import { Skills } from "./skills"; import { Prewipe } from "./prewipe"; import { IHideoutConfig } from "@spt-aki/models/spt/config/IHideoutConfig"; //import { Airdrop } from "./airdrop"; @@ -45,7 +45,6 @@ class ValensAIO implements IPostDBLoadMod //private airdropConfig: IAirdropConfig; private inRaidConfig: IInRaidConfig; private weightedRandomHelper : WeightedRandomHelper; - private globals : IGlobals; private hideout: IHideoutConfig public postDBLoad(container: DependencyContainer): void @@ -69,16 +68,19 @@ class ValensAIO implements IPostDBLoadMod const ammo = new Ammo(vLogger, this.databaseServer); ammo.updateAmmo(); + const armor = new Armor(vLogger, this.databaseServer); + armor.updateArmor(); + const bots = new Bots(vLogger, this.databaseServer, this.botConfig, this.weightedRandomHelper); bots.updateBots(); const containers = new Containers(vLogger, this.databaseServer); containers.updateContainers(); - const flea = new Flea(vLogger, this.ragfairConfig, this.globals); + const flea = new Flea(vLogger, this.ragfairConfig, this.databaseServer); flea.updateFlea(); - const globals = new Globals(vLogger, this.globals); + const globals = new Globals(vLogger, this.databaseServer); globals.updateGlobals(); const hideout = new Hideout(vLogger, this.databaseServer, this.hideout); @@ -98,9 +100,6 @@ class ValensAIO implements IPostDBLoadMod const prewipe = new Prewipe(vLogger, this.databaseServer); prewipe.updatePrewipe(); - - const progression = new Progression(vLogger, this.databaseServer, this.botConfig); - progression.updateProgression(); const quests = new Quests(vLogger, this.databaseServer); quests.updateQuests(); @@ -108,6 +107,9 @@ class ValensAIO implements IPostDBLoadMod const raid = new Raid(vLogger, this.databaseServer, this.inRaidConfig); raid.updateRaid(); + const skills = new Skills(vLogger, this.databaseServer); + skills.updateSkills(); + const weapons = new Weapons(vLogger, this.databaseServer); weapons.updateWeapons(); diff --git a/src/prewipe.ts b/src/prewipe.ts index 0be78a5..25ed605 100644 --- a/src/prewipe.ts +++ b/src/prewipe.ts @@ -1,4 +1,4 @@ -import { PrewipeConfig } from "../config/prewipe"; +import { PrewipeConfig } from "../config/ts/prewipe"; import { Money } from "@spt-aki/models/enums/Money" import type { BossLocationSpawn } from "@spt-aki/models/eft/common/ILocationBase"; import { Logger } from "./logger"; diff --git a/src/progression.ts b/src/progression.ts deleted file mode 100644 index 2f077c4..0000000 --- a/src/progression.ts +++ /dev/null @@ -1,291 +0,0 @@ -import { IBotConfig } from "@spt-aki/models/spt/config/IBotConfig"; -import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; -import { Logger } from "./logger"; -import { Config } from "../config/config"; - -export class Progression -{ - private modConfig: Config = require("../config/config.json"); - private logger: Logger; - private botConfig: IBotConfig; - private tables: DatabaseServer; - - constructor(logger: Logger, databaseServer: DatabaseServer, botConfig: IBotConfig) - { - this.logger = logger; - this.botConfig = botConfig; - this.tables = databaseServer.getTables(); - } - - public updateProgression(): void - { - - // modConfig variables - const mod = this.modConfig.progression; - - - // Server side variables - - - if (mod.enabled) - { - this.generateProgression(); - this.logger.info("Progressional Gear Changes Injected"); - } - } - - - // Functions start here - - - private generateProgression() - { - const primaryWeaponArrayLL1 = ["574d967124597745970e7c94", "57d14d2524597714373db789", "57f4c844245977379d5c14d1", "59984ab886f7743e98271174", "5ea03f7400685063ec28bfa8", "5ae08f0a5acfc408fb1398a1", "5bfd297f0db834001a669119", "59d6088586f774275f37482f", "583990e32459771419544dd2", "59e6152586f77473dc057aa1", "5c07c60e0db834002330051f", "5a38e6bac4a2826c6e06d79b", "56dee2bdd2720bc8328b4567", "5447a9cd4bdc2dbd208b4567", "5d2f0d8048f0356c925bc3b0", "5d2f0d8048f0356c925bc3b0", "5fc3e272f8b6a877a729eac5", "58948c8e86f77409493f7266", "5644bd2b4bdc2d3b4c8b4572", "59e6687d86f77411d949b251", "54491c4f4bdc2db1078b4568", "5ba26383d4351e00334c93d9", "587e02ff24597743df3deaeb", "5c501a4d2e221602b412b540", "60db29ce99594040e04c4a27", "5580223e4bdc2d1c128b457f", "61f7c9e189e6fb1a5e3ea78d", "5e870397991fd70db46995c8", "5de652c31b7e3716273428be"]; - const primaryWeaponArrayLL2 = primaryWeaponArrayLL1.concat(...["5839a40f24597726f856b511", "59ff346386f77477562ff5e2", "5ab8e9fcd8ce870019439434", "5bf3e03b0db834001d2c4a9c", "55801eed4bdc2d89578b4588", "5fbcc1d9016cce60e8341ab3", "628b5638ad252a16da6dd245", "5f2a9575926fd9352339381f", "5a7828548dc32e5a9c28b516", "60339954d62c9b14ed777c06", "6184055050224f204c1da540", "623063e994fc3f7b302a9696", "5e00903ae9dc277128008b87", "5ac66cb05acfc40198510a10", "5aafa857e5b5b00018480968", "5cc82d76e24e8d00134b4b83", "5bfea6e90db834001b7347f3", "576165642459773c7a400233", "606dae0ab0e443224b421bb7"]); - const primaryWeaponArrayLL3 = primaryWeaponArrayLL2.concat(...["5ac66d725acfc43b321d4b60", "5a0ec13bfcdbcb00165aa685", "5abcbc27d8ce8700182eceeb", "5ac4cd105acfc40016339859", "5ac66d2e5acfc43b321d4b53", "5ac66d9b5acfc4001633997a", "5beed0f50db834001c062b12", "57838ad32459774a17445cd2", "5c46fbd72e2216398b5a8c9c", "5e848cc2988a8701445df1e8", "5d43021ca4b9362eab4b5e25", "588892092459774ac91d4b11", "5c488a752e221602b412af63", "5b0bbe4e5acfc40dc528a72d", "618428466ef05c2ce828f218", "5a367e5dc4a282000e49738f", "5df8ce05b11454561e39243b", "6176aca650224f204c1da3fb", "628a60ae6b1d481ff772e9c8", "6183afd850224f204c1da514", "6165ac306ef05c2ce828ef74", "6259b864ebedf17603599e88"]); - - const holsterArrayLL1 = ["5448bd6b4bdc2dfc2f8b4569", "571a12c42459771f627b58a0", "576a581d2459771e7b1bc4f1", "5a17f98cfcdbcb0980087290", "5e81c3cbac2bb513793cdc75", "5cadc190ae921500103bb3b6", "56d59856d2720bd8418b456a", "5a7ae0c351dfba0017554310"]; - const holsterArrayLL2 = holsterArrayLL1.concat(...["61a4c8884f95bc3b2c5dc96f", "56e0598dd2720bb5668b45a6", "59f98b4986f7746f546d2cef", "602a9740da11d6478d5a06dc", "6193a720f8ee7e52e42109ed"]); - const holsterArrayLL3 = holsterArrayLL2.concat(...["5abccb7dd8ce87001773e277", "5d3eb3b0a4b93615055e84d2", "5b1fa9b25acfc40018633c01"]); - - - const backpackArrayLL1 = ["5ab8ee7786f7742d8f33f0b9", "544a5cde4bdc2d39388b456b", "5e9dcf5986f7746c417435b3", "5ab8f04f86f774585f4237d8", "5ca20d5986f774331e7c9602"]; - const backpackArrayLL2 = backpackArrayLL1.concat(...["545cdae64bdc2d39198b4568", "60a2828e8689911a226117f9", "618bb76513f5097c8d5aa2d5", "5f5e467b0bc58666c37e7821", "5ab8ebf186f7742d8b372e80"]); - const backpackArrayLL3 = backpackArrayLL2.concat(...["5f5e46b96bdad616ad46d613", "5d5d940f86f7742797262046", "60a272cc93ef783291411d8e", "6034d103ca006d2dca39b3f0", "619cf0335771dd3c390269ae", "628e1ffc83ec92260c0f437f"]); - - - const tacticalVestArrayLL1 = ["5929a2a086f7744f4b234d43", "5e4abc1f86f774069619fbaa", "6034d0230ca681766b6a0fb5", "6034cf5fffd42c541047f72e", "572b7adb24597762ae139821", "5c0e3eb886f7742015526062"]; - const tacticalVestArrayLL2 = tacticalVestArrayLL1.concat(...["5d5d8ca986f7742798716522", "544a5caa4bdc2d1a388b4568", "5c0e446786f7742013381639", "592c2d1a86f7746dbe2af32a", "5d5d85c586f774279a21cbdb", "59e7643b86f7742cbf2c109", "5b44c8ea86f7742d1627baf1", "5ca20abf86f77418567a43f2", "5d5d646386f7742797261fd9", "5fd4c60f875c30179f5d04c2", "60a6220e953894617404b00a", "61bc85697113f767765c7fe7", "603648ff5a45383c122086ac", "5e4abfed86f77406a2713cf7"]); - const tacticalVestArrayLL3 = tacticalVestArrayLL2.concat(...["60a3c70cde5f453f634816a3", "5648a69d4bdc2ded0b8b457b", "5ab8dced86f774646209ec87", "5ab8dab586f77441cd04f2a2", "60a621c49c197e4e8c4455e6", "5b44cad286f77402a54ae7e5", "5c0e6a1586f77404597b4965", "5c0e722886f7740458316a57", "5c0e746986f7741453628fe5", "5d5d87f786f77427997cfaef", "5df8a42886f77412640e2e75", "628d0618d1ba6e4fa07ce5a4", "61bcc89aef0f505f0c6cd0fc", "628dc750b910320f4c27a732", "628cd624459354321c4b7fa2"]); - - - const earpieceArrayLL1 = ["5b432b965acfc47a8774094e", "6033fa48ffd42c541047f728"]; - const earpieceArrayLL2 = earpieceArrayLL1.concat(...["5645bcc04bdc2d363b8b4572", "5aa2ba71e5b5b000137b758f"]); - const earpieceArrayLL3 = earpieceArrayLL2.concat(...["5a16b9fffcdbcb0176308b34"]); - - - const headwearArrayLL1 = ["5a7c4850e899ef00150be885", "5aa7d193e5b5b000171d063f", "5c06c6a80db834001b735491", "59e7711e86f7746cae05fbe1", "5ac4c50d5acfc40019262e87", "5645bc214bdc2d363b8b4571", "5aa2a7e8e5b5b00016327c16", "5b40e61f5acfc4001a599bec", "5aa2b87de5b5b00016327c25", "5b40e5e25acfc4001a599bea"]; - const headwearArrayLL2 = headwearArrayLL1.concat(...["5aa7d03ae5b5b00016327db5", "5d5e7d28a4b936645d161203", "5aa7e454e5b5b0214e506fa2", "5aa7e3abe5b5b000171d064d", "5b40e4035acfc47a87740943", "5b432d215acfc4771e1c6624", "5f60e784f2bcbb675b00dac7", "5aa2ba19e5b5b00014028f4e", "5b43271c5acfc432ff4dce65", "60b52e5bc7d8103275739d67", "5a16b672fcdbcb001912fa83"]); - const headwearArrayLL3 = headwearArrayLL2.concat(...["5ac8d6885acfc400180ae7b0", "5a154d5cfcdbcb001a3b00da", "5e00c1ad86f774747333222c", "5b40e3f35acfc40016388218", "5b4329f05acfc47a86086aa1", "5d6d3716a4b9361bc8618872", "5aa2b9ede5b5b000137b758b", "5c091a4e0db834001d5addc8", "5f60e7788adaa7100c3adb49", "5f60e6403b85f6263c14558c", "5aa7e373e5b5b000137b76f0"]); - - - const armorVestArrayLL1 = ["5df8a2ca86f7740bfe6df777", "5ab8e4ed86f7742d8e50c7fa", "5648a7494bdc2d9d488b4583", "5c0e5bab86f77461f55ed1f3", "5c0e5edb86f77461f55ed1f7", "62a09d79de7ac81993580530"]; - const armorVestArrayLL2 = armorVestArrayLL1.concat(...["5b44d22286f774172b0c9de8", "5c0e51be86f774598e797894"]) - const armorVestArrayLL3 = armorVestArrayLL2.concat(...["5f5f41476bdad616ad46d631", "545cdb794bdc2d3a198b456a", "5ab8e79e86f7742d8b372e78", "5b44d0de86f774503d30cba8", "5c0e53c886f7747fa54205c7", "5c0e57ba86f7747fa141986d", "5ca2151486f774244a3b8d30", "609e8540d5c319764c2bc2e9"]); - - const eyewearArrayLL1 = ["5aa2b986e5b5b00014028f4c", "557ff21e4bdc2d89578b4586", "5b432be65acfc433000ed01f"]; - const eyewearArrayLL2 = eyewearArrayLL1.concat(...["5d5fca1ea4b93635fd598c07"]); - const eyewearArrayLL3 = eyewearArrayLL2.concat(...["603409c80ca681766b6a0fb2", "5c0d32fcd174af02a1659c75", "5d6d2e22a4b9361bd5780d05"]); - - const armBandArrayLL1 = ["5b3f16c486f7747c327f55f7", "5b3f3ade86f7746b6b790d8e", "5b3f3af486f774679e752c1f", "5b3f3b0186f774021a2afef7", "5b3f3b0e86f7746752107cda"]; - const armBandArrayLL2 = armBandArrayLL1; - const armBandArrayLL3 = armBandArrayLL2.concat(...["619bdf9cc9546643a67df6f8", "619bc61e86e01e16f839a999", "619bdfd4c9546643a67df6fa", "619bdd8886e01e16f839a99c", "60b0f988c4449e4cb624c1da", "5f9949d869e2777a0e779ba5"]); - - const faceCoverArrayLL1 = ["572b7f1624597762ae139822"]; - const faceCoverArrayLL2 = faceCoverArrayLL1.concat(...["5ab8f39486f7745cd93a1cca", "5b4325355acfc40019478126"]); - const faceCoverArrayLL3 = faceCoverArrayLL2.concat(...["5ab8f85d86f7745cd93a1cf5", "5b432f3d5acfc4704b4a1dfb"]); - - const ammo127x55ArrayLL3 = ["5cadf6e5ae921500113bb973", "5cadf6eeae921500134b2799"]; - - const ammo762x54ArrayLL1 = ["5887431f2459777e1612938f"]; - const ammo762x54ArrayLL2 = ammo762x54ArrayLL1.concat(...["5e023cf8186a883be655e54f"]); - const ammo762x54ArrayLL3 = ammo762x54ArrayLL2.concat(...["59e77a2386f7742ee578960a", "560d61e84bdc2da74d8b4571"]); - - const ammo762x51ArrayLL1 = ["5e023e6e34d52a55c3304f71"]; - const ammo762x51ArrayLL2 = ammo762x51ArrayLL1.concat(...["5e023e53d4353e3302577c4c"]); - const ammo762x51ArrayLL3 = ammo762x51ArrayLL2.concat(...["58dd3ad986f77403051cba8f", "5a608bf24f39f98ffc77720e", "5a6086ea4f39f99cd479502f"]); - - const ammo762x39ArrayLL1 = ["5656d7c34bdc2d9d198b4587", "59e4d3d286f774176a36250a"]; - const ammo762x39ArrayLL2 = ammo762x39ArrayLL1.concat(...["59e4cf5286f7741778269d8a"]); - const ammo762x39ArrayLL3 = ammo762x39ArrayLL2.concat(...["59e4d24686f7741776641ac7", "59e0d99486f7744a32234762"]); - - const ammo762x35ArrayLL2 = ["5fbe3ffdf8b6a877a729ea82"]; - const ammo762x35ArrayLL3 = ammo762x35ArrayLL2.concat(...["6196365d58ef8c428c287da1", "619636be6db0f2477964e710"]); - - const ammo762x25TTArrayLL1 = ["5735fdcd2459776445391d61", "5735ff5c245977640e39ba7e", "573601b42459776410737435", "573602322459776445391df1"]; - const ammo762x25TTArrayLL2 = ammo762x25TTArrayLL1.concat(...["5736026a245977644601dc61", "573603c924597764442bd9cb"]); - const ammo762x25TTArrayLL3 = ammo762x25TTArrayLL2.concat(...["573603562459776430731618"]); - - const ammo366TKMArrayLL1 = ["59e6542b86f77411dc52a77a", "59e655cb86f77411dc52a77b"]; - const ammo366TKMArrayLL2 = ammo366TKMArrayLL1.concat(...["59e6658b86f77411d949b250"]); - const ammo366TKMArrayLL3 = ammo366TKMArrayLL2.concat(...["5f0596629e22f464da6bbdd9"]); - - const ammo556x45ArrayLL1 = ["59e6920f86f77411d82aa167", "54527a984bdc2d4e668b4567", "59e68f6f86f7746c9f75e846", "59e6927d86f77411da468256"]; - const ammo556x45ArrayLL2 = ammo556x45ArrayLL1.concat(...["59e6918f86f7746c9f75e849", "59e6906286f7746c9f75e847"]); - const ammo556x45ArrayLL3 = ammo556x45ArrayLL2.concat(...["60194943740c5d77f6705eea", "59e690b686f7746c9f75e848", "5c0d5ae286f7741e46554302"]); - - const ammo545x39ArrayLL1 = ["56dff338d2720bbd668b4569", "56dff4a2d2720bbd668b456a", "56dff3afd2720bba668b4567"]; - const ammo545x39ArrayLL2 = ammo545x39ArrayLL1.concat(...["56dff2ced2720bb4668b4567", "56dff4ecd2720b5f5a8b4568", "56dff421d2720b5f5a8b4567"]); - const ammo545x39ArrayLL3 = ammo545x39ArrayLL2.concat(...["56dfef82d2720bbd668b4567", "56dff061d2720bb5668b4567", "56dff026d2720bb8668b4567", "5c0d5e4486f77478390952fe"]); - - const ammo57x28ArrayLL2 = ["5cc80f8fe4a949033b0224a2"]; - const ammo57x28ArrayLL3 = ammo57x28ArrayLL2.concat(...["5cc80f38e4a949001152b560", "5cc80f53e4a949000e1ea4f8", "5cc80f67e4a949035e43bbba", "5cc80f79e4a949033c7343b2", "5cc86840d7f00c002412c56c"]); - - const ammo46x30ArrayLL1 = ["5ba26812d4351e003201fef1"]; - const ammo46x30ArrayLL2 = ammo46x30ArrayLL1; - const ammo46x30ArrayLL3 = ammo46x30ArrayLL2.concat(...["5ba2678ad4351e44f824b344", "5ba26844d4351e00334c9475"]); - - const ammo9x18ArrayLL1 = ["573719762459775a626ccbc1", "57371e4124597760ff7b25f1", "57371eb62459776125652ac1", "57371f2b24597761224311f1", "5737201124597760fc4431f1", "5737207f24597760ff7b25f2"]; - const ammo9x18ArrayLL2 = ammo9x18ArrayLL1.concat(...["57371b192459775a9f58a5e0"]); - const ammo9x18ArrayLL3 = ammo9x18ArrayLL2.concat(...["573718ba2459775a75491131", "573719df2459775a626ccbc2", "57371aab2459775a77142f22", "573720e02459776143012541", "57372140245977611f70ee91", "5737218f245977612125ba51"]); - - const ammo9x19ArrayLL1 = ["58864a4f2459770fcc257101", "5c3df7d588a4501f290594e5"]; - const ammo9x19ArrayLL2 = ammo9x19ArrayLL1.concat(...["56d59d3ad2720bdb418b4577"]); - const ammo9x19ArrayLL3 = ammo9x19ArrayLL2.concat(...["5c925fa22e221601da359b7b", "5efb0e16aeb21837e749c7ff", "5efb0da7a29a85116f6ea05f"]); - - const ammo9x21ArrayLL2 = ["5a26abfac4a28232980eabff"]; - const ammo9x21ArrayLL3 = ammo9x21ArrayLL2.concat(...["5a269f97c4a282000b151807", "5a26ac06c4a282000c5a90a8"]); - - const ammo9x39ArrayLL2 = ["57a0dfb82459774d3078b56c"]; - const ammo9x39ArrayLL3 = ammo9x39ArrayLL2.concat(...["57a0e5022459774d1673f889", "5c0d688c86f77413ae3407b2", "5c0d668f86f7747ccb7f13b2"]); - - const ammo9x33RArrayLL2 = ["62330b3ed4dc74626d570b95", "62330bfadc5883093563729b", "62330c40bdd19b369e1e53d1"]; - const ammo9x33RArrayLL3 = ammo9x33RArrayLL2.concat(...["62330c18744e5e31df12f516"]); - - const ammo1143x23ACPArrayLL1 = ["5e81f423763d9f754677bf2e"]; - const ammo1143x23ACPArrayLL2 = ammo1143x23ACPArrayLL1.concat(...["5efb0d4f4bc50b58e81710f3"]); - const ammo1143x23ACPArrayLL3 = ammo1143x23ACPArrayLL2.concat(...["5efb0cabfb3e451d70735af5", "5efb0fc6aeb21837e749c801"]); - - const ammo12x70ArrayLL1 = ["560d5e524bdc2d25448b4571", "5d6e6772a4b936088465b17c", "5d6e67fba4b9361bc73bc779", "58820d1224597753c90aeb13", "5d6e6869a4b9361c140bcfde", "5d6e6891a4b9361bd473feea", ]; - const ammo12x70ArrayLL2 = ammo12x70ArrayLL1.concat(...["5d6e6806a4b936088465b17e", "5d6e689ca4b9361bc8618956", "5d6e68e6a4b9361c140bcfe0"]); - const ammo12x70ArrayLL3 = ammo12x70ArrayLL2.concat(...["5d6e68b3a4b9361bca7e50b5", "5d6e68dea4b9361bcc29e659", "5d6e68a8a4b9360b6c0d54e2", "5d6e6911a4b9361bd5780d52", "5d6e68c4a4b9361b93413f79", "5c0d591486f7744c505b416f"]); - - const ammo20x70ArrayLL1 = ["5a38ebd9c4a282000d722a5b", "5d6e695fa4b936359b35d852", "5d6e6a42a4b9364f07165f52", "5d6e6a53a4b9361bd473feec"]; - const ammo20x70ArrayLL2 = ammo20x70ArrayLL1.concat(...["5d6e69b9a4b9361bc8618958", "5d6e69c7a4b9360b6c0d54e4"]); - const ammo20x70ArrayLL3 = ammo20x70ArrayLL2.concat(...["5d6e6a05a4b93618084f58d0", "5d6e6a5fa4b93614ec501745"]); - - const ammo23x75ArrayLL3 = ["5e85a9a6eacf8c039e4e2ac1", "5f647f31b6238e5dd066e196"]; - - - const progressionWhitelistLL1: IBotConfig.Equipment.whitelist.EquipmentFilterDetails = - { - "levelRange": - { - "min": 1, - "max": 15 - }, - "equipment": - { - "FirstPrimaryWeapon": [...primaryWeaponArrayLL1], - "Holster": [...holsterArrayLL1], - "Backpack": [...backpackArrayLL1], - "TacticalVest": [...tacticalVestArrayLL1], - "Earpiece": [...earpieceArrayLL1], - "Headwear": [...headwearArrayLL1], - "ArmorVest": [...armorVestArrayLL1], - "Eyewear": [...eyewearArrayLL1], - "ArmBand": [...armBandArrayLL1], - "FaceCover": [...faceCoverArrayLL1] - }, - "cartridge": - { - "Caliber762x54R": [...ammo762x54ArrayLL1], - "Caliber762x51": [...ammo762x51ArrayLL1], - "Caliber762x39": [...ammo762x39ArrayLL1], - "Caliber762x25TT": [...ammo762x25TTArrayLL1], - "Caliber366TKM": [...ammo366TKMArrayLL1], - "Caliber556x45NATO": [...ammo556x45ArrayLL1], - "Caliber545x39": [...ammo545x39ArrayLL1], - "Caliber46x30": [...ammo46x30ArrayLL1], - "Caliber1143x23ACP": [...ammo1143x23ACPArrayLL1], - "Caliber9x19PARA": [...ammo9x19ArrayLL1], - "Caliber9x18PM": [...ammo9x18ArrayLL1], - "Caliber12g": [...ammo12x70ArrayLL1], - "Caliber20g": [...ammo20x70ArrayLL1] - } - } - - const progressionWhitelistLL2: IBotConfig.Equipment.whitelist.EquipmentFilterDetails = - { - "levelRange": - { - "min": 16, - "max": 25 - }, - "equipment": - { - "FirstPrimaryWeapon": [...primaryWeaponArrayLL2], - "Holster": [...holsterArrayLL2], - "Backpack": [...backpackArrayLL2], - "TacticalVest": [...tacticalVestArrayLL2], - "Earpiece": [...earpieceArrayLL2], - "Headwear": [...headwearArrayLL2], - "ArmorVest": [...armorVestArrayLL2], - "Eyewear": [...eyewearArrayLL2], - "ArmBand": [...armBandArrayLL2], - "FaceCover": [...faceCoverArrayLL2] - }, - "cartridge": - { - "Caliber762x54R": [...ammo762x54ArrayLL2], - "Caliber762x51": [...ammo762x51ArrayLL2], - "Caliber762x39": [...ammo762x39ArrayLL2], - "Caliber762x35": [...ammo762x35ArrayLL2], - "Caliber762x25TT": [...ammo762x25TTArrayLL2], - "Caliber366TKM": [...ammo366TKMArrayLL2], - "Caliber556x45NATO": [...ammo556x45ArrayLL2], - "Caliber545x39": [...ammo545x39ArrayLL2], - "Caliber57x28": [...ammo57x28ArrayLL2], - "Caliber46x30": [...ammo46x30ArrayLL2], - "Caliber1143x23ACP": [...ammo1143x23ACPArrayLL2], - "Caliber9x39": [...ammo9x39ArrayLL2], - "Caliber9x33R": [...ammo9x33RArrayLL2], - "Caliber9x21": [...ammo9x21ArrayLL2], - "Caliber9x19PARA": [...ammo9x19ArrayLL2], - "Caliber9x18PM": [...ammo9x18ArrayLL2], - "Caliber12g": [...ammo12x70ArrayLL2], - "Caliber20g": [...ammo20x70ArrayLL2] - } - } - - - const progressionWhitelistLL3: IBotConfig.Equipment.whitelist.EquipmentFilterDetails = - { - "levelRange": - { - "min": 26, - "max": 36 - }, - "equipment": - { - "FirstPrimaryWeapon": [...primaryWeaponArrayLL3], - "Holster": [...holsterArrayLL3], - "Backpack": [...backpackArrayLL3], - "TacticalVest": [...tacticalVestArrayLL3], - "Earpiece": [...earpieceArrayLL3], - "Headwear": [...headwearArrayLL3], - "ArmorVest": [...armorVestArrayLL3], - "Eyewear": [...eyewearArrayLL3], - "ArmBand": [...armBandArrayLL3], - "FaceCover": [...faceCoverArrayLL3] - }, - "cartridge": - { - "Caliber127x55": [...ammo127x55ArrayLL3], - "Caliber762x54R": [...ammo762x54ArrayLL3], - "Caliber762x51": [...ammo762x51ArrayLL3], - "Caliber762x39": [...ammo762x39ArrayLL3], - "Caliber762x35": [...ammo762x35ArrayLL3], - "Caliber762x25TT": [...ammo762x25TTArrayLL3], - "Caliber366TKM": [...ammo366TKMArrayLL3], - "Caliber556x45NATO": [...ammo556x45ArrayLL3], - "Caliber545x39": [...ammo545x39ArrayLL3], - "Caliber57x28": [...ammo57x28ArrayLL3], - "Caliber46x30": [...ammo46x30ArrayLL3], - "Caliber1143x23ACP": [...ammo1143x23ACPArrayLL3], - "Caliber9x39": [...ammo9x39ArrayLL3], - "Caliber9x33R": [...ammo9x33RArrayLL3], - "Caliber9x21": [...ammo9x21ArrayLL3], - "Caliber9x19PARA": [...ammo9x19ArrayLL3], - "Caliber9x18PM": [...ammo9x18ArrayLL3], - "Caliber12g": [...ammo12x70ArrayLL3], - "Caliber20g": [...ammo20x70ArrayLL3], - "Caliber23x75": [...ammo23x75ArrayLL3] - } - } - - this.botConfig.equipment.pmc.whitelist.push(progressionWhitelistLL1); - this.botConfig.equipment.pmc.whitelist.push(progressionWhitelistLL2); - this.botConfig.equipment.pmc.whitelist.push(progressionWhitelistLL3); - } -} \ No newline at end of file diff --git a/src/quests.ts b/src/quests.ts index 057ee6b..3bb6694 100644 --- a/src/quests.ts +++ b/src/quests.ts @@ -1,22 +1,22 @@ import { Logger } from "./logger"; -import { Config } from "../config/config"; +import { QuestsConfig } from "../config/ts/quests"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; export class Quests { - private modConfig: Config = require("../config/config.json"); + private modConfig: QuestsConfig = require("../config/quests.json"); private logger: Logger; private tables: DatabaseServer; constructor(logger: Logger, databaseServer: DatabaseServer) { this.logger = logger; - this.tables = databaseServer.getTables(); + this.tables = databaseServer; } public updateQuests(): void { - if (!this.modConfig.quests.onlyFoundInRaid) + if (!this.modConfig.onlyFoundInRaid) { this.onlyFoundInRaid(); this.logger.info("Quest Items No Longer Need Be Found In Raid"); @@ -26,12 +26,12 @@ export class Quests // Updates the weight modifier (as a multiplier) for all items in database/templates/items.json private onlyFoundInRaid(): void { - const quests = this.tables.templates.quests; + const quests = this.tables.getTables().templates.quests; for (const questid in quests) { const questsAvailableForFinishConditions = quests[questid].conditions.AvailableForFinish; - const findItemConditions = questsAvailableForFinishConditions.find(x=>x.parent === "FindItem"); + const findItemConditions = questsAvailableForFinishConditions.find(x=>x._parent === "FindItem"); if (!findItemConditions) { @@ -44,5 +44,4 @@ export class Quests } } } - } diff --git a/src/raid.ts b/src/raid.ts index 368e05d..0d8abe0 100644 --- a/src/raid.ts +++ b/src/raid.ts @@ -1,11 +1,11 @@ import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; import { Logger } from "./logger"; -import { Config } from "../config/config"; +import { RaidConfig } from "../config/ts/raid"; export class Raid { - private modConfig: Config = require("../config/config.json") + private modConfig: RaidConfig = require("../config/raid.json") private logger: Logger; private tables: DatabaseServer; private inRaidConfig: IInRaidConfig; @@ -13,13 +13,13 @@ export class Raid constructor(logger:Logger, databaseServer: DatabaseServer, inRaidConfig: IInRaidConfig) { this.logger = logger; - this.tables = databaseServer.getTables(); + this.tables = databaseServer; this.inRaidConfig = inRaidConfig; } public updateRaid(): void { - const mod = this.modConfig.raid; + const mod = this.modConfig; if (mod.fixOpenZones) { @@ -35,13 +35,13 @@ export class Raid if (mod.timeLimit) { - const maps = this.tables.locations; + const maps = this.tables.getTables().locations; for (const map in maps) { - if (this.tables.locations[map].base?.EscapeTimeLimit) + if (this.tables.getTables().locations[map].base?.EscapeTimeLimit) { - this.tables.locations[map].base.EscapeTimeLimit = this.modConfig.raid.timeLimit; + this.tables.getTables().locations[map].base.EscapeTimeLimit = this.modConfig.timeLimit; } } this.logger.info(`Raid Time Limits set to ${mod.timeLimit} minutes.`); @@ -93,14 +93,14 @@ export class Raid for (const location in zones) { - this.tables.locations[location].base.OpenZones = zones[location]; + this.tables.getTables().locations[location].base.OpenZones = zones[location]; } } private chompiesBossFix(): void { - const labsBosses = this.tables.locations.laboratory.base.BossLocationSpawn; - const reserveBosses = this.tables.locations.rezervbase.base.BossLocationSpawn; + const labsBosses = this.tables.getTables().locations.laboratory.base.BossLocationSpawn; + const reserveBosses = this.tables.getTables().locations.rezervbase.base.BossLocationSpawn; const spawn1 = labsBosses.find(x => x.TriggerId === "autoId_00008_EXFIL"); if (spawn1) { diff --git a/src/skills.ts b/src/skills.ts new file mode 100644 index 0000000..c6e85bc --- /dev/null +++ b/src/skills.ts @@ -0,0 +1,76 @@ +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { SkillsConfig } from "../config/ts/skills"; +import { Logger } from "./logger"; + +export class Skills +{ + private modConfig: SkillsConfig = require("../config/skills.json"); + private logger: Logger; + private tables: DatabaseServer; + + constructor(logger: Logger, databaseServer: DatabaseServer) + { + this.logger = logger; + this.tables = databaseServer; + } + + public updateSkills(): void + { + const skills = this.tables.getTables().globals.config; + const mod = this.modConfig; + + if (mod.weaponSkillProgressRate != 1) + { + skills.SkillsSettings.WeaponSkillProgressRate = mod.weaponSkillProgressRate; + this.logger.info(`Weapon Skill Progress Rate changed to ${mod.weaponSkillProgressRate}`) + } + + if (mod.skillProgressRate != 0.4) + { + skills.SkillsSettings.SkillProgressRate = mod.skillProgressRate; + this.logger.info(`Skill Progress Rate changed to ${mod.skillProgressRate}`) + } + + if (mod.skillEnduranceWeightThreshold != 0.65) + { + skills.SkillEnduranceWeightThreshold = mod.skillEnduranceWeightThreshold; + this.logger.info(`Skill Endurance Weight Threshold changed to ${mod.skillEnduranceWeightThreshold}`) + } + + if (mod.skillMinEffectiveness != 0.0001) + { + skills.SkillMinEffectiveness = mod.skillMinEffectiveness; + this.logger.info(`Skill Min Effectiveness changed to ${mod.skillMinEffectiveness}`) + } + + if (mod.skillFatiguePerPoint != 0.6) + { + skills.SkillFatiguePerPoint = mod.skillFatiguePerPoint; + this.logger.info(`Skill Fatigue Per Point changed to ${mod.skillFatiguePerPoint}`); + } + + if (mod.skillFreshEffectiveness != 1.3) + { + skills.SkillFreshEffectiveness = mod.skillFreshEffectiveness; + this.logger.info(`Skill Fresh Effectiveness changed to ${mod.skillFreshEffectiveness}`); + } + + if (mod.skillFreshPoints != 1) + { + skills.SkillFreshPoints = mod.skillFreshPoints; + this.logger.info(`Skill Fresh Points changed to ${mod.skillFreshPoints}`); + } + + if (mod.skillPointsBeforeFatigue != 1) + { + skills.SkillPointsBeforeFatigue = mod.skillPointsBeforeFatigue; + this.logger.info(`Skill Points Before Fatigue changed to ${mod.skillPointsBeforeFatigue}`); + } + + if (mod.skillFatiguePerPoint != 200) + { + skills.SkillFatigueReset = mod.skillFatigueReset; + this.logger.info(`Skill Fatigue Reset changed to ${mod.skillFatigueReset}`); + } + } +} diff --git a/src/weapons.ts b/src/weapons.ts index 90532d4..114a527 100644 --- a/src/weapons.ts +++ b/src/weapons.ts @@ -1,67 +1,85 @@ import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; -import { Config } from "../config/config"; +import { WeaponsConfig } from "../config/ts/weapons"; import { Logger } from "./logger"; export class Weapons { - private modConfig: Config = require("../config/config.json") + private modConfig: WeaponsConfig = require("../config/weapons.json") private logger: Logger; private tables: DatabaseServer; - private mod: any; private weapons: any; constructor(logger:Logger, databaseServer: DatabaseServer) { this.logger = logger; - this.tables = databaseServer.getTables(); + this.tables = databaseServer; } public updateWeapons(): void { - this.mod = this.modConfig.weapons; + const mod = this.modConfig; + this.weapons = this.tables.getTables().templates.items; - if (this.mod.overheat || this.mod.jam || this.mod.slide || this.mod.misfeed || this.mod.misfire) + if (mod.malfunctions.overheat || mod.malfunctions.jam || mod.malfunctions.slide || mod.malfunctions.misfeed || mod.malfunctions.misfire) { this.weaponMalfunctions(); - this.logger.info("Weapon Malfunctions Patched", true); + this.logger.info("Weapon Malfunctions Patched"); + } + + if (mod.smgInHolsters) + { + this.smgInHolsters(); + this.logger.info("SMGs may now be placed in holsters"); } } private weaponMalfunctions(): void { - const items = this.tables.templates.items; + const items = this.tables.getTables().templates.items; for (const id in items) { - const base = items[id]; + const base = items[id]; + const malfunctions = this.modConfig.malfunctions; //Weapons malfunctions - if (this.mod.jam && base._props.AllowJam) + if (malfunctions.jam && base._props.AllowJam) { base._props.AllowJam = false; } - if (this.mod.misfire && base._props.AllowMisfire) + if (malfunctions.misfire && base._props.AllowMisfire) { base._props.AllowMisfire = false; } - if (this.mod.feed && base._props.AllowFeed) + if (malfunctions.misfeed && base._props.AllowFeed) { base._props.AllowFeed = false; } - if (this.mod.overheat && base._props.AllowOverheat) + if (malfunctions.overheat && base._props.AllowOverheat) { base._props.AllowOverheat = false; } - if (this.mod.slide && base._props.AllowSlide) + if (malfunctions.slide && base._props.AllowSlide) { base._props.AllowSlide = false; } } } + + private smgInHolsters(): void + { + for (const weaponId in this.weapons) + { + if (this.weapons[weaponId]._id === "55d7217a4bdc2d86028b456d") + { + this.weapons[weaponId]._props.Slots[2]._props.filters[0].Filter.push("5447b5e04bdc2d62278b4567") + } + } + } }