From c44544258970eb04e2101195325da249ab16a103 Mon Sep 17 00:00:00 2001 From: VforValens Date: Mon, 1 Aug 2022 22:49:45 -0400 Subject: [PATCH] Changes and updates for v1.0 release. Feature complete for v1.0 and verified/tested all features as working. --- LICENSE => LICENSE.txt | 0 Valens-AIO/config/config.json | 5 +- Valens-AIO/src/airdrop.ts | 25 +++---- Valens-AIO/src/bots.ts | 57 +++++++-------- Valens-AIO/src/globals.ts | 17 ++--- Valens-AIO/src/hideout.ts | 37 +++++----- Valens-AIO/src/insurance.ts | 47 +++++------- Valens-AIO/src/items.ts | 133 ++++++++++++++++++++++++---------- Valens-AIO/src/loot.ts | 46 +++--------- Valens-AIO/src/mod.ts | 9 ++- Valens-AIO/src/raid.ts | 53 +++++++------- 11 files changed, 228 insertions(+), 201 deletions(-) rename LICENSE => LICENSE.txt (100%) diff --git a/LICENSE b/LICENSE.txt similarity index 100% rename from LICENSE rename to LICENSE.txt diff --git a/Valens-AIO/config/config.json b/Valens-AIO/config/config.json index dc1ab30..ed0d851 100644 --- a/Valens-AIO/config/config.json +++ b/Valens-AIO/config/config.json @@ -117,7 +117,10 @@ "examineByDefault": false, "removeBackpackFilter": true, - "weightModifier": 1 + "weightModifier": 1, + "roublesMaxStack": 500000, + "dollarsMaxStack": 50000, + "eurosMaxStack": 50000 }, "loot": diff --git a/Valens-AIO/src/airdrop.ts b/Valens-AIO/src/airdrop.ts index 9e44998..19af994 100644 --- a/Valens-AIO/src/airdrop.ts +++ b/Valens-AIO/src/airdrop.ts @@ -15,7 +15,6 @@ export class Airdrop this.logger = logger; this.tables = databaseServer.getTables(); this.airdropConfig = airdropConfig; - this.modConfig = this.modConfig.airdrop; } public updateAirdrops(); @@ -23,23 +22,23 @@ export class Airdrop if (this.modConfig.airdropChancePercent != 25) { this.airdropChance(); - this.logger.info(`Customs Airdrop Chance is ${this.modConfig.airdropChancePercent.bigmap}`); - this.logger.info(`Woods Airdrop Chance is ${this.modConfig.airdropChancePercent.woods}`); - this.logger.info(`Lighthouse Airdrop Chance is ${this.modConfig.airdropChancePercent.lighthouse}`); - this.logger.info(`Shoreline Airdrop Chance is ${this.modConfig.airdropChancePercent.shoreline}`); - this.logger.info(`Interchange Airdrop Chance is ${this.modConfig.airdropChancePercent.interchange}`); - this.logger.info(`Reserve Airdrop Chance is ${this.modConfig.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}`); + 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.airdropChancePercent.bigmap; - this.airdropConfig.airdropChancePercent["woods"] = this.modConfig.airdropChancePercent.woods; - this.airdropConfig.airdropChancePercent["lighthouse"] = this.modConfig.airdropChancePercent.lighthouse; - this.airdropConfig.airdropChancePercent["shoreline"] = this.modConfig.airdropChancePercent.shoreline; - this.airdropConfig.airdropChancePercent["interchange"] = this.modConfig.airdropChancePercent.interchange; - this.airdropConfig.airdropChancePercent["reserve"] = this.modConfig.airdropChancePercent.reserve; + 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/src/bots.ts b/Valens-AIO/src/bots.ts index 0221104..a92536b 100644 --- a/Valens-AIO/src/bots.ts +++ b/Valens-AIO/src/bots.ts @@ -13,60 +13,59 @@ export class Bots constructor(logger: ILogger, databaseServer: DatabaseServer, botConfig: IBotConfig) { this.logger = logger; - this.modConfig = this.modConfig.bots; this.botConfig = botConfig; this.tables = databaseServer.getTables(); } public updateBots(): void { - if (this.modConfig.pmcDifficulty.toLowerCase() != "asonline") + if (this.modConfig.bots.pmcDifficulty.toLowerCase() != "asonline") { this.pmcDifficulty(); - this.logger.info(`PMC Bot Difficulty set to ${this.modConfig.pmcDifficulty}`); + this.logger.info(`PMC Bot Difficulty set to ${this.modConfig.bots.pmcDifficulty}`); } - if (this.modConfig.containersOnBots) + if (this.modConfig.bots.containersOnBots) { this.containersOnBots(); - this.logger.info(`Containers On Bots: ${this.modConfig.containersOnBots}`); + this.logger.info(`Containers On Bots: ${this.modConfig.bots.containersOnBots}`); } - if (this.modConfig.isUsec != 50) + if (this.modConfig.bots.isUsec != 50) { this.isUsec(); - this.logger.info(`isUsec Chance is: ${this.modConfig.isUsec}`); + this.logger.info(`isUsec Chance is: ${this.modConfig.bots.isUsec}`); } - if (this.modConfig.maxBackpackLootTotalRub != 150000 - || this.modConfig.maxPocketLootTotalRub !=50000 - || this.modConfig.maxVestLootTotalRub != 50000) + 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.maxBackpackLootTotalRub}`); - this.logger.info(`Max Pocket Total Value: ${this.modConfig.maxPocketLootTotalRub}`); - this.logger.info(`Max Vest Total Value: ${this.modConfig.maxVestLootTotalRub}`); + 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.chanceSameSideIsHostilePercent != 50) + if (this.modConfig.bots.chanceSameSideIsHostilePercent != 50) { this.sameSideIsHostile(); - this.logger.info(`Chance Same Side Is Hostle is ${this.modConfig.chanceSameSideIsHostilePercent}`); + this.logger.info(`Chance Same Side Is Hostle is ${this.modConfig.bots.chanceSameSideIsHostilePercent}`); } - if (this.modConfig.maxBotCap != 20) + if (this.modConfig.bots.maxBotCap != 20) { this.maxBotCap(); - this.logger.info(`Bot Cap is now ${this.modConfig.botCap}`); + this.logger.info(`Bot Cap is now ${this.modConfig.bots.maxBotCap}`); } - if (this.modConfig.pmcNValue != 1.7 || this.modConfig.scavNValue != 2) + 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.scavNValue}`); - this.logger.info(`PMC NValue set to ${this.modConfig.pmcNValue}`); + this.logger.info(`Scav NValue set to ${this.modConfig.bots.scavNValue}`); + this.logger.info(`PMC NValue set to ${this.modConfig.bots.pmcNValue}`); } } @@ -83,7 +82,7 @@ export class Bots */ private pmcDifficulty(): void { - this.botConfig.pmc.difficulty = this.modConfig.pmcDifficulty; + this.botConfig.pmc.difficulty = this.modConfig.bots.pmcDifficulty; } private containersOnBots(): void @@ -103,30 +102,30 @@ export class Bots private isUsec(): void { - this.botConfig.pmc.isUsec = this.modConfig.isUsec; + this.botConfig.pmc.isUsec = this.modConfig.bots.isUsec; } private pmcLoot(): void { - this.botConfig.pmc.maxBackpackLootTotalRub = this.modConfig.maxBackpackLootTotalRub; - this.botConfig.pmc.maxPocketLootTotalRub = this.modConfig.maxPocketLootTotalRub; - this.botConfig.pmc.maxVestLootTotalRub = this.modConfig.maxVestLootTotalRub; + 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.chanceSameSideIsHostilePercent; + this.botConfig.pmc.chanceSameSideIsHostilePercent = this.modConfig.bots.chanceSameSideIsHostilePercent; } private maxBotCap(): void { - this.botConfig.maxBotCap = this.modConfig.maxBotCap; + this.botConfig.maxBotCap = this.modConfig.bots.maxBotCap; } private lootNValue(): void { - this.botConfig.lootNValue.scav = this.modConfig.scavNValue; - this.botConfig.lootNValue.pmc = this.modConfig.pmcNValue; + this.botConfig.lootNValue.scav = this.modConfig.bots.scavNValue; + this.botConfig.lootNValue.pmc = this.modConfig.bots.pmcNValue; } diff --git a/Valens-AIO/src/globals.ts b/Valens-AIO/src/globals.ts index 46e8f84..2a52db7 100644 --- a/Valens-AIO/src/globals.ts +++ b/Valens-AIO/src/globals.ts @@ -14,39 +14,38 @@ export class Globals this.logger = logger; this.databaseServer = databaseServer; this.globals = this.databaseServer.getTables().globals.config.Health.Falling; - this.modConfig = this.modConfig.globals; } public updateGlobals(): void { - if (this.modConfig.damagePerMeter != 9 || this.modConfig.safeHeight != 3) + if (this.modConfig.globals.damagePerMeter != 9 || this.modConfig.globals.safeHeight != 3) { this.damagePerMeter(); this.safeHeight(); - this.logger.info(`Safe Fall Height set to ${this.modConfig.safeHeight} meters`); - this.logger.info(`Damage Per Meter set to ${this.modConfig.damagePerMeter} meters`) + 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`) } - if (this.modConfig.maxTraders) + if (this.modConfig.globals.maxTraders) { this.maxTraders(); - this.logger.info(`Max Loyalty Traders is: ${this.modConfig.maxTraders}`); + this.logger.info(`Max Loyalty Traders is: ${this.modConfig.globals.maxTraders}`); } } private damagePerMeter(): void { - this.damagePerMeter = this.modConfig.damagePerMeter; + this.globals.DamagePerMeter = this.modConfig.globals.damagePerMeter; } private safeHeight(): void { - this.safeHeight = this.modConfig.safeHeight; + this.globals.SafeHeight = this.modConfig.globals.safeHeight; } private maxTraders(): void { - this.databaseServer.getTables().globals.config.MaxLoyaltyLevelForAll = this.modConfig.maxTraders; + 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 23aed67..29faf43 100644 --- a/Valens-AIO/src/hideout.ts +++ b/Valens-AIO/src/hideout.ts @@ -12,37 +12,36 @@ export class Hideout { this.logger = logger; this.databaseServer = databaseServer; - this.modConfig = this.modConfig.hideout; } public updateHideout(): void { - if (this.modConfig.constructionTime != 1) + if (this.modConfig.hideout.constructionTime != 1) { this.updateConstructionTime(); - this.logger.info(`Construction Time Patched to ${this.hideout.constructionTime} `); + this.logger.info(`Construction Time Patched to ${this.modConfig.hideout.constructionTime} `); } - if (this.modConfig.productionTime != 1) + if (this.modConfig.hideout.productionTime != 1) { this.updateProductionTime(); - this.logger.info(`Production Time Patched to ${this.hideout.productionTime} `); + this.logger.info(`Production Time Patched to ${this.modConfig.hideout.productionTime} `); } - if (this.modConfig.scavCaseTime != 1) + if (this.modConfig.hideout.scavCaseTime != 1) { this.updateScavCase(); - this.logger.info(`Scav Case TIme Patched to ${this.hideout.scavCaseTime}`); + this.logger.info(`Scav Case TIme Patched to ${this.modConfig.hideout.scavCaseTime}`); } - if (this.modConfig.airFilterUnitFlowRate != 0.0047222222222222 - ||this.modConfig.generatorFuelFlowRate != 0.0013194444444444 - ||this.modConfig.gpuBoostRate != 0.041225) + if (this.modConfig.hideout.airFilterUnitFlowRate != 0.0047222222222222 + ||this.modConfig.hideout.generatorFuelFlowRate != 0.0013194444444444 + ||this.modConfig.hideout.gpuBoostRate != 0.041225) { this.updateSettings(); - this.logger.info(`Air Filter Flow Rate set to ${this.hideout.airFilterUnitFlowRate}`); - this.logger.info(`Generator Fuel Flow Rate set to ${this.hideout.generatorFuelFlowRate}`); - this.logger.info(`GPU Boost Rate set to ${this.hideout.gpuBoostRate}`); + 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}`); } } @@ -54,7 +53,7 @@ export class Hideout for (const stage in area.stages) { const stageData = area.stages[stage]; - stageData.constructionTime *= this.modConfig.constructionTime; + stageData.constructionTime *= this.modConfig.hideout.constructionTime; } } } @@ -63,7 +62,7 @@ export class Hideout { for (const production of this.databaseServer.getTables().hideout.production) { - production.productionTime *= this.modConfig.productionTime; + production.productionTime *= this.modConfig.hideout.productionTime; } } @@ -71,16 +70,16 @@ export class Hideout { for (const scavCase of this.databaseServer.getTables().hideout.scavcase) { - scavCase.ProductionTime *= this.modConfig.scavCaseTime; + scavCase.ProductionTime *= this.modConfig.hideout.scavCaseTime; } } private updateSettings() { const settings = this.databaseServer.getTables().hideout.settings; - settings.airFilterUnitFlowRate = this.modConfig.airFilterUnitFlowRate; - settings.generatorFuelFlowRate = this.modConfig.generatorFuelFlowRate; - settings.gpuBoostRate = this.modConfig.gpuBoostRate; + settings.airFilterUnitFlowRate = this.modConfig.hideout.airFilterUnitFlowRate; + settings.generatorFuelFlowRate = this.modConfig.hideout.generatorFuelFlowRate; + settings.gpuBoostRate = this.modConfig.hideout.gpuBoostRate; } diff --git a/Valens-AIO/src/insurance.ts b/Valens-AIO/src/insurance.ts index 230065a..f1e4377 100644 --- a/Valens-AIO/src/insurance.ts +++ b/Valens-AIO/src/insurance.ts @@ -1,53 +1,46 @@ -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 { IInsuranceConfig } from "@spt-aki/models/spt/config/IInsuranceConfig"; export class Insurance { private modConfig = require("../config/config.json"); private logger: ILogger; - private tables: IDatabaseTables; private insuranceConfig: IInsuranceConfig; + - constructor(logger:ILogger, databaseServer: DatabaseServer, insuranceConfig: IInsuranceConfig) + constructor(logger:ILogger, insuranceConfig: IInsuranceConfig) { this.logger = logger; - this.tables = databaseServer.getTables(); this.insuranceConfig = insuranceConfig; - this.modConfig = this.modConfig.insurance; } - updateInsurance(): void - { - if (this.insuranceConfig.insuranceMultiplier["54cb50c76803fa8b248b4571"] != 0.16 - || this.insuranceConfig.insuranceMultiplier["54cb57776803fa99248b456e"] != 0.25) + public updateInsurance(): void + { + const insMult = this.modConfig.insurance.insuranceMultiplier + if (insMult.prapor != 0.16 || insMult.therapist != 0.25) { - this.insuranceMultiplier(); - this.logger.info(`Prapor Insurance Price Multiplier Set to ${this.modConfig.insuranceMultiplier.prapor}`); - this.logger.info(`Therapist Insurance Price Multiplier Set to ${this.modConfig.insuranceMultiplier.therapist}`); - } + this.insureMult(); + this.logger.info(`Prapor Insurance Price Multiplier Set to ${insMult.prapor}`); + } this.logger.info(`Therapist Insurance Price Multiplier Set to ${insMult.therapist}`); - if (this.insuranceConfig.returnChancePercent["54cb50c76803fa8b248b4571"] != 80 - || this.insuranceConfig.returnChancePercent["54cb57776803fa99248b456e"] != 85) + const insReturn = this.modConfig.insurance.returnChancePercent + if (insReturn.prapor != 80 || insReturn.therapist != 85) { - this.returnChancePercent(); - this.logger.info(`Prapor Return Chance Percent Set to ${this.modConfig.returnChancePercent.prapor}`); - this.logger.info(`Therapist Return Chance Percent Set to ${this.modConfig.returnChancePercent.therapist}`); + 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}`); } } - private insuranceMultiplier(): void + private insureMult(): void { - this.insuranceConfig.insuranceMultiplier["54cb50c76803fa8b248b4571"] = this.modConfig.insuranceMultiplier.prapor; - this.insuranceConfig.insuranceMultiplier["54cb57776803fa99248b456e"] = this.modConfig.insuranceMultiplier.therapist; + this.insuranceConfig.insuranceMultiplier["54cb50c76803fa8b248b4571"] = this.modConfig.insurance.insuranceMultiplier.prapor; + this.insuranceConfig.insuranceMultiplier["54cb57776803fa99248b456e"] = this.modConfig.insurance.insuranceMultiplier.therapist; } - private returnChancePercent(): void + private insureReturn(): void { - this.insuranceConfig.returnChancePercent["54cb50c76803fa8b248b4571"] = this.modConfig.returnChancePercent.prapor; - this.insuranceConfig.returnChancePercent["54cb57776803fa99248b456e"] = this.modConfig.returnChancePercent.therapist; + 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 6340939..2ac22b1 100644 --- a/Valens-AIO/src/items.ts +++ b/Valens-AIO/src/items.ts @@ -11,140 +11,197 @@ export class Items { this.logger = logger; this.databaseServer = databaseServer; - this.modConfig = this.modConfig.items; } public updateItems(): void { - if (this.modConfig.weightModifier != 1) + if (this.modConfig.items.weightModifier != 1) { this.updateWeight(); - this.logger.info(`Weight Multipler patched to ${this.modConfig.weightModifier}`); + this.logger.info(`Weight Multipler patched to ${this.modConfig.items.weightModifier}`); } - if (this.modConfig.removeBackpackFilter) + if (this.modConfig.items.removeBackpackFilter) { this.updateBackpacks(); - this.logger.info(`Backpack Restrictions Removed: ${this.modConfig.removeBackpackFilter}`) + this.logger.info(`Backpack Restrictions Removed: ${this.modConfig.items.removeBackpackFilter}`) } - if (this.modConfig.standardStash.vertical != 28 || this.modConfig.standardStash.horizontal != 10) + if (this.modConfig.items.standardStash.vertical != 28 || this.modConfig.items.standardStash.horizontal != 10) { this.standardStash(); - this.logger.info(`Standard Stash Vertical changed to ${this.modConfig.standardStash.vertical}`); - this.logger.info(`Standard Stash Horizontal changed to ${this.modConfig.standardStash.horizontal}`); + 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}`); } - if (this.modConfig.behindStash.vertical != 38 || this.modConfig.behindStash.horizontal != 10) + if (this.modConfig.items.behindStash.vertical != 38 || this.modConfig.items.behindStash.horizontal != 10) { this.behindStash(); - this.logger.info(`Left Behind Stash Vertical changed to ${this.modConfig.behindStash.vertical}`); - this.logger.info(`Left Behind Stash Horizontal changed to ${this.modConfig.behindStash.horizontal}`); + 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}`); } - if (this.modConfig.escapeStash.vertical != 48 || this.modConfig.escapeStash.horizontal != 10) + if (this.modConfig.items.escapeStash.vertical != 48 || this.modConfig.items.escapeStash.horizontal != 10) { this.escapeStash(); - this.logger.info(`Prepare for Escape Stash Vertical changed to ${this.modConfig.escapeStash.vertical}`); - this.logger.info(`Prepare for Escape Stash Horizontal changed to ${this.modConfig.escapeStash.horizontal}`); + 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}`); } - if (this.modConfig.eodStash.vertical != 68 || this.modConfig.eodStash.horizontal != 10) + if (this.modConfig.items.eodStash.vertical != 68 || this.modConfig.items.eodStash.horizontal != 10) { this.eodStash(); - this.logger.info(`Edge of Darkness Stash Vertical changed to ${this.modConfig.eodStash.vertical}`); - this.logger.info(`Edge of Darkness Stash Horizontal changed to ${this.modConfig.eodStash.horizontal}`); + 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}`); } - if (this.modConfig.examineByDefault) + if (this.modConfig.items.examineByDefault) { this.examineByDefault(); - this.logger.info(`Examine By Default is ${this.modConfig.examineByDefault}`); + this.logger.info(`Examine By Default is ${this.modConfig.items.examineByDefault}`); } + + 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}`); + } + } - private updateWeight() + private updateWeight(): void { const items = Object.values(this.databaseServer.getTables().templates.items); for (const item of items) { if (item._props?.Weight) { - item._props.Weight *= this.modConfig.weightModifier; + item._props.Weight *= this.modConfig.items.weightModifier; } } } - private updateBackpacks() + private updateBackpacks(): void { const items = Object.values(this.databaseServer.getTables().templates.items); for (const item of items) { - if (item._props.ItemSound === "gear_backpack") + if (item._parent === "5448e53e4bdc2d60728b4567") { - item._props.Grids[0]._props.filters[0].ExcludedFilter = []; + for (const grid of item._props.Grids) + grid._props.filters[0].ExcludedFilter = []; } } } - private standardStash() + private standardStash(): 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.standardStash.horizontal; - item._props.Grids["cellsV"] = this.modConfig.standardStash.vertical; + item._props.Grids["cellsH"] = this.modConfig.items.standardStash.horizontal; + item._props.Grids["cellsV"] = this.modConfig.items.standardStash.vertical; } } } - private behindStash() + 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.behindStash.horizontal; - item._props.Grids["cellsV"] = this.modConfig.behindStash.vertical; + item._props.Grids["cellsH"] = this.modConfig.items.behindStash.horizontal; + item._props.Grids["cellsV"] = this.modConfig.items.behindStash.vertical; } } } - private escapeStash() + 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.escapeStash.horizontal; - item._props.Grids["cellsV"] = this.modConfig.escapeStash.vertical; + item._props.Grids["cellsH"] = this.modConfig.items.escapeStash.horizontal; + item._props.Grids["cellsV"] = this.modConfig.items.escapeStash.vertical; } } } - private eodStash() + 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.eodStash.horizontal; - item._props.Grids["cellsV"] = this.modConfig.eodStash.vertical; + item._props.Grids["cellsH"] = this.modConfig.items.eodStash.horizontal; + item._props.Grids["cellsV"] = this.modConfig.items.eodStash.vertical; } } } - private examineByDefault() + private examineByDefault(): void { const items = Object.values(this.databaseServer.getTables().templates.items); for (const item of items) { - item._props.ExaminedByDefault = this.modConfig.examineByDefault; + 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; + } + } + } + + } diff --git a/Valens-AIO/src/loot.ts b/Valens-AIO/src/loot.ts index 92c07e2..52ca356 100644 --- a/Valens-AIO/src/loot.ts +++ b/Valens-AIO/src/loot.ts @@ -15,26 +15,27 @@ export class Loot this.logger = logger; this.locationConfig = locationConfig; this.tables = databaseServer.getTables(); + this.modConfig = this.modConfig.loot; } public updateLoot(): void { - if (this.modConfig.loot.looseLootMultiplier > 1) + if (this.modConfig.looseLootMultiplier > 1) { this.looseLootMultiplier(); - this.logger.info(`Loose Loot Multiplier: ${this.modConfig.loot.looseLootMultiplier}`); + this.logger.info(`Loose Loot Multiplier: ${this.modConfig.looseLootMultiplier}`); } - if (this.modConfig.loot.staticLootMultiplier > 1) + if (this.modConfig.staticLootMultiplier > 1) { this.staticLootMultiplier(); - this.logger.info(`Static Loot Multiplier: ${this.modConfig.loot.staticLootMultiplier}`); + this.logger.info(`Static Loot Multiplier: ${this.modConfig.staticLootMultiplier}`); } - if (this.modConfig.loot.containersInMarkedRoom) + if (this.modConfig.containersInMarkedRoom) { this.containersInMarkedRoom(); - this.logger.info(`Containers In Marked Room: ${this.modConfig.loot.containersInMarkedRoom}`); + this.logger.info(`Containers In Marked Room: ${this.modConfig.containersInMarkedRoom}`); } } @@ -42,7 +43,7 @@ export class Loot { for (const map in this.locationConfig.looseLootMultiplier) { - this.locationConfig.looseLootMultiplier[map] = this.modConfig.loot.looseLootMultiplier; + this.locationConfig.looseLootMultiplier[map] = this.modConfig.looseLootMultiplier; } } @@ -50,45 +51,19 @@ export class Loot { for (const map in this.locationConfig.staticLootMultiplier) { - this.locationConfig.staticLootMultiplier[map] = this.modConfig.loot.staticLootMultiplier; + this.locationConfig.staticLootMultiplier[map] = this.modConfig.staticLootMultiplier; } } /** * Changes the loot database/tables to include containers in marked rooms. * - * 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 - * * @variable containersInMarkedRoom Enables common containers (items case, weapon case, etc.) in Marked Rooms. */ private containersInMarkedRoom(): void { // Customs Marked Room Loot. - const spawnPoints = this.tables.locations.bigmap.looseLoot.spawnpoints; + 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"); @@ -98,6 +73,7 @@ export class Loot 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"); diff --git a/Valens-AIO/src/mod.ts b/Valens-AIO/src/mod.ts index 437ec87..22bb59f 100644 --- a/Valens-AIO/src/mod.ts +++ b/Valens-AIO/src/mod.ts @@ -45,7 +45,9 @@ class ValensAIO implements IPostDBLoadMod this.ragfairConfig = this.configServer.getConfig(ConfigTypes.RAGFAIR); this.botConfig = this.configServer.getConfig(ConfigTypes.BOT); this.tables = this.databaseServer.getTables(); - + this.inRaidConfig = this.configServer.getConfig(ConfigTypes.IN_RAID); + this.insuranceConfig = this.configServer.getConfig(ConfigTypes.INSURANCE); + //const airdrop = new Airdrop(this.logger, this.airdropConfig, this.databaseServer) //airdrop.updateAirdrops(); @@ -61,9 +63,9 @@ class ValensAIO implements IPostDBLoadMod const hideout = new Hideout(this.logger, this.databaseServer); hideout.updateHideout(); - const insurance = new Insurance(this.logger, this.databaseServer, this.insuranceConfig); + const insurance = new Insurance(this.logger, this.insuranceConfig); insurance.updateInsurance(); - + const items = new Items(this.logger, this.databaseServer); items.updateItems(); @@ -72,6 +74,7 @@ class ValensAIO implements IPostDBLoadMod const raid = new Raid(this.logger, this.databaseServer, this.inRaidConfig); raid.updateRaid(); + } } diff --git a/Valens-AIO/src/raid.ts b/Valens-AIO/src/raid.ts index 2627ad1..ae02140 100644 --- a/Valens-AIO/src/raid.ts +++ b/Valens-AIO/src/raid.ts @@ -15,55 +15,54 @@ export class Raid this.logger = logger; this.tables = databaseServer.getTables(); this.inRaidConfig = inRaidConfig; - this.modConfig = this.modConfig.raid; } updateRaid(): void { - if (this.modConfig.fixOpenZones) + if (this.modConfig.raid.fixOpenZones) { this.fixOpenZones(); this.logger.info(`Open Zones: ${this.modConfig.raid.fixOpenZones}.`) } - if (this.modConfig.chompiesBossFix) + if (this.modConfig.raid.chompiesBossFix) { this.chompiesBossFix(); this.logger.info(`Chompies Boss Fix: ${this.modConfig.raid.chompiesBossFix}.`) } - if (this.modConfig.timeLimit) + if (this.modConfig.raid.timeLimit) { this.raidTimeLimit(); this.logger.info(`Raid Time Limits set to ${this.modConfig.raid.timeLimit} minutes.`); } - if (this.modConfig.aiAmount.toLowerCase() != "asonline" - ||this.modConfig.aiDifficulty.toLowerCase() != "asonline" - ||this.modConfig.bossEnabled != true - ||this.modConfig.scavWars != false - ||this.modConfig.taggedAndCursed != false - ||this.modConfig.enablePve != false) + 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) { this.raidDifficulty(); - this.logger.info(`AI Amount set to ${this.modConfig.aiAmount}`); - this.logger.info(`AI Difficulty set to ${this.modConfig.aiDifficulty}`); - this.logger.info(`Boss Enabled set to ${this.modConfig.bossEnabled}`); - this.logger.info(`Scav Wars set to ${this.modConfig.scavWars}`); - this.logger.info(`Tagged And Cursed set to ${this.modConfig.taggedAndCursed}`); - this.logger.info(`Enable PvE set to ${this.modConfig.enablePve}`); + 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}`); } - if (this.modConfig.carExtractBaseStandingGain != 0.25) + if (this.modConfig.raid.carExtractBaseStandingGain != 0.25) { this.carExtractsGain(); - this.logger.info(`Car Extract Base Standing Gain set to ${this.modConfig.carExtractBaseStandingGain}`); + this.logger.info(`Car Extract Base Standing Gain set to ${this.modConfig.raid.carExtractBaseStandingGain}`); } if (this.modConfig.scavExtractGain != 0.01) { this.scavExtractGain(); - this.logger.info(`Scav Extract Gain set to ${this.modConfig.scavExtractGain}`); + this.logger.info(`Scav Extract Gain set to ${this.modConfig.raid.scavExtractGain}`); } } @@ -129,21 +128,21 @@ export class Raid private raidDifficulty(): void { - this.inRaidConfig.raidMenuSettings.aiAmount = this.modConfig.aiAmount - this.inRaidConfig.raidMenuSettings.aiDifficulty = this.modConfig.aiDifficulty - this.inRaidConfig.raidMenuSettings.bossEnabled = this.modConfig.bossEnabled - this.inRaidConfig.raidMenuSettings.scavWars = this.modConfig.scavWars - this.inRaidConfig.raidMenuSettings.taggedAndCursed = this.modConfig.taggedAndCursed - this.inRaidConfig.raidMenuSettings.enablePve = this.modConfig.enablePve + 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.carExtractBaseStandingGain; + this.inRaidConfig.carExtractBaseStandingGain = this.modConfig.raid.carExtractBaseStandingGain; } private scavExtractGain(): void { - this.inRaidConfig.scavExtractGain = this.modConfig.scavExtractGain; + this.inRaidConfig.scavExtractGain = this.modConfig.raid.scavExtractGain; } }