Changes and updates for v1.0 release. Feature complete for v1.0 and verified/tested all features as working.
This commit is contained in:
parent
f2a319bfd2
commit
c445442589
@ -117,7 +117,10 @@
|
||||
|
||||
"examineByDefault": false,
|
||||
"removeBackpackFilter": true,
|
||||
"weightModifier": 1
|
||||
"weightModifier": 1,
|
||||
"roublesMaxStack": 500000,
|
||||
"dollarsMaxStack": 50000,
|
||||
"eurosMaxStack": 50000
|
||||
},
|
||||
|
||||
"loot":
|
||||
|
@ -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;
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -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");
|
||||
|
@ -45,7 +45,9 @@ class ValensAIO implements IPostDBLoadMod
|
||||
this.ragfairConfig = this.configServer.getConfig<IRagfairConfig>(ConfigTypes.RAGFAIR);
|
||||
this.botConfig = this.configServer.getConfig<IBotConfig>(ConfigTypes.BOT);
|
||||
this.tables = this.databaseServer.getTables();
|
||||
|
||||
this.inRaidConfig = this.configServer.getConfig<IInRaidConfig>(ConfigTypes.IN_RAID);
|
||||
this.insuranceConfig = this.configServer.getConfig<IInsuranceConfig>(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();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user