diff --git a/LICENSE b/LICENSE.txt similarity index 100% rename from LICENSE rename to LICENSE.txt diff --git a/config/pmc.json b/config/pmc.json index 99f1276..27fb560 100644 --- a/config/pmc.json +++ b/config/pmc.json @@ -1,7 +1,8 @@ { "pmcProgression": true, - "customWhitelist1": { + "customWhitelist1": + { "levelRange": { "min": 1, @@ -38,8 +39,163 @@ } }, - "customWhitelist2": {}, - "customWhitelist3": {}, - "customWhitelist4": {}, - "customWhitelist5": {} + + + "customWhitelist2": + { + "levelRange": + { + "min": 16, + "max": 24 + }, + "equipment": + { + "FirstPrimaryWeapon": [], + "Holster": [], + "Backpack": [], + "TacticalVest": [], + "Earpiece": [], + "Headwear": [], + "ArmorVest": [], + "Eyewear": [], + "ArmBand": [], + "FaceCover": [] + }, + "cartridge": + { + "Caliber762x54R": [], + "Caliber762x51": [], + "Caliber762x39": [], + "Caliber762x25TT": [], + "Caliber366TKM": [], + "Caliber556x45NATO": [], + "Caliber545x39": [], + "Caliber46x30": [], + "Caliber1143x23ACP": [], + "Caliber9x19PARA": [], + "Caliber9x18PM": [], + "Caliber12g": [], + "Caliber20g": [] + } + }, + + + + "customWhitelist3": + { + "levelRange": + { + "min": 25, + "max": 33 + }, + "equipment": + { + "FirstPrimaryWeapon": [], + "Holster": [], + "Backpack": [], + "TacticalVest": [], + "Earpiece": [], + "Headwear": [], + "ArmorVest": [], + "Eyewear": [], + "ArmBand": [], + "FaceCover": [] + }, + "cartridge": + { + "Caliber762x54R": [], + "Caliber762x51": [], + "Caliber762x39": [], + "Caliber762x25TT": [], + "Caliber366TKM": [], + "Caliber556x45NATO": [], + "Caliber545x39": [], + "Caliber46x30": [], + "Caliber1143x23ACP": [], + "Caliber9x19PARA": [], + "Caliber9x18PM": [], + "Caliber12g": [], + "Caliber20g": [] + } + }, + + + + "customWhitelist4": + { + "levelRange": + { + "min": 34, + "max": 45 + }, + "equipment": + { + "FirstPrimaryWeapon": [], + "Holster": [], + "Backpack": [], + "TacticalVest": [], + "Earpiece": [], + "Headwear": [], + "ArmorVest": [], + "Eyewear": [], + "ArmBand": [], + "FaceCover": [] + }, + "cartridge": + { + "Caliber762x54R": [], + "Caliber762x51": [], + "Caliber762x39": [], + "Caliber762x25TT": [], + "Caliber366TKM": [], + "Caliber556x45NATO": [], + "Caliber545x39": [], + "Caliber46x30": [], + "Caliber1143x23ACP": [], + "Caliber9x19PARA": [], + "Caliber9x18PM": [], + "Caliber12g": [], + "Caliber20g": [] + } + }, + + + + "customWhitelist5": + { + "levelRange": + { + "min": 46, + "max": 70 + }, + "equipment": + { + "FirstPrimaryWeapon": [], + "Holster": [], + "Backpack": [], + "TacticalVest": [], + "Earpiece": [], + "Headwear": [], + "ArmorVest": [], + "Eyewear": [], + "ArmBand": [], + "FaceCover": [] + }, + "cartridge": + { + "Caliber762x54R": [], + "Caliber762x51": [], + "Caliber762x39": [], + "Caliber762x25TT": [], + "Caliber366TKM": [], + "Caliber556x45NATO": [], + "Caliber545x39": [], + "Caliber46x30": [], + "Caliber1143x23ACP": [], + "Caliber9x19PARA": [], + "Caliber9x18PM": [], + "Caliber12g": [], + "Caliber20g": [] + } + } } \ No newline at end of file diff --git a/config/scav.json b/config/scav.json index 9df61f3..0c8baa0 100644 --- a/config/scav.json +++ b/config/scav.json @@ -3,13 +3,21 @@ - "customWhitelist1": { - "levelRange": + "customWhitelist1": + { + "weaponModLimits": { + "scopeLimit": 1, + "lightLaserLimit": 1 + }, + "randomisedWeaponModSlots": [], + "blacklist": [], + "whitelist": [{ + "levelRange": { "min": 1, - "max": 15 + "max": 25 }, - "equipment": + "equipment": { "FirstPrimaryWeapon": [], "Holster": [], @@ -19,10 +27,9 @@ "Headwear": [], "ArmorVest": [], "Eyewear": [], - "ArmBand": [], "FaceCover": [] }, - "cartridge": + "cartridge": { "Caliber762x54R": [], "Caliber762x51": [], @@ -31,17 +38,15 @@ "Caliber366TKM": [], "Caliber556x45NATO": [], "Caliber545x39": [], - "Caliber46x30": [], "Caliber1143x23ACP": [], + "Caliber9x39": [], "Caliber9x19PARA": [], - "Caliber9x18PM": [], + "Caliber9x18PM": [], "Caliber12g": [], "Caliber20g": [] - } + }}] }, - - "customWhitelist2": { "levelRange": { @@ -81,7 +86,8 @@ - "customWhitelist3": { + "customWhitelist3": + { "levelRange": { "min": 31, @@ -120,7 +126,8 @@ - "customWhitelist4": { + "customWhitelist4": + { "levelRange": { "min": 41, @@ -159,7 +166,8 @@ - "customWhitelist5": { + "customWhitelist5": + { "levelRange": { "min": 51, diff --git a/config/ts/scav.ts b/config/ts/scav.ts index c4f3482..5bd16f2 100644 --- a/config/ts/scav.ts +++ b/config/ts/scav.ts @@ -1,13 +1,28 @@ export interface ScavConfig { scavProgression: boolean - customWhitelist1: EquipmentFilterDetails + customWhitelist1: EquipmentFilters customWhitelist2: EquipmentFilterDetails customWhitelist3: EquipmentFilterDetails customWhitelist4: EquipmentFilterDetails customWhitelist5: EquipmentFilterDetails } +export interface EquipmentFilters +{ + weaponModLimits: ModLimits; + randomisedWeaponModSlots?: string[]; + blacklist: EquipmentFilterDetails[]; + whitelist: EquipmentFilterDetails[]; +} + +export interface ModLimits { + /** How many scopes are allowed on a weapon - hard coded to work with OPTIC_SCOPE, ASSAULT_SCOPE, COLLIMATOR, COMPACT_COLLIMATOR */ + scopeLimit?: number; + /** How many lasers or lights are allowed on a weapon - hard coded to work with TACTICAL_COMBO, and FLASHLIGHT */ + lightLaserLimit?: number; +} + export interface EquipmentFilterDetails { levelRange: MinMax; diff --git a/src/pmc.ts b/src/pmc.ts index be8bc13..3a52432 100644 --- a/src/pmc.ts +++ b/src/pmc.ts @@ -2,7 +2,7 @@ import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; import { IDatabaseTables } from "@spt-aki/models/spt/server/IDatabaseTables"; import { Logger } from "./logger"; import { PmcConfig } from "../config/ts/pmc"; -import { EquipmentFilterDetails, EquipmentFilters, IBotConfig } from "@spt-aki/models/spt/config/IBotConfig"; +import { EquipmentFilterDetails, IBotConfig } from "@spt-aki/models/spt/config/IBotConfig"; export class PMCs { diff --git a/src/progression.ts b/src/progression.ts deleted file mode 100644 index 10c1b46..0000000 --- a/src/progression.ts +++ /dev/null @@ -1,801 +0,0 @@ -import { EquipmentFilterDetails, EquipmentFilters, IBotConfig } from "@spt-aki/models/spt/config/IBotConfig"; -import { Logger } from "./logger"; -import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; -import { IDatabaseTables } from "@spt-aki/models/spt/server/IDatabaseTables"; - -export class Progression -{ - private logger: Logger; - private botConfig: IBotConfig; - private databaseServer: IDatabaseTables - - constructor(logger: Logger, databaseServer: DatabaseServer, botConfig: IBotConfig) - { - this.logger = logger; - this.botConfig = botConfig; - this.databaseServer = databaseServer.getTables(); - } - - public updateProgression(): void - { - { - this.generateProgression(); - this.logger.info("Progressional Gear Changes Applied"); - } - } - - - // Functions start here - - - private generateProgression() - { - // Gear Arrays - // Primary Weapon Array - const primaryWeaponArrayLL1 = ["574d967124597745970e7c94", "57d14d2524597714373db789", "57f4c844245977379d5c14d1", "59984ab886f7743e98271174", "5ea03f7400685063ec28bfa8", "5ae08f0a5acfc408fb1398a1", "5bfd297f0db834001a669119", "59d6088586f774275f37482f", "583990e32459771419544dd2", "59e6152586f77473dc057aa1", "5c07c60e0db834002330051f", "5a38e6bac4a2826c6e06d79b", "56dee2bdd2720bc8328b4567", "5447a9cd4bdc2dbd208b4567", "5d2f0d8048f0356c925bc3b0", "5d2f0d8048f0356c925bc3b0", "5fc3e272f8b6a877a729eac5", "58948c8e86f77409493f7266", "5644bd2b4bdc2d3b4c8b4572", "59e6687d86f77411d949b251", "54491c4f4bdc2db1078b4568", "5ba26383d4351e00334c93d9", "587e02ff24597743df3deaeb", "5c501a4d2e221602b412b540", "60db29ce99594040e04c4a27", "5580223e4bdc2d1c128b457f", "61f7c9e189e6fb1a5e3ea78d", "5e870397991fd70db46995c8", "5de652c31b7e3716273428be"]; - const primaryWeaponArrayLL2 = primaryWeaponArrayLL1.concat(...["5839a40f24597726f856b511", "59ff346386f77477562ff5e2", "5ab8e9fcd8ce870019439434", "5bf3e03b0db834001d2c4a9c", "55801eed4bdc2d89578b4588", "5fbcc1d9016cce60e8341ab3", "628b5638ad252a16da6dd245", "5f2a9575926fd9352339381f", "5a7828548dc32e5a9c28b516", "60339954d62c9b14ed777c06", "6184055050224f204c1da540", "623063e994fc3f7b302a9696", "5e00903ae9dc277128008b87", "5ac66cb05acfc40198510a10", "5aafa857e5b5b00018480968", "5cc82d76e24e8d00134b4b83", "5bfea6e90db834001b7347f3", "576165642459773c7a400233", "606dae0ab0e443224b421bb7"]); - const primaryWeaponArrayLL3 = primaryWeaponArrayLL2.concat(...["5ac66d725acfc43b321d4b60", "5a0ec13bfcdbcb00165aa685", "5abcbc27d8ce8700182eceeb", "5ac4cd105acfc40016339859", "5ac66d2e5acfc43b321d4b53", "5ac66d9b5acfc4001633997a", "5beed0f50db834001c062b12", "57838ad32459774a17445cd2", "5c46fbd72e2216398b5a8c9c", "5e848cc2988a8701445df1e8", "5d43021ca4b9362eab4b5e25", "588892092459774ac91d4b11", "5c488a752e221602b412af63", "5b0bbe4e5acfc40dc528a72d", "618428466ef05c2ce828f218", "5a367e5dc4a282000e49738f", "5df8ce05b11454561e39243b", "6176aca650224f204c1da3fb", "628a60ae6b1d481ff772e9c8", "6183afd850224f204c1da514", "6165ac306ef05c2ce828ef74", "6259b864ebedf17603599e88"]); - - - // Holster Array - const holsterArrayLL1 = ["5448bd6b4bdc2dfc2f8b4569", "571a12c42459771f627b58a0", "576a581d2459771e7b1bc4f1", "5a17f98cfcdbcb0980087290", "5e81c3cbac2bb513793cdc75", "5cadc190ae921500103bb3b6", "56d59856d2720bd8418b456a", "5a7ae0c351dfba0017554310"]; - const holsterArrayLL2 = holsterArrayLL1.concat(...["61a4c8884f95bc3b2c5dc96f", "56e0598dd2720bb5668b45a6", "59f98b4986f7746f546d2cef", "602a9740da11d6478d5a06dc", "6193a720f8ee7e52e42109ed"]); - const holsterArrayLL3 = holsterArrayLL2.concat(...["5abccb7dd8ce87001773e277", "5d3eb3b0a4b93615055e84d2", "5b1fa9b25acfc40018633c01"]); - - - // Backpack Array - const backpackArrayLL1 = ["5ab8ee7786f7742d8f33f0b9", "544a5cde4bdc2d39388b456b", "5e9dcf5986f7746c417435b3", "5ab8f04f86f774585f4237d8", "5ca20d5986f774331e7c9602"]; - const backpackArrayLL2 = backpackArrayLL1.concat(...["545cdae64bdc2d39198b4568", "60a2828e8689911a226117f9", "618bb76513f5097c8d5aa2d5", "5f5e467b0bc58666c37e7821", "5ab8ebf186f7742d8b372e80"]); - const backpackArrayLL3 = backpackArrayLL2.concat(...["5f5e46b96bdad616ad46d613", "5d5d940f86f7742797262046", "60a272cc93ef783291411d8e", "6034d103ca006d2dca39b3f0", "619cf0335771dd3c390269ae", "628e1ffc83ec92260c0f437f"]); - - - // Tacvest Array - const tacticalVestArrayLL1 = ["5929a2a086f7744f4b234d43", "5e4abc1f86f774069619fbaa", "6034d0230ca681766b6a0fb5", "6034cf5fffd42c541047f72e", "572b7adb24597762ae139821", "5c0e3eb886f7742015526062"]; - const tacticalVestArrayLL2 = tacticalVestArrayLL1.concat(...["5d5d8ca986f7742798716522", "544a5caa4bdc2d1a388b4568", "5c0e446786f7742013381639", "592c2d1a86f7746dbe2af32a", "5d5d85c586f774279a21cbdb", "59e7643b86f7742cbf2c109", "5b44c8ea86f7742d1627baf1", "5ca20abf86f77418567a43f2", "5d5d646386f7742797261fd9", "5fd4c60f875c30179f5d04c2", "60a6220e953894617404b00a", "61bc85697113f767765c7fe7", "603648ff5a45383c122086ac", "5e4abfed86f77406a2713cf7"]); - const tacticalVestArrayLL3 = tacticalVestArrayLL2.concat(...["60a3c70cde5f453f634816a3", "5648a69d4bdc2ded0b8b457b", "5ab8dced86f774646209ec87", "5ab8dab586f77441cd04f2a2", "60a621c49c197e4e8c4455e6", "5b44cad286f77402a54ae7e5", "5c0e6a1586f77404597b4965", "5c0e722886f7740458316a57", "5c0e746986f7741453628fe5", "5d5d87f786f77427997cfaef", "5df8a42886f77412640e2e75", "628d0618d1ba6e4fa07ce5a4", "61bcc89aef0f505f0c6cd0fc", "628dc750b910320f4c27a732", "628cd624459354321c4b7fa2"]); - - - // Earpiece Array - const earpieceArrayLL1 = ["5b432b965acfc47a8774094e", "6033fa48ffd42c541047f728"]; - const earpieceArrayLL2 = earpieceArrayLL1.concat(...["5645bcc04bdc2d363b8b4572", "5aa2ba71e5b5b000137b758f"]); - const earpieceArrayLL3 = earpieceArrayLL2.concat(...["5a16b9fffcdbcb0176308b34"]); - - - // Headwear Array - const headwearArrayLL1 = ["5a7c4850e899ef00150be885", "5aa7d193e5b5b000171d063f", "5c06c6a80db834001b735491", "59e7711e86f7746cae05fbe1", "5ac4c50d5acfc40019262e87", "5645bc214bdc2d363b8b4571", "5aa2a7e8e5b5b00016327c16", "5b40e61f5acfc4001a599bec", "5aa2b87de5b5b00016327c25", "5b40e5e25acfc4001a599bea"]; - const headwearArrayLL2 = headwearArrayLL1.concat(...["5aa7d03ae5b5b00016327db5", "5d5e7d28a4b936645d161203", "5aa7e454e5b5b0214e506fa2", "5aa7e3abe5b5b000171d064d", "5b40e4035acfc47a87740943", "5b432d215acfc4771e1c6624", "5f60e784f2bcbb675b00dac7", "5aa2ba19e5b5b00014028f4e", "5b43271c5acfc432ff4dce65", "60b52e5bc7d8103275739d67", "5a16b672fcdbcb001912fa83"]); - const headwearArrayLL3 = headwearArrayLL2.concat(...["5ac8d6885acfc400180ae7b0", "5a154d5cfcdbcb001a3b00da", "5e00c1ad86f774747333222c", "5b40e3f35acfc40016388218", "5b4329f05acfc47a86086aa1", "5d6d3716a4b9361bc8618872", "5aa2b9ede5b5b000137b758b", "5c091a4e0db834001d5addc8", "5f60e7788adaa7100c3adb49", "5f60e6403b85f6263c14558c", "5aa7e373e5b5b000137b76f0"]); - - - // Armor Vest Array - const armorVestArrayLL1 = ["5df8a2ca86f7740bfe6df777", "5ab8e4ed86f7742d8e50c7fa", "5648a7494bdc2d9d488b4583", "5c0e5bab86f77461f55ed1f3", "5c0e5edb86f77461f55ed1f7", "62a09d79de7ac81993580530"]; - const armorVestArrayLL2 = armorVestArrayLL1.concat(...["5b44d22286f774172b0c9de8", "5c0e51be86f774598e797894"]) - const armorVestArrayLL3 = armorVestArrayLL2.concat(...["5f5f41476bdad616ad46d631", "545cdb794bdc2d3a198b456a", "5ab8e79e86f7742d8b372e78", "5b44d0de86f774503d30cba8", "5c0e53c886f7747fa54205c7", "5c0e57ba86f7747fa141986d", "5ca2151486f774244a3b8d30", "609e8540d5c319764c2bc2e9"]); - - - // Eyewear Array - const eyewearArrayLL1 = ["5aa2b986e5b5b00014028f4c", "557ff21e4bdc2d89578b4586", "5b432be65acfc433000ed01f"]; - const eyewearArrayLL2 = eyewearArrayLL1.concat(...["5d5fca1ea4b93635fd598c07"]); - const eyewearArrayLL3 = eyewearArrayLL2.concat(...["603409c80ca681766b6a0fb2", "5c0d32fcd174af02a1659c75", "5d6d2e22a4b9361bd5780d05"]); - - - // Armband Array - const armBandArrayLL1 = ["5b3f16c486f7747c327f55f7", "5b3f3ade86f7746b6b790d8e", "5b3f3af486f774679e752c1f", "5b3f3b0186f774021a2afef7", "5b3f3b0e86f7746752107cda"]; - const armBandArrayLL2 = armBandArrayLL1; - const armBandArrayLL3 = armBandArrayLL2.concat(...["619bdf9cc9546643a67df6f8", "619bc61e86e01e16f839a999", "619bdfd4c9546643a67df6fa", "619bdd8886e01e16f839a99c", "60b0f988c4449e4cb624c1da", "5f9949d869e2777a0e779ba5"]); - - // Face Cover Array - const faceCoverArrayLL1 = ["572b7f1624597762ae139822"]; - const faceCoverArrayLL2 = faceCoverArrayLL1.concat(...["5ab8f39486f7745cd93a1cca", "5b4325355acfc40019478126"]); - const faceCoverArrayLL3 = faceCoverArrayLL2.concat(...["5ab8f85d86f7745cd93a1cf5", "5b432f3d5acfc4704b4a1dfb"]); - - - - // Ammo Arrays - // 12.7x55mm Ammo Arrays - const ammo127x55ArrayLL3 = ["5cadf6e5ae921500113bb973", "5cadf6eeae921500134b2799"]; - - - // 7.62x54R Ammo Arrays - const ammo762x54ArrayLL1 = ["5887431f2459777e1612938f"]; - const ammo762x54ArrayLL2 = ammo762x54ArrayLL1.concat(...["5e023cf8186a883be655e54f"]); - const ammo762x54ArrayLL3 = ammo762x54ArrayLL2.concat(...["59e77a2386f7742ee578960a", "560d61e84bdc2da74d8b4571"]); - - - // 7.62x51mm Ammo Arrays - const ammo762x51ArrayLL1 = ["5e023e6e34d52a55c3304f71"]; - const ammo762x51ArrayLL2 = ammo762x51ArrayLL1.concat(...["5e023e53d4353e3302577c4c"]); - const ammo762x51ArrayLL3 = ammo762x51ArrayLL2.concat(...["58dd3ad986f77403051cba8f", "5a608bf24f39f98ffc77720e", "5a6086ea4f39f99cd479502f"]); - - - // 7.62x39mm Ammo Arrays - const ammo762x39ArrayLL1 = ["5656d7c34bdc2d9d198b4587", "59e4d3d286f774176a36250a"]; - const ammo762x39ArrayLL2 = ammo762x39ArrayLL1.concat(...["59e4cf5286f7741778269d8a"]); - const ammo762x39ArrayLL3 = ammo762x39ArrayLL2.concat(...["59e4d24686f7741776641ac7", "59e0d99486f7744a32234762"]); - - - // 7.62x35mm or .300BLKOUT Ammo Arrays - const ammo762x35ArrayLL2 = ["5fbe3ffdf8b6a877a729ea82"]; - const ammo762x35ArrayLL3 = ammo762x35ArrayLL2.concat(...["6196365d58ef8c428c287da1", "619636be6db0f2477964e710"]); - - - // 7.62x25mm TT Ammo Arrays - const ammo762x25TTArrayLL1 = ["5735fdcd2459776445391d61", "5735ff5c245977640e39ba7e", "573601b42459776410737435", "573602322459776445391df1"]; - const ammo762x25TTArrayLL2 = ammo762x25TTArrayLL1.concat(...["5736026a245977644601dc61", "573603c924597764442bd9cb"]); - const ammo762x25TTArrayLL3 = ammo762x25TTArrayLL2.concat(...["573603562459776430731618"]); - - - // 366 TKM Ammo Arrays. - const ammo366TKMArrayLL1 = ["59e6542b86f77411dc52a77a", "59e655cb86f77411dc52a77b"]; - const ammo366TKMArrayLL2 = ammo366TKMArrayLL1.concat(...["59e6658b86f77411d949b250"]); - const ammo366TKMArrayLL3 = ammo366TKMArrayLL2.concat(...["5f0596629e22f464da6bbdd9"]); - - - // 5.56 Ammo Arrays - const ammo556x45ArrayLL1 = ["59e6920f86f77411d82aa167", "54527a984bdc2d4e668b4567", "59e68f6f86f7746c9f75e846", "59e6927d86f77411da468256"]; - const ammo556x45ArrayLL2 = ammo556x45ArrayLL1.concat(...["59e6918f86f7746c9f75e849", "59e6906286f7746c9f75e847"]); - const ammo556x45ArrayLL3 = ammo556x45ArrayLL2.concat(...["60194943740c5d77f6705eea", "59e690b686f7746c9f75e848", "5c0d5ae286f7741e46554302"]); - - - // 5.45 Ammo Arrays - const ammo545x39ArrayLL1 = ["56dff338d2720bbd668b4569", "56dff4a2d2720bbd668b456a", "56dff3afd2720bba668b4567"]; - const ammo545x39ArrayLL2 = ammo545x39ArrayLL1.concat(...["56dff2ced2720bb4668b4567", "56dff4ecd2720b5f5a8b4568", "56dff421d2720b5f5a8b4567"]); - const ammo545x39ArrayLL3 = ammo545x39ArrayLL2.concat(...["56dfef82d2720bbd668b4567", "56dff061d2720bb5668b4567", "56dff026d2720bb8668b4567", "5c0d5e4486f77478390952fe"]); - - - // 5.7mm Ammo Arrays - const ammo57x28ArrayLL2 = ["5cc80f8fe4a949033b0224a2"]; - const ammo57x28ArrayLL3 = ammo57x28ArrayLL2.concat(...["5cc80f38e4a949001152b560", "5cc80f53e4a949000e1ea4f8", "5cc80f67e4a949035e43bbba", "5cc80f79e4a949033c7343b2", "5cc86840d7f00c002412c56c"]); - - - // 4.6mm Ammo Arrays - const ammo46x30ArrayLL1 = ["5ba26812d4351e003201fef1"]; - const ammo46x30ArrayLL2 = ammo46x30ArrayLL1; - const ammo46x30ArrayLL3 = ammo46x30ArrayLL2.concat(...["5ba2678ad4351e44f824b344", "5ba26844d4351e00334c9475"]); - - - // 9x18mm Ammo Arrays - const ammo9x18ArrayLL1 = ["573719762459775a626ccbc1", "57371e4124597760ff7b25f1", "57371eb62459776125652ac1", "57371f2b24597761224311f1", "5737201124597760fc4431f1", "5737207f24597760ff7b25f2"]; - const ammo9x18ArrayLL2 = ammo9x18ArrayLL1.concat(...["57371b192459775a9f58a5e0"]); - const ammo9x18ArrayLL3 = ammo9x18ArrayLL2.concat(...["573718ba2459775a75491131", "573719df2459775a626ccbc2", "57371aab2459775a77142f22", "573720e02459776143012541", "57372140245977611f70ee91", "5737218f245977612125ba51"]); - - - // 9x19mm Ammo Arrays - const ammo9x19ArrayLL1 = ["58864a4f2459770fcc257101", "5c3df7d588a4501f290594e5"]; - const ammo9x19ArrayLL2 = ammo9x19ArrayLL1.concat(...["56d59d3ad2720bdb418b4577"]); - const ammo9x19ArrayLL3 = ammo9x19ArrayLL2.concat(...["5c925fa22e221601da359b7b", "5efb0e16aeb21837e749c7ff", "5efb0da7a29a85116f6ea05f"]); - - - // 9x21mm Ammo Arrays - const ammo9x21ArrayLL2 = ["5a26abfac4a28232980eabff"]; - const ammo9x21ArrayLL3 = ammo9x21ArrayLL2.concat(...["5a269f97c4a282000b151807", "5a26ac06c4a282000c5a90a8"]); - - - // 9x39mm Ammo Arrays - const ammo9x39ArrayLL2 = ["57a0dfb82459774d3078b56c"]; - const ammo9x39ArrayLL3 = ammo9x39ArrayLL2.concat(...["57a0e5022459774d1673f889", "5c0d688c86f77413ae3407b2", "5c0d668f86f7747ccb7f13b2"]); - - - // 9x33 Revolver Ammo Arrays - const ammo9x33RArrayLL2 = ["62330b3ed4dc74626d570b95", "62330bfadc5883093563729b", "62330c40bdd19b369e1e53d1"]; - const ammo9x33RArrayLL3 = ammo9x33RArrayLL2.concat(...["62330c18744e5e31df12f516"]); - - - // .45 ACP Ammo Arrays - const ammo1143x23ACPArrayLL1 = ["5e81f423763d9f754677bf2e"]; - const ammo1143x23ACPArrayLL2 = ammo1143x23ACPArrayLL1.concat(...["5efb0d4f4bc50b58e81710f3"]); - const ammo1143x23ACPArrayLL3 = ammo1143x23ACPArrayLL2.concat(...["5efb0cabfb3e451d70735af5", "5efb0fc6aeb21837e749c801"]); - - - // 12 Gauge Ammo Arrays - const ammo12x70ArrayLL1 = ["560d5e524bdc2d25448b4571", "5d6e6772a4b936088465b17c", "5d6e67fba4b9361bc73bc779", "58820d1224597753c90aeb13", "5d6e6869a4b9361c140bcfde", "5d6e6891a4b9361bd473feea" ]; - const ammo12x70ArrayLL2 = ammo12x70ArrayLL1.concat(...["5d6e6806a4b936088465b17e", "5d6e689ca4b9361bc8618956", "5d6e68e6a4b9361c140bcfe0"]); - const ammo12x70ArrayLL3 = ammo12x70ArrayLL2.concat(...["5d6e68b3a4b9361bca7e50b5", "5d6e68dea4b9361bcc29e659", "5d6e68a8a4b9360b6c0d54e2", "5d6e6911a4b9361bd5780d52", "5d6e68c4a4b9361b93413f79", "5c0d591486f7744c505b416f"]); - - - // 20 Gauge Ammo Arrays - const ammo20x70ArrayLL1 = ["5a38ebd9c4a282000d722a5b", "5d6e695fa4b936359b35d852", "5d6e6a42a4b9364f07165f52", "5d6e6a53a4b9361bd473feec"]; - const ammo20x70ArrayLL2 = ammo20x70ArrayLL1.concat(...["5d6e69b9a4b9361bc8618958", "5d6e69c7a4b9360b6c0d54e4"]); - const ammo20x70ArrayLL3 = ammo20x70ArrayLL2.concat(...["5d6e6a05a4b93618084f58d0", "5d6e6a5fa4b93614ec501745"]); - - - // 23x75mm KS-23 Ammo Arrays - const ammo23x75ArrayLL3 = ["5e85a9a6eacf8c039e4e2ac1", "5f647f31b6238e5dd066e196"]; - - - const progressionWhitelistLL1PMC: EquipmentFilterDetails = - { - "levelRange": - { - "min": 1, - "max": 15 - }, - "equipment": - { - "FirstPrimaryWeapon": [...primaryWeaponArrayLL1], - "Holster": [...holsterArrayLL1], - "Backpack": [...backpackArrayLL1], - "TacticalVest": [...tacticalVestArrayLL1], - "Earpiece": [...earpieceArrayLL1], - "Headwear": [...headwearArrayLL1], - "ArmorVest": [...armorVestArrayLL1], - "Eyewear": [...eyewearArrayLL1], - "ArmBand": [...armBandArrayLL1], - "FaceCover": [...faceCoverArrayLL1] - }, - "cartridge": - { - "Caliber762x54R": [...ammo762x54ArrayLL1], - "Caliber762x51": [...ammo762x51ArrayLL1], - "Caliber762x39": [...ammo762x39ArrayLL1], - "Caliber762x25TT": [...ammo762x25TTArrayLL1], - "Caliber366TKM": [...ammo366TKMArrayLL1], - "Caliber556x45NATO": [...ammo556x45ArrayLL1], - "Caliber545x39": [...ammo545x39ArrayLL1], - "Caliber46x30": [...ammo46x30ArrayLL1], - "Caliber1143x23ACP": [...ammo1143x23ACPArrayLL1], - "Caliber9x19PARA": [...ammo9x19ArrayLL1], - "Caliber9x18PM": [...ammo9x18ArrayLL1], - "Caliber12g": [...ammo12x70ArrayLL1], - "Caliber20g": [...ammo20x70ArrayLL1] - } - } - - const progressionWhitelistLL2PMC: EquipmentFilterDetails = - { - "levelRange": - { - "min": 16, - "max": 25 - }, - "equipment": - { - "FirstPrimaryWeapon": [...primaryWeaponArrayLL2], - "Holster": [...holsterArrayLL2], - "Backpack": [...backpackArrayLL2], - "TacticalVest": [...tacticalVestArrayLL2], - "Earpiece": [...earpieceArrayLL2], - "Headwear": [...headwearArrayLL2], - "ArmorVest": [...armorVestArrayLL2], - "Eyewear": [...eyewearArrayLL2], - "ArmBand": [...armBandArrayLL2], - "FaceCover": [...faceCoverArrayLL2] - }, - "cartridge": - { - "Caliber762x54R": [...ammo762x54ArrayLL2], - "Caliber762x51": [...ammo762x51ArrayLL2], - "Caliber762x39": [...ammo762x39ArrayLL2], - "Caliber762x35": [...ammo762x35ArrayLL2], - "Caliber762x25TT": [...ammo762x25TTArrayLL2], - "Caliber366TKM": [...ammo366TKMArrayLL2], - "Caliber556x45NATO": [...ammo556x45ArrayLL2], - "Caliber545x39": [...ammo545x39ArrayLL2], - "Caliber57x28": [...ammo57x28ArrayLL2], - "Caliber46x30": [...ammo46x30ArrayLL2], - "Caliber1143x23ACP": [...ammo1143x23ACPArrayLL2], - "Caliber9x39": [...ammo9x39ArrayLL2], - "Caliber9x33R": [...ammo9x33RArrayLL2], - "Caliber9x21": [...ammo9x21ArrayLL2], - "Caliber9x19PARA": [...ammo9x19ArrayLL2], - "Caliber9x18PM": [...ammo9x18ArrayLL2], - "Caliber12g": [...ammo12x70ArrayLL2], - "Caliber20g": [...ammo20x70ArrayLL2] - } - } - - - const progressionWhitelistLL3PMC: EquipmentFilterDetails = - { - "levelRange": - { - "min": 26, - "max": 36 - }, - "equipment": - { - "FirstPrimaryWeapon": [...primaryWeaponArrayLL3], - "Holster": [...holsterArrayLL3], - "Backpack": [...backpackArrayLL3], - "TacticalVest": [...tacticalVestArrayLL3], - "Earpiece": [...earpieceArrayLL3], - "Headwear": [...headwearArrayLL3], - "ArmorVest": [...armorVestArrayLL3], - "Eyewear": [...eyewearArrayLL3], - "ArmBand": [...armBandArrayLL3], - "FaceCover": [...faceCoverArrayLL3] - }, - "cartridge": - { - "Caliber127x55": [...ammo127x55ArrayLL3], - "Caliber762x54R": [...ammo762x54ArrayLL3], - "Caliber762x51": [...ammo762x51ArrayLL3], - "Caliber762x39": [...ammo762x39ArrayLL3], - "Caliber762x35": [...ammo762x35ArrayLL3], - "Caliber762x25TT": [...ammo762x25TTArrayLL3], - "Caliber366TKM": [...ammo366TKMArrayLL3], - "Caliber556x45NATO": [...ammo556x45ArrayLL3], - "Caliber545x39": [...ammo545x39ArrayLL3], - "Caliber57x28": [...ammo57x28ArrayLL3], - "Caliber46x30": [...ammo46x30ArrayLL3], - "Caliber1143x23ACP": [...ammo1143x23ACPArrayLL3], - "Caliber9x39": [...ammo9x39ArrayLL3], - "Caliber9x33R": [...ammo9x33RArrayLL3], - "Caliber9x21": [...ammo9x21ArrayLL3], - "Caliber9x19PARA": [...ammo9x19ArrayLL3], - "Caliber9x18PM": [...ammo9x18ArrayLL3], - "Caliber12g": [...ammo12x70ArrayLL3], - "Caliber20g": [...ammo20x70ArrayLL3], - "Caliber23x75": [...ammo23x75ArrayLL3] - } - } - - - // Scav Progression Start - - // Scav Gear - const primaryWeaponArrayScav = ["5f2a9575926fd9352339381f", "5aafa857e5b5b00018480968", "56dee2bdd2720bc8328b4567", "54491c4f4bdc2db1078b4568", "576165642459773c7a400233", "5a38e6bac4a2826c6e06d79b", "57f4c844245977379d5c14d1", "57d14d2524597714373db789", "57f3c6bd24597738e730fa2f", "59f9cabd86f7743a10721f46", "5ea03f7400685063ec28bfa8", "60339954d62c9b14ed777c06", "5c07c60e0db834002330051f", "5ac66d9b5acfc4001633997a", "5bf3e03b0db834001d2c4a9c", "5ac4cd105acfc40016339859", "5644bd2b4bdc2d3b4c8b4572", "5bf3e0490db83400196199af", "59d6088586f774275f37482f", "5a0ec13bfcdbcb00165aa685", "59ff346386f77477562ff5e2", "57dc2fa62459775949412633", "5839a40f24597726f856b511", "583990e32459771419544dd2", "5b0bbe4e5acfc40dc528a72d", "59e6687d86f77411d949b251", "59e6152586f77473dc057aa1", "587e02ff24597743df3deaeb", "574d967124597745970e7c94", "5c501a4d2e221602b412b540", "57838ad32459774a17445cd2", "5c46fbd72e2216398b5a8c9c", "5ae08f0a5acfc408fb1398a1", "5bfea6e90db834001b7347f3", "55801eed4bdc2d89578b4588", "5de652c31b7e3716273428be"]; - const holsterArrayScav = ["576a581d2459771e7b1bc4f1", "56d59856d2720bd8418b456a", "56e0598dd2720bb5668b45a6", "5a17f98cfcdbcb0980087290", "579204f224597773d619e051", "5448bd6b4bdc2dfc2f8b4569", "571a12c42459771f627b58a0", "5cadc190ae921500103bb3b6", "5e81c3cbac2bb513793cdc75"]; - const backpackArrayScav = ["59e763f286f7742ee57895da", "56e335e4d2720b6c058b456d", "544a5cde4bdc2d39388b456b", "5f5e45cc5021ce62144be7aa", "56e33634d2720bd8058b456b", "56e33680d2720be2748b4576", "5ab8ee7786f7742d8f33f0b9", "5ab8f04f86f774585f4237d8"]; - const tacticalVestArrayScav = ["5d5d646386f7742797261fd9", "5c0e446786f7742013381639", "5e4abc1f86f774069619fbaa", "572b7adb24597762ae139821", "5fd4c5477a8d854fa0105061", "5fd4c4fa16cac650092f6771", "5648a69d4bdc2ded0b8b457b", "5e4abfed86f77406a2713cf7", "59e7643b86f7742cbf2c109a", "5929a2a086f7744f4b234d43", "5ab8dab586f77441cd04f2a2", "5ca20abf86f77418567a43f2", "5c0e6a1586f77404597b4965"]; - const earpieceArrayScav = ["5c165d832e2216398b5a7e36", "5b432b965acfc47a8774094e", "6033fa48ffd42c541047f728"]; - const headwearArrayScav = ["5ea05cf85ad9772e6624305d", "5df8a58286f77412631087ed", "5c0d2727d174af02a012cf58", "5c08f87c0db8340019124324", "59e7711e86f7746cae05fbe1", "5a7c4850e899ef00150be885", "5aa7cfc0e5b5b00015693143", "5aa7d03ae5b5b00016327db5", "5c06c6a80db834001b735491", "5c066ef40db834001966a595", "5aa2b9ede5b5b000137b758b", "59e7708286f7742cbd762753", "572b7fa124597762b472f9d2", "5bd073c986f7747f627e796c", "59e770f986f7742cbe3164ef", "572b7d8524597762b472f9d1", "5a43943586f77416ad2f06e2", "5a43957686f7742a2c2f11b0", "5aa2b8d7e5b5b00014028f4a", "5aa2ba19e5b5b00014028f4e", "5aa2a7e8e5b5b00016327c16", "5aa2b87de5b5b00016327c25", "5aa2b89be5b5b0001569311f", "5b4329075acfc400153b78ff", "5ab8f20c86f7745cdb629fb2"]; - const armorVestArrayScav = ["5ab8e79e86f7742d8b372e78", "5e9dacf986f774054d6b89f4", "5c0e53c886f7747fa54205c7", "5c0e51be86f774598e797894", "5ab8e4ed86f7742d8e50c7fa", "5c0e5edb86f77461f55ed1f7", "5b44d22286f774172b0c9de8", "5c0e5bab86f77461f55ed1f3", "59e7635f86f7742cbf2c1095", "5df8a2ca86f7740bfe6df777", "5648a7494bdc2d9d488b4583", "62a09d79de7ac81993580530"]; - const eyewearArrayScav = ["557ff21e4bdc2d89578b4586", "59e770b986f7742cbd762754", "5b432be65acfc433000ed01f", "5aa2b923e5b5b000137b7589", "5aa2b986e5b5b00014028f4c", "5aa2b9aee5b5b00015693121", "603409c80ca681766b6a0fb2"]; - const faceCoverArrayScav = ["5b432b2f5acfc4771e1c6622", "5e54f79686f7744022011103", "5b432c305acfc40019478128", "5b432b6c5acfc4001a599bf0", "59e7715586f7742ee5789605", "5bd06f5d86f77427101ad47c", "5bd0716d86f774171822ef4b", "5bd071d786f7747e707b93a3", "572b7f1624597762ae139822", "5ab8f39486f7745cd93a1cca", "5ab8f4ff86f77431c60d91ba", "5b432f3d5acfc4704b4a1dfb", "572b7fa524597762b747ce82", "5b4326435acfc433000ed01d", "5bd073a586f7747e6f135799", "5e54f76986f7740366043752", "5c1a1e3f2e221602b66cc4c2"]; - - // Scav Ammo - const ammo762x54ArrayScav = ["5887431f2459777e1612938f", "5e023cf8186a883be655e54f"]; - const ammo762x54ArrayScav2 = ammo762x54ArrayScav.concat(...["59e77a2386f7742ee578960a", "560d61e84bdc2da74d8b4571"]); - - - const ammo762x51ArrayScav = ["5e023e6e34d52a55c3304f71", "5e023e53d4353e3302577c4c"]; - const ammo762x51ArrayScav2 = ammo762x51ArrayScav.concat(...["58dd3ad986f77403051cba8f", "5a608bf24f39f98ffc77720e", "5a6086ea4f39f99cd479502f"]); - - - const ammo762x39ArrayScav = ["5656d7c34bdc2d9d198b4587", "59e4cf5286f7741778269d8a"]; - const ammo762x39ArrayScav2 = ammo762x39ArrayScav.concat(...["59e4d24686f7741776641ac7", "59e0d99486f7744a32234762"]); - - - const ammo762x25TTArrayScav = ["5735fdcd2459776445391d61", "5735ff5c245977640e39ba7e", "573601b42459776410737435", "573602322459776445391df1", "5736026a245977644601dc61", "573603c924597764442bd9cb"]; - const ammo762x25TTArrayScav2 = ammo762x25TTArrayScav.concat(...["573603562459776430731618"]); - - - const ammo366TKMArrayScav = ["59e6542b86f77411dc52a77a", "59e655cb86f77411dc52a77b", "59e6658b86f77411d949b250"]; - const ammo366TKMArrayScav2 = ammo366TKMArrayScav.concat(...["5f0596629e22f464da6bbdd9"]); - - - const ammo556x45ArrayScav = ["59e6920f86f77411d82aa167", "54527a984bdc2d4e668b4567", "59e68f6f86f7746c9f75e846", "59e6906286f7746c9f75e847"]; - const ammo556x45ArrayScav2 = ammo556x45ArrayScav.concat(...["59e690b686f7746c9f75e848"]); - - - const ammo545x39ArrayScav = ["56dff4a2d2720bbd668b456a", "56dff3afd2720bba668b4567", "56dff2ced2720bb4668b4567", "56dff4ecd2720b5f5a8b4568"]; - const ammo545x39ArrayScav2 = ammo545x39ArrayScav.concat(...["56dfef82d2720bbd668b4567", "56dff061d2720bb5668b4567", "56dff026d2720bb8668b4567", "5c0d5e4486f77478390952fe"]); - - - const ammo9x18ArrayScav = ["573719762459775a626ccbc1", "57371e4124597760ff7b25f1", "5737207f24597760ff7b25f2"]; - const ammo9x18ArrayScav2 = ammo9x18ArrayScav.concat(...["573718ba2459775a75491131", "573719df2459775a626ccbc2", "57371aab2459775a77142f22", "57372140245977611f70ee91"]); - - - const ammo9x19ArrayScav = ["5c3df7d588a4501f290594e5", "56d59d3ad2720bdb418b4577"]; - const ammo9x19ArrayScav2 = ammo9x19ArrayScav.concat(...["5c925fa22e221601da359b7b", "5efb0e16aeb21837e749c7ff", "5efb0da7a29a85116f6ea05f"]); - - - const ammo9x39ArrayScav = ["57a0dfb82459774d3078b56c"]; - const ammo9x39ArrayScav2 = ammo9x39ArrayScav.concat(...["57a0e5022459774d1673f889", "5c0d688c86f77413ae3407b2", "5c0d668f86f7747ccb7f13b2"]); - - - const ammo1143x23ACPArrayScav = ["5e81f423763d9f754677bf2e", "5efb0d4f4bc50b58e81710f3"]; - const ammo1143x23ACPArrayScav2 = ammo1143x23ACPArrayScav.concat(...["5efb0cabfb3e451d70735af5", "5efb0fc6aeb21837e749c801"]); - - - const ammo12x70ArrayScav = ["560d5e524bdc2d25448b4571", "5d6e6772a4b936088465b17c", "5d6e67fba4b9361bc73bc779", "58820d1224597753c90aeb13", "5d6e6869a4b9361c140bcfde", "5d6e6891a4b9361bd473feea","5d6e6806a4b936088465b17e", "5d6e689ca4b9361bc8618956", "5d6e68e6a4b9361c140bcfe0"]; - const ammo12x70ArrayScav2 = ammo12x70ArrayScav.concat(...["5d6e68b3a4b9361bca7e50b5", "5d6e68dea4b9361bcc29e659", "5d6e68a8a4b9360b6c0d54e2", "5d6e6911a4b9361bd5780d52", "5d6e68c4a4b9361b93413f79", "5c0d591486f7744c505b416f"]); - - - const ammo20x70ArrayScav = ["5a38ebd9c4a282000d722a5b", "5d6e695fa4b936359b35d852", "5d6e6a42a4b9364f07165f52", "5d6e6a53a4b9361bd473feec", "5d6e69b9a4b9361bc8618958", "5d6e69c7a4b9360b6c0d54e4"]; - const ammo20x70ArrayScav2 = ammo20x70ArrayScav.concat(...["5d6e6a05a4b93618084f58d0", "5d6e6a5fa4b93614ec501745"]); - - // Scav Whitelist - const progressionWhitelistScav1: EquipmentFilters = - { - "weaponModLimits": { - "scopeLimit": 1, - "lightLaserLimit": 1 - }, - "randomisedWeaponModSlots": [], - "blacklist": [], - "whitelist": [{ - "levelRange": - { - "min": 1, - "max": 25 - }, - "equipment": - { - "FirstPrimaryWeapon": [...primaryWeaponArrayScav], - "Holster": [...holsterArrayScav], - "Backpack": [...backpackArrayScav], - "TacticalVest": [...tacticalVestArrayScav], - "Earpiece": [...earpieceArrayScav], - "Headwear": [...headwearArrayScav], - "ArmorVest": [...armorVestArrayScav], - "Eyewear": [...eyewearArrayScav], - "FaceCover": [...faceCoverArrayScav] - }, - "cartridge": - { - "Caliber762x54R": [...ammo762x54ArrayScav], - "Caliber762x51": [...ammo762x51ArrayScav], - "Caliber762x39": [...ammo762x39ArrayScav], - "Caliber762x25TT": [...ammo762x25TTArrayScav], - "Caliber366TKM": [...ammo366TKMArrayScav], - "Caliber556x45NATO": [...ammo556x45ArrayScav], - "Caliber545x39": [...ammo545x39ArrayScav], - "Caliber1143x23ACP": [...ammo1143x23ACPArrayScav], - "Caliber9x39": [...ammo9x39ArrayScav], - "Caliber9x19PARA": [...ammo9x19ArrayScav], - "Caliber9x18PM": [...ammo9x18ArrayScav], - "Caliber12g": [...ammo12x70ArrayScav], - "Caliber20g": [...ammo20x70ArrayScav] - } - }] - } - - const progressionWhitelistScav2: EquipmentFilterDetails = - { - "levelRange": - { - "min": 26, - "max": 70 - }, - "equipment": - { - "FirstPrimaryWeapon": [...primaryWeaponArrayScav], - "Holster": [...holsterArrayScav], - "Backpack": [...backpackArrayScav], - "TacticalVest": [...tacticalVestArrayScav], - "Earpiece": [...earpieceArrayScav], - "Headwear": [...headwearArrayScav], - "ArmorVest": [...armorVestArrayScav], - "Eyewear": [...eyewearArrayScav], - "FaceCover": [...faceCoverArrayScav] - }, - "cartridge": - { - "Caliber762x54R": [...ammo762x54ArrayScav2], - "Caliber762x51": [...ammo762x51ArrayScav2], - "Caliber762x39": [...ammo762x39ArrayScav2], - "Caliber762x25TT": [...ammo762x25TTArrayScav2], - "Caliber366TKM": [...ammo366TKMArrayScav2], - "Caliber556x45NATO": [...ammo556x45ArrayScav2], - "Caliber545x39": [...ammo545x39ArrayScav2], - "Caliber1143x23ACP": [...ammo1143x23ACPArrayScav2], - "Caliber9x39": [...ammo9x39ArrayScav2], - "Caliber9x19PARA": [...ammo9x19ArrayScav2], - "Caliber9x18PM": [...ammo9x18ArrayScav2], - "Caliber12g": [...ammo12x70ArrayScav2], - "Caliber20g": [...ammo20x70ArrayScav2] - } - } - - // Scav Gear Weighting Changes - const scavEquipment = this.databaseServer.bots.types.assault.inventory.equipment; - const scavChances = this.databaseServer.bots.types.assault.chances; - const scavAmmo = this.databaseServer.bots.types.assault.inventory.Ammo; - - // Scav Primary Weapon Weighting && Chance Edits - scavChances.mods.mod_foregrip = 15; - scavEquipment.FirstPrimaryWeapon= { - "56dee2bdd2720bc8328b4567": 23, - "54491c4f4bdc2db1078b4568": 25, - "576165642459773c7a400233": 23, - "5a38e6bac4a2826c6e06d79b": 23, - "57f4c844245977379d5c14d1": 25, - "57d14d2524597714373db789": 25, - "59f9cabd86f7743a10721f46": 23, - "5ea03f7400685063ec28bfa8": 23, - "60339954d62c9b14ed777c06": 23, - "5c07c60e0db834002330051f": 25, - "5ac66d9b5acfc4001633997a": 23, - "5bf3e03b0db834001d2c4a9c": 23, - "5ac4cd105acfc40016339859": 23, - "5644bd2b4bdc2d3b4c8b4572": 23, - "5bf3e0490db83400196199af": 23, - "59d6088586f774275f37482f": 23, - "5a0ec13bfcdbcb00165aa685": 23, - "59ff346386f77477562ff5e2": 23, - "57dc2fa62459775949412633": 25, - "5839a40f24597726f856b511": 25, - "583990e32459771419544dd2": 25, - "5b0bbe4e5acfc40dc528a72d": 5, - "59e6687d86f77411d949b251": 41, - "59e6152586f77473dc057aa1": 41, - "587e02ff24597743df3deaeb": 11, - "574d967124597745970e7c94": 27, - "5c501a4d2e221602b412b540": 5, - "57838ad32459774a17445cd2": 5, - "5c46fbd72e2216398b5a8c9c": 5, - "5ae08f0a5acfc408fb1398a1": 23, - "5bfea6e90db834001b7347f3": 5, - "55801eed4bdc2d89578b4588": 5, - "5de652c31b7e3716273428be": 23, - "5f2a9575926fd9352339381f": 23, - "5aafa857e5b5b00018480968": 23 - } - - // Scav Holster (Secondary Weapon) Weighting - scavEquipment.Holster = { - "576a581d2459771e7b1bc4f1": 25, - "56d59856d2720bd8418b456a": 17, - "56e0598dd2720bb5668b45a6": 12, - "5a17f98cfcdbcb0980087290": 17, - "579204f224597773d619e051": 27, - "5448bd6b4bdc2dfc2f8b4569": 31, - "571a12c42459771f627b58a0": 31, - "5cadc190ae921500103bb3b6": 17, - "5e81c3cbac2bb513793cdc75": 12 - } - - - // Scav Backpack Weighting && Chance Edit - scavChances.equipment.Backpack = 55; - scavEquipment.Backpack = { - "59e763f286f7742ee57895da": 11, - "56e335e4d2720b6c058b456d": 16, - "544a5cde4bdc2d39388b456b": 25, - "5f5e45cc5021ce62144be7aa": 29, - "56e33634d2720bd8058b456b": 29, - "56e33680d2720be2748b4576": 30, - "5ab8ee7786f7742d8f33f0b9": 30, - "5ab8f04f86f774585f4237d8": 30, - "628e1ffc83ec92260c0f437f": 6, - "5df8a4d786f77412672a1e3b": 2 - } - - // Scav Tac Vest Weighting - scavEquipment.TacticalVest = { - "5d5d646386f7742797261fd9": 14, - "5c0e446786f7742013381639": 14, - "5e4abc1f86f774069619fbaa": 20, - "572b7adb24597762ae139821": 20, - "5fd4c5477a8d854fa0105061": 20, - "5fd4c4fa16cac650092f6771": 20, - "5648a69d4bdc2ded0b8b457b": 6, - "5e4abfed86f77406a2713cf7": 20, - "59e7643b86f7742cbf2c109a": 20, - "5929a2a086f7744f4b234d43": 20, - "5ab8dab586f77441cd04f2a2": 8, - "5ca20abf86f77418567a43f2": 10, - "5c0e6a1586f77404597b4965": 8 - } - - // Scav Headset/Earpiece Weighting && Chance Edit - scavChances.equipment.Earpiece = 30; - scavEquipment.Earpiece = { - "5c165d832e2216398b5a7e36": 32, - "5b432b965acfc47a8774094e": 34, - "6033fa48ffd42c541047f728": 34 - } - - // Scav Headwear/Helmet Weighting - scavChances.mods.mod_nvg = 10; - scavEquipment.Headwear = { - "5ea05cf85ad9772e6624305d": 16, - "5df8a58286f77412631087ed": 16, - "5c0d2727d174af02a012cf58": 16, - "5c08f87c0db8340019124324": 16, - "59e7711e86f7746cae05fbe1": 16, - "5a7c4850e899ef00150be885": 16, - "5aa7cfc0e5b5b00015693143": 16, - "5aa7d03ae5b5b00016327db5": 16, - "5c06c6a80db834001b735491": 16, - "5c066ef40db834001966a595": 16, - "5aa2b9ede5b5b000137b758b": 16, - "59e7708286f7742cbd762753": 16, - "572b7fa124597762b472f9d2": 16, - "5bd073c986f7747f627e796c": 16, - "59e770f986f7742cbe3164ef": 16, - "572b7d8524597762b472f9d1": 16, - "5a43943586f77416ad2f06e2": 16, - "5a43957686f7742a2c2f11b0": 16, - "5aa2b8d7e5b5b00014028f4a": 16, - "5aa2ba19e5b5b00014028f4e": 16, - "5aa2a7e8e5b5b00016327c16": 16, - "5aa2b87de5b5b00016327c25": 16, - "5aa2b89be5b5b0001569311f": 16, - "5b4329075acfc400153b78ff": 16, - "5ab8f20c86f7745cdb629fb2": 16 - } - - // Scav Armor Vest Weighting - scavEquipment.ArmorVest = { - "5ab8e79e86f7742d8b372e78": 3, - "5e9dacf986f774054d6b89f4": 3, - "5c0e53c886f7747fa54205c7": 16, - "5c0e51be86f774598e797894": 16, - "5ab8e4ed86f7742d8e50c7fa": 22, - "5c0e5edb86f77461f55ed1f7": 22, - "5b44d22286f774172b0c9de8": 22, - "5c0e5bab86f77461f55ed1f3": 22, - "59e7635f86f7742cbf2c1095": 22, - "5df8a2ca86f7740bfe6df777": 22, - "5648a7494bdc2d9d488b4583": 22, - "62a09d79de7ac81993580530": 8 - } - - // Scav Eyewear Weighting - scavEquipment.Eyewear = { - "557ff21e4bdc2d89578b4586": 22, - "59e770b986f7742cbd762754": 23, - "5b432be65acfc433000ed01f": 23, - "5aa2b923e5b5b000137b7589": 9, - "5aa2b986e5b5b00014028f4c": 23, - "5aa2b9aee5b5b00015693121": 14, - "603409c80ca681766b6a0fb2": 7 - } - - // Scav Facecover Weighting - scavEquipment.FaceCover = { - "5b432b2f5acfc4771e1c6622": 21, - "5e54f79686f7744022011103": 15, - "5b432c305acfc40019478128": 21, - "5b432b6c5acfc4001a599bf0": 21, - "59e7715586f7742ee5789605": 24, - "5bd06f5d86f77427101ad47c": 21, - "5bd0716d86f774171822ef4b": 21, - "5bd071d786f7747e707b93a3": 21, - "572b7f1624597762ae139822": 21, - "5ab8f39486f7745cd93a1cca": 21, - "5ab8f4ff86f77431c60d91ba": 21, - "5b432f3d5acfc4704b4a1dfb": 25, - "572b7fa524597762b747ce82": 30, - "5b4326435acfc433000ed01d": 30, - "5bd073a586f7747e6f135799": 20, - "5e54f76986f7740366043752": 15, - "5c1a1e3f2e221602b66cc4c2": 20 - } - - // Scav Ammo Weighting - - // 762x54R Weighting - scavAmmo.Caliber762x54R = { - "5887431f2459777e1612938f": 45, - "5e023cf8186a883be655e54f": 45, - "59e77a2386f7742ee578960a": 60, - "560d61e84bdc2da74d8b4571": 50 - } - - // 762x51 Weighting - scavAmmo.Caliber762x51 = { - "5e023e6e34d52a55c3304f71": 25, - "5e023e53d4353e3302577c4c": 25, - "58dd3ad986f77403051cba8f": 100, - "5a608bf24f39f98ffc77720e": 100, - "5a6086ea4f39f99cd479502f": 50 - } - - // 762x39 Weighting - scavAmmo.Caliber762x39 = { - "5656d7c34bdc2d9d198b4587": 30, - "59e4cf5286f7741778269d8a": 30, - "59e4d24686f7741776641ac7": 30, - "59e0d99486f7744a32234762": 10 - } - - // 762x25 Weighting - scavAmmo.Caliber762x25TT = { - "5735fdcd2459776445391d61": 7, - "5735ff5c245977640e39ba7e": 20, - "573601b42459776410737435": 20, - "573602322459776445391df1": 20, - "5736026a245977644601dc61": 7, - "573603c924597764442bd9cb": 6, - "573603562459776430731618": 20 - } - - // 366TKM Weighting - scavAmmo.Caliber366TKM = { - "59e6542b86f77411dc52a77a": 30, - "59e655cb86f77411dc52a77b": 80, - "59e6658b86f77411d949b250": 10, - "5f0596629e22f464da6bbdd9": 80 - } - - // 5.56x45 Weighting - scavAmmo.Caliber556x45NATO = { - "59e6920f86f77411d82aa167": 20, - "54527a984bdc2d4e668b4567": 40, - "59e68f6f86f7746c9f75e846": 40, - "59e6906286f7746c9f75e847": 40, - "59e690b686f7746c9f75e848": 40 - } - - // 5.45x39 Weighting - scavAmmo.Caliber545x39 = { - "56dff4a2d2720bbd668b456a": 15, - "56dff3afd2720bba668b4567": 15, - "56dff2ced2720bb4668b4567": 15, - "56dff4ecd2720b5f5a8b4568": 15, - "56dfef82d2720bbd668b4567": 20, - "56dff061d2720bb5668b4567": 25, - "56dff026d2720bb8668b4567": 25, - "5c0d5e4486f77478390952fe": 25 - } - - // 9x18 Weighting - scavAmmo.Caliber9x18PM = { - "573719762459775a626ccbc1": 20, - "57371e4124597760ff7b25f1": 30, - "5737207f24597760ff7b25f2": 50, - "573718ba2459775a75491131": 30, - "573719df2459775a626ccbc2": 80, - "57371aab2459775a77142f22": 60, - "57372140245977611f70ee91": 70 - } - - // 9x19 Weighting - scavAmmo.Caliber9x19PARA = { - "5c3df7d588a4501f290594e5": 30, - "56d59d3ad2720bdb418b4577": 30, - "5c925fa22e221601da359b7b": 80, - "5efb0e16aeb21837e749c7ff": 80, - "5efb0da7a29a85116f6ea05f": 80 - } - - // 9x39 Weighting - scavAmmo.Caliber9x39 = { - "57a0dfb82459774d3078b56c": 60, - "57a0e5022459774d1673f889": 80, - "5c0d688c86f77413ae3407b2": 80, - "5c0d668f86f7747ccb7f13b2": 40 - } - - // 1143x23 ACP Weighting - scavAmmo.Caliber1143x23ACP = { - "5e81f423763d9f754677bf2e": 60, - "5efb0d4f4bc50b58e81710f3": 60, - "5efb0cabfb3e451d70735af5": 100, - "5efb0fc6aeb21837e749c801": 100 - } - - // 12 Gauge Weighting - scavAmmo.Caliber12g = { - "560d5e524bdc2d25448b4571": 60, - "5d6e6772a4b936088465b17c": 60, - "5d6e67fba4b9361bc73bc779": 60, - "58820d1224597753c90aeb13": 60, - "5d6e6869a4b9361c140bcfde": 100, - "5d6e6891a4b9361bd473feea": 100, - "5d6e6806a4b936088465b17e": 100, - "5d6e689ca4b9361bc8618956": 100, - "5d6e68e6a4b9361c140bcfe0": 100, - "5d6e68b3a4b9361bca7e50b5": 100, - "5d6e68dea4b9361bcc29e659": 100, - "5d6e68a8a4b9360b6c0d54e2": 100, - "5d6e6911a4b9361bd5780d52": 100, - "5d6e68c4a4b9361b93413f79": 100, - "5c0d591486f7744c505b416f": 100 - } - - // 20 Gauge Weighting - scavAmmo.Caliber20g = { - "5a38ebd9c4a282000d722a5b": 60, - "5d6e695fa4b936359b35d852": 60, - "5d6e6a42a4b9364f07165f52": 100, - "5d6e6a53a4b9361bd473feec": 100, - "5d6e69b9a4b9361bc8618958": 60, - "5d6e69c7a4b9360b6c0d54e4": 60, - "5d6e6a05a4b93618084f58d0": 100, - "5d6e6a5fa4b93614ec501745": 100 - } - - const pmc = this.botConfig.equipment.pmc.whitelist; - pmc.push(progressionWhitelistLL1PMC); - pmc.push(progressionWhitelistLL2PMC); - pmc.push(progressionWhitelistLL3PMC); - - this.botConfig.equipment.assault = progressionWhitelistScav1; - this.botConfig.equipment.assault.whitelist.push(progressionWhitelistScav2); - } -} diff --git a/src/scavs.ts b/src/scavs.ts index 65708fb..aa30e64 100644 --- a/src/scavs.ts +++ b/src/scavs.ts @@ -20,17 +20,25 @@ export class Scavs } - public updateScavs() + public updateScavs(): void { const mod = this.modConfig; + const scavs = this.botConfig.equipment.assault; if (mod.scavProgression) { this.generateScavs(); this.logger.info("Valens Scav Progression Changes Applied"); } - - + else + { + this.botConfig.equipment.assault = mod.customWhitelist1; + scavs.whitelist.push(mod.customWhitelist2); + scavs.whitelist.push(mod.customWhitelist3); + scavs.whitelist.push(mod.customWhitelist4); + scavs.whitelist.push(mod.customWhitelist5); + this.logger.info("Custom Scav Progression Changes Applied"); + } } private generateScavs() @@ -150,7 +158,7 @@ export class Scavs { "levelRange": { - "min": 26, + "min": 33, "max": 70 }, "equipment": @@ -224,11 +232,12 @@ export class Scavs "5bfea6e90db834001b7347f3": 5, "55801eed4bdc2d89578b4588": 5, "5de652c31b7e3716273428be": 23, - "5f2a9575926fd9352339381f": 23, - "5aafa857e5b5b00018480968": 23 + "5f2a9575926fd9352339381f": 7, + "5aafa857e5b5b00018480968": 7 } // Scav Holster (Secondary Weapon) Weighting + scavChances.equipment.Holster = 12; scavEquipment.Holster = { "576a581d2459771e7b1bc4f1": 25, "56d59856d2720bd8418b456a": 17, @@ -497,4 +506,4 @@ export class Scavs this.botConfig.equipment.assault = progressionWhitelistScav1; this.botConfig.equipment.assault.whitelist.push(progressionWhitelistScav2); } -} \ No newline at end of file +}