From d3d1ef149efd34edc586d0b3d8a4e3d346dcc76f Mon Sep 17 00:00:00 2001
From: VforValens <jtdurant88@gmail.com>
Date: Wed, 3 Aug 2022 21:57:37 -0400
Subject: [PATCH] Added new features for v1.1.0

---
 Valens-AIO/Valens-AIO ReadMe.pdf | Bin 1684632 -> 1710847 bytes
 Valens-AIO/config/config.json    | 154 +++++++---
 Valens-AIO/package.json          |   2 +-
 Valens-AIO/src/airdrop.ts        |  24 +-
 Valens-AIO/src/ammo.ts           |  67 +++++
 Valens-AIO/src/ammotypes.ts      | 188 ++++++++++++
 Valens-AIO/src/bots.ts           | 475 +++++++++++++++++++++++--------
 Valens-AIO/src/flea.ts           | 119 +++-----
 Valens-AIO/src/globals.ts        |  75 +++--
 Valens-AIO/src/hideout.ts        |  52 ++--
 Valens-AIO/src/insurance.ts      |  42 ++-
 Valens-AIO/src/items.ts          | 226 +++++----------
 Valens-AIO/src/locations.ts      | 154 ++++++++++
 Valens-AIO/src/logger.ts         |  20 ++
 Valens-AIO/src/loot.ts           |  64 ++---
 Valens-AIO/src/mod.ts            |  26 +-
 Valens-AIO/src/raid.ts           | 104 +++----
 Valens-AIO/tmp/airdrop.js        |  45 +++
 Valens-AIO/tmp/ammo.js           | 259 +++++++++++++++++
 Valens-AIO/tmp/bots.js           | 101 +++++++
 Valens-AIO/tmp/flea.js           |  56 ++++
 Valens-AIO/tmp/globals.js        |  50 ++++
 Valens-AIO/tmp/hideout.js        |  56 ++++
 Valens-AIO/tmp/insurance.js      |  27 ++
 Valens-AIO/tmp/items.js          | 102 +++++++
 Valens-AIO/tmp/locations.js      |  32 +++
 Valens-AIO/tmp/loot.js           |  99 +++++++
 Valens-AIO/tmp/mod.js            |  51 ++++
 Valens-AIO/tmp/raid.js           |  90 ++++++
 29 files changed, 2148 insertions(+), 612 deletions(-)
 create mode 100644 Valens-AIO/src/ammo.ts
 create mode 100644 Valens-AIO/src/ammotypes.ts
 create mode 100644 Valens-AIO/src/locations.ts
 create mode 100644 Valens-AIO/src/logger.ts
 create mode 100644 Valens-AIO/tmp/airdrop.js
 create mode 100644 Valens-AIO/tmp/ammo.js
 create mode 100644 Valens-AIO/tmp/bots.js
 create mode 100644 Valens-AIO/tmp/flea.js
 create mode 100644 Valens-AIO/tmp/globals.js
 create mode 100644 Valens-AIO/tmp/hideout.js
 create mode 100644 Valens-AIO/tmp/insurance.js
 create mode 100644 Valens-AIO/tmp/items.js
 create mode 100644 Valens-AIO/tmp/locations.js
 create mode 100644 Valens-AIO/tmp/loot.js
 create mode 100644 Valens-AIO/tmp/mod.js
 create mode 100644 Valens-AIO/tmp/raid.js

diff --git a/Valens-AIO/Valens-AIO ReadMe.pdf b/Valens-AIO/Valens-AIO ReadMe.pdf
index 4c38f83ca216dfce27bb42c4b57210d96b6207ee..db6c9e4a128c7af54fa3b56a7f272835f764ecf0 100644
GIT binary patch
delta 54555
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

delta 31610
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
F{{w45<!1l@

diff --git a/Valens-AIO/config/config.json b/Valens-AIO/config/config.json
index 2de5734..6f2e9e8 100644
--- a/Valens-AIO/config/config.json
+++ b/Valens-AIO/config/config.json
@@ -1,39 +1,73 @@
 {
+	"DebugMode": false,
+
+	"ammo":
+	{
+		"ammoStacks":
+		{
+			"grenadeCartridges": 1,
+			"marksmanCartridges": 40,
+			"pistolCartridges": 50,
+			"rifleCartridges": 60,
+			"shotgunCartridges": 20
+		}
+	},
+
 	"bots":
 	{
-		"containersOnBots": true,
-		"chanceSameSideIsHostilePercent": 50,
-		"isUsec": 50,
-        "maxBackpackLootTotalRub": 150000,
+		"bossChance": 
+			{
+				"activated": false,
+				"chance": 100
+			},
+
 		"maxBotCap": 20,
-        "maxPocketLootTotalRub": 50000,
-        "maxVestLootTotalRub": 50000,
-		"pmcDifficulty": "AsOnline",
-		"pmcNValue": 1.7,
-		"scavNValue": 2
+
+		"pmc":
+		{
+			"chanceSameSideIsHostilePercent": 50,
+			"containersOnPMCs": true,
+			"isUsec": 50,
+			"lootNValue": 3,
+			"maxBackpackLootTotalRub": 150000,
+			"maxPocketLootTotalRub": 50000,
+			"maxVestLootTotalRub": 50000,
+			"pmcDifficulty": "AsOnline",
+
+			"convertIntoPmcChance": {
+				"assault": {
+					"min": 15,
+					"max": 40
+				},
+				"cursedassault": {
+					"min": 15,
+					"max": 40
+				},
+				"pmcbot": {
+					"min": 15,
+					"max": 30
+				},
+				"exusec": {
+					"min": 5,
+					"max": 20
+				}
+			}
+		},
+
+		"scav":
+		{
+			"lootNValue": 4
+		}		
 	},
 
 	"flea": 
 	{
 		"minUserLevel": 15,
 
-		"time": 
+		"blacklist":
 		{
-			"baseSellTime": 15,
-			"minSellTime": 5,
-			"maxSellTime": 15
-		},
-
-		"reputation":
-		{
-			"gain": 0.0000002,
-			"loss": 0.0000002
-		},  
-
-		"offerItemCount":
-		{
-			"min": 8,
-			"max": 15
+			"enableBsgList": true,
+			"enableQuestList": true
 		},
 
 		"condition":
@@ -50,18 +84,49 @@
 			"euros": 2
 		},
 
-		"blacklist":
+		"offerItemCount":
 		{
-			"enableBsgList": true,
-			"enableQuestList": true
+			"min": 8,
+			"max": 15
+		},
+
+		"reputation":
+		{
+			"gain": 0.0000002,
+			"loss": 0.0000002
+		},  
+
+		"time": 
+		{
+			"baseSellTime": 15,
+			"minSellTime": 5,
+			"maxSellTime": 15
 		}
 	},
 
 	"globals":
 	{
+		
 		"damagePerMeter": 9,
 		"safeHeight": 3,
-		"maxTraders": false
+		"maxLoyaltyTraders": false,
+		"timeBeforeDeployLocal": 10,
+
+		"match_end":
+		{
+			"survived_exp_requirement": 200,
+			"survived_seconds_requirement": 420,
+			"survived_exp_reward": 300,
+			"mia_exp_reward": 200,
+			"runner_exp_reward": 200,
+			"leftMult": 0,
+			"miaMult": 1,
+			"survivedMult": 1.3,
+			"runnerMult": 0.5,
+			"killedMult": 1,			
+			"headShotMult": 1.2,
+			"expOnDamageAllHealth": 50
+		}
 	},
 
 	"hideout":
@@ -115,14 +180,20 @@
 			"horizontal": 10
 		},
 
-		"examineByDefault": false,
+		"examinedByDefault": false,
 		"removeBackpackFilter": true,
 		"weightModifier": 1,
 		"roublesMaxStack": 500000,
 		"dollarsMaxStack": 50000,
-		"eurosMaxStack": 50000,
+		"eurosMaxStack": 50000
+	},
 
-		"ammoStacks": 100
+	"locations":
+	{
+			"allExtractsAvailable": false,
+			"exfilTime": 8,
+			"extractionsExtended": false,
+			"noExtractRestrictions": false
 	},
 
 	"loot":
@@ -134,16 +205,25 @@
 
 	"raid":
 	{
-		"timeLimit": 60,
-		"fixOpenZones": true,
+		"carExtractBaseStandingGain": 0.25,
 		"chompiesBossFix": true,
+		"fixOpenZones": true,
+		"scavExtractGain": 0.01,
+		"timeLimit": 60,
 		"aiAmount": "AsOnline",
         "aiDifficulty": "AsOnline",
         "bossEnabled": true,
         "scavWars": false,
         "taggedAndCursed": false,
-		"enablePve": true,
-		"carExtractBaseStandingGain": 0.25,
-		"scavExtractGain": 0.01
+		"enablePve": true
+	},
+
+	"prewipe_events":
+	{
+		"allBossesOnReserve": false,
+		"allTradersSellCheapItems": false,
+		"glukharOnLabs": false,
+		"killaOnFactory": false,
+		"makeObdolbosPowerful": false
 	}
 }
diff --git a/Valens-AIO/package.json b/Valens-AIO/package.json
index 5dd1ecc..c435ab9 100644
--- a/Valens-AIO/package.json
+++ b/Valens-AIO/package.json
@@ -1,6 +1,6 @@
 {
     "name": "Valens-AIO",
-    "version": "1.0.0",
+    "version": "1.0.1",
     "main": "src/mod.js",
     "license": "CC BY-NC-ND 4.0",
     "author": "Valens",
diff --git a/Valens-AIO/src/airdrop.ts b/Valens-AIO/src/airdrop.ts
index 19af994..ba42583 100644
--- a/Valens-AIO/src/airdrop.ts
+++ b/Valens-AIO/src/airdrop.ts
@@ -1,16 +1,16 @@
 /*import { IDatabaseTables } from "@spt-aki/models/spt/server/IDatabaseTables";
-import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
+import { Logger } from "./logger";
 import { IAirdropConfig } from "@spt-aki/models/spt/config/IAirdropConfig";
 import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
 
 export class Airdrop
 {
     private modConfig = require("../config/config.jsonc");
-    private logger: ILogger;
+    private logger: Logger;
     private tables: IDatabaseTables;
     private airdropConfig: IAirdropConfig;
 
-    constructor(logger: ILogger, databaseServer: DatabaseServer, airdropConfig: IAirdropConfig)
+    constructor(logger: Logger, databaseServer: DatabaseServer, airdropConfig: IAirdropConfig)
     {
         this.logger = logger;
         this.tables = databaseServer.getTables();
@@ -21,7 +21,12 @@ export class Airdrop
     {
         if (this.modConfig.airdropChancePercent != 25)
         {
-            this.airdropChance();
+            this.airdropConfig.airdropChancePercent["bigmap"] = this.modConfig.airdrop.airdropChancePercent.bigmap;
+            this.airdropConfig.airdropChancePercent["woods"] = this.modConfig.airdrop.airdropChancePercent.woods;
+            this.airdropConfig.airdropChancePercent["lighthouse"] = this.modConfig.airdrop.airdropChancePercent.lighthouse;
+            this.airdropConfig.airdropChancePercent["shoreline"] = this.modConfig.airdrop.airdropChancePercent.shoreline;
+            this.airdropConfig.airdropChancePercent["interchange"] = this.modConfig.airdrop.airdropChancePercent.interchange;
+            this.airdropConfig.airdropChancePercent["reserve"] = this.modConfig.airdrop.airdropChancePercent.reserve;
             this.logger.info(`Customs Airdrop Chance is ${this.modConfig.airdrop.airdropChancePercent.bigmap}`);
             this.logger.info(`Woods Airdrop Chance is ${this.modConfig.airdrop.airdropChancePercent.woods}`);
             this.logger.info(`Lighthouse Airdrop Chance is ${this.modConfig.airdrop.airdropChancePercent.lighthouse}`);
@@ -30,16 +35,5 @@ export class Airdrop
             this.logger.info(`Reserve Airdrop Chance is ${this.modConfig.airdrop.airdropChancePercent.reserve}`);
         }
     }
-    
-    private airdropChance();
-    {
-        this.airdropConfig.airdropChancePercent["bigmap"] = this.modConfig.airdrop.airdropChancePercent.bigmap;
-        this.airdropConfig.airdropChancePercent["woods"] = this.modConfig.airdrop.airdropChancePercent.woods;
-        this.airdropConfig.airdropChancePercent["lighthouse"] = this.modConfig.airdrop.airdropChancePercent.lighthouse;
-        this.airdropConfig.airdropChancePercent["shoreline"] = this.modConfig.airdrop.airdropChancePercent.shoreline;
-        this.airdropConfig.airdropChancePercent["interchange"] = this.modConfig.airdrop.airdropChancePercent.interchange;
-        this.airdropConfig.airdropChancePercent["reserve"] = this.modConfig.airdrop.airdropChancePercent.reserve;
-
-    }
 }
 */
\ No newline at end of file
diff --git a/Valens-AIO/src/ammo.ts b/Valens-AIO/src/ammo.ts
new file mode 100644
index 0000000..1cb24b1
--- /dev/null
+++ b/Valens-AIO/src/ammo.ts
@@ -0,0 +1,67 @@
+import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
+import { Logger } from "./logger";
+import { Grenade, MarksmanCaliber, PistolCaliber, RifleCaliber, Shotguns } from "./ammotypes";
+
+export class Ammo
+{
+    private modConfig = require("../config/config.json")
+    private logger: Logger;
+    private databaseServer: DatabaseServer;
+
+    constructor(logger: Logger, databaseServer: DatabaseServer)
+    {
+        this.logger = logger;
+        this.databaseServer = databaseServer;
+    }
+
+    public updateAmmo(): void
+    {
+        const items = this.databaseServer.getTables().templates.items;
+        const mod = this.modConfig.ammo;
+        
+        if (mod.ammoStacks.grenadeCartridges != 1)
+        {
+            for (const value of Object.values(Grenade)) 
+            {
+                items[value]._props.StackMaxSize = mod.ammoStacks.grenadeCartridges
+                this.logger.info(`Grenade Cartridges Max Stacks set to ${mod.ammoStacks.grenadeCartridges}`);
+            }
+        }
+        
+        if (mod.ammoStacks.marksmanCartridges != 1)
+        {
+            for (const value of Object.values(MarksmanCaliber)) 
+            {
+                items[value]._props.StackMaxSize = mod.ammoStacks.marksmanCartridges
+                this.logger.info(`Marksman Cartridges Max Stacks set to ${mod.ammoStacks.marksmanCartridges}`);
+            }
+        }
+        
+        if (mod.ammoStacks.pistolCartridges != 1)
+        {
+            for (const value of Object.values(PistolCaliber)) 
+            {
+                items[value]._props.StackMaxSize = mod.ammoStacks.pistolCartridges
+                this.logger.info(`Pistol Cartridges Max Stacks set to ${mod.ammoStacks.pistolCartridges}`);
+            }
+        }
+         
+        if (mod.ammoStacks.rifleCartridges != 1)
+        {
+            for (const value of Object.values(RifleCaliber))
+            {
+                items[value]._props.StackMaxSize = mod.ammoStacks.rifleCartridges
+                this.logger.info(`Rifle Cartridges Max Stacks set to ${mod.ammoStacks.rifleCartridges}`);
+            }
+        }
+ 
+        if (mod.ammoStacks.shotgunCartridges != 1)
+        {
+            for (const value of Object.values(Shotguns))
+            {
+                items[value]._props.StackMaxSize = mod.ammoStacks.shotgunCartridges
+                this.logger.info(`Shotgun Cartridges Max Stacks set to ${mod.ammoStacks.shotgunCartridges}`);
+            }
+        }
+    }
+}
diff --git a/Valens-AIO/src/ammotypes.ts b/Valens-AIO/src/ammotypes.ts
new file mode 100644
index 0000000..3edaea4
--- /dev/null
+++ b/Valens-AIO/src/ammotypes.ts
@@ -0,0 +1,188 @@
+export enum Grenade 
+{
+    M386_HE_GRENADE = "5ede475b549eed7c6d5c18fb",
+    M576_MP_APERS_GRENADE = "5ede475339ee016e8c534742",
+    M433_HEDP_GRENADE = "5f0c892565703e5c461894e9",
+    M406_HE_GRENADE = "5ede4739e0350d05467f73e8",
+    M381_HE_GRENADE = "5ede474b0c226a66f5402622",
+    M441_HE_GRENADE = "5ede47405b097655935d7d16"
+}
+
+export enum MarksmanCaliber
+{
+    M62_TRACER = "5a608bf24f39f98ffc77720e",
+    M80 = "58dd3ad986f77403051cba8f",
+    M61 = "5a6086ea4f39f99cd479502f",
+    BCP_FMJ = "5e023e53d4353e3302577c4c",
+    ULTRA_NOSLER = "5e023e88277cce2b522ff2b1",
+    TCW_SP = "5e023e6e34d52a55c3304f71",
+    M993 = "5e023e6e34d52a55c3304f71",
+    TAC_X = "5fc382b6d6fa9c00c571bbc3",
+    UCW = "5fc382c1016cce60e8341b20",
+    AP = "5fc382a9d724d907e2077dab",
+    FMJ = "5fc275cf85fd526b824a571a",    
+    SNB_GZH = "560d61e84bdc2da74d8b4571",
+    LPS_GZH = "5887431f2459777e1612938f",
+    PS_GZH = "59e77a2386f7742ee578960a",
+    T46M_GZH = "5e023cf8186a883be655e54f",
+    BT_GZH =  "5e023d34e8a400319a28ed44",
+    BS_GZH = "5e023d48186a883be655e551"
+}
+
+export enum PistolCaliber
+{
+    AP_SX = "5ba26835d4351e0035628ff5",
+    ACTION_SX = "5ba26812d4351e003201fef1",
+    FMJ_SX = "5ba2678ad4351e44f824b344",
+    SUBSONIC_SX = "5ba26844d4351e00334c9475",
+    SS198LF = "5cc80f79e4a949033c7343b2",
+    R37_F = "5cc86832d7f00c000d3a6e6c",
+    SS190 = "5cc80f38e4a949001152b560",
+    R37_X = "5cc86840d7f00c002412c56c",
+    L191 = "5cc80f53e4a949000e1ea4f8",
+    SS197SR = "5cc80f8fe4a949033b0224a2",
+    SB193 = "5cc80f67e4a949035e43bbba",
+    FMJ43 = "5735ff5c245977640e39ba7e",
+    LRN = "573601b42459776410737435",
+    P_GL = "5736026a245977644601dc61",
+    PST_GZH762 = "573603562459776430731618",
+    LRNPC = "573602322459776445391df1",
+    AKBS = "5735fdcd2459776445391d61",
+    PT_GZH = "573603c924597764442bd9cb",
+    PM_SP8_GZH = "5737218f245977612125ba51",
+    P_GZH18 = "573719762459775a626ccbc1",
+    PSTM_GZH = "57371aab2459775a77142f22",
+    RG028_GZH = "573720e02459776143012541",
+    BZHT_GZH = "573718ba2459775a75491131",
+    PM_PSV = "5737207f24597760ff7b25f2",
+    SP7_GZH = "57372140245977611f70ee91",
+    PBM_GZH = "573719df2459775a626ccbc2",
+    PSO_GZH18 = "57371f8d24597761006c6a81",
+    PST_GZH18 = "5737201124597760fc4431f1",
+    PS_GS_PPO = "57371f2b24597761224311f1",
+    PRS_GS = "57371eb62459776125652ac1",
+    PPT_GZH = "57371e4124597760ff7b25f1",
+    PPE_GZH = "57371b192459775a9f58a5e0",
+    PSO_GZH = "58864a4f2459770fcc257101",
+    PST_GZH19 = "56d59d3ad2720bdb418b4577",
+    GREEN_TRACER = "5c3df7d588a4501f290594e5",
+    RIP19 = "5c0d56a986f774449d5de529",
+    AP_63 = "5c925fa22e221601da359b7b",
+    LUGER_CCI = "5a3c16fe86f77452b62de32a",
+    PBP_GZH = "5efb0da7a29a85116f6ea05f",
+    QUAKEMAKER = "5efb0e16aeb21837e749c7ff",
+    P_GZH = "5a26abfac4a28232980eabff",
+    PS_GZH = "5a269f97c4a282000b151807",
+    PE_GZH = "5a26ac06c4a282000c5a90a8",
+    BT_GZH = "5a26ac0ec4a28200741e1e18",
+    FMJ = "62330b3ed4dc74626d570b95",
+    HOLLOW_POINT = "62330bfadc5883093563729b",
+    SOFT_POINT = "62330c40bdd19b369e1e53d1",
+    JACKET_HP = "62330c18744e5e31df12f516",
+    MATCH_FMJ = "5e81f423763d9f754677bf2e",
+    HYDRA_SHOK = "5efb0fc6aeb21837e749c801",
+    LASERMATCH_FMJ = "5efb0d4f4bc50b58e81710f3",
+    AP = "5efb0cabfb3e451d70735af5",
+    RIP45 = "5ea2a8e200685063ec28c05a"
+}
+
+export enum RifleCaliber
+{
+    PS_GS = "56dff3afd2720bba668b4567",
+    SP = "56dff421d2720b5f5a8b4567",
+    PPBS_GS_IGOLNIK = "5c0d5e4486f77478390952fe",
+    PRS_GS = "56dff338d2720bbd668b4569",
+    BT_GS = "56dff061d2720bb5668b4567",
+    US_GS = "56dff4ecd2720b5f5a8b4568",
+    BP_GS_545 = "56dfef82d2720bbd668b4567",
+    HP_545 = "56dff216d2720bbd668b4568",
+    BS_GS = "56dff026d2720bb8668b4567",
+    T_GS = "56dff4a2d2720bbd668b456a",
+    PP_GS = "56dff2ced2720bb4668b4567",
+    FMJ_545 = "56dff0bed2720bb0668b4567",
+    M856 = "59e68f6f86f7746c9f75e846",
+    MK255_MOD_0_RRLP = "59e6918f86f7746c9f75e849",
+    M995 = "59e690b686f7746c9f75e848",
+    M855A1 = "54527ac44bdc2d36668b4567",
+    M856A1 = "59e6906286f7746c9f75e847",
+    M855 = "54527a984bdc2d4e668b4567",
+    HP_556 = "59e6927d86f77411da468256",
+    FMJ_556 = "59e6920f86f77411d82aa167",
+    WARMAGEDDON = "5c0d5ae286f7741e46554302",
+    MK_318_MOD_0_SOST = "60194943740c5d77f6705eea",
+    SSA_AP = "601949593ae8f707c4608daa",
+    M62_TRACER = "619636be6db0f2477964e710",
+    BCP_FMJ = "5fbe3ffdf8b6a877a729ea82",
+    AP = "5fd20ff893a8961fc660a954",
+    V_MAX = "6196364158ef8c428c287d9f",
+    WHISPER = "6196365d58ef8c428c287da1",
+    PS_GZH = "5656d7c34bdc2d9d198b4587",
+    HP_762 = "59e4d3d286f774176a36250a",
+    US_GZH = "59e4d24686f7741776641ac7",
+    T45M1_GZH = "59e4cf5286f7741778269d8a",
+    BP_GZH = "59e0d99486f7744a32234762",
+    MAI_AP = "601aa3d2b2bcb34913271e6d",
+    SP5_GS = "57a0dfb82459774d3078b56c",
+    BP_GS = "5c0d688c86f77413ae3407b2",
+    SP6_GS = "57a0e5022459774d1673f889",
+    SPP_GS = "5c0d668f86f7747ccb7f13b2",
+    PAB9_GS = "61962d879bb3d20b0946d385",
+    FMJ_366 = "59e6542b86f77411dc52a77a",
+    GEKSA = "59e6658b86f77411d949b250",
+    EKO = "59e655cb86f77411dc52a77b",
+    APM = "5f0596629e22f464da6bbdd9",
+    PS12 = "5cadf6ddae9215051e1c23b2",
+    PS12B = "5cadf6eeae921500134b2799",
+    PS12A = "5cadf6e5ae921500113bb973"
+}
+
+export enum Shotguns
+{
+    BUCKSHOT_7MM = "560d5e524bdc2d25448b4571",
+    MAGNUM_85MM = "5d6e6806a4b936088465b17e",
+    RIP = "5c0d591486f7744c505b416f",
+    BMG_SLUG_50CAL = "5d6e68c4a4b9361b93413f79",
+    BUCKSHOT_525MM = "5d6e6772a4b936088465b17c",
+    EXPRESS_65MM = "5d6e67fba4b9361bc73bc779",
+    FLECHETTE = "5d6e6911a4b9361bd5780d52",
+    FTX_CUSTOM_LITE_SLUG = "5d6e68e6a4b9361c140bcfe0",
+    AP20_ARMOR_PIERCING_SLUG = "5d6e68a8a4b9360b6c0d54e2",
+    DUAL_SABOT_SLUG = "5d6e68dea4b9361bcc29e659",
+    POLEVA_6U_SLUG_12GA = "5d6e689ca4b9361bc8618956",
+    POLEVA_3_SLUG_12GA = "5d6e6891a4b9361bd473feea",
+    GRIZZLY_40_SLUG = "5d6e6869a4b9361c140bcfde",
+    SUPERFORMANCE_HP_SLUG = "5d6e68d1a4b93622fe60e845",
+    COPPER_SABOT_PREMIER_HP_SLUG = "5d6e68b3a4b9361bca7e50b5",
+    LEAD_SLUG = "58820d1224597753c90aeb13",
+    BUCKSHOT_75MM = "5a38ebd9c4a282000d722a5b",
+    STAR_SLUG = "5d6e6a05a4b93618084f58d0",
+    BUCKSHOT_73MM = "5d6e69c7a4b9360b6c0d54e4",
+    DEVASTATOR_SLUG = "5d6e6a5fa4b93614ec501745",
+    BUCKSHOT_56MM = "5d6e6a5fa4b93614ec501745",
+    POLEVA_6U_SLUG_20GA = "5d6e6a42a4b9364f07165f52",
+    POLEVA_3_SLUG_20GA = "5d6e6a53a4b9361bd473feec",
+    BUCKSHOT_62MM = "5d6e69b9a4b9361bc8618958",
+    SHRAPNEL10_BUCKSHOT = "5e85a9a6eacf8c039e4e2ac1",
+    SHRAPNEL25_BUCKSHOT = "5f647f31b6238e5dd066e196",
+    ZVEZDA_FLASHBANG = "5e85a9f4add9fe03027d9bf1",
+    BARRIKADA_SLUG = "5e85aa1a988a8701445df1f5"
+}
+
+export enum Ammo30x29
+{
+    VOG_30 = "5d70e500a4b9364de70d38ce"
+}
+
+export enum Ammo127x108
+{
+    B32 = "5cde8864d7f00c0010373be1",
+    BZT_44M = "5d2f2ab648f03550091993ca"
+}
+
+export enum Ammo26x75
+{
+    GREEN_FLARE = "62389aaba63f32501b1b444f",
+    RED_FLARE = "62389ba9a63f32501b1b4451",
+    WHITE_FLARE = "62389bc9423ed1685422dc57",
+    YELLOW_FLARE = "62389be94d5d474bf712e709"
+}
\ No newline at end of file
diff --git a/Valens-AIO/src/bots.ts b/Valens-AIO/src/bots.ts
index a92536b..70b5ad7 100644
--- a/Valens-AIO/src/bots.ts
+++ b/Valens-AIO/src/bots.ts
@@ -1,95 +1,360 @@
 import { IBotConfig } from "@spt-aki/models/spt/config/IBotConfig";
 import { IDatabaseTables } from "@spt-aki/models/spt/server/IDatabaseTables";
-import { ILogger } from "@spt-aki/models/spt/utils/ILogger"
 import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
+import { Logger } from "./logger";
+import type { BossLocationSpawn } from "@spt-aki/models/eft/common/ILocationBase";
+import { Traders } from "./traders";
+import { Money } from "@spt-aki/models/enums/Money"
 
 export class Bots
 {
     private modConfig = require("../config/config.json")
-    private logger: ILogger;
+    private logger: Logger;
     private botConfig: IBotConfig;
     private tables: IDatabaseTables;
+    private traders: Traders;
 
-    constructor(logger: ILogger, databaseServer: DatabaseServer, botConfig: IBotConfig)
+    constructor(logger: Logger, databaseServer: DatabaseServer, botConfig: IBotConfig)
     {
         this.logger = logger;
         this.botConfig = botConfig;
         this.tables = databaseServer.getTables();
+        this.traders = databaseServer.getTables().traders;
     }
 
     public updateBots(): void
     {
-        if (this.modConfig.bots.pmcDifficulty.toLowerCase() != "asonline")
-        {
-            this.pmcDifficulty();
-            this.logger.info(`PMC Bot Difficulty set to ${this.modConfig.bots.pmcDifficulty}`);
-        }
 
-        if (this.modConfig.bots.containersOnBots)
-        {
-            this.containersOnBots();
-            this.logger.info(`Containers On Bots: ${this.modConfig.bots.containersOnBots}`);
-        }
-
-        if (this.modConfig.bots.isUsec != 50)
-        {
-            this.isUsec();
-            this.logger.info(`isUsec Chance is: ${this.modConfig.bots.isUsec}`);
-        }
-
-        if (this.modConfig.bots.maxBackpackLootTotalRub != 150000
-            || this.modConfig.bots.maxPocketLootTotalRub !=50000
-            || this.modConfig.bots.maxVestLootTotalRub != 50000)
-        {
-            this.pmcLoot();
-            this.logger.info("PMC Loot totals changed!");
-            this.logger.info(`Max Backpack Total Value: ${this.modConfig.bots.maxBackpackLootTotalRub}`);
-            this.logger.info(`Max Pocket Total Value: ${this.modConfig.bots.maxPocketLootTotalRub}`);
-            this.logger.info(`Max Vest Total Value: ${this.modConfig.bots.maxVestLootTotalRub}`);
-        }
-
-        if (this.modConfig.bots.chanceSameSideIsHostilePercent != 50)
-        {
-            this.sameSideIsHostile();
-            this.logger.info(`Chance Same Side Is Hostle is ${this.modConfig.bots.chanceSameSideIsHostilePercent}`);
-        }
-
-        if (this.modConfig.bots.maxBotCap != 20)
-        {
-            this.maxBotCap();
-            this.logger.info(`Bot Cap is now ${this.modConfig.bots.maxBotCap}`);
-        }
-
-        if (this.modConfig.bots.pmcNValue != 1.7 || this.modConfig.bots.scavNValue != 2)
-        {
-            this.lootNValue();
-            this.logger.info("Loot NValue has been changed!");
-            this.logger.info(`Scav NValue set to ${this.modConfig.bots.scavNValue}`);
-            this.logger.info(`PMC NValue set to ${this.modConfig.bots.pmcNValue}`);
-        }
+        const mod = this.modConfig.bots;
         
+        // Changes PMC difficulty to Easy, Normal, Hard, Impossible or AsOnline. Default AsOnline.
+        if (mod.pmc.pmcDifficulty.toLowerCase() != "AsOnline")
+        {
+            this.botConfig.pmc.difficulty = mod.pmcDifficulty;
+            this.logger.info(`PMC Bot Difficulty set to ${mod.pmcDifficulty}`);
+        }
+
+        // Enables common and secure containers to spawn on PMCs while additionally whitelisting the parent IDs. Rarity adjusted via PMC lootNValue. Default true.
+        if (mod.pmc.containersOnPMCs)
+        {
+            this.containersOnPMCs();
+            this.logger.info(`Containers On PMCs: ${mod.pmc.containersOnPMCs}`);
+        }
+
+        // Chance that PMC bot will be USEC or BEAR. Higher value means higher chance for the PMC to be USEC. Default is 50%
+        if (mod.pmc.isUsec != 50)
+        {
+            this.botConfig.pmc.isUsec = mod.isUsec;
+            this.logger.info(`PMC isUsec Chance is: ${mod.isUsec}`);
+        }
+
+        // Max Loot Value in Rubles for PMC bots in Backpack, Pockets, and Vest respectively. Default is 150,000/50,000/50,000
+        if (mod.pmc.maxBackpackLootTotalRub != 150000
+            || mod.pmc.maxPocketLootTotalRub !=50000
+            || mod.pmc.maxVestLootTotalRub != 50000)
+        {
+            this.botConfig.pmc.maxBackpackLootTotalRub = mod.pmc.maxBackpackLootTotalRub;
+            this.botConfig.pmc.maxPocketLootTotalRub = mod.pmc.maxPocketLootTotalRub;
+            this.botConfig.pmc.maxVestLootTotalRub = mod.pmc.maxVestLootTotalRub;
+            this.logger.info("PMC Loot Value totals changed!");
+            this.logger.info(`Max Backpack Total Value: ${mod.pmc.maxBackpackLootTotalRub}`);
+            this.logger.info(`Max Pocket Total Value: ${mod.pmc.maxPocketLootTotalRub}`);
+            this.logger.info(`Max Vest Total Value: ${mod.pmc.maxVestLootTotalRub}`);
+        }
+
+        // Chance that the PMC bot of your side (BEAR/USEC) will be hostile or not. Default is 50%.
+        if (mod.pmc.chanceSameSideIsHostilePercent != 50)
+        {
+            this.botConfig.pmc.chanceSameSideIsHostilePercent = mod.pmc.chanceSameSideIsHostilePercent;
+            this.logger.info(`Chance Same Side Is Hostle is ${mod.pmc.chanceSameSideIsHostilePercent}`);
+        }
+
+        // Max Bot Cap located in configs/bot.json/maxBotCap
+        if (mod.maxBotCap != 20)
+        {
+            this.botConfig.maxBotCap = mod.maxBotCap;
+            this.logger.info(`Bot Cap is now ${mod.maxBotCap}`);
+        }
+
+        if (mod.pmc.lootNValue != 3 || mod.scav.lootNValue != 4)
+        {
+            this.botConfig.lootNValue.scav = mod.scav.lootNValue;
+            this.botConfig.lootNValue.pmc = mod.pmc.lootNValue;
+            this.logger.info("Loot NValue for bots has been changed!");
+            this.logger.info(`Scav lootNValue set to ${mod.scav.lootNValue}`);
+            this.logger.info(`PMC lootNValue set to ${mod.pmc.lootNValue}`);
+        }
+
+        if (mod.pmc.convertIntoPmcChance.assault.min != 15 || mod.pmc.convertIntoPmcChance.assault.max != 40
+            || mod.pmc.convertIntoPmcChance.cursedassault.min != 15 || mod.pmc.convertIntoPmcChance.cursedassault.max != 40
+            || mod.pmc.convertIntoPmcChance.pmcbot.min != 15 || mod.pmc.convertIntoPmcChance.pmcbot.max != 30
+            || mod.pmc.convertIntoPmcChance.exusec.min != 15 || mod.pmc.convertIntoPmcChance.exusec.max != 20)
+        {
+            this.botConfig.pmc.convertIntoPmcChance.assault.min = mod.pmc.convertIntoPmcChance.assault.min;
+            this.botConfig.pmc.convertIntoPmcChance.assault.max = mod.pmc.convertIntoPmcChance.assault.max;
+            this.botConfig.pmc.convertIntoPmcChance.cursedassault.min = mod.pmc.convertIntoPmcChance.cursedassault.min;
+            this.botConfig.pmc.convertIntoPmcChance.cursedassault.max = mod.pmc.convertIntoPmcChance.cursedassault.max;
+            this.botConfig.pmc.convertIntoPmcChance.pmcbot.min = mod.pmc.convertIntoPmcChance.pmcbot.min;
+            this.botConfig.pmc.convertIntoPmcChance.pmcbot.max = mod.pmc.convertIntoPmcChance.pmcbot.max;
+            this.botConfig.pmc.convertIntoPmcChance.exusec.min = mod.pmc.convertIntoPmcChance.exusec.min;
+            this.botConfig.pmc.convertIntoPmcChance.exusec.max = mod.pmc.convertIntoPmcChance.exusec.max;
+            this.logger.info("Chance to Convert Bots into PMC Patched");
+        }
+
+        // Make all bosses spawn chance configurable.
+        const locations = this.tables.locations;
+
+        if (mod.bossChance.activated)
+        {
+            for (const i in locations)
+            {
+                if (i !== "base")
+                {
+                    if (locations[i].base.BossLocationSpawn !== [])
+                    {
+                        for (const x in locations[i].base.BossLocationSpawn)
+                        {
+                            locations[i].base.BossLocationSpawn[x].BossChance = mod.bossChance.chance;
+                            this.logger.info(`Boss Chance set to ${mod.bossChance.chance}`)
+                        }
+                    }
+                }
+            }
+        }
+
+        // Prewipe Events
+        if (this.modConfig.prewipe_events.killaOnFactory)
+        {
+            const killaWave = this.botConfig.other.createBossWave("bossKilla", 100, "followerBully", 0, locations.factory4_day.base.OpenZones);
+            this.tables.locations.factory4_day.base.BossLocationSpawn.push(killaWave);
+            locations.factory4_night.base.BossLocationSpawn.push(killaWave);
+            this.logger.info("Killa Prewipe Event Enabled");
+        }
+
+        if (this.modConfig.prewipe_events.allBossesOnReserve)
+        {
+            let bossWave = this.botConfig.other.createBossWave("bossKilla", 100, "followerBully", 0, locations.rezervbase.base.OpenZones);
+            locations.rezervbase.base.BossLocationSpawn.push(bossWave);
+            bossWave = this.botConfig.other.createBossWave("bossBully", 100, "followerBully", 4, locations.rezervbase.base.OpenZones);
+            locations.rezervbase.base.BossLocationSpawn.push(bossWave);
+            bossWave = this.botConfig.other.createBossWave("bossKojaniy", 100, "followerKojaniy", 2, locations.rezervbase.base.OpenZones);
+            locations.rezervbase.base.BossLocationSpawn.push(bossWave);
+            bossWave = this.botConfig.other.createBossWave("bossSanitar", 100, "followerSanitar", 2, locations.rezervbase.base.OpenZones);
+            locations.rezervbase.base.BossLocationSpawn.push(bossWave);
+            this.logger.info("Bosses On Reserve Prewipe Event Enabled");
+        }
+  
+        if (this.modConfig.prewipe_events.glukharOnLabs)
+        {
+            const glugluWave: BossLocationSpawn = {
+                "BossName": "bossGluhar",
+                "BossChance": 43,
+                "BossZone": "ZoneRailStrorage,ZoneRailStrorage,ZoneRailStrorage,ZonePTOR1,ZonePTOR2,ZoneBarrack,ZoneBarrack,ZoneBarrack,ZoneSubStorage",
+                "BossPlayer": false,
+                "BossDifficult": "normal",
+                "BossEscortType": "followerGluharAssault",
+                "BossEscortDifficult": "normal",
+                "BossEscortAmount": "0",
+                "Time": -1,
+                "TriggerId": "",
+                "TriggerName": "",
+                "Supports": [
+                    {
+                        "BossEscortType": "followerGluharAssault",
+                        "BossEscortDifficult": [
+                            "normal"
+                        ],
+                        "BossEscortAmount": "2"
+                    },
+                    {
+                        "BossEscortType": "followerGluharSecurity",
+                        "BossEscortDifficult": [
+                            "normal"
+                        ],
+                        "BossEscortAmount": "2"
+                    },
+                    {
+                        "BossEscortType": "followerGluharScout",
+                        "BossEscortDifficult": [
+                            "normal"
+                        ],
+                        "BossEscortAmount": "2"
+                    }
+                ]
+            }
+
+            glugluWave.BossZone = locations.laboratory.base.OpenZones;
+            locations.laboratory.base.BossLocationSpawn.push(glugluWave);
+            this.logger.info("Glukhar On Labs Prewipe Event Enabled");
+        }
+
+        // All cheap items on traders
+        if (this.modConfig.prewipe_events.allTradersSellCheapItems)
+        {
+            this.logger.info("Cheap Items On Traders Prewipe Event Enabled");
+            for (const trader in this.traders)
+            {
+                for (const assort in this.traders[trader].assort.barter_scheme)
+                {
+                    const itemScheme = this.traders[trader].assort.barter_scheme[assort];
+                    switch (itemScheme[0][0]._tpl)
+                    {
+                        case Money.ROUBLES:
+                            itemScheme[0][0].count = itemScheme[0][0].count * 0.01;
+                            break;
+                        case Money.DOLLARS:
+                            itemScheme[0][0].count = itemScheme[0][0].count * 0.1;
+                            break;
+                        case Money.EUROS:
+                            itemScheme[0][0].count = itemScheme[0][0].count * 0.05;
+                            break;
+                        default:
+                            break;
+                            
+                    }
+                }
+            }
+        }
+
+        if (this.modConfig.prewipe_events.makeObdolbosPowerful) 
+        {
+            const obdolbosBuff = [
+                {
+                    "BuffType": "StaminaRate",
+                    "Chance": 1,
+                    "Delay": 1,
+                    "Duration": 1800,
+                    "Value": 0.5,
+                    "AbsoluteValue": true,
+                    "SkillName": ""
+                },
+                {
+                    "BuffType": "SkillRate",
+                    "Chance": 1,
+                    "Delay": 1,
+                    "Duration": 1800,
+                    "Value": 10,
+                    "AbsoluteValue": true,
+                    "SkillName": "Endurance"
+                },
+                {
+                    "BuffType": "SkillRate",
+                    "Chance": 1,
+                    "Delay": 1,
+                    "Duration": 1800,
+                    "Value": 10,
+                    "AbsoluteValue": true,
+                    "SkillName": "Strength"
+                },
+                {
+                    "BuffType": "SkillRate",
+                    "Chance": 1,
+                    "Delay": 1,
+                    "Duration": 1800,
+                    "Value": 20,
+                    "AbsoluteValue": true,
+                    "SkillName": "StressResistance"
+                },
+                {
+                    "BuffType": "SkillRate",
+                    "Chance": 1,
+                    "Delay": 1,
+                    "Duration": 1800,
+                    "Value": 20,
+                    "AbsoluteValue": true,
+                    "SkillName": "Charisma"
+                },
+                {
+                    "BuffType": "SkillRate",
+                    "Chance": 1,
+                    "Delay": 1,
+                    "Duration": 1800,
+                    "Value": -20,
+                    "AbsoluteValue": true,
+                    "SkillName": "Memory"
+                },
+                {
+                    "BuffType": "SkillRate",
+                    "Chance": 1,
+                    "Delay": 1,
+                    "Duration": 1800,
+                    "Value": -20,
+                    "AbsoluteValue": true,
+                    "SkillName": "Intellect"
+                },
+                {
+                    "BuffType": "SkillRate",
+                    "Chance": 1,
+                    "Delay": 1,
+                    "Duration": 1800,
+                    "Value": -20,
+                    "AbsoluteValue": true,
+                    "SkillName": "Attention"
+                },
+                {
+                    "BuffType": "Pain",
+                    "Chance": 0.25,
+                    "Delay": 1,
+                    "Duration": 1800,
+                    "Value": 0,
+                    "AbsoluteValue": false,
+                    "SkillName": ""
+                },
+                {
+                    "BuffType": "StomachBloodloss",
+                    "Chance": 0.25,
+                    "Delay": 1,
+                    "Duration": 1800,
+                    "Value": 0,
+                    "AbsoluteValue": false,
+                    "SkillName": ""
+                },
+                {
+                    "BuffType": "HydrationRate",
+                    "Chance": 0.25,
+                    "Delay": 1,
+                    "Duration": 1800,
+                    "Value": -0.05,
+                    "AbsoluteValue": true,
+                    "SkillName": ""
+                },
+                {
+                    "BuffType": "EnergyRate",
+                    "Chance": 0.25,
+                    "Delay": 1,
+                    "Duration": 1800,
+                    "Value": -0.05,
+                    "AbsoluteValue": true,
+                    "SkillName": ""
+                },
+                {
+                    "BuffType": "DamageModifier",
+                    "Chance": 0.25,
+                    "Delay": 1,
+                    "Duration": 1800,
+                    "Value": 0.2,
+                    "AbsoluteValue": false,
+                    "SkillName": ""
+                },
+                {
+                    "BuffType": "QuantumTunnelling",
+                    "Chance": 0.25,
+                    "Delay": 1,
+                    "Duration": 1800,
+                    "Value": 0,
+                    "AbsoluteValue": false,
+                    "SkillName": ""
+                }]
+
+            this.tables.globals.config.Health.Effects.Stimulator.Buffs.Buffs_Obdolbos = obdolbosBuff;
+            this.logger.info("Make Obdolbos Powerful Prewipe Event Enabled");
+        }
     }
 
-    /**
-     * Changes Bot Difficulty.
-     * 
-     * Options for PMC are Easy, Normal, Hard, Impossible, As Online. 
-     * 
-     * Options for Scav are Easy, Medium, Hard, Impossible, As Online.
-     * 
-     * String formatting: "Normal".
-     * @param botConfig SPT Bot Config
-     */
-    private pmcDifficulty(): void
+    private containersOnPMCs(): void
     {
-        this.botConfig.pmc.difficulty = this.modConfig.bots.pmcDifficulty;
-    }
-
-    private containersOnBots(): void
-    {
-        const spawnPoints = this.tables.bots.types;
-        const usec = spawnPoints.usec.inventory.items.Backpack;
-        const bear = spawnPoints.bear.inventory.items.Backpack;
+        const usec = this.tables.bots.types.usec.inventory.items.Backpack;
+        const bear = this.tables.bots.types.bear.inventory.items.Backpack;
 
         usec.push(...this.containers());
         bear.push(...this.containers());
@@ -100,79 +365,39 @@ export class Bots
         dynaLoot.push("5795f317245977243854e041");
     }
 
-    private isUsec(): void
-    {
-        this.botConfig.pmc.isUsec = this.modConfig.bots.isUsec;
-    }
-
-    private pmcLoot(): void
-    {
-        this.botConfig.pmc.maxBackpackLootTotalRub = this.modConfig.bots.maxBackpackLootTotalRub;
-        this.botConfig.pmc.maxPocketLootTotalRub = this.modConfig.bots.maxPocketLootTotalRub;
-        this.botConfig.pmc.maxVestLootTotalRub = this.modConfig.bots.maxVestLootTotalRub;
-    }
-
-    private sameSideIsHostile(): void
-    {
-        this.botConfig.pmc.chanceSameSideIsHostilePercent = this.modConfig.bots.chanceSameSideIsHostilePercent;
-    }
-
-    private maxBotCap(): void
-    {
-        this.botConfig.maxBotCap = this.modConfig.bots.maxBotCap;
-    }
-
-    private lootNValue(): void
-    {
-        this.botConfig.lootNValue.scav = this.modConfig.bots.scavNValue;
-        this.botConfig.lootNValue.pmc = this.modConfig.bots.pmcNValue;
-    }
-
-
     private containers(): any[]
     {
         /* Container  "id"s
         * 
         * S I C C pouch: 5d235bb686f77443f4331278
-        * 
         * Magazine Case: 5c127c4486f7745625356c13
-        * 
         * Weapon Case: 59fb023c86f7746d0d4b423c
-        * 
         * T H I C C Weapon Case: 5b6d9ce188a4501afc1b2b25
-        * 
         * Item Case: 59fb042886f7746c5005a7b2
-        * 
         * T H I C C Item Case: 5c0a840b86f7742ffa4f2482
-        * 
         * Money case: 59fb016586f7746d0d4b423a
-        * 
         * Mr Holodilnick Thermal Bag: 5c093db286f7740a1b2617e3
-        * 
         * Medicine case: 5aafbcd986f7745e590fff23
-        * 
         * Lucky scav junkbox: 5b7c710788a4506dec015957
-        * 
         * Grenade case: 5e2af55f86f7746d4159f07c
-        * 
+        * Ammunition case: 5aafbde786f774389d0cbc0f
+        * Documents case: 590c60fc86f77412b13fddcf
+        * Key tool: 59fafd4b86f7745ca07e123
+        * Injector case: 619cbf7d23893217ec30b689
+        * Dogtag case: 5c093e3486f77430cb02e593
+        * Keycard holder: 619cbf9e0a7c3a1a2731940a
+        * WZ Wallet: 60b0f6c058e0b0481a09ad11
+        * Pistol case: 567143bf4bdc2d1a0f8b4567
         * Secure container: 5448bf274bdc2dfc2f8b456a
+        * Kappa container: 5c093ca986f7740a1867ab12
+        * Gamme container: 60b0f6c058e0b0481a09ad11
         */
        
-        const lootItems = [];
-        lootItems.push({"tpl": "5d235bb686f77443f4331278", "relativeProbability": 12});
-        lootItems.push({"tpl": "5c127c4486f7745625356c13", "relativeProbability": 25});
-        lootItems.push({"tpl": "59fb023c86f7746d0d4b423c", "relativeProbability": 13});
-        lootItems.push({"tpl": "5b6d9ce188a4501afc1b2b25", "relativeProbability": 10});
-        lootItems.push({"tpl": "59fb042886f7746c5005a7b2", "relativeProbability": 13});
-        lootItems.push({"tpl": "5c0a840b86f7742ffa4f2482", "relativeProbability": 10});
-        lootItems.push({"tpl": "59fb016586f7746d0d4b423a", "relativeProbability": 25});
-        lootItems.push({"tpl": "5c093db286f7740a1b2617e3", "relativeProbability": 30});
-        lootItems.push({"tpl": "5aafbcd986f7745e590fff23", "relativeProbability": 30});
-        lootItems.push({"tpl": "5b7c710788a4506dec015957", "relativeProbability": 15});
-        lootItems.push({"tpl": "5e2af55f86f7746d4159f07c", "relativeProbability": 23});
-        lootItems.push({"tpl": "5448bf274bdc2dfc2f8b456a", "relativeProbability": 9});
-
+        const lootItems = ["5d235bb686f77443f4331278","5c127c4486f7745625356c13","59fb023c86f7746d0d4b423c","5b6d9ce188a4501afc1b2b25","59fb042886f7746c5005a7b2","5c0a840b86f7742ffa4f2482",
+            "59fb016586f7746d0d4b423a","5c093db286f7740a1b2617e3","5aafbcd986f7745e590fff23","5b7c710788a4506dec015957","5e2af55f86f7746d4159f07c","5448bf274bdc2dfc2f8b456a","5c093ca986f7740a1867ab12",
+            "5aafbde786f774389d0cbc0f","590c60fc86f77412b13fddcf","59fafd4b86f7745ca07e1232","619cbf7d23893217ec30b689","619cbf9e0a7c3a1a2731940a","5c093e3486f77430cb02e593","60b0f6c058e0b0481a09ad11",
+            "567143bf4bdc2d1a0f8b4567","60b0f6c058e0b0481a09ad11","59db794186f77448bc595262","5857a8b324597729ab0a0e7d"]
+        
         return lootItems;
     }
-
-}
\ No newline at end of file
+}
diff --git a/Valens-AIO/src/flea.ts b/Valens-AIO/src/flea.ts
index 7a5bb55..0473d6a 100644
--- a/Valens-AIO/src/flea.ts
+++ b/Valens-AIO/src/flea.ts
@@ -1,114 +1,81 @@
 import { IDatabaseTables } from "@spt-aki/models/spt/server/IDatabaseTables";
-import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
 import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig";
+import { Logger } from "./logger";
 
 export class Flea
 {
     private modConfig = require("../config/config.json");
-    private logger: ILogger;
+    private logger: Logger;
     private ragfairConfig: IRagfairConfig;
     private tables: IDatabaseTables;
 
 
-    constructor (logger: ILogger, ragfairConfig: IRagfairConfig, tables: IDatabaseTables)
+    constructor (logger: Logger, ragfairConfig: IRagfairConfig, tables: IDatabaseTables)
     {
         this.logger = logger;
         this.ragfairConfig = ragfairConfig;
         this.tables = tables;
     }
 
+    
+
     public updateFlea(): void
     {
-        if (this.modConfig.flea.minUserLevel != 15)
+        const mod = this.modConfig.flea;
+        const global = this.tables.globals.config.RagFair;
+        const ragfair = this.ragfairConfig.dynamic;
+
+        if (mod.minUserLevel != 15)
         {
-            this.ragfairLevel();
-            this.logger.info(`Fleamarket unlocked at level ${this.modConfig.flea.minUserLevel}`)
+            global.minUserLevel = mod.minUserLevel;
+            this.logger.info(`Fleamarket unlocked at level ${mod.minUserLevel}`)
         }
 
-        const time = this.modConfig.flea.time;
-        if (time.baseSellTime != 15 || time.minSellTime != 5 || time.maxSellTime != 15)
-        {       
-            this.ragfairTime();
-            this.logger.info("Fleamarket Sell Times patched");
+        
+        if (!mod.blacklist.enableBsgList || !mod.blacklist.enableQuestList)
+        {
+            ragfair.blacklist.enableBsgList = mod.blacklist.enableBsgList;
+            ragfair.blacklist.enableQuestList = mod.blacklist.enableQuestList;
+            this.logger.info("Fleamarket Blacklists patched");
         }
 
-        const currency = this.modConfig.flea.currencies;
-        if (currency.roubles != 78 || currency.dollars != 20 || currency.euros != 2)
+        if (mod.condition.conditionChance != 0.2 || mod.condition.min != 0.6 || mod.condition.max != 1)
+        {
+            ragfair.condition.conditionChance = mod.conditionChance;
+            ragfair.condition.min = mod.min;
+            ragfair.condition.max = mod.max;
+            this.logger.info("Fleamarket Condition patched");
+        }
+
+        if (mod.currencies.roubles != 78 || mod.currencies.dollars != 20 || mod.currencies.euros != 2)
         {   
-            this.ragfairCurrencies();
+            ragfair.currencies["5449016a4bdc2d6f028b456f"] = mod.currencies.roubles;
+            ragfair.currencies["5696686a4bdc2da3298b456a"] = mod.currencies.dollars;
+            ragfair.currencies["569668774bdc2da2298b4568"] = mod.currencies.euros;
             this.logger.info("Fleamarket Currencies patched")
         }
 
-        const rep = this.modConfig.flea.reputation;
-        if (rep.gain != 0.0000002 || rep.loss != 0.0000002)
+        if (mod.offerItemCount.min != 8 || mod.offerItemCount.max != 15)
         {
-            this.ragfairReputation();
-            this.logger.info("Fleamarket Reputation patched");
-        }
-
-        const count = this.modConfig.flea.offerItemCount;
-        if (count.min != 8 || count.max != 15)
-        {
-            this.ragfairOfferItemCount();
+            ragfair.offerItemCount.min = mod.offerItemCount.min;
+            ragfair.offerItemCount.max = mod.offerItemCount.max;
             this.logger.info("Fleamarket Offer Item Count patched");
         }
 
-        const condition = this.modConfig.flea.condition;
-        if (condition.conditionChance != 0.2 || condition.min != 0.6 || condition.max != 1)
+        if (mod.reputation.gain != 0.0000002 || mod.reputation.loss != 0.0000002)
         {
-            this.ragfairItemCondition();
-            this.logger.info("Fleamarket Item Condition patched");
+            ragfair.offerItemCount.min = mod.offerItemCount.min;
+            ragfair.offerItemCount.max = mod.offerItemCount.max;
+            this.logger.info("Fleamarket Reputation patched");
         }
 
-        const list = this.modConfig.flea.blacklist;
-        if (!list.enableBsgList || !list.enableQuestList)
+        if (mod.time.baseSellTime != 15 || mod.time.minSellTime != 5 || mod.time.maxSellTime != 15)
         {
-            this.ragfairBlacklist();
-            this.logger.info("Fleamarket Blacklists patched");
+            const sell = this.ragfairConfig.sell;
+            sell.time.base = mod.time.baseSellTime;
+            sell.time.min = mod.time.minSellTime;
+            sell.time.max = mod.time.maxSellTime;
+            this.logger.info("Fleamarket Sell Times patched");
         }
     }
-
-    private ragfairLevel(): void
-    {
-        this.tables.globals.config.RagFair.minUserLevel = this.modConfig.flea.minUserLevel;
-    }
-
-    private ragfairTime(): void
-    {
-        this.ragfairConfig.sell.time.base = this.modConfig.flea.time.baseSellTime;
-        this.ragfairConfig.sell.time.min = this.modConfig.flea.time.minSellTime;
-        this.ragfairConfig.sell.time.max = this.modConfig.flea.time.maxSellTime;
-    }
-
-    private ragfairReputation(): void
-    {
-        this.ragfairConfig.sell.reputation.gain = this.modConfig.flea.reputation.gain;
-        this.ragfairConfig.sell.reputation.loss = this.modConfig.flea.reputation.loss;
-    }
-
-    private ragfairOfferItemCount(): void
-    {
-        this.ragfairConfig.dynamic.offerItemCount.min = this.modConfig.flea.offerItemCount.min;
-        this.ragfairConfig.dynamic.offerItemCount.max = this.modConfig.flea.offerItemCount.max;
-    }
-
-    private ragfairItemCondition(): void
-    {
-        this.ragfairConfig.dynamic.condition.conditionChance = this.modConfig.flea.conditionChance;
-        this.ragfairConfig.dynamic.condition.min = this.modConfig.flea.min;
-        this.ragfairConfig.dynamic.condition.max = this.modConfig.flea.max;
-    }
-
-    public ragfairCurrencies(): void
-    {
-        this.ragfairConfig.dynamic.currencies["5449016a4bdc2d6f028b456f"] = this.modConfig.flea.currencies.roubles;
-        this.ragfairConfig.dynamic.currencies["5696686a4bdc2da3298b456a"] = this.modConfig.flea.currencies.dollars;
-        this.ragfairConfig.dynamic.currencies["569668774bdc2da2298b4568"] = this.modConfig.flea.currencies.euros;
-    }
-
-    private ragfairBlacklist(): void
-    {
-        this.ragfairConfig.dynamic.blacklist.enableBsgList = this.modConfig.flea.blacklist.enableBsgList;
-        this.ragfairConfig.dynamic.blacklist.enableQuestList = this.modConfig.flea.blacklist.enableQuestList;
-    }
 }
diff --git a/Valens-AIO/src/globals.ts b/Valens-AIO/src/globals.ts
index 2a52db7..06175eb 100644
--- a/Valens-AIO/src/globals.ts
+++ b/Valens-AIO/src/globals.ts
@@ -1,51 +1,64 @@
-import { Falling } from "@spt-aki/models/eft/common/IGlobals";
-import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
 import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
+import { Logger } from "./logger";
 
 export class Globals
 {
     private modConfig = require("../config/config.json");
-    private logger: ILogger;
+    private logger: Logger;
     private databaseServer: DatabaseServer;
-    private globals: Falling
 
-    constructor(logger: ILogger, databaseServer: DatabaseServer)
+    constructor(logger: Logger, databaseServer: DatabaseServer)
     {
         this.logger = logger;
         this.databaseServer = databaseServer;
-        this.globals = this.databaseServer.getTables().globals.config.Health.Falling;
     }
 
     public updateGlobals(): void
     {
-        if (this.modConfig.globals.damagePerMeter != 9 || this.modConfig.globals.safeHeight != 3)
+        const mod = this.modConfig.globals;
+        const global = this.databaseServer.getTables().globals;
+
+        if (mod.damagePerMeter != 9 || mod.safeHeight != 3)
         {
-            this.damagePerMeter();
-            this.safeHeight();
-            this.logger.info(`Safe Fall Height set to ${this.modConfig.globals.safeHeight} meters`);
-            this.logger.info(`Damage Per Meter set to ${this.modConfig.globals.damagePerMeter} meters`)
+            global.config.Health.Falling.DamagePerMeter = mod.damagePerMeter;
+            global.config.Health.Falling.SafeHeight = mod.safeHeight;
+            this.logger.info(`Safe Fall Height set to ${mod.safeHeight} meters`);
+            this.logger.info(`Damage Per Meter set to ${mod.damagePerMeter} meters`)
         }
 
-        if (this.modConfig.globals.maxTraders)
+        if (mod.maxLoyaltyTraders)
         {
-            this.maxTraders();
-            this.logger.info(`Max Loyalty Traders is: ${this.modConfig.globals.maxTraders}`);
+            global.config.MaxLoyaltyLevelForAll = mod.maxLoyaltyTraders;
+            this.logger.info(`Max Loyalty Traders is: ${mod.maxLoyaltyTraders}`);
+        }
+
+        if (mod.timeBeforeDeployLocal != 10)
+        {
+            global.config.TimeBeforeDeployLocal = mod.timeBeforeDeployLocal;
+            this.logger.info(`Time Before Deploy set to: ${mod.timeBeforeDeployLocal}`);
+        }
+
+        if (mod.match_end.survived_exp_requirement != 200 || mod.match_end.survived_seconds_requirement != 420 || mod.match_end.survived_exp_reward != 300
+            || mod.match_end.mia_exp_reward != 200 || mod.match_end.runner_exp_reward != 200 || mod.match_end.leftMult != 0
+            || mod.match_end.miaMult != 1 || mod.match_end.survivedMult != 1.3 || mod.match_end.runnerMult != 0.5
+            || mod.match_end.killedMult != 1 || mod.match_end.headShotMult != 1.2 || mod.match_end.expOnDamageAllHealth != 50)
+        {
+            const global1 = this.databaseServer.getTables().globals.config.exp.match_end;
+            const mod = this.modConfig.globals.match_end;
+
+            global1.survived_exp_requirement = mod.survived_exp_requirement;
+            global1.survived_seconds_requirement = mod.survived_seconds_requirement;
+            global1.survived_exp_reward = mod.survived_exp_reward;
+            global1.mia_exp_reward = mod.mia_exp_reward;
+            global1.runner_exp_reward = mod.runner_exp_reward;
+            global1.leftMult = mod.leftMult;
+            global1.miaMult = mod.miaMult;
+            global1.survivedMult = mod.survivedMult;
+            global1.runnerMult = mod.runnerMult;
+            global1.killedMult = mod.killedMult;
+            this.databaseServer.getTables().globals.config.exp.kill.headShotMult = mod.headShotMult;
+            this.databaseServer.getTables().globals.config.exp.kill.expOnDamageAllHealth = mod.expOnDamageAllHealth;
+            this.logger.info("Match End Globals Patched");
         }
     }
-
-    private damagePerMeter(): void
-    {
-        this.globals.DamagePerMeter = this.modConfig.globals.damagePerMeter;
-    }
-    
-    private safeHeight(): void
-    {
-        this.globals.SafeHeight = this.modConfig.globals.safeHeight;
-    }
-
-    private maxTraders(): void
-    {
-        this.databaseServer.getTables().globals.config.MaxLoyaltyLevelForAll = this.modConfig.globals.maxTraders;
-    }
-
-}
\ No newline at end of file
+}
diff --git a/Valens-AIO/src/hideout.ts b/Valens-AIO/src/hideout.ts
index 29faf43..ee6f4e0 100644
--- a/Valens-AIO/src/hideout.ts
+++ b/Valens-AIO/src/hideout.ts
@@ -1,14 +1,13 @@
-import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
 import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
+import { Logger } from "./logger";
 
 export class Hideout
 {
     private modConfig = require("../config/config.json")
-    private logger: ILogger;
+    private logger: Logger;
     private databaseServer: DatabaseServer;
-    private hideout: {constructionTime: number; productionTime: number; scavCaseTime: number; airFilterUnitFlowRate: number; generatorFuelFlowRate: number; gpuBoostRate: number; };
 
-    constructor(logger: ILogger, databaseServer: DatabaseServer)
+    constructor(logger: Logger, databaseServer: DatabaseServer)
     {
         this.logger = logger;
         this.databaseServer = databaseServer;
@@ -16,32 +15,37 @@ export class Hideout
 
     public updateHideout(): void
     {
-        if (this.modConfig.hideout.constructionTime != 1)
+        const mod = this.modConfig.hideout;
+        
+        if (mod.constructionTime != 1)
         {
             this.updateConstructionTime();
-            this.logger.info(`Construction Time Patched to ${this.modConfig.hideout.constructionTime} `);
+            this.logger.info(`Construction Time Patched to ${mod.constructionTime} `);
         }
 
-        if (this.modConfig.hideout.productionTime != 1)
+        if (mod.productionTime != 1)
         {
             this.updateProductionTime();
-            this.logger.info(`Production Time Patched to ${this.modConfig.hideout.productionTime} `);
+            this.logger.info(`Production Time Patched to ${mod.productionTime} `);
         }
 
-        if (this.modConfig.hideout.scavCaseTime != 1)
+        if (mod.scavCaseTime != 1)
         {
             this.updateScavCase();
-            this.logger.info(`Scav Case TIme Patched to ${this.modConfig.hideout.scavCaseTime}`);
+            this.logger.info(`Scav Case TIme Patched to ${mod.scavCaseTime}`);
         }
 
-        if (this.modConfig.hideout.airFilterUnitFlowRate != 0.0047222222222222 
-            ||this.modConfig.hideout.generatorFuelFlowRate != 0.0013194444444444 
-            ||this.modConfig.hideout.gpuBoostRate != 0.041225)
+        if (mod.airFilterUnitFlowRate != 0.0047222222222222 
+            ||mod.generatorFuelFlowRate != 0.0013194444444444 
+            ||mod.gpuBoostRate != 0.041225)
         {
-            this.updateSettings();
-            this.logger.info(`Air Filter Flow Rate set to ${this.modConfig.hideout.airFilterUnitFlowRate}`);
-            this.logger.info(`Generator Fuel Flow Rate set to ${this.modConfig.hideout.generatorFuelFlowRate}`);
-            this.logger.info(`GPU Boost Rate set to ${this.modConfig.hideout.gpuBoostRate}`);
+            const settings = this.databaseServer.getTables().hideout.settings;
+            settings.airFilterUnitFlowRate = mod.airFilterUnitFlowRate;
+            settings.generatorFuelFlowRate = mod.generatorFuelFlowRate;
+            settings.gpuBoostRate = mod.gpuBoostRate;
+            this.logger.info(`Air Filter Flow Rate set to ${mod.airFilterUnitFlowRate}`);
+            this.logger.info(`Generator Fuel Flow Rate set to ${mod.generatorFuelFlowRate}`);
+            this.logger.info(`GPU Boost Rate set to ${mod.gpuBoostRate}`);
         }
 
     }
@@ -73,16 +77,4 @@ export class Hideout
             scavCase.ProductionTime *= this.modConfig.hideout.scavCaseTime;
         }
     }
-
-    private updateSettings()
-    {
-        const settings = this.databaseServer.getTables().hideout.settings;
-        settings.airFilterUnitFlowRate = this.modConfig.hideout.airFilterUnitFlowRate;
-        settings.generatorFuelFlowRate = this.modConfig.hideout.generatorFuelFlowRate;
-        settings.gpuBoostRate = this.modConfig.hideout.gpuBoostRate;
-    }
-
-
-
-
-}
\ No newline at end of file
+}
diff --git a/Valens-AIO/src/insurance.ts b/Valens-AIO/src/insurance.ts
index f1e4377..1c9ae92 100644
--- a/Valens-AIO/src/insurance.ts
+++ b/Valens-AIO/src/insurance.ts
@@ -1,14 +1,14 @@
-import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
 import { IInsuranceConfig } from "@spt-aki/models/spt/config/IInsuranceConfig";
+import { Logger } from "./logger";
 
 export class Insurance
 {
     private modConfig = require("../config/config.json");
-    private logger: ILogger;
+    private logger: Logger;
     private insuranceConfig: IInsuranceConfig;
     
 
-    constructor(logger:ILogger, insuranceConfig: IInsuranceConfig)
+    constructor(logger:Logger, insuranceConfig: IInsuranceConfig)
     {
         this.logger = logger;
         this.insuranceConfig = insuranceConfig;
@@ -16,31 +16,21 @@ export class Insurance
 
     public updateInsurance(): void
     {   
-        const insMult =  this.modConfig.insurance.insuranceMultiplier
-        if (insMult.prapor != 0.16 || insMult.therapist != 0.25)
-        {
-            this.insureMult();
-            this.logger.info(`Prapor Insurance Price Multiplier  Set to ${insMult.prapor}`);
-        }   this.logger.info(`Therapist Insurance Price Multiplier Set to ${insMult.therapist}`);
+        const mod = this.modConfig.insurance;
 
-        const insReturn = this.modConfig.insurance.returnChancePercent
-        if (insReturn.prapor != 80 || insReturn.therapist != 85)
+        if (mod.insuranceMultiplier.prapor != 0.16 || mod.insuranceMultiplier.therapist != 0.25)
         {
-            this.insureReturn();
-            this.logger.info(`Prapor Insurance Return Chance Set to ${this.modConfig.insurance.returnChancePercent.prapor}`);
-            this.logger.info(`Therapist Insurance Return Chance set to ${this.modConfig.insurance.returnChancePercent.therapist}`);
+            this.insuranceConfig.insuranceMultiplier["54cb50c76803fa8b248b4571"] = mod.insuranceMultiplier.prapor;
+            this.insuranceConfig.insuranceMultiplier["54cb57776803fa99248b456e"] = mod.insuranceMultiplier.therapist;
+            this.logger.info(`Prapor Insurance Price Multiplier  Set to ${mod.insuranceMultiplier.prapor}`);
+        }   this.logger.info(`Therapist Insurance Price Multiplier Set to ${mod.insuranceMultiplier.therapist}`);
+
+        if (mod.returnChancePercent.prapor != 80 || mod.returnChancePercent.therapist != 85)
+        {
+            this.insuranceConfig.returnChancePercent["54cb50c76803fa8b248b4571"] = mod.returnChancePercent.prapor;
+            this.insuranceConfig.returnChancePercent["54cb57776803fa99248b456e"] = mod.returnChancePercent.therapist;
+            this.logger.info(`Prapor Insurance Return Chance Set to ${mod.returnChancePercent.prapor}`);
+            this.logger.info(`Therapist Insurance Return Chance set to ${mod.returnChancePercent.therapist}`);
         }
     }
-
-    private insureMult(): void
-    {
-        this.insuranceConfig.insuranceMultiplier["54cb50c76803fa8b248b4571"] = this.modConfig.insurance.insuranceMultiplier.prapor;
-        this.insuranceConfig.insuranceMultiplier["54cb57776803fa99248b456e"] = this.modConfig.insurance.insuranceMultiplier.therapist;
-    }
-
-    private insureReturn(): void
-    {
-        this.insuranceConfig.returnChancePercent["54cb50c76803fa8b248b4571"] = this.modConfig.insurance.returnChancePercent.prapor;
-        this.insuranceConfig.returnChancePercent["54cb57776803fa99248b456e"] = this.modConfig.insurance.returnChancePercent.therapist;
-    }
 }
diff --git a/Valens-AIO/src/items.ts b/Valens-AIO/src/items.ts
index b46ffbf..be33d78 100644
--- a/Valens-AIO/src/items.ts
+++ b/Valens-AIO/src/items.ts
@@ -1,13 +1,13 @@
-import { ILogger } from "@spt-aki/models/spt/utils/ILogger"
 import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
+import { Logger } from "./logger";
 
 export class Items
 {
     private modConfig = require("../config/config.json")
-    private logger: ILogger;
+    private logger: Logger;
     private databaseServer: DatabaseServer;
 
-    constructor(logger: ILogger, databaseServer: DatabaseServer)
+    constructor(logger: Logger, databaseServer: DatabaseServer)
     {
         this.logger = logger;
         this.databaseServer = databaseServer;
@@ -15,78 +15,94 @@ export class Items
 
     public updateItems(): void
     {
-        if (this.modConfig.items.weightModifier != 1)
+
+        const items = Object.values(this.databaseServer.getTables().templates.items);
+        const mod = this.modConfig.items;
+
+        // Weight Modifier. Multiplier of Weight *= modConfig.weightModifier
+        if (mod.weightModifier != 1)
         {
             this.updateWeight();
-            this.logger.info(`Weight Multipler patched to ${this.modConfig.items.weightModifier}`);
+            this.logger.info(`Weight Multipler patched to ${mod.weightModifier}`);
         }
 
-        if (this.modConfig.items.removeBackpackFilter)
+        // Removes the ExcludedFilter on Backpacks 
+        // which in turn enables common containers to spawn in the loot pool of AI.
+        if (mod.removeBackpackFilter)
         {
             this.updateBackpacks();
-            this.logger.info(`Backpack Restrictions Removed: ${this.modConfig.items.removeBackpackFilter}`)
+            this.logger.info(`Backpack Restrictions Removed: ${mod.removeBackpackFilter}`)
         }
 
-        if (this.modConfig.items.standardStash.vertical != 28 || this.modConfig.items.standardStash.horizontal != 10)
+        // Standard Stash Size Changes
+        if (mod.standardStash.vertical != 28 || mod.standardStash.horizontal != 10)
+        {            
+            items["566abbc34bdc2d92178b4576"]._grids._props.cellsV = mod.standardStash.vertical;
+            items["566abbc34bdc2d92178b4576"]._grids._props.cellsH = mod.standardStash.horizontal;
+            this.logger.info(`Standard Stash Vertical changed to ${mod.standardStash.vertical}`);
+            this.logger.info(`Standard Stash Horizontal changed to ${mod.tandardStash.horizontal}`);
+        }
+
+        // Left Behind Stash Size Changes
+        if (mod.behindStash.vertical != 38 || mod.behindStash.horizontal != 10)
+        {            
+            items["5811ce572459770cba1a34ea"]._grids._props.cellsV = mod.behindStash.vertical;
+            items["5811ce572459770cba1a34ea"]._grids._props.cellsH = mod.behindStash.horizontal;
+            this.logger.info(`Left Behind Stash Vertical changed to ${mod.behindStash.vertical}`);
+            this.logger.info(`Left Behind Stash Horizontal changed to ${mod.behindStash.horizontal}`);
+        }
+
+        // Prepare for Escape Stash Size Changes
+        if (mod.escapeStash.vertical != 48 || mod.escapeStash.horizontal != 10)
+        {            
+            items["5811ce662459770f6f490f32"]._grids._props.cellsV = mod.escapeStash.vertical;
+            items["5811ce662459770f6f490f32"]._grids._props.cellsH = mod.escapeStash.horizontal;
+            this.logger.info(`Prepare for Escape Stash Vertical changed to ${mod.escapeStash.vertical}`);
+            this.logger.info(`Prepare for Escape Stash Horizontal changed to ${mod.escapeStash.horizontal}`);
+        }
+
+        // Edge of Darkness Stash Size Changes
+        if (mod.eodStash.vertical != 68 || mod.eodStash.horizontal != 10)
         {
-            this.standardStash();
-            this.logger.info(`Standard Stash Vertical changed to ${this.modConfig.items.standardStash.vertical}`);
-            this.logger.info(`Standard Stash Horizontal changed to ${this.modConfig.items.standardStash.horizontal}`);
+            items["5811ce772459770e9e5f9532"]._grids._props.cellsV = mod.eodStash.vertical;
+            items["5811ce772459770e9e5f9532"]._grids._props.cellsH = mod.eodStash.horizontal;
+            this.logger.info(`Edge of Darkness Stash Vertical changed to ${mod.eodStash.vertical}`);
+            this.logger.info(`Edge of Darkness Stash Horizontal changed to ${mod.eodStash.horizontal}`);
         }
 
-        if (this.modConfig.items.behindStash.vertical != 38 || this.modConfig.items.behindStash.horizontal != 10)
+        // Toggles true/false the Examined By Default config on all items in database/templates/items.json
+        if (mod.examinedByDefault)
         {
-            this.behindStash();
-            this.logger.info(`Left Behind Stash Vertical changed to ${this.modConfig.items.behindStash.vertical}`);
-            this.logger.info(`Left Behind Stash Horizontal changed to ${this.modConfig.items.behindStash.horizontal}`);
+            this.examinedByDefault();
+            this.logger.info(`Examined By Default is ${mod.examinedByDefault}`);
         }
 
-        if (this.modConfig.items.escapeStash.vertical != 48 || this.modConfig.items.escapeStash.horizontal != 10)
+        // Roubles Max Stack
+        if (mod.roublesMaxStack != 500000)
         {
-            this.escapeStash();
-            this.logger.info(`Prepare for Escape Stash Vertical changed to ${this.modConfig.items.escapeStash.vertical}`);
-            this.logger.info(`Prepare for Escape Stash Horizontal changed to ${this.modConfig.items.escapeStash.horizontal}`);
+            items["5449016a4bdc2d6f028b456f"]._props.StackMaxSize = mod.roublesMaxStack;
+            this.logger.info(`Rouble Max Stack set to ${mod.roublesMaxStack}`);
         }
-
-        if (this.modConfig.items.eodStash.vertical != 68 || this.modConfig.items.eodStash.horizontal != 10)
+            
+        // Dollars Max Stack
+        if (mod.dollarsMaxStack != 50000)
         {
-            this.eodStash();
-            this.logger.info(`Edge of Darkness Stash Vertical changed to ${this.modConfig.items.eodStash.vertical}`);
-            this.logger.info(`Edge of Darkness Stash Horizontal changed to ${this.modConfig.items.eodStash.horizontal}`);
+            items["5696686a4bdc2da3298b456a"]._props.StackMaxSize = mod.dollarsMaxStack;
+            this.logger.info(`Dollar Max Stack set to ${mod.dollarsMaxStack}`);
         }
 
-        if (this.modConfig.items.examineByDefault)
+        // Euros Max Stack
+        if (mod.eurosMaxStack != 50000)
         {
-            this.examineByDefault();
-            this.logger.info(`Examine By Default is ${this.modConfig.items.examineByDefault}`);
+            items["569668774bdc2da2298b4568"]._props.StackMaxSize = mod.eurosMaxStack;
+            this.logger.info(`Euro Max Stack set to ${mod.eurosMaxStack}`);
         }
-
-        if (this.modConfig.items.roublesMaxStack != 500000)
-        {
-            this.roublesMaxStack();
-            this.logger.info(`Rouble Max Stack set to ${this.modConfig.items.roublesMaxStack}`);
-        }
-
-        if (this.modConfig.items.dollarsMaxStack != 50000)
-        {
-            this.dollarsMaxStack();
-            this.logger.info(`Dollar Max Stack set to ${this.modConfig.items.dollarsMaxStack}`);
-        }
-
-        if (this.modConfig.items.eurosMaxStack != 50000)
-        {
-            this.eurosMaxStack();
-            this.logger.info(`Euro Max Stack set to ${this.modConfig.items.eurosMaxStack}`);
-        }
-
-        if (this.modConfig.items.ammoStacks)
-        {
-            this.updateAmmoStacks();
-            this.logger.info(`Ammo Stacks set to ${this.modConfig.items.ammoStacks}`);
-        }
-
     }
 
+
+    // Functions Functions.
+    
+    // Updates the weight modifier (as a multiplier) for all items in database/templates/items.json
     private updateWeight(): void
     {
         const items = Object.values(this.databaseServer.getTables().templates.items);
@@ -99,6 +115,7 @@ export class Items
         }
     }
 
+    // Updates backpacks and removes any values in the ExcludedFilter under props > Grids > props > filters > ExcludedFilter in database/templates/items.json
     private updateBackpacks(): void
     {
         const items = Object.values(this.databaseServer.getTables().templates.items);
@@ -112,112 +129,13 @@ export class Items
         }
     }
 
-    private standardStash(): void
+    // Updates the Examined By Default modifier for all items in database/templates/items.json to either True or False depending on the config value.
+    private examinedByDefault(): void
     {
         const items = Object.values(this.databaseServer.getTables().templates.items);
         for (const item of items)
         {
-            if (item._name === "Standard stash 10x28")
-            {
-                item._props.Grids["cellsH"] = this.modConfig.items.standardStash.horizontal;
-                item._props.Grids["cellsV"] = this.modConfig.items.standardStash.vertical;
-            }
-        }
-    }
-
-    private behindStash(): void
-    {
-        const items = Object.values(this.databaseServer.getTables().templates.items);
-        for (const item of items)
-        {
-            if (item._name === "Left Behind stash 10x38")
-            {
-                item._props.Grids["cellsH"] = this.modConfig.items.behindStash.horizontal;
-                item._props.Grids["cellsV"] = this.modConfig.items.behindStash.vertical;
-            }
-        }
-    }
-
-    private escapeStash(): void
-    {
-        const items = Object.values(this.databaseServer.getTables().templates.items);
-        for (const item of items)
-        {
-            if (item._name === "Prepare for escape stash 10x48")
-            {
-                item._props.Grids["cellsH"] = this.modConfig.items.escapeStash.horizontal;
-                item._props.Grids["cellsV"] = this.modConfig.items.escapeStash.vertical;
-            }
-        }
-    }
-
-    private eodStash(): void
-    {
-        const items = Object.values(this.databaseServer.getTables().templates.items);
-        for (const item of items)
-        {
-            if (item._name === "Edge of darkness stash 10x68")
-            {
-                item._props.Grids["cellsH"] = this.modConfig.items.eodStash.horizontal;
-                item._props.Grids["cellsV"] = this.modConfig.items.eodStash.vertical;
-            }
-        }
-    }
-
-    private examineByDefault(): void
-    {
-        const items = Object.values(this.databaseServer.getTables().templates.items);
-        for (const item of items)
-        {
-            item._props.ExaminedByDefault = this.modConfig.items.examineByDefault;
-        }
-    }
-
-    private roublesMaxStack(): void
-    {
-        const items = Object.values(this.databaseServer.getTables().templates.items);
-        for (const item of items)
-        {
-            if (item._id === "5449016a4bdc2d6f028b456f")
-            {
-                item._props.StackMaxSize = this.modConfig.items.roublesMaxStack;
-            }
-        }
-    }
-
-    private dollarsMaxStack(): void
-    {
-        const items = Object.values(this.databaseServer.getTables().templates.items);
-        for (const item of items)
-        {
-            if (item._id === "5696686a4bdc2da3298b456a")
-            {
-                item._props.StackMaxSize = this.modConfig.items.roublesMaxStack;
-            }
-        }
-    }
-
-    private eurosMaxStack(): void
-    {
-        const items = Object.values(this.databaseServer.getTables().templates.items);
-        for (const item of items)
-        {
-            if (item._id === "569668774bdc2da2298b4568")
-            {
-                item._props.StackMaxSize = this.modConfig.items.roublesMaxStack;
-            }
-        }
-    }
-
-    private updateAmmoStacks(): void
-    {
-        const items = Object.values(this.databaseServer.getTables().templates.items);
-        for (const item of items)
-        {
-            if (item._parent === "5485a8684bdc2da71d8b4567")
-            {
-                item._props.StackMaxSize = this.modConfig.items.ammoStacks;
-            }
+            item._props.ExaminedByDefault = this.modConfig.items.examinedByDefault;
         }
     }
 }
diff --git a/Valens-AIO/src/locations.ts b/Valens-AIO/src/locations.ts
new file mode 100644
index 0000000..bdb3644
--- /dev/null
+++ b/Valens-AIO/src/locations.ts
@@ -0,0 +1,154 @@
+import { IDatabaseTables } from "@spt-aki/models/spt/server/IDatabaseTables";
+import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
+import { Logger } from "./logger";
+
+export class Locations
+{
+    private modConfig = require("../config/config.json");
+    private logger: Logger;
+    private tables: IDatabaseTables;
+
+    constructor (logger: Logger, databaseServer: DatabaseServer)
+    {
+        this.logger = logger;
+        this.tables = databaseServer.getTables();
+    }
+
+    public updateLocations(): void
+    {
+        const mod = this.modConfig.locations;
+        const maps = this.tables.locations;
+
+        // Gives all extracts 100% chance to spawn.
+        if (mod.allExtractsAvailable)
+        {
+            for (const map in maps)
+            {
+                if (map.toLowerCase() === "base")
+                {
+                    continue;
+                }
+
+                const mapBase = this.tables.locations[map].base;
+                if (mapBase.Locked === true || mapBase?.EnabledCoop === undefined)
+                {
+                    continue;
+                }
+
+                for (const i in mapBase.exits)
+                {
+                    const exit = mapBase[i];
+                    exit.Chance = 100;
+                }
+            }
+            this.logger.info("All Extracts Are Available @ 100% Chance");
+        }
+
+        // Sets exfil/extract timer to config.
+        if (mod.exfilTime != 8)
+        {
+            for (const map in maps)
+            {
+                if (map.toLowerCase() === "base")
+                {
+                    continue;
+                }
+
+                const mapBase = this.tables.locations[map].base;
+                if (mapBase.Locked === true || mapBase?.EnabledCoop === undefined)
+                {
+                    continue;
+                }
+
+                for (const i in mapBase.exits)
+                {
+                    const exit = mapBase[i];
+                    exit.ExfiltrationTime = mod.exfilTime;
+                }
+            }
+            this.logger.info(`Exfil Time is set to ${mod.exfilTime} seconds`);
+        }
+
+        // Remove extracts restrictions
+        if (mod.noExtractRestrictions)
+        {
+            for (const i in maps)
+            {
+                if (i !== "base")
+                {
+                    for (const x in maps[i].base.exits)
+                    {
+                        if (maps[i].base.exits[x].Name !== "EXFIL_Train" && 
+                            !maps[i].base.exits[x].Name.includes("lab") || 
+                            maps[i].base.exits[x].Name === "lab_Vent")
+                        {
+                            if (maps[i].base.exits[x].PassageRequirement !== "None")
+                            {
+                                maps[i].base.exits[x].PassageRequirement = "None";
+                            }
+                            if (maps[i].base.exits[x].ExfiltrationType !== "Individual")
+                            {
+                                maps[i].base.exits[x].ExfiltrationType = "Individual";
+                            }
+                            if (maps[i].base.exits[x].Id !== "")
+                            {
+                                maps[i].base.exits[x].Id = "";
+                            }
+                            if (maps[i].base.exits[x].Count !== 0)
+                            {
+                                maps[i].base.exits[x].Count = 0;
+                            }
+                            if (maps[i].base.exits[x].RequirementTip !== "")
+                            {
+                                maps[i].base.exits[x].RequirementTip = "";
+                            }
+                            if (maps[i].base.exits[x].RequiredSlot)
+                            {
+                                delete maps[i].base.exits[x].RequiredSlot;
+                            }
+                        }
+                    }
+                }
+            }
+        }
+
+        // Make all extractions of the map available regardless of the infill
+        if (mod.extractionsExtended)
+        {
+            for (const map in maps)
+            {
+                switch (map) 
+                {
+                    case "base":
+                        break;
+                    case "bigmap":
+                        for (const extract in maps[map].base.exits)
+                        {
+                            maps[map].base.exits[extract].EntryPoints = "Customs,Boiler Tanks";
+                        }
+                        break;
+                    case "interchange":
+                        for (const extract in maps[map].base.exits)
+                        {
+                            maps[map].base.exits[extract].EntryPoints = "MallSE,MallNW";
+                        }
+                        break;
+                    case "shoreline":
+                        for (const extract in maps[map].base.exits)
+                        {
+                            maps[map].base.exits[extract].EntryPoints = "Village,Riverside";
+                        }
+                        break;
+                    case "woods":
+                        for (const extract in maps[map].base.exits)
+                        {
+                            maps[map].base.exits[extract].EntryPoints = "House,Old Station";
+                        }
+                        break;
+                    default:
+                        break;
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/Valens-AIO/src/logger.ts b/Valens-AIO/src/logger.ts
new file mode 100644
index 0000000..0b8b494
--- /dev/null
+++ b/Valens-AIO/src/logger.ts
@@ -0,0 +1,20 @@
+import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
+
+export class Logger
+{
+    private modConfig = require("../config/config.json");
+    private logger: ILogger;
+
+    constructor (logger: ILogger)
+    {
+        this.logger = logger;
+    }
+
+    public info(text: string, forced = false): void
+    {
+        if (this.modConfig.DebugMode || forced)
+        {
+            this.logger.info(text);
+        }
+    }
+}
\ No newline at end of file
diff --git a/Valens-AIO/src/loot.ts b/Valens-AIO/src/loot.ts
index 52ca356..8190f92 100644
--- a/Valens-AIO/src/loot.ts
+++ b/Valens-AIO/src/loot.ts
@@ -1,57 +1,48 @@
 import { ILocationConfig } from "@spt-aki/models/spt/config/ILocationConfig";
 import { IDatabaseTables } from "@spt-aki/models/spt/server/IDatabaseTables";
-import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
 import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
+import { Logger } from "./logger";
 
 export class Loot
 {
     private modConfig = require("../config/config.json");
-    private logger: ILogger;
+    private logger: Logger;
     private tables: IDatabaseTables;
     private locationConfig: ILocationConfig;
 
-    constructor (logger: ILogger, databaseServer: DatabaseServer, locationConfig: ILocationConfig)
+    constructor (logger: Logger, databaseServer: DatabaseServer, locationConfig: ILocationConfig)
     {
         this.logger = logger;
         this.locationConfig = locationConfig;
         this.tables = databaseServer.getTables();
-        this.modConfig = this.modConfig.loot;
     }
 
     public updateLoot(): void
     {
-        if (this.modConfig.looseLootMultiplier > 1)
+        const mod = this.modConfig.loot;
+
+        if (mod.looseLootMultiplier > 1)
         {
-            this.looseLootMultiplier();
-            this.logger.info(`Loose Loot Multiplier: ${this.modConfig.looseLootMultiplier}`);
+            for (const map in this.locationConfig.looseLootMultiplier)
+            {
+                this.locationConfig.looseLootMultiplier[map] = mod.looseLootMultiplier;
+            }
+            this.logger.info(`Loose Loot Multiplier: ${mod.looseLootMultiplier}`);
         }
 
-        if (this.modConfig.staticLootMultiplier > 1)
+        if (mod.staticLootMultiplier > 1)
         {
-            this.staticLootMultiplier();
-            this.logger.info(`Static Loot Multiplier: ${this.modConfig.staticLootMultiplier}`);
+            for (const map in this.locationConfig.staticLootMultiplier)
+            {
+                this.locationConfig.staticLootMultiplier[map] = mod.staticLootMultiplier;
+            }
+            this.logger.info(`Static Loot Multiplier: ${mod.staticLootMultiplier}`);
         }
         
-        if (this.modConfig.containersInMarkedRoom)
+        if (mod.containersInMarkedRoom)
         {
             this.containersInMarkedRoom();
-            this.logger.info(`Containers In Marked Room: ${this.modConfig.containersInMarkedRoom}`);
-        }
-    }
-
-    private looseLootMultiplier(): void
-    {
-        for (const map in this.locationConfig.looseLootMultiplier)
-        {
-            this.locationConfig.looseLootMultiplier[map] = this.modConfig.looseLootMultiplier;
-        }
-    }
-
-    private staticLootMultiplier(): void
-    {
-        for (const map in this.locationConfig.staticLootMultiplier)
-        {
-            this.locationConfig.staticLootMultiplier[map] = this.modConfig.staticLootMultiplier;
+            this.logger.info(`Containers In Marked Room: ${mod.containersInMarkedRoom}`);
         }
     }
 
@@ -104,31 +95,18 @@ export class Loot
 
     private containers(): any[]
     {
-
         /* Container  "id"s
-        * 
         * S I C C pouch: 5d235bb686f77443f4331278
-        * 
         * Magazine Case: 5c127c4486f7745625356c13
-        * 
         * Weapon Case: 59fb023c86f7746d0d4b423c
-        * 
         * T H I C C Weapon Case: 5b6d9ce188a4501afc1b2b25
-        * 
         * Item Case: 59fb042886f7746c5005a7b2
-        * 
         * T H I C C Item Case: 5c0a840b86f7742ffa4f2482
-        * 
         * Money case: 59fb016586f7746d0d4b423a
-        * 
         * Mr Holodilnick Thermal Bag: 5c093db286f7740a1b2617e3
-        * 
         * Medicine case: 5aafbcd986f7745e590fff23
-        * 
         * Lucky scav junkbox: 5b7c710788a4506dec015957
-        * 
         * Grenade case: 5e2af55f86f7746d4159f07c
-        * 
         * Secure container: 5448bf274bdc2dfc2f8b456a
         */
        
@@ -148,9 +126,5 @@ export class Loot
 
         return lootItems;
     }
-
-
 }
-
-     
          
\ No newline at end of file
diff --git a/Valens-AIO/src/mod.ts b/Valens-AIO/src/mod.ts
index 22bb59f..48de371 100644
--- a/Valens-AIO/src/mod.ts
+++ b/Valens-AIO/src/mod.ts
@@ -11,6 +11,7 @@ import { IInsuranceConfig } from "@spt-aki/models/spt/config/IInsuranceConfig";
 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 { Bots } from "./bots";
 import { Flea } from "./flea";
 import { Hideout } from "./hideout";
@@ -19,6 +20,7 @@ import { Loot } from "./loot";
 import { Raid } from "./raid";
 import { Globals } from "./globals";
 import { Insurance } from "./insurance";
+import { Logger } from "./logger";
 //import { Airdrop } from "./airdrop";
 
 class ValensAIO implements IPostDBLoadMod
@@ -38,7 +40,8 @@ class ValensAIO implements IPostDBLoadMod
     public postDBLoad(container: DependencyContainer): void
     {
         // get database from server
-        this.logger = container.resolve<ILogger>("WinstonLogger");
+        const logger = container.resolve<ILogger>("WinstonLogger");
+        const vLogger = new Logger(logger);
         this.databaseServer = container.resolve<DatabaseServer>("DatabaseServer");
         this.configServer = container.resolve<ConfigServer>("ConfigServer");
         this.locationConfig = this.configServer.getConfig<ILocationConfig>(ConfigTypes.LOCATION);
@@ -51,28 +54,31 @@ class ValensAIO implements IPostDBLoadMod
         //const airdrop = new Airdrop(this.logger, this.airdropConfig, this.databaseServer)
         //airdrop.updateAirdrops();
 
-        const bots = new Bots(this.logger, this.databaseServer, this.botConfig);
+        const ammo = new Ammo(vLogger, this.databaseServer);
+        ammo.updateAmmo();
+
+        const bots = new Bots(vLogger, this.databaseServer, this.botConfig);
         bots.updateBots();
 
-        const flea = new Flea(this.logger, this.ragfairConfig, this.tables);
+        const flea = new Flea(vLogger, this.ragfairConfig, this.tables);
         flea.updateFlea();
 
-        const globals = new Globals(this.logger, this.databaseServer);
+        const globals = new Globals(vLogger, this.databaseServer);
         globals.updateGlobals();
 
-        const hideout = new Hideout(this.logger, this.databaseServer);
+        const hideout = new Hideout(vLogger, this.databaseServer);
         hideout.updateHideout();
 
-        const insurance = new Insurance(this.logger, this.insuranceConfig);
+        const insurance = new Insurance(vLogger, this.insuranceConfig);
         insurance.updateInsurance();
 
-        const items = new Items(this.logger, this.databaseServer);
+        const items = new Items(vLogger, this.databaseServer);
         items.updateItems();
 
-        const loot = new Loot(this.logger, this.databaseServer, this.locationConfig);
-        loot.updateLoot();
+        const loot = new Loot(vLogger, this.databaseServer, this.locationConfig);
+        loot.updateLoot();      
 
-        const raid = new Raid(this.logger, this.databaseServer, this.inRaidConfig);
+        const raid = new Raid(vLogger, this.databaseServer, this.inRaidConfig);
         raid.updateRaid();
 
     }
diff --git a/Valens-AIO/src/raid.ts b/Valens-AIO/src/raid.ts
index ae02140..7deaffa 100644
--- a/Valens-AIO/src/raid.ts
+++ b/Valens-AIO/src/raid.ts
@@ -1,16 +1,16 @@
 import { IDatabaseTables } from "@spt-aki/models/spt/server/IDatabaseTables";
-import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
 import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
 import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig";
+import { Logger } from "./logger";
 
 export class Raid
 {
     private modConfig = require("../config/config.json")
-    private logger: ILogger;
+    private logger: Logger;
     private tables: IDatabaseTables;
     private inRaidConfig: IInRaidConfig;
 
-    constructor(logger:ILogger, databaseServer: DatabaseServer, inRaidConfig: IInRaidConfig)
+    constructor(logger:Logger, databaseServer: DatabaseServer, inRaidConfig: IInRaidConfig)
     {
         this.logger = logger;
         this.tables = databaseServer.getTables();
@@ -19,50 +19,63 @@ export class Raid
 
     updateRaid(): void
     {
-        if (this.modConfig.raid.fixOpenZones)
+        const mod = this.modConfig.raid;
+
+        if (mod.fixOpenZones)
         {
             this.fixOpenZones();
-            this.logger.info(`Open Zones: ${this.modConfig.raid.fixOpenZones}.`)
+            this.logger.info(`Open Zones: ${mod.fixOpenZones}.`)
         }
         
-        if (this.modConfig.raid.chompiesBossFix)
+        if (mod.chompiesBossFix)
         {
             this.chompiesBossFix();
-            this.logger.info(`Chompies Boss Fix: ${this.modConfig.raid.chompiesBossFix}.`)
+            this.logger.info(`Chompies Boss Fix: ${mod.chompiesBossFix}.`)
         }
 
-        if (this.modConfig.raid.timeLimit)
+        if (mod.timeLimit)
         {
-            this.raidTimeLimit();
-            this.logger.info(`Raid Time Limits set to ${this.modConfig.raid.timeLimit} minutes.`);
+            const maps = this.tables.locations;
+
+            for (const map in maps)
+            {
+                if (this.tables.locations[map].base?.EscapeTimeLimit)
+                {
+                    this.tables.locations[map].base.EscapeTimeLimit = this.modConfig.raid.timeLimit;
+                }
+            }
+            this.logger.info(`Raid Time Limits set to ${mod.timeLimit} minutes.`);
         }
 
-        if (this.modConfig.raid.aiAmount.toLowerCase() != "asonline"
-           ||this.modConfig.raid.aiDifficulty.toLowerCase() != "asonline"
-           ||this.modConfig.raid.bossEnabled != true
-           ||this.modConfig.raid.scavWars != false
-           ||this.modConfig.raid.taggedAndCursed != false
-           ||this.modConfig.raid.enablePve != false)
+        if (mod.aiAmount.toLowerCase() != "asonline" ||mod.aiDifficulty.toLowerCase() != "asonline" ||mod.bossEnabled != true
+           ||mod.scavWars != false ||mod.taggedAndCursed != false ||mod.enablePve != false)
         {
-            this.raidDifficulty();
-            this.logger.info(`AI Amount set to ${this.modConfig.raid.aiAmount}`);
-            this.logger.info(`AI Difficulty set to ${this.modConfig.raid.aiDifficulty}`);
-            this.logger.info(`Boss Enabled set to ${this.modConfig.raid.bossEnabled}`);
-            this.logger.info(`Scav Wars set to ${this.modConfig.raid.scavWars}`);
-            this.logger.info(`Tagged And Cursed set to ${this.modConfig.raid.taggedAndCursed}`);
-            this.logger.info(`Enable PvE set to ${this.modConfig.raid.enablePve}`);
+            const inRaidConfig = this.inRaidConfig;
+
+            inRaidConfig.raidMenuSettings["aiAmount"] = mod.aiAmount;
+            inRaidConfig.raidMenuSettings["aiDifficulty"] = mod.aiDifficulty;
+            inRaidConfig.raidMenuSettings["bossEnabled"] = mod.bossEnabled;
+            inRaidConfig.raidMenuSettings["scavWars"] = mod.scavWars;
+            inRaidConfig.raidMenuSettings["taggedAndCursed"] = mod.taggedAndCursed;
+            inRaidConfig.raidMenuSettings["enablePve"] = mod.enablePve;
+            this.logger.info(`AI Amount set to ${mod.aiAmount}`);
+            this.logger.info(`AI Difficulty set to ${mod.aiDifficulty}`);
+            this.logger.info(`Boss Enabled set to ${mod.bossEnabled}`);
+            this.logger.info(`Scav Wars set to ${mod.scavWars}`);
+            this.logger.info(`Tagged And Cursed set to ${mod.taggedAndCursed}`);
+            this.logger.info(`Enable PvE set to ${mod.enablePve}`);
         }
 
-        if (this.modConfig.raid.carExtractBaseStandingGain != 0.25)
+        if (mod.carExtractBaseStandingGain != 0.25)
         {
-            this.carExtractsGain();
-            this.logger.info(`Car Extract Base Standing Gain set to ${this.modConfig.raid.carExtractBaseStandingGain}`);
+            this.inRaidConfig.carExtractBaseStandingGain = mod.carExtractBaseStandingGain;
+            this.logger.info(`Car Extract Base Standing Gain set to ${mod.carExtractBaseStandingGain}`);
         }
 
-        if (this.modConfig.scavExtractGain != 0.01)
+        if (mod.scavExtractGain != 0.01)
         {
-            this.scavExtractGain();
-            this.logger.info(`Scav Extract Gain set to ${this.modConfig.raid.scavExtractGain}`);
+            this.inRaidConfig.scavExtractGain = mod.scavExtractGain;
+            this.logger.info(`Scav Extract Gain set to ${mod.scavExtractGain}`);
         }
     }
 
@@ -112,37 +125,4 @@ export class Raid
             spawn4.TriggerId = "autoId_00000_D2_LEVER";
         }
     }
-
-    private raidTimeLimit(): void
-    {
-        const maps = this.tables.locations;
-
-        for (const map in maps)
-        {
-            if (this.tables.locations[map].base?.EscapeTimeLimit)
-            {
-                this.tables.locations[map].base.EscapeTimeLimit = this.modConfig.raid.timeLimit;
-            }
-        }
-    }
-
-    private raidDifficulty(): void
-    {
-        this.inRaidConfig.raidMenuSettings["aiAmount"] = this.modConfig.raid.aiAmount;
-        this.inRaidConfig.raidMenuSettings["aiDifficulty"] = this.modConfig.raid.aiDifficulty;
-        this.inRaidConfig.raidMenuSettings["bossEnabled"] = this.modConfig.raid.bossEnabled;
-        this.inRaidConfig.raidMenuSettings["scavWars"] = this.modConfig.raid.scavWars;
-        this.inRaidConfig.raidMenuSettings["taggedAndCursed"] = this.modConfig.raid.taggedAndCursed;
-        this.inRaidConfig.raidMenuSettings["enablePve"] = this.modConfig.raid.enablePve;
-    }
-
-    private carExtractsGain(): void
-    {
-        this.inRaidConfig.carExtractBaseStandingGain = this.modConfig.raid.carExtractBaseStandingGain;
-    }
-
-    private scavExtractGain(): void
-    {
-        this.inRaidConfig.scavExtractGain = this.modConfig.raid.scavExtractGain;
-    }
 }
diff --git a/Valens-AIO/tmp/airdrop.js b/Valens-AIO/tmp/airdrop.js
new file mode 100644
index 0000000..bfe7c5d
--- /dev/null
+++ b/Valens-AIO/tmp/airdrop.js
@@ -0,0 +1,45 @@
+/*import { IDatabaseTables } from "@spt-aki/models/spt/server/IDatabaseTables";
+import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
+import { IAirdropConfig } from "@spt-aki/models/spt/config/IAirdropConfig";
+import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
+
+export class Airdrop
+{
+    private modConfig = require("../config/config.jsonc");
+    private logger: ILogger;
+    private tables: IDatabaseTables;
+    private airdropConfig: IAirdropConfig;
+
+    constructor(logger: ILogger, databaseServer: DatabaseServer, airdropConfig: IAirdropConfig)
+    {
+        this.logger = logger;
+        this.tables = databaseServer.getTables();
+        this.airdropConfig = airdropConfig;
+    }
+    
+    public updateAirdrops();
+    {
+        if (this.modConfig.airdropChancePercent != 25)
+        {
+            this.airdropChance();
+            this.logger.info(`Customs Airdrop Chance is ${this.modConfig.airdrop.airdropChancePercent.bigmap}`);
+            this.logger.info(`Woods Airdrop Chance is ${this.modConfig.airdrop.airdropChancePercent.woods}`);
+            this.logger.info(`Lighthouse Airdrop Chance is ${this.modConfig.airdrop.airdropChancePercent.lighthouse}`);
+            this.logger.info(`Shoreline Airdrop Chance is ${this.modConfig.airdrop.airdropChancePercent.shoreline}`);
+            this.logger.info(`Interchange Airdrop Chance is ${this.modConfig.airdrop.airdropChancePercent.interchange}`);
+            this.logger.info(`Reserve Airdrop Chance is ${this.modConfig.airdrop.airdropChancePercent.reserve}`);
+        }
+    }
+    
+    private airdropChance();
+    {
+        this.airdropConfig.airdropChancePercent["bigmap"] = this.modConfig.airdrop.airdropChancePercent.bigmap;
+        this.airdropConfig.airdropChancePercent["woods"] = this.modConfig.airdrop.airdropChancePercent.woods;
+        this.airdropConfig.airdropChancePercent["lighthouse"] = this.modConfig.airdrop.airdropChancePercent.lighthouse;
+        this.airdropConfig.airdropChancePercent["shoreline"] = this.modConfig.airdrop.airdropChancePercent.shoreline;
+        this.airdropConfig.airdropChancePercent["interchange"] = this.modConfig.airdrop.airdropChancePercent.interchange;
+        this.airdropConfig.airdropChancePercent["reserve"] = this.modConfig.airdrop.airdropChancePercent.reserve;
+
+    }
+}
+*/ 
diff --git a/Valens-AIO/tmp/ammo.js b/Valens-AIO/tmp/ammo.js
new file mode 100644
index 0000000..92cd1da
--- /dev/null
+++ b/Valens-AIO/tmp/ammo.js
@@ -0,0 +1,259 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.Ammo = void 0;
+const JsonUtil_1 = require("@spt-aki/utils/JsonUtil");
+class Ammo {
+    constructor(logger, databaseServer) {
+        this.modConfig = require("../config/config.json");
+        this.logger = logger;
+        this.databaseServer = databaseServer;
+    }
+    updateAmmo() {
+        const items = Object.values(this.databaseServer.getTables().templates.items);
+        const mod = JsonUtil_1.JsonUtil.bind(this.modConfig.ammo);
+        /**
+         * Grenade Launcher Ammo Max Stacks
+         *
+         * 5ede475b549eed7c6d5c18fb = M386 (HE) grenade
+         * 5ede475339ee016e8c534742 = M576 (MP-APERS) grenade
+         * 5f0c892565703e5c461894e9 = M433 (HEDP) grenade
+         * 5ede4739e0350d05467f73e8 = M406 (HE) grenade
+         * 5ede474b0c226a66f5402622 = M381 (HE) grenade
+         * 5ede47405b097655935d7d16 = M441 (HE) grenade
+         */
+        if (this.modConfig.ammoStacks.grenadeCartridges != 1) {
+            const itemArray = ["5ede475b549eed7c6d5c18fb", "5ede475339ee016e8c534742", "5f0c892565703e5c461894e9", "5ede4739e0350d05467f73e8", "5ede474b0c226a66f5402622", "5ede47405b097655935d7d16"];
+            for (const id in itemArray) {
+                items[id]._props.StackMaxSize = mod.ammoStacks.grenadeCartridges;
+                this.logger.info(`Grenade Cartridges Max Stacks set to ${mod.ammoStacks.grenadeCartridges}`);
+            }
+        }
+        /**
+          * Marksman Caliber Ammo Max Stacks // 17
+          *
+          * 5a608bf24f39f98ffc77720e = 7.62x51 M62 Tracer // 7
+          * 58dd3ad986f77403051cba8f = M80
+          * 5a6086ea4f39f99cd479502f = M61
+          * 5e023e53d4353e3302577c4c = BCP FMJ
+          * 5e023e88277cce2b522ff2b1 = Ultra Nosler
+          * 5e023e6e34d52a55c3304f71 = TCW SP
+          * 5e023e6e34d52a55c3304f71 = M993
+          *
+          * 560d61e84bdc2da74d8b4571 = 7.62x54 R SNB gzh // 6
+          * 5887431f2459777e1612938f = R LPS gzh
+          * 59e77a2386f7742ee578960a = R PS gzh
+          * 5e023cf8186a883be655e54f = T-46M gzh
+          * 5e023d34e8a400319a28ed44 = BT gzh
+          * 5e023d48186a883be655e551 = BS gzh
+          *
+          * 5fc382b6d6fa9c00c571bbc3 = .338 LM TAC-X // 4
+          * 5fc382c1016cce60e8341b20 = UCW
+          * 5fc382a9d724d907e2077dab = AP
+          * 5fc275cf85fd526b824a571a = FMJ
+          */
+        if (mod.ammoStacks.marksmanCartridges != 40) {
+            const itemArray = ["5a608bf24f39f98ffc77720e", "58dd3ad986f77403051cba8f", "5a6086ea4f39f99cd479502f", "5e023e53d4353e3302577c4c", "5e023e88277cce2b522ff2b1", "5e023e6e34d52a55c3304f71",
+                "5e023e6e34d52a55c3304f71", "560d61e84bdc2da74d8b4571", "5887431f2459777e1612938f", "59e77a2386f7742ee578960a", "5e023cf8186a883be655e54f", "5e023d34e8a400319a28ed44",
+                "5e023d48186a883be655e551", "5fc382b6d6fa9c00c571bbc3", "5fc382c1016cce60e8341b20", "5fc382a9d724d907e2077dab", "5fc275cf85fd526b824a571a"];
+            for (const id in itemArray) {
+                items[id]._props.StackMaxSize = mod.ammoStacks.marksmanCartridges;
+                this.logger.info(`Marksman Cartridges Max Stacks set to ${mod.ammoStacks.marksmanCartridges}`);
+            }
+        }
+        /**
+          * Pistol Caliber Ammo Max Stacks // 53
+          *
+          * 5ba26835d4351e0035628ff5 = 4.6x30mm AP SX // 4
+          * 5ba26812d4351e003201fef1 = Action SX
+          * 5ba2678ad4351e44f824b344 = FMJ SX
+          * 5ba26844d4351e00334c9475 = Subsonic SX
+          *
+          * 5cc80f79e4a949033c7343b2 = 5.7x28mm SS198LF // 7
+          * 5cc86832d7f00c000d3a6e6c = R37.F
+          * 5cc80f38e4a949001152b560 = SS190
+          * 5cc86840d7f00c002412c56c = R37.X
+          * 5cc80f53e4a949000e1ea4f8 = L191
+          * 5cc80f8fe4a949033b0224a2 = SS197SR
+          * 5cc80f67e4a949035e43bbba = SB193
+          *
+          * 5735ff5c245977640e39ba7e = 7.62x25mm TT FMJ43 // 7
+          * 573601b42459776410737435 = LRN
+          * 5736026a245977644601dc61 = P gl
+          * 573603562459776430731618 = Pst gzh
+          * 573602322459776445391df1 = LRNPC
+          * 5735fdcd2459776445391d61 = AKBS
+          * 573603c924597764442bd9cb - PT gzh
+          *
+          * 5737218f245977612125ba51 = 9x18mm PM SP8 gzh // 14
+          * 573719762459775a626ccbc1 = P gzh
+          * 57371aab2459775a77142f22 = PstM gzh
+          * 573720e02459776143012541 = RG028 gzh
+          * 573718ba2459775a75491131 = BZhT gzh
+          * 5737207f24597760ff7b25f2 = PM PSV
+          * 57372140245977611f70ee91 = SP7 gzh
+          * 573719df2459775a626ccbc2 = PBM gzh
+          * 57371f8d24597761006c6a81 = PSO gzh
+          * 5737201124597760fc4431f1 = Pst gzh
+          * 57371f2b24597761224311f1 = PS gs PPO
+          * 57371eb62459776125652ac1 = PRS gs
+          * 57371e4124597760ff7b25f1 = PPT gzh
+          * 57371b192459775a9f58a5e0 = PPe gzh
+          *
+          * 58864a4f2459770fcc257101 = 9x19mm PSO gzh // 8
+          * 56d59d3ad2720bdb418b4577 = Pst gzh
+          * 5c3df7d588a4501f290594e5 = Green tracer
+          * 5c0d56a986f774449d5de529 = RIP
+          * 5c925fa22e221601da359b7b = AP 6.3
+          * 5a3c16fe86f77452b62de32a = Luger CCI
+          * 5efb0da7a29a85116f6ea05f = PBP gzh
+          * 5efb0e16aeb21837e749c7ff = Quakemaker
+          *
+          * 5a26abfac4a28232980eabff = 9x21mm P gzh // 4
+          * 5a269f97c4a282000b151807 = PS gzh
+          * 5a26ac06c4a282000c5a90a8 = PE gzh
+          * 5a26ac0ec4a28200741e1e18 = BT gzh
+          *
+          * 62330b3ed4dc74626d570b95 = .357 Mag FMJ // 4
+          * 62330bfadc5883093563729b = Hollow Point
+          * 62330c40bdd19b369e1e53d1 = Soft Point
+          * 62330c18744e5e31df12f516 = Jacket HP
+          *
+          * 5e81f423763d9f754677bf2e = .45 ACP Match FMJ // 5
+          * 5efb0fc6aeb21837e749c801 = Hydra-Shok
+          * 5efb0d4f4bc50b58e81710f3 = Lasermatch FMJ
+          * 5efb0cabfb3e451d70735af5 = AP
+          * 5ea2a8e200685063ec28c05a = RIP
+          */
+        if (mod.ammoStacks.pistolCartridges != 50) {
+            const itemArray = ["5ba26835d4351e0035628ff5", "5ba26812d4351e003201fef1", "5ba2678ad4351e44f824b344", "5ba26844d4351e00334c9475", "5cc80f79e4a949033c7343b2", "5cc86832d7f00c000d3a6e6c",
+                "5cc80f38e4a949001152b560", "5cc86840d7f00c002412c56c", "5cc80f53e4a949000e1ea4f8", "5cc80f8fe4a949033b0224a2", "5cc80f67e4a949035e43bbba", "5735ff5c245977640e39ba7e",
+                "573601b42459776410737435", "5736026a245977644601dc61", "573603562459776430731618", "573602322459776445391df1", "5735fdcd2459776445391d61", "573603c924597764442bd9cb",
+                "5737218f245977612125ba51", "573719762459775a626ccbc1", "57371aab2459775a77142f22", "573720e02459776143012541", "573718ba2459775a75491131", "5737207f24597760ff7b25f2",
+                "57372140245977611f70ee91", "573719df2459775a626ccbc2", "57371f8d24597761006c6a81", "5737201124597760fc4431f1", "57371f2b24597761224311f1", "57371eb62459776125652ac1", "57371e4124597760ff7b25f1", "57371b192459775a9f58a5e0",
+                "58864a4f2459770fcc257101", "56d59d3ad2720bdb418b4577", "5c3df7d588a4501f290594e5", "5c0d56a986f774449d5de529", "5c925fa22e221601da359b7b", "5a3c16fe86f77452b62de32a",
+                "5efb0da7a29a85116f6ea05f", "5efb0e16aeb21837e749c7ff", "5a26abfac4a28232980eabff", "5a269f97c4a282000b151807", "5a26ac06c4a282000c5a90a8", "5a26ac0ec4a28200741e1e18",
+                "62330b3ed4dc74626d570b95", "62330bfadc5883093563729b", "62330c40bdd19b369e1e53d1", "62330c18744e5e31df12f516", "5e81f423763d9f754677bf2e", "5efb0fc6aeb21837e749c801",
+                "5efb0d4f4bc50b58e81710f3", "5efb0cabfb3e451d70735af5", "5ea2a8e200685063ec28c05a"];
+            for (const id in itemArray) {
+                items[id]._props.StackMaxSize = mod.ammoStacks.pistolCartridges;
+                this.logger.info(`Pistol Cartridges Max Stacks set to ${mod.ammoStacks.pistolCartridges}`);
+            }
+        }
+        /**
+          * Rifle Calibers Max Ammo Stacks // 47
+          *
+          * 56dff3afd2720bba668b4567 = 5.45x39mm PS gs // 13
+          * 56dff421d2720b5f5a8b4567 = SP
+          * 5c0d5e4486f77478390952fe = PPBS gs "Igolnik"
+          * 56dff338d2720bbd668b4569 = PRS gs
+          * 56dff061d2720bb5668b4567 = BT gs
+          * 56dff4ecd2720b5f5a8b4568 = US gs
+          * 56dfef82d2720bbd668b4567 = BP gs
+          * 56dff216d2720bbd668b4568 = HP
+          * 56dff026d2720bb8668b4567 = BS gs
+          * 56dff4a2d2720bbd668b456a = T gs
+          * 56dff2ced2720bb4668b4567 = PP gs
+          * 56dff0bed2720bb0668b4567 = FMJ
+          *
+          * 59e68f6f86f7746c9f75e846 = 5.56x45mm M856 // 11
+          * 59e6918f86f7746c9f75e849 = Mk255 Mod 0 (RRLP)
+          * 59e690b686f7746c9f75e848 = M995
+          * 54527ac44bdc2d36668b4567 = M855A1
+          * 59e6906286f7746c9f75e847 = M856A1
+          * 54527a984bdc2d4e668b4567 = M855
+          * 59e6927d86f77411da468256 = HP
+          * 59e6920f86f77411d82aa167 = FMJ
+          * 5c0d5ae286f7741e46554302 = Warmage
+          * 60194943740c5d77f6705eea = MK 318 Mod 0 (SOST)
+          * 601949593ae8f707c4608daa = SSA AP
+          *
+          * 619636be6db0f2477964e710 = .300 Blackout M62 Tracer // 5
+          * 5fbe3ffdf8b6a877a729ea82 = BCP FMJ
+          * 5fd20ff893a8961fc660a954 = AP
+          * 6196364158ef8c428c287d9f = V-Max
+          * 6196365d58ef8c428c287da1 = Whisper
+          *
+          * 5656d7c34bdc2d9d198b4587 = 7.62x39mm PS gzh // 6
+          * 59e4d3d286f774176a36250a = HP
+          * 59e4d24686f7741776641ac7 = US gzh
+          * 59e4cf5286f7741778269d8a = T-45M1 gzh
+          * 59e0d99486f7744a32234762 = BP gzh
+          * 601aa3d2b2bcb34913271e6d = MAI AP
+          *
+          * 57a0dfb82459774d3078b56c = 9x39mm SP-5 gs // 5
+          * 5c0d688c86f77413ae3407b2 = BP gs
+          * 57a0e5022459774d1673f889 = SP-6 gs
+          * 5c0d668f86f7747ccb7f13b2 = SPP gs
+          * 61962d879bb3d20b0946d385 = PAB-9 gs
+          *
+          * 59e6542b86f77411dc52a77a = .366 TKM FMJ // 4
+          * 59e6658b86f77411d949b250 = Geksa
+          * 59e655cb86f77411dc52a77b = EKO
+          * 5f0596629e22f464da6bbdd9 = AP-M
+          *
+          * 5cadf6ddae9215051e1c23b2 = 12.7x55mm PS12 // 3
+          * 5cadf6eeae921500134b2799 = PS12B
+          * 5cadf6e5ae921500113bb973 = PS12A
+          */
+        if (mod.ammoStacks.rifleCartridges != 60) {
+            const itemArray = ["56dff3afd2720bba668b4567", "56dff421d2720b5f5a8b4567", "5c0d5e4486f77478390952fe", "56dff338d2720bbd668b4569", "56dff061d2720bb5668b4567", "56dff4ecd2720b5f5a8b4568",
+                "56dfef82d2720bbd668b4567", "56dff216d2720bbd668b4568", "56dff026d2720bb8668b4567", "56dff4a2d2720bbd668b456a", "56dff2ced2720bb4668b4567", "56dff0bed2720bb0668b4567", "59e68f6f86f7746c9f75e846",
+                "59e6918f86f7746c9f75e849", "59e690b686f7746c9f75e848", "54527ac44bdc2d36668b4567", "59e6906286f7746c9f75e847", "54527a984bdc2d4e668b4567", "59e6927d86f77411da468256", "59e6920f86f77411d82aa167",
+                "5c0d5ae286f7741e46554302", "60194943740c5d77f6705eea", "601949593ae8f707c4608daa", "619636be6db0f2477964e710", "5fbe3ffdf8b6a877a729ea82", "5fd20ff893a8961fc660a954", "6196364158ef8c428c287d9f",
+                "6196365d58ef8c428c287da1", "5656d7c34bdc2d9d198b4587", "59e4d3d286f774176a36250a", "59e4d24686f7741776641ac7", "59e4cf5286f7741778269d8a", "59e0d99486f7744a32234762", "601aa3d2b2bcb34913271e6d",
+                "57a0dfb82459774d3078b56c", "5c0d688c86f77413ae3407b2", "57a0e5022459774d1673f889", "5c0d668f86f7747ccb7f13b2", "61962d879bb3d20b0946d385", "59e6542b86f77411dc52a77a", "59e6658b86f77411d949b250",
+                "59e655cb86f77411dc52a77b", "5f0596629e22f464da6bbdd9", "5cadf6ddae9215051e1c23b2", "5cadf6eeae921500134b2799", "5cadf6e5ae921500113bb973"];
+            for (const id in itemArray) {
+                items[id]._props.StackMaxSize = mod.ammoStacks.rifleCartridges;
+                this.logger.info(`Rifle Cartridges Max Stacks set to ${mod.ammoStacks.rifleCartridges}`);
+            }
+        }
+        /**
+          * Shotgun Cartridges Max Ammo Stacks // 28
+          *
+          * 560d5e524bdc2d25448b4571 = 12x70 7mm Buckshot // 16
+          * 5d6e6806a4b936088465b17e = 8.5mm Magnum
+          * 5c0d591486f7744c505b416f = RIP
+          * 5d6e68c4a4b9361b93413f79 = .50 BMG Slug
+          * 5d6e6772a4b936088465b17c = 5.25mm Buckshot
+          * 5d6e67fba4b9361bc73bc779 = 6.5mm Express
+          * 5d6e6911a4b9361bd5780d52 = Flechette
+          * 5d6e68e6a4b9361c140bcfe0 = FTX Custom Lite slug
+          * 5d6e68a8a4b9360b6c0d54e2 = AP-20 armor-piercing slug
+          * 5d6e68dea4b9361bcc29e659 = Dual sabot slug
+          * 5d6e689ca4b9361bc8618956 = Poleva-6u slug
+          * 5d6e6891a4b9361bd473feea = Poleva 3 slug
+          * 5d6e6869a4b9361c140bcfde = Grizzly 40 slug
+          * 5d6e68d1a4b93622fe60e845 = SuperFormance HP slug
+          * 5d6e68b3a4b9361bca7e50b5 = Copper Sabot Premier HP slug
+          * 58820d1224597753c90aeb13 = lead slug
+          *
+          * 5a38ebd9c4a282000d722a5b = 20x70 7.5mm Buckshot // 8
+          * 5d6e6a05a4b93618084f58d0 = Star slug
+          * 5d6e69c7a4b9360b6c0d54e4 = 7.3mm buckshot
+          * 5d6e6a5fa4b93614ec501745 = Devastator slug
+          * 5d6e695fa4b936359b35d852 = 5.6mm buckshot
+          * 5d6e6a42a4b9364f07165f52 = Poleva-6u slug
+          * 5d6e6a53a4b9361bd473feec = Poleva-3 slug
+          * 5d6e69b9a4b9361bc8618958 = 6.2mm buckshot
+          *
+          * 5e85a9a6eacf8c039e4e2ac1 = 23x75mm Shrapnel-10 buckshot // 4
+          * 5f647f31b6238e5dd066e196 = Shrapnel-25 buckshot
+          * 5e85a9f4add9fe03027d9bf1 = Zvezda flashbang round
+          * 5e85aa1a988a8701445df1f5 = Barrikada slug
+          *
+          */
+        if (mod.ammoStacks.shotgunCartridges != 20) {
+            const itemArray = ["560d5e524bdc2d25448b4571", "5d6e6806a4b936088465b17e", "5c0d591486f7744c505b416f", "5d6e68c4a4b9361b93413f79", "5d6e6772a4b936088465b17c", "5d6e67fba4b9361bc73bc779",
+                "5d6e6911a4b9361bd5780d52", "5d6e68e6a4b9361c140bcfe0", "5d6e68a8a4b9360b6c0d54e2", "5d6e68dea4b9361bcc29e659", "5d6e689ca4b9361bc8618956", "5d6e6891a4b9361bd473feea",
+                "5d6e6869a4b9361c140bcfde", "5d6e68d1a4b93622fe60e845", "5d6e68b3a4b9361bca7e50b5", "58820d1224597753c90aeb13", "5a38ebd9c4a282000d722a5b", "5d6e6a05a4b93618084f58d0",
+                "5d6e69c7a4b9360b6c0d54e4", "5d6e6a5fa4b93614ec501745", "5d6e695fa4b936359b35d852", "5d6e6a42a4b9364f07165f52", "5d6e6a53a4b9361bd473feec", "5d6e69b9a4b9361bc8618958",
+                "5e85a9a6eacf8c039e4e2ac1", "5f647f31b6238e5dd066e196", "5e85a9f4add9fe03027d9bf1", "5e85aa1a988a8701445df1f5"];
+            for (const id in itemArray) {
+                items[id]._props.StackMaxSize = mod.ammoStacks.shotgunCartridges;
+                this.logger.info(`Shotgun Cartridges Max Stacks set to ${mod.ammoStacks.shotgunCartridges}`);
+            }
+        }
+    }
+}
+exports.Ammo = Ammo;
diff --git a/Valens-AIO/tmp/bots.js b/Valens-AIO/tmp/bots.js
new file mode 100644
index 0000000..52aba84
--- /dev/null
+++ b/Valens-AIO/tmp/bots.js
@@ -0,0 +1,101 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.Bots = void 0;
+const JsonUtil_1 = require("@spt-aki/utils/JsonUtil");
+class Bots {
+    constructor(logger, databaseServer, botConfig) {
+        this.modConfig = require("../config/config.json");
+        this.logger = logger;
+        this.botConfig = botConfig;
+        this.tables = databaseServer.getTables();
+    }
+    updateBots() {
+        const mod = JsonUtil_1.JsonUtil.bind(this.modConfig.bots);
+        // Changes PMC difficulty to Easy, Normal, Hard, Impossible or AsOnline. Default AsOnline.
+        if (mod.pmc.pmcDifficulty.toLowerCase() != "AsOnline") {
+            this.botConfig.pmc.difficulty = mod.pmcDifficulty;
+            this.logger.info(`PMC Bot Difficulty set to ${mod.pmcDifficulty}`);
+        }
+        // Enables common and secure containers to spawn on PMCs while additionally whitelisting the parent IDs. Rarity adjusted via PMC lootNValue. Default true.
+        if (mod.pmc.containersOnPMCs) {
+            this.containersOnPMCs();
+            this.logger.info(`Containers On PMCs: ${mod.pmc.containersOnPMCs}`);
+        }
+        // Chance that PMC bot will be USEC or BEAR. Higher value means higher chance for the PMC to be USEC. Default is 50%
+        if (mod.pmc.isUsec != 50) {
+            this.botConfig.pmc.isUsec = mod.isUsec;
+            this.logger.info(`PMC isUsec Chance is: ${mod.isUsec}`);
+        }
+        // Max Loot Value in Rubles for PMC bots in Backpack, Pockets, and Vest respectively. Default is 150,000/50,000/50,000
+        if (mod.pmc.maxBackpackLootTotalRub != 150000
+            || mod.pmc.maxPocketLootTotalRub != 50000
+            || mod.pmc.maxVestLootTotalRub != 50000) {
+            this.botConfig.pmc.maxBackpackLootTotalRub = mod.pmc.maxBackpackLootTotalRub;
+            this.botConfig.pmc.maxPocketLootTotalRub = mod.pmc.maxPocketLootTotalRub;
+            this.botConfig.pmc.maxVestLootTotalRub = mod.pmc.maxVestLootTotalRub;
+            this.logger.info("PMC Loot Value totals changed!");
+            this.logger.info(`Max Backpack Total Value: ${mod.pmc.maxBackpackLootTotalRub}`);
+            this.logger.info(`Max Pocket Total Value: ${mod.pmc.maxPocketLootTotalRub}`);
+            this.logger.info(`Max Vest Total Value: ${mod.pmc.maxVestLootTotalRub}`);
+        }
+        // Chance that the PMC bot of your side (BEAR/USEC) will be hostile or not. Default is 50%.
+        if (mod.pmc.chanceSameSideIsHostilePercent != 50) {
+            this.botConfig.pmc.chanceSameSideIsHostilePercent = mod.pmc.chanceSameSideIsHostilePercent;
+            this.logger.info(`Chance Same Side Is Hostle is ${mod.pmc.chanceSameSideIsHostilePercent}`);
+        }
+        // Max Bot Cap located in configs/bot.json/maxBotCap
+        if (mod.maxBotCap != 20) {
+            this.botConfig.maxBotCap = mod.maxBotCap;
+            this.logger.info(`Bot Cap is now ${mod.maxBotCap}`);
+        }
+        if (mod.pmc.lootNValue != 1.7 || mod.scav.lootNValue != 2) {
+            this.botConfig.lootNValue.scav = mod.scav.lootNValue;
+            this.botConfig.lootNValue.pmc = mod.pmc.lootNValue;
+            this.logger.info("Loot NValue for bots has been changed!");
+            this.logger.info(`Scav lootNValue set to ${mod.scav.lootNValue}`);
+            this.logger.info(`PMC lootNValue set to ${mod.pmc.lootNValue}`);
+        }
+    }
+    containersOnPMCs() {
+        const usec = this.tables.bots.types.usec.inventory.items.Backpack;
+        const bear = this.tables.bots.types.bear.inventory.items.Backpack;
+        usec.push(...this.containers());
+        bear.push(...this.containers());
+        const dynaLoot = this.botConfig.pmc.dynamicLoot.whitelist;
+        dynaLoot.push("5448bf274bdc2dfc2f8b456a");
+        dynaLoot.push("5795f317245977243854e041");
+    }
+    containers() {
+        /* Container  "id"s
+        *
+        * S I C C pouch: 5d235bb686f77443f4331278
+        * Magazine Case: 5c127c4486f7745625356c13
+        * Weapon Case: 59fb023c86f7746d0d4b423c
+        * T H I C C Weapon Case: 5b6d9ce188a4501afc1b2b25
+        * Item Case: 59fb042886f7746c5005a7b2
+        * T H I C C Item Case: 5c0a840b86f7742ffa4f2482
+        * Money case: 59fb016586f7746d0d4b423a
+        * Mr Holodilnick Thermal Bag: 5c093db286f7740a1b2617e3
+        * Medicine case: 5aafbcd986f7745e590fff23
+        * Lucky scav junkbox: 5b7c710788a4506dec015957
+        * Grenade case: 5e2af55f86f7746d4159f07c
+        * Ammunition case: 5aafbde786f774389d0cbc0f
+        * Documents case: 590c60fc86f77412b13fddcf
+        * Key tool: 59fafd4b86f7745ca07e123
+        * Injector case: 619cbf7d23893217ec30b689
+        * Dogtag case: 5c093e3486f77430cb02e593
+        * Keycard holder: 619cbf9e0a7c3a1a2731940a
+        * WZ Wallet: 60b0f6c058e0b0481a09ad11
+        * Pistol case: 567143bf4bdc2d1a0f8b4567
+        * Secure container: 5448bf274bdc2dfc2f8b456a
+        * Kappa container: 5c093ca986f7740a1867ab12
+        * Gamme container: 60b0f6c058e0b0481a09ad11
+        */
+        const lootItems = ["5d235bb686f77443f4331278", "5c127c4486f7745625356c13", "59fb023c86f7746d0d4b423c", "5b6d9ce188a4501afc1b2b25", "59fb042886f7746c5005a7b2", "5c0a840b86f7742ffa4f2482",
+            "59fb016586f7746d0d4b423a", "5c093db286f7740a1b2617e3", "5aafbcd986f7745e590fff23", "5b7c710788a4506dec015957", "5e2af55f86f7746d4159f07c", "5448bf274bdc2dfc2f8b456a", "5c093ca986f7740a1867ab12",
+            "5aafbde786f774389d0cbc0f", "590c60fc86f77412b13fddcf", "59fafd4b86f7745ca07e1232", "619cbf7d23893217ec30b689", "619cbf9e0a7c3a1a2731940a", "5c093e3486f77430cb02e593", "60b0f6c058e0b0481a09ad11",
+            "567143bf4bdc2d1a0f8b4567", "60b0f6c058e0b0481a09ad11", "59db794186f77448bc595262", "5857a8b324597729ab0a0e7d"];
+        return lootItems;
+    }
+}
+exports.Bots = Bots;
diff --git a/Valens-AIO/tmp/flea.js b/Valens-AIO/tmp/flea.js
new file mode 100644
index 0000000..c15190a
--- /dev/null
+++ b/Valens-AIO/tmp/flea.js
@@ -0,0 +1,56 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.Flea = void 0;
+const JsonUtil_1 = require("@spt-aki/utils/JsonUtil");
+class Flea {
+    constructor(logger, ragfairConfig, tables) {
+        this.modConfig = require("../config/config.json");
+        this.logger = logger;
+        this.ragfairConfig = ragfairConfig;
+        this.tables = tables;
+    }
+    updateFlea() {
+        const mod = JsonUtil_1.JsonUtil.bind(this.modConfig.flea);
+        const global = this.tables.globals.config.RagFair;
+        const ragfair = this.ragfairConfig.dynamic;
+        if (mod.minUserLevel != 15) {
+            global.minUserLevel = mod.minUserLevel;
+            this.logger.info(`Fleamarket unlocked at level ${mod.minUserLevel}`);
+        }
+        if (!mod.blacklist.enableBsgList || !mod.blacklist.enableQuestList) {
+            ragfair.blacklist.enableBsgList = mod.blacklist.enableBsgList;
+            ragfair.blacklist.enableQuestList = mod.blacklist.enableQuestList;
+            this.logger.info("Fleamarket Blacklists patched");
+        }
+        if (mod.condition.conditionChance != 0.2 || mod.condition.min != 0.6 || mod.condition.max != 1) {
+            ragfair.condition.conditionChance = mod.conditionChance;
+            ragfair.condition.min = mod.min;
+            ragfair.condition.max = mod.max;
+            this.logger.info("Fleamarket Condition patched");
+        }
+        if (mod.currencies.roubles != 78 || mod.currencies.dollars != 20 || mod.currencies.euros != 2) {
+            ragfair.currencies["5449016a4bdc2d6f028b456f"] = mod.currencies.roubles;
+            ragfair.currencies["5696686a4bdc2da3298b456a"] = mod.currencies.dollars;
+            ragfair.currencies["569668774bdc2da2298b4568"] = mod.currencies.euros;
+            this.logger.info("Fleamarket Currencies patched");
+        }
+        if (mod.offerItemCount.min != 8 || mod.offerItemCount.max != 15) {
+            ragfair.offerItemCount.min = mod.offerItemCount.min;
+            ragfair.offerItemCount.max = mod.offerItemCount.max;
+            this.logger.info("Fleamarket Offer Item Count patched");
+        }
+        if (mod.reputation.gain != 0.0000002 || mod.reputation.loss != 0.0000002) {
+            ragfair.offerItemCount.min = mod.offerItemCount.min;
+            ragfair.offerItemCount.max = mod.offerItemCount.max;
+            this.logger.info("Fleamarket Reputation patched");
+        }
+        if (mod.time.baseSellTime != 15 || mod.time.minSellTime != 5 || mod.time.maxSellTime != 15) {
+            const sell = this.ragfairConfig.sell;
+            sell.time.base = mod.time.baseSellTime;
+            sell.time.min = mod.time.minSellTime;
+            sell.time.max = mod.time.maxSellTime;
+            this.logger.info("Fleamarket Sell Times patched");
+        }
+    }
+}
+exports.Flea = Flea;
diff --git a/Valens-AIO/tmp/globals.js b/Valens-AIO/tmp/globals.js
new file mode 100644
index 0000000..951145e
--- /dev/null
+++ b/Valens-AIO/tmp/globals.js
@@ -0,0 +1,50 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.Globals = void 0;
+const JsonUtil_1 = require("@spt-aki/utils/JsonUtil");
+class Globals {
+    constructor(logger, databaseServer) {
+        this.modConfig = require("../config/config.json");
+        this.logger = logger;
+        this.databaseServer = databaseServer;
+    }
+    updateGlobals() {
+        const mod = JsonUtil_1.JsonUtil.bind(this.modConfig.globals);
+        const global = this.databaseServer.getTables().globals;
+        if (mod.damagePerMeter != 9 || mod.safeHeight != 3) {
+            global.config.Health.Falling.DamagePerMeter = mod.damagePerMeter;
+            global.config.Health.Falling.SafeHeight = mod.safeHeight;
+            this.logger.info(`Safe Fall Height set to ${mod.safeHeight} meters`);
+            this.logger.info(`Damage Per Meter set to ${mod.damagePerMeter} meters`);
+        }
+        if (mod.maxLoyaltyTraders) {
+            global.config.MaxLoyaltyLevelForAll = mod.maxLoyaltyTraders;
+            this.logger.info(`Max Loyalty Traders is: ${mod.maxLoyaltyTraders}`);
+        }
+        if (mod.timeBeforeDeployLocal != 10) {
+            global.config.TimeBeforeDeployLocal = mod.timeBeforeDeployLocal;
+            this.logger.info(`Time Before Deploy set to: ${mod.timeBeforeDeployLocal}`);
+        }
+        if (mod.match_end.survived_exp_requirement != 200 || mod.match_end.survived_seconds_requirement != 420 || mod.match_end.survived_exp_reward != 300
+            || mod.match_end.mia_exp_reward != 200 || mod.match_end.runner_exp_reward != 200 || mod.match_end.leftMult != 0
+            || mod.match_end.miaMult != 1 || mod.match_end.survivedMult != 1.3 || mod.match_end.runnerMult != 0.5
+            || mod.match_end.killedMult != 1 || mod.match_end.headShotMult != 1.2 || mod.match_end.expOnDamageAllHealth != 50) {
+            const global1 = this.databaseServer.getTables().globals.config.exp.match_end;
+            const mod = this.modConfig.globals.match_end;
+            global1.survived_exp_requirement = mod.survived_exp_requirement;
+            global1.survived_seconds_requirement = mod.survived_seconds_requirement;
+            global1.survived_exp_reward = mod.survived_exp_reward;
+            global1.mia_exp_reward = mod.mia_exp_reward;
+            global1.runner_exp_reward = mod.runner_exp_reward;
+            global1.leftMult = mod.leftMult;
+            global1.miaMult = mod.miaMult;
+            global1.survivedMult = mod.survivedMult;
+            global1.runnerMult = mod.runnerMult;
+            global1.killedMult = mod.killedMult;
+            this.databaseServer.getTables().globals.config.exp.kill.headShotMult = mod.headShotMult;
+            this.databaseServer.getTables().globals.config.exp.kill.expOnDamageAllHealth = mod.expOnDamageAllHealth;
+            this.logger.info("Match End Globals Patched");
+        }
+    }
+}
+exports.Globals = Globals;
diff --git a/Valens-AIO/tmp/hideout.js b/Valens-AIO/tmp/hideout.js
new file mode 100644
index 0000000..5322841
--- /dev/null
+++ b/Valens-AIO/tmp/hideout.js
@@ -0,0 +1,56 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.Hideout = void 0;
+const JsonUtil_1 = require("@spt-aki/utils/JsonUtil");
+class Hideout {
+    constructor(logger, databaseServer) {
+        this.modConfig = require("../config/config.json");
+        this.logger = logger;
+        this.databaseServer = databaseServer;
+    }
+    updateHideout() {
+        const mod = JsonUtil_1.JsonUtil.bind(this.modConfig.hideout);
+        if (mod.constructionTime != 1) {
+            this.updateConstructionTime();
+            this.logger.info(`Construction Time Patched to ${mod.constructionTime} `);
+        }
+        if (mod.productionTime != 1) {
+            this.updateProductionTime();
+            this.logger.info(`Production Time Patched to ${mod.productionTime} `);
+        }
+        if (mod.scavCaseTime != 1) {
+            this.updateScavCase();
+            this.logger.info(`Scav Case TIme Patched to ${mod.scavCaseTime}`);
+        }
+        if (mod.airFilterUnitFlowRate != 0.0047222222222222
+            || mod.generatorFuelFlowRate != 0.0013194444444444
+            || mod.gpuBoostRate != 0.041225) {
+            const settings = this.databaseServer.getTables().hideout.settings;
+            settings.airFilterUnitFlowRate = mod.airFilterUnitFlowRate;
+            settings.generatorFuelFlowRate = mod.generatorFuelFlowRate;
+            settings.gpuBoostRate = mod.gpuBoostRate;
+            this.logger.info(`Air Filter Flow Rate set to ${mod.airFilterUnitFlowRate}`);
+            this.logger.info(`Generator Fuel Flow Rate set to ${mod.generatorFuelFlowRate}`);
+            this.logger.info(`GPU Boost Rate set to ${mod.gpuBoostRate}`);
+        }
+    }
+    updateConstructionTime() {
+        for (const area of this.databaseServer.getTables().hideout.areas) {
+            for (const stage in area.stages) {
+                const stageData = area.stages[stage];
+                stageData.constructionTime *= this.modConfig.hideout.constructionTime;
+            }
+        }
+    }
+    updateProductionTime() {
+        for (const production of this.databaseServer.getTables().hideout.production) {
+            production.productionTime *= this.modConfig.hideout.productionTime;
+        }
+    }
+    updateScavCase() {
+        for (const scavCase of this.databaseServer.getTables().hideout.scavcase) {
+            scavCase.ProductionTime *= this.modConfig.hideout.scavCaseTime;
+        }
+    }
+}
+exports.Hideout = Hideout;
diff --git a/Valens-AIO/tmp/insurance.js b/Valens-AIO/tmp/insurance.js
new file mode 100644
index 0000000..06e4256
--- /dev/null
+++ b/Valens-AIO/tmp/insurance.js
@@ -0,0 +1,27 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.Insurance = void 0;
+const JsonUtil_1 = require("@spt-aki/utils/JsonUtil");
+class Insurance {
+    constructor(logger, insuranceConfig) {
+        this.modConfig = require("../config/config.json");
+        this.logger = logger;
+        this.insuranceConfig = insuranceConfig;
+    }
+    updateInsurance() {
+        const mod = JsonUtil_1.JsonUtil.bind(this.modConfig.insurance);
+        if (mod.insuranceMultiplier.prapor != 0.16 || mod.insuranceMultiplier.therapist != 0.25) {
+            this.insuranceConfig.insuranceMultiplier["54cb50c76803fa8b248b4571"] = mod.insuranceMultiplier.prapor;
+            this.insuranceConfig.insuranceMultiplier["54cb57776803fa99248b456e"] = mod.insuranceMultiplier.therapist;
+            this.logger.info(`Prapor Insurance Price Multiplier  Set to ${mod.insuranceMultiplier.prapor}`);
+        }
+        this.logger.info(`Therapist Insurance Price Multiplier Set to ${mod.insuranceMultiplier.therapist}`);
+        if (mod.returnChancePercent.prapor != 80 || mod.returnChancePercent.therapist != 85) {
+            this.insuranceConfig.returnChancePercent["54cb50c76803fa8b248b4571"] = mod.returnChancePercent.prapor;
+            this.insuranceConfig.returnChancePercent["54cb57776803fa99248b456e"] = mod.returnChancePercent.therapist;
+            this.logger.info(`Prapor Insurance Return Chance Set to ${mod.returnChancePercent.prapor}`);
+            this.logger.info(`Therapist Insurance Return Chance set to ${mod.returnChancePercent.therapist}`);
+        }
+    }
+}
+exports.Insurance = Insurance;
diff --git a/Valens-AIO/tmp/items.js b/Valens-AIO/tmp/items.js
new file mode 100644
index 0000000..0488bbc
--- /dev/null
+++ b/Valens-AIO/tmp/items.js
@@ -0,0 +1,102 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.Items = void 0;
+const JsonUtil_1 = require("@spt-aki/utils/JsonUtil");
+class Items {
+    constructor(logger, databaseServer) {
+        this.modConfig = require("../config/config.json");
+        this.logger = logger;
+        this.databaseServer = databaseServer;
+    }
+    updateItems() {
+        const items = Object.values(this.databaseServer.getTables().templates.items);
+        const mod = JsonUtil_1.JsonUtil.bind(this.modConfig.items);
+        // Weight Modifier. Multiplier of Weight *= modConfig.weightModifier
+        if (mod.weightModifier != 1) {
+            this.updateWeight();
+            this.logger.info(`Weight Multipler patched to ${mod.weightModifier}`);
+        }
+        // Removes the ExcludedFilter on Backpacks 
+        // which in turn enables common containers to spawn in the loot pool of AI.
+        if (mod.removeBackpackFilter) {
+            this.updateBackpacks();
+            this.logger.info(`Backpack Restrictions Removed: ${mod.removeBackpackFilter}`);
+        }
+        // Standard Stash Size Changes
+        if (mod.standardStash.vertical != 28 || mod.standardStash.horizontal != 10) {
+            items["566abbc34bdc2d92178b4576"]._grids._props.cellsV = mod.standardStash.vertical;
+            items["566abbc34bdc2d92178b4576"]._grids._props.cellsH = mod.standardStash.horizontal;
+            this.logger.info(`Standard Stash Vertical changed to ${mod.standardStash.vertical}`);
+            this.logger.info(`Standard Stash Horizontal changed to ${mod.tandardStash.horizontal}`);
+        }
+        // Left Behind Stash Size Changes
+        if (mod.behindStash.vertical != 38 || mod.behindStash.horizontal != 10) {
+            items["5811ce572459770cba1a34ea"]._grids._props.cellsV = mod.behindStash.vertical;
+            items["5811ce572459770cba1a34ea"]._grids._props.cellsH = mod.behindStash.horizontal;
+            this.logger.info(`Left Behind Stash Vertical changed to ${mod.behindStash.vertical}`);
+            this.logger.info(`Left Behind Stash Horizontal changed to ${mod.behindStash.horizontal}`);
+        }
+        // Prepare for Escape Stash Size Changes
+        if (mod.escapeStash.vertical != 48 || mod.escapeStash.horizontal != 10) {
+            items["5811ce662459770f6f490f32"]._grids._props.cellsV = mod.escapeStash.vertical;
+            items["5811ce662459770f6f490f32"]._grids._props.cellsH = mod.escapeStash.horizontal;
+            this.logger.info(`Prepare for Escape Stash Vertical changed to ${mod.escapeStash.vertical}`);
+            this.logger.info(`Prepare for Escape Stash Horizontal changed to ${mod.escapeStash.horizontal}`);
+        }
+        // Edge of Darkness Stash Size Changes
+        if (mod.eodStash.vertical != 68 || mod.eodStash.horizontal != 10) {
+            items["5811ce772459770e9e5f9532"]._grids._props.cellsV = mod.eodStash.vertical;
+            items["5811ce772459770e9e5f9532"]._grids._props.cellsH = mod.eodStash.horizontal;
+            this.logger.info(`Edge of Darkness Stash Vertical changed to ${mod.eodStash.vertical}`);
+            this.logger.info(`Edge of Darkness Stash Horizontal changed to ${mod.eodStash.horizontal}`);
+        }
+        // Toggles true/false the Examined By Default config on all items in database/templates/items.json
+        if (mod.examinedByDefault) {
+            this.examinedByDefault();
+            this.logger.info(`Examined By Default is ${mod.examinedByDefault}`);
+        }
+        // Roubles Max Stack
+        if (mod.roublesMaxStack != 500000) {
+            items["5449016a4bdc2d6f028b456f"]._props.StackMaxSize = mod.roublesMaxStack;
+            this.logger.info(`Rouble Max Stack set to ${mod.roublesMaxStack}`);
+        }
+        // Dollars Max Stack
+        if (mod.dollarsMaxStack != 50000) {
+            items["5696686a4bdc2da3298b456a"]._props.StackMaxSize = mod.dollarsMaxStack;
+            this.logger.info(`Dollar Max Stack set to ${mod.dollarsMaxStack}`);
+        }
+        // Euros Max Stack
+        if (mod.eurosMaxStack != 50000) {
+            items["569668774bdc2da2298b4568"]._props.StackMaxSize = mod.eurosMaxStack;
+            this.logger.info(`Euro Max Stack set to ${mod.eurosMaxStack}`);
+        }
+    }
+    // Functions Functions.
+    // Updates the weight modifier (as a multiplier) for all items in database/templates/items.json
+    updateWeight() {
+        const items = Object.values(this.databaseServer.getTables().templates.items);
+        for (const item of items) {
+            if (item._props?.Weight) {
+                item._props.Weight *= this.modConfig.items.weightModifier;
+            }
+        }
+    }
+    // Updates backpacks and removes any values in the ExcludedFilter under props > Grids > props > filters > ExcludedFilter in database/templates/items.json
+    updateBackpacks() {
+        const items = Object.values(this.databaseServer.getTables().templates.items);
+        for (const item of items) {
+            if (item._parent === "5448e53e4bdc2d60728b4567") {
+                for (const grid of item._props.Grids)
+                    grid._props.filters[0].ExcludedFilter = [];
+            }
+        }
+    }
+    // Updates the Examined By Default modifier for all items in database/templates/items.json to either True or False depending on the config value.
+    examinedByDefault() {
+        const items = Object.values(this.databaseServer.getTables().templates.items);
+        for (const item of items) {
+            item._props.ExaminedByDefault = this.modConfig.items.examinedByDefault;
+        }
+    }
+}
+exports.Items = Items;
diff --git a/Valens-AIO/tmp/locations.js b/Valens-AIO/tmp/locations.js
new file mode 100644
index 0000000..768625b
--- /dev/null
+++ b/Valens-AIO/tmp/locations.js
@@ -0,0 +1,32 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.Locations = void 0;
+const JsonUtil_1 = require("@spt-aki/utils/JsonUtil");
+class Locations {
+    constructor(logger, databaseServer) {
+        this.modConfig = require("../config/config.json");
+        this.logger = logger;
+        this.tables = databaseServer.getTables();
+    }
+    updateLocations() {
+        const mod = JsonUtil_1.JsonUtil.bind(this.modConfig.locations);
+        const maps = this.tables.locations;
+        if (mod.allExtractsAvailable) {
+            for (const map in maps) {
+                if (map.toLowerCase() === "base") {
+                    continue;
+                }
+                const mapBase = this.tables.locations[map].base;
+                if (mapBase.Locked === true || mapBase?.EnabledCoop === undefined) {
+                    continue;
+                }
+                for (const i in mapBase.exits) {
+                    const exit = mapBase[i];
+                    exit.Chance = 100;
+                }
+            }
+            this.logger.info("All Extracts Are Available @ 100% Chance");
+        }
+    }
+}
+exports.Locations = Locations;
diff --git a/Valens-AIO/tmp/loot.js b/Valens-AIO/tmp/loot.js
new file mode 100644
index 0000000..f1dc44d
--- /dev/null
+++ b/Valens-AIO/tmp/loot.js
@@ -0,0 +1,99 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.Loot = void 0;
+const JsonUtil_1 = require("@spt-aki/utils/JsonUtil");
+class Loot {
+    constructor(logger, databaseServer, locationConfig) {
+        this.modConfig = require("../config/config.json");
+        this.logger = logger;
+        this.locationConfig = locationConfig;
+        this.tables = databaseServer.getTables();
+    }
+    updateLoot() {
+        const mod = JsonUtil_1.JsonUtil.bind(this.modConfig.loot);
+        if (mod.looseLootMultiplier > 1) {
+            for (const map in this.locationConfig.looseLootMultiplier) {
+                this.locationConfig.looseLootMultiplier[map] = mod.looseLootMultiplier;
+            }
+            this.logger.info(`Loose Loot Multiplier: ${mod.looseLootMultiplier}`);
+        }
+        if (mod.staticLootMultiplier > 1) {
+            for (const map in this.locationConfig.staticLootMultiplier) {
+                this.locationConfig.staticLootMultiplier[map] = mod.staticLootMultiplier;
+            }
+            this.logger.info(`Static Loot Multiplier: ${mod.staticLootMultiplier}`);
+        }
+        if (mod.containersInMarkedRoom) {
+            this.containersInMarkedRoom();
+            this.logger.info(`Containers In Marked Room: ${mod.containersInMarkedRoom}`);
+        }
+    }
+    /**
+     * Changes the loot database/tables to include containers in marked rooms.
+     *
+     * @variable containersInMarkedRoom Enables common containers (items case, weapon case, etc.) in Marked Rooms.
+     */
+    containersInMarkedRoom() {
+        // Customs Marked Room Loot.
+        let spawnPoints = this.tables.locations.bigmap.looseLoot.spawnpoints;
+        const cstmsmarked1 = spawnPoints.find(x => x.template.Id === "Loot 135 (10)1203364");
+        const cstmsmarked2 = spawnPoints.find(x => x.template.Id === "Loot 135 (9)1198014");
+        const cstmsmarked3 = spawnPoints.find(x => x.template.Id === "Loot 135 (8)1207194");
+        cstmsmarked1.itemDistribution.push(...this.containers());
+        cstmsmarked2.itemDistribution.push(...this.containers());
+        cstmsmarked3.itemDistribution.push(...this.containers());
+        // Reserve Marked Room Loot.
+        spawnPoints = this.tables.locations.rezervbase.looseLoot.spawnpoints;
+        const rsrvRBBK1 = spawnPoints.find(x => x.template.Id === "Loot 135 (10)49516");
+        const rsrvRBBK2 = spawnPoints.find(x => x.template.Id === "Loot 135 (8)69186");
+        const rsrvRBBK3 = spawnPoints.find(x => x.template.Id === "Loot 135 (9)39600");
+        const rsrvRBPKPM1 = spawnPoints.find(x => x.template.Id === "cult_Loot 135 (11)56822");
+        const rsrvRBPKPM2 = spawnPoints.find(x => x.template.Id === "cult_Loot 135 (12)56254");
+        const rsrvRBVO1 = spawnPoints.find(x => x.template.Id === "Loot 135 (10)60780");
+        const rsrvRBVO2 = spawnPoints.find(x => x.template.Id === "Loot 135 (11)55578");
+        const rsrvRBVO3 = spawnPoints.find(x => x.template.Id === "Loot 135 (12)55522");
+        rsrvRBBK1.itemDistribution.push(...this.containers());
+        rsrvRBBK2.itemDistribution.push(...this.containers());
+        rsrvRBBK3.itemDistribution.push(...this.containers());
+        rsrvRBPKPM1.itemDistribution.push(...this.containers());
+        rsrvRBPKPM2.itemDistribution.push(...this.containers());
+        rsrvRBVO1.itemDistribution.push(...this.containers());
+        rsrvRBVO2.itemDistribution.push(...this.containers());
+        rsrvRBVO3.itemDistribution.push(...this.containers());
+        // Lighthouse Marked Room Loot ... Lighthouse Marked Has No Cases; Only Jewelry/Electronics.
+        /*const lhouseBdrm = spawnPoints.find(x=>x.template.Id==="");
+
+        lhouseBdrm.itemDistribution.push(...this.containers());*/
+    }
+    containers() {
+        /* Container  "id"s
+        * S I C C pouch: 5d235bb686f77443f4331278
+        * Magazine Case: 5c127c4486f7745625356c13
+        * Weapon Case: 59fb023c86f7746d0d4b423c
+        * T H I C C Weapon Case: 5b6d9ce188a4501afc1b2b25
+        * Item Case: 59fb042886f7746c5005a7b2
+        * T H I C C Item Case: 5c0a840b86f7742ffa4f2482
+        * Money case: 59fb016586f7746d0d4b423a
+        * Mr Holodilnick Thermal Bag: 5c093db286f7740a1b2617e3
+        * Medicine case: 5aafbcd986f7745e590fff23
+        * Lucky scav junkbox: 5b7c710788a4506dec015957
+        * Grenade case: 5e2af55f86f7746d4159f07c
+        * Secure container: 5448bf274bdc2dfc2f8b456a
+        */
+        const lootItems = [];
+        lootItems.push({ "tpl": "5d235bb686f77443f4331278", "relativeProbability": 12 });
+        lootItems.push({ "tpl": "5c127c4486f7745625356c13", "relativeProbability": 25 });
+        lootItems.push({ "tpl": "59fb023c86f7746d0d4b423c", "relativeProbability": 13 });
+        lootItems.push({ "tpl": "5b6d9ce188a4501afc1b2b25", "relativeProbability": 10 });
+        lootItems.push({ "tpl": "59fb042886f7746c5005a7b2", "relativeProbability": 13 });
+        lootItems.push({ "tpl": "5c0a840b86f7742ffa4f2482", "relativeProbability": 10 });
+        lootItems.push({ "tpl": "59fb016586f7746d0d4b423a", "relativeProbability": 25 });
+        lootItems.push({ "tpl": "5c093db286f7740a1b2617e3", "relativeProbability": 30 });
+        lootItems.push({ "tpl": "5aafbcd986f7745e590fff23", "relativeProbability": 30 });
+        lootItems.push({ "tpl": "5b7c710788a4506dec015957", "relativeProbability": 15 });
+        lootItems.push({ "tpl": "5e2af55f86f7746d4159f07c", "relativeProbability": 23 });
+        lootItems.push({ "tpl": "5448bf274bdc2dfc2f8b456a", "relativeProbability": 9 });
+        return lootItems;
+    }
+}
+exports.Loot = Loot;
diff --git a/Valens-AIO/tmp/mod.js b/Valens-AIO/tmp/mod.js
new file mode 100644
index 0000000..0c128fa
--- /dev/null
+++ b/Valens-AIO/tmp/mod.js
@@ -0,0 +1,51 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+const ConfigTypes_1 = require("@spt-aki/models/enums/ConfigTypes");
+const ammo_1 = require("./ammo");
+const bots_1 = require("./bots");
+const flea_1 = require("./flea");
+const hideout_1 = require("./hideout");
+const items_1 = require("./items");
+const loot_1 = require("./loot");
+const raid_1 = require("./raid");
+const globals_1 = require("./globals");
+const insurance_1 = require("./insurance");
+//import { Airdrop } from "./airdrop";
+class ValensAIO {
+    constructor() {
+        this.modConfig = require("../config/config.json");
+    }
+    postDBLoad(container) {
+        // get database from server
+        this.logger = container.resolve("WinstonLogger");
+        this.databaseServer = container.resolve("DatabaseServer");
+        this.configServer = container.resolve("ConfigServer");
+        this.locationConfig = this.configServer.getConfig(ConfigTypes_1.ConfigTypes.LOCATION);
+        this.ragfairConfig = this.configServer.getConfig(ConfigTypes_1.ConfigTypes.RAGFAIR);
+        this.botConfig = this.configServer.getConfig(ConfigTypes_1.ConfigTypes.BOT);
+        this.tables = this.databaseServer.getTables();
+        this.inRaidConfig = this.configServer.getConfig(ConfigTypes_1.ConfigTypes.IN_RAID);
+        this.insuranceConfig = this.configServer.getConfig(ConfigTypes_1.ConfigTypes.INSURANCE);
+        //const airdrop = new Airdrop(this.logger, this.airdropConfig, this.databaseServer)
+        //airdrop.updateAirdrops();
+        const ammo = new ammo_1.Ammo(this.logger, this.databaseServer);
+        ammo.updateAmmo();
+        const bots = new bots_1.Bots(this.logger, this.databaseServer, this.botConfig);
+        bots.updateBots();
+        const flea = new flea_1.Flea(this.logger, this.ragfairConfig, this.tables);
+        flea.updateFlea();
+        const globals = new globals_1.Globals(this.logger, this.databaseServer);
+        globals.updateGlobals();
+        const hideout = new hideout_1.Hideout(this.logger, this.databaseServer);
+        hideout.updateHideout();
+        const insurance = new insurance_1.Insurance(this.logger, this.insuranceConfig);
+        insurance.updateInsurance();
+        const items = new items_1.Items(this.logger, this.databaseServer);
+        items.updateItems();
+        const loot = new loot_1.Loot(this.logger, this.databaseServer, this.locationConfig);
+        loot.updateLoot();
+        const raid = new raid_1.Raid(this.logger, this.databaseServer, this.inRaidConfig);
+        raid.updateRaid();
+    }
+}
+module.exports = { mod: new ValensAIO() };
diff --git a/Valens-AIO/tmp/raid.js b/Valens-AIO/tmp/raid.js
new file mode 100644
index 0000000..5a341a8
--- /dev/null
+++ b/Valens-AIO/tmp/raid.js
@@ -0,0 +1,90 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.Raid = void 0;
+const JsonUtil_1 = require("@spt-aki/utils/JsonUtil");
+class Raid {
+    constructor(logger, databaseServer, inRaidConfig) {
+        this.modConfig = require("../config/config.json");
+        this.logger = logger;
+        this.tables = databaseServer.getTables();
+        this.inRaidConfig = inRaidConfig;
+    }
+    updateRaid() {
+        const mod = JsonUtil_1.JsonUtil.bind(this.modConfig.raid);
+        if (mod.fixOpenZones) {
+            this.fixOpenZones();
+            this.logger.info(`Open Zones: ${mod.fixOpenZones}.`);
+        }
+        if (mod.chompiesBossFix) {
+            this.chompiesBossFix();
+            this.logger.info(`Chompies Boss Fix: ${mod.chompiesBossFix}.`);
+        }
+        if (mod.timeLimit) {
+            const maps = this.tables.locations;
+            for (const map in maps) {
+                if (this.tables.locations[map].base?.EscapeTimeLimit) {
+                    this.tables.locations[map].base.EscapeTimeLimit = this.modConfig.raid.timeLimit;
+                }
+            }
+            this.logger.info(`Raid Time Limits set to ${mod.timeLimit} minutes.`);
+        }
+        if (mod.aiAmount.toLowerCase() != "asonline" || mod.aiDifficulty.toLowerCase() != "asonline" || mod.bossEnabled != true
+            || mod.scavWars != false || mod.taggedAndCursed != false || mod.enablePve != false) {
+            const inRaidConfig = this.inRaidConfig;
+            inRaidConfig.raidMenuSettings["aiAmount"] = mod.aiAmount;
+            inRaidConfig.raidMenuSettings["aiDifficulty"] = mod.aiDifficulty;
+            inRaidConfig.raidMenuSettings["bossEnabled"] = mod.bossEnabled;
+            inRaidConfig.raidMenuSettings["scavWars"] = mod.scavWars;
+            inRaidConfig.raidMenuSettings["taggedAndCursed"] = mod.taggedAndCursed;
+            inRaidConfig.raidMenuSettings["enablePve"] = mod.enablePve;
+            this.logger.info(`AI Amount set to ${mod.aiAmount}`);
+            this.logger.info(`AI Difficulty set to ${mod.aiDifficulty}`);
+            this.logger.info(`Boss Enabled set to ${mod.bossEnabled}`);
+            this.logger.info(`Scav Wars set to ${mod.scavWars}`);
+            this.logger.info(`Tagged And Cursed set to ${mod.taggedAndCursed}`);
+            this.logger.info(`Enable PvE set to ${mod.enablePve}`);
+        }
+        if (mod.carExtractBaseStandingGain != 0.25) {
+            this.inRaidConfig.carExtractBaseStandingGain = mod.carExtractBaseStandingGain;
+            this.logger.info(`Car Extract Base Standing Gain set to ${mod.carExtractBaseStandingGain}`);
+        }
+        if (mod.scavExtractGain != 0.01) {
+            this.inRaidConfig.scavExtractGain = mod.scavExtractGain;
+            this.logger.info(`Scav Extract Gain set to ${mod.scavExtractGain}`);
+        }
+    }
+    fixOpenZones() {
+        const zones = {
+            "bigmap": "ZoneBrige,ZoneCrossRoad,ZoneDormitory,ZoneGasStation,ZoneFactoryCenter,ZoneFactorySide,ZoneOldAZS,ZoneSnipeBrige,ZoneSnipeTower,ZoneSnipeFactory,ZoneBlockPost,ZoneBlockPostSniper,ZoneBlockPostSniper3,ZoneBlockPost,ZoneTankSquare,ZoneWade,ZoneCustoms,ZoneScavBase",
+            "laboratory": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
+            "rezervbase": "ZoneRailStrorage,ZonePTOR1,ZonePTOR2,ZoneBarrack,ZoneBunkerStorage,ZoneSubStorage,ZoneSubCommand",
+            "woods": "ZoneRedHouse,ZoneWoodCutter,ZoneHouse,ZoneBigRocks,ZoneRoad,ZoneMiniHouse,ZoneScavBase2,ZoneBrokenVill,ZoneClearVill,ZoneHighRocks",
+            "shoreline": "ZoneSanatorium1,ZoneSanatorium2,ZonePassFar,ZonePassClose,ZoneTunnel,ZoneStartVillage,ZoneBunker,ZoneGreenHouses,ZoneIsland,ZoneGasStation,ZoneMeteoStation,ZonePowerStation,ZoneBusStation,ZoneRailWays,ZonePort,ZoneForestTruck,ZoneForestSpawn,ZoneForestGasStation",
+            "lighthouse": "Zone_TreatmentContainers,Zone_LongRoad,Zone_Blockpost,Zone_TreatmentBeach,Zone_Hellicopter,Zone_RoofContainers,Zone_Village,Zone_OldHouse,Zone_RoofRocks,Zone_DestroyedHouse,Zone_Chalet,Zone_SniperPeak,Zone_RoofBeach,Zone_Containers,Zone_TreatmentRocks,Zone_Rocks"
+        };
+        for (const location in zones) {
+            this.tables.locations[location].base.OpenZones = zones[location];
+        }
+    }
+    chompiesBossFix() {
+        const labsBosses = this.tables.locations.laboratory.base.BossLocationSpawn;
+        const reserveBosses = this.tables.locations.rezervbase.base.BossLocationSpawn;
+        const spawn1 = labsBosses.find(x => x.TriggerId === "autoId_00008_EXFIL");
+        if (spawn1) {
+            spawn1.TriggerId = "00404";
+        }
+        const spawn2 = labsBosses.find(x => x.TriggerId === "autoId_00010_EXFIL");
+        if (spawn2) {
+            spawn2.TriggerId = "00409";
+        }
+        const spawn3 = reserveBosses.find(x => x.TriggerId === "00457");
+        if (spawn3) {
+            spawn3.TriggerId = "autoId_00632_EXFIL";
+        }
+        const spawn4 = reserveBosses.find(x => x.TriggerId === "00452");
+        if (spawn4) {
+            spawn4.TriggerId = "autoId_00000_D2_LEVER";
+        }
+    }
+}
+exports.Raid = Raid;