From a5ec6f3db151c088130b4060be5948368e652d82 Mon Sep 17 00:00:00 2001 From: Rage Date: Fri, 17 Jan 2025 19:35:05 -0500 Subject: [PATCH] Disabled, Updated & Removed Some Mods Added - Questing Bots (Testing for now, not officially released, so it may be buggy somewhat) Updated - Waypoints - Load Order Removed - Headshot Darkness - Seems that this just doesn't function w/Fika, which makes sense as it force ends a raid when you die to a headshot. - Mod Backups Disabled - Performance Improvements - Seems this is funky still and it's safer to just have it disabled, doesn't really offer that much of a performance increase either. --- mods/Config Files/user/mods/order.json | 1 + .../HeadshotDarkness/HeadshotDarkness.dll | Bin 23040 -> 0 bytes .../HeadshotDarkness/deathstrings.json | 11 - mods/Headshot Darkness/meta.ini | 28 - .../BepInEx/plugins/MOAR.dll | Bin 34816 -> 0 bytes .../config/PresetWeightings.json | 12 - .../DewardianDev-MOAR/config/Presets.json | 64 - .../DewardianDev-MOAR/config/bossConfig.json | 63 - .../mods/DewardianDev-MOAR/config/config.json | 50 - .../DewardianDev-MOAR/config/mapConfig.json | 110 - .../user/mods/DewardianDev-MOAR/package.json | 25 - .../DewardianDev-MOAR/src/GlobalValues.ts | 11 - .../DewardianDev-MOAR/src/Routes/routes.ts | 168 - .../src/Spawning/Spawning.ts | 158 - .../src/Spawning/buildBossWaves.ts | 277 - .../src/Spawning/buildPmcs.ts | 88 - .../src/Spawning/buildScavMarksmanWaves.ts | 218 - .../src/Spawning/buildZombieWaves.ts | 80 - .../src/Spawning/constants.ts | 204 - .../src/Spawning/updateSpawnLocations.ts | 139 - .../DewardianDev-MOAR/src/Spawning/utils.ts | 452 -- .../src/Tests/checkPresets.ts | 28 - .../DewardianDev-MOAR/src/Zombies/Zombies.ts | 160 - .../user/mods/DewardianDev-MOAR/src/mod.ts | 29 - .../user/mods/DewardianDev-MOAR/src/utils.ts | 57 - .../plugins/PerformanceImprovements.dll | Bin 51712 -> 0 bytes .../DanW-SPTQuestingBots/SPTQuestingBots.dll | Bin 0 -> 419328 bytes .../quests/standard/bigmap.json | 3597 +++++++++ .../quests/standard/factory4_day.json | 1946 +++++ .../quests/standard/factory4_night.json | 1946 +++++ .../quests/standard/interchange.json | 4356 ++++++++++ .../quests/standard/laboratory.json | 2697 +++++++ .../quests/standard/lighthouse.json | 4074 ++++++++++ .../quests/standard/rezervbase.json | 4954 ++++++++++++ .../quests/standard/sandbox.json | 2703 +++++++ .../quests/standard/sandbox_high.json | 2703 +++++++ .../quests/standard/shoreline.json | 3539 ++++++++ .../quests/standard/tarkovstreets.json | 7097 +++++++++++++++++ .../quests/standard/woods.json | 2050 +++++ .../meta.ini | 6 +- .../user/mods/DanW-SPTQuestingBots/README.md | 390 + .../DanW-SPTQuestingBots/config/config.json | 381 + .../config/eftQuestSettings.json | 62 + .../config/zoneAndItemQuestPositions.json | 58 + .../mods/DanW-SPTQuestingBots/package.json | 28 + .../src/BotLocationUtil.ts | 212 + .../DanW-SPTQuestingBots/src/CommonUtils.ts | 49 + .../src/PMCConversionUtil.ts | 148 + .../user/mods/DanW-SPTQuestingBots/src/mod.ts | 365 + .../config/com.servph.VisceralCombat.cfg | 165 - .../BepInEx/plugins/LICENSE | 1 - .../BepInEx/plugins/VisceralCombat.dll | Bin 284160 -> 0 bytes .../BepInEx/plugins/VolumetricBloodFX.dll | Bin 14848 -> 0 bytes .../BepInEx/plugins/ssh/VD_Calibers.json | 83 - .../BepInEx/plugins/ssh/bundleloader.dll | Bin 9216 -> 0 bytes .../ssh/bundles/active_ragdoll_base.servph | 3 - .../BepInEx/plugins/ssh/bundles/blood.servph | 3 - .../plugins/ssh/bundles/blood_3dfx.servph | 3 - .../plugins/ssh/bundles/bloodfx.servph | 3 - .../plugins/ssh/bundles/bloodsfx.servph | 3 - .../ssh/bundles/death_animations.servph | 3 - .../plugins/ssh/bundles/gorecaps.servph | 3 - mods/Visceral Combat_backup/meta.ini | 28 - .../DrakiaXYZ-Waypoints.dll | Bin 30208 -> 30208 bytes .../navmesh/shoreline-navmesh.bundle | 4 +- mods/Waypoints/meta.ini | 4 +- .../DrakiaXYZ-Waypoints.dll | Bin 0 -> 30208 bytes .../plugins/DrakiaXYZ-Waypoints/LICENSE} | 6 +- .../navmesh/interchange-navmesh.bundle | 3 + .../navmesh/lighthouse-navmesh.bundle | 3 + .../navmesh/shoreline-navmesh.bundle | 3 + .../navmesh/woods-navmesh.bundle | 3 + .../meta.ini | 8 +- profiles/Multiplayer/modlist.txt | 4 +- profiles/Server/modlist.txt | 4 +- 75 files changed, 43386 insertions(+), 2748 deletions(-) delete mode 100644 mods/Headshot Darkness/BepInEx/plugins/HeadshotDarkness/HeadshotDarkness.dll delete mode 100644 mods/Headshot Darkness/BepInEx/plugins/HeadshotDarkness/deathstrings.json delete mode 100644 mods/Headshot Darkness/meta.ini delete mode 100644 mods/MOAR - Ultra Lite Spawn Mod_backup/BepInEx/plugins/MOAR.dll delete mode 100644 mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/config/PresetWeightings.json delete mode 100644 mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/config/Presets.json delete mode 100644 mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/config/bossConfig.json delete mode 100644 mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/config/config.json delete mode 100644 mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/config/mapConfig.json delete mode 100644 mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/package.json delete mode 100644 mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/GlobalValues.ts delete mode 100644 mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Routes/routes.ts delete mode 100644 mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/Spawning.ts delete mode 100644 mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/buildBossWaves.ts delete mode 100644 mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/buildPmcs.ts delete mode 100644 mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/buildScavMarksmanWaves.ts delete mode 100644 mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/buildZombieWaves.ts delete mode 100644 mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/constants.ts delete mode 100644 mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/updateSpawnLocations.ts delete mode 100644 mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/utils.ts delete mode 100644 mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Tests/checkPresets.ts delete mode 100644 mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Zombies/Zombies.ts delete mode 100644 mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/mod.ts delete mode 100644 mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/utils.ts delete mode 100644 mods/Performance Improvements_backup/BepInEx/plugins/PerformanceImprovements.dll create mode 100644 mods/Questing Bots/BepInEx/plugins/DanW-SPTQuestingBots/SPTQuestingBots.dll create mode 100644 mods/Questing Bots/BepInEx/plugins/DanW-SPTQuestingBots/quests/standard/bigmap.json create mode 100644 mods/Questing Bots/BepInEx/plugins/DanW-SPTQuestingBots/quests/standard/factory4_day.json create mode 100644 mods/Questing Bots/BepInEx/plugins/DanW-SPTQuestingBots/quests/standard/factory4_night.json create mode 100644 mods/Questing Bots/BepInEx/plugins/DanW-SPTQuestingBots/quests/standard/interchange.json create mode 100644 mods/Questing Bots/BepInEx/plugins/DanW-SPTQuestingBots/quests/standard/laboratory.json create mode 100644 mods/Questing Bots/BepInEx/plugins/DanW-SPTQuestingBots/quests/standard/lighthouse.json create mode 100644 mods/Questing Bots/BepInEx/plugins/DanW-SPTQuestingBots/quests/standard/rezervbase.json create mode 100644 mods/Questing Bots/BepInEx/plugins/DanW-SPTQuestingBots/quests/standard/sandbox.json create mode 100644 mods/Questing Bots/BepInEx/plugins/DanW-SPTQuestingBots/quests/standard/sandbox_high.json create mode 100644 mods/Questing Bots/BepInEx/plugins/DanW-SPTQuestingBots/quests/standard/shoreline.json create mode 100644 mods/Questing Bots/BepInEx/plugins/DanW-SPTQuestingBots/quests/standard/tarkovstreets.json create mode 100644 mods/Questing Bots/BepInEx/plugins/DanW-SPTQuestingBots/quests/standard/woods.json rename mods/{MOAR - Ultra Lite Spawn Mod_backup => Questing Bots}/meta.ini (77%) create mode 100644 mods/Questing Bots/user/mods/DanW-SPTQuestingBots/README.md create mode 100644 mods/Questing Bots/user/mods/DanW-SPTQuestingBots/config/config.json create mode 100644 mods/Questing Bots/user/mods/DanW-SPTQuestingBots/config/eftQuestSettings.json create mode 100644 mods/Questing Bots/user/mods/DanW-SPTQuestingBots/config/zoneAndItemQuestPositions.json create mode 100644 mods/Questing Bots/user/mods/DanW-SPTQuestingBots/package.json create mode 100644 mods/Questing Bots/user/mods/DanW-SPTQuestingBots/src/BotLocationUtil.ts create mode 100644 mods/Questing Bots/user/mods/DanW-SPTQuestingBots/src/CommonUtils.ts create mode 100644 mods/Questing Bots/user/mods/DanW-SPTQuestingBots/src/PMCConversionUtil.ts create mode 100644 mods/Questing Bots/user/mods/DanW-SPTQuestingBots/src/mod.ts delete mode 100644 mods/Visceral Combat_backup/BepInEx/config/com.servph.VisceralCombat.cfg delete mode 100644 mods/Visceral Combat_backup/BepInEx/plugins/LICENSE delete mode 100644 mods/Visceral Combat_backup/BepInEx/plugins/VisceralCombat.dll delete mode 100644 mods/Visceral Combat_backup/BepInEx/plugins/VolumetricBloodFX.dll delete mode 100644 mods/Visceral Combat_backup/BepInEx/plugins/ssh/VD_Calibers.json delete mode 100644 mods/Visceral Combat_backup/BepInEx/plugins/ssh/bundleloader.dll delete mode 100644 mods/Visceral Combat_backup/BepInEx/plugins/ssh/bundles/active_ragdoll_base.servph delete mode 100644 mods/Visceral Combat_backup/BepInEx/plugins/ssh/bundles/blood.servph delete mode 100644 mods/Visceral Combat_backup/BepInEx/plugins/ssh/bundles/blood_3dfx.servph delete mode 100644 mods/Visceral Combat_backup/BepInEx/plugins/ssh/bundles/bloodfx.servph delete mode 100644 mods/Visceral Combat_backup/BepInEx/plugins/ssh/bundles/bloodsfx.servph delete mode 100644 mods/Visceral Combat_backup/BepInEx/plugins/ssh/bundles/death_animations.servph delete mode 100644 mods/Visceral Combat_backup/BepInEx/plugins/ssh/bundles/gorecaps.servph delete mode 100644 mods/Visceral Combat_backup/meta.ini create mode 100644 mods/Waypoints_backup/BepInEx/plugins/DrakiaXYZ-Waypoints/DrakiaXYZ-Waypoints.dll rename mods/{MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/LICENSE.md => Waypoints_backup/BepInEx/plugins/DrakiaXYZ-Waypoints/LICENSE} (95%) create mode 100644 mods/Waypoints_backup/BepInEx/plugins/DrakiaXYZ-Waypoints/navmesh/interchange-navmesh.bundle create mode 100644 mods/Waypoints_backup/BepInEx/plugins/DrakiaXYZ-Waypoints/navmesh/lighthouse-navmesh.bundle create mode 100644 mods/Waypoints_backup/BepInEx/plugins/DrakiaXYZ-Waypoints/navmesh/shoreline-navmesh.bundle create mode 100644 mods/Waypoints_backup/BepInEx/plugins/DrakiaXYZ-Waypoints/navmesh/woods-navmesh.bundle rename mods/{Performance Improvements_backup => Waypoints_backup}/meta.ini (73%) diff --git a/mods/Config Files/user/mods/order.json b/mods/Config Files/user/mods/order.json index 35231f8..c300d28 100644 --- a/mods/Config Files/user/mods/order.json +++ b/mods/Config Files/user/mods/order.json @@ -39,6 +39,7 @@ "shibdib-shibsexpandedcrafts", "zSolarint-SAIN-ServerMod", "Skwizzy-LootingBots-ServerMod", + "DanW-SPTQuestingBots", "acidphantasm-progressivebotsystem", "DewardianDev-MOAR", "inory-dynamicgoons", diff --git a/mods/Headshot Darkness/BepInEx/plugins/HeadshotDarkness/HeadshotDarkness.dll b/mods/Headshot Darkness/BepInEx/plugins/HeadshotDarkness/HeadshotDarkness.dll deleted file mode 100644 index b402cbe357dd02897c8c27c83b93ab261c7c1513..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23040 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 diff --git a/mods/Headshot Darkness/BepInEx/plugins/HeadshotDarkness/deathstrings.json b/mods/Headshot Darkness/BepInEx/plugins/HeadshotDarkness/deathstrings.json deleted file mode 100644 index 3ea03ba..0000000 --- a/mods/Headshot Darkness/BepInEx/plugins/HeadshotDarkness/deathstrings.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "genericDeathStrings": [ - "You are dead." - ], - "headshotDeathStrings": [ - "You have been shot in the head." - ], - "explosionDeathStrings": [ - "You have been blown up." - ] -} \ No newline at end of file diff --git a/mods/Headshot Darkness/meta.ini b/mods/Headshot Darkness/meta.ini deleted file mode 100644 index 4d59227..0000000 --- a/mods/Headshot Darkness/meta.ini +++ /dev/null @@ -1,28 +0,0 @@ -[General] -gameName=spt -modid=0 -version=d2024.12.20.0 -newestVersion= -category="2," -nexusFileStatus=1 -installationFile=HeadshotDarkness.zip -repository=Nexus -ignoredVersion= -comments= -notes= -nexusDescription= -url= -hasCustomURL=false -lastNexusQuery= -lastNexusUpdate= -nexusLastModified=2024-12-21T03:13:57Z -nexusCategory=0 -converted=false -validated=false -color=@Variant(\0\0\0\x43\0\xff\xff\0\0\0\0\0\0\0\0) -tracked=0 - -[installedFiles] -1\modid=0 -1\fileid=0 -size=1 diff --git a/mods/MOAR - Ultra Lite Spawn Mod_backup/BepInEx/plugins/MOAR.dll b/mods/MOAR - Ultra Lite Spawn Mod_backup/BepInEx/plugins/MOAR.dll deleted file mode 100644 index a26e85e9dd1de39683e8fd8ea6eed4e5cccaac4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34816 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 diff --git a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/config/PresetWeightings.json b/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/config/PresetWeightings.json deleted file mode 100644 index 14298a3..0000000 --- a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/config/PresetWeightings.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "live-like": 25, - "more-scavs": 8, - "more-pmcs": 8, - "more-scavs-and-pmcs": 5, - "main-boss-roaming": 5, - "sniper-buddies": 4, - "boss-invasion": 2, - "rogue-invasion": 0, - "raider-invasion": 0, - "insanity": 0 -} diff --git a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/config/Presets.json b/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/config/Presets.json deleted file mode 100644 index 8395eec..0000000 --- a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/config/Presets.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "live-like": {}, - "more-scavs": { - "moreScavGroups": true, - "scavMaxGroupSize": 5, - "scavWaveQuantity": 1.2 - }, - "more-pmcs": { - "scavWaveDistribution": 0.4, - "morePmcGroups": true, - "pmcMaxGroupSize": 5, - "pmcWaveQuantity": 1.2 - }, - "more-scavs-and-pmcs": { - "scavWaveDistribution": 0.4, - "moreScavGroups": true, - "scavMaxGroupSize": 5, - "morePmcGroups": true, - "pmcMaxGroupSize": 5, - "scavWaveQuantity": 1.2, - "pmcWaveQuantity": 1.2, - "mainBossChanceBuff": 25 - }, - "boss-invasion": { - "bossOpenZones": true, - "bossInvasion": true, - "bossInvasionSpawnChance": 10, - "mainBossChanceBuff": 25, - "gradualBossInvasion": true - }, - "rogue-invasion": { - "randomRaiderGroup": true, - "randomRaiderGroupChance": 50 - }, - "raider-invasion": { - "randomRaiderGroup": true, - "randomRaiderGroupChance": 50 - }, - "insanity": { - "scavWaveDistribution": 0.4, - "scavWaveQuantity": 1.3, - "pmcWaveQuantity": 1.3, - "moreScavGroups": true, - "morePmcGroups": true, - "pmcMaxGroupSize": 6, - "scavMaxGroupSize": 6, - "snipersHaveFriends": true, - "bossOpenZones": true, - "randomRaiderGroup": true, - "randomRaiderGroupChance": 50, - "randomRogueGroup": true, - "randomRogueGroupChance": 50, - "mainBossChanceBuff": 50, - "bossInvasion": true, - "bossInvasionSpawnChance": 10 - }, - "main-boss-roaming": { - "bossOpenZones": true, - "mainBossChanceBuff": 35 - }, - "sniper-buddies": { - "snipersHaveFriends": true - } -} diff --git a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/config/bossConfig.json b/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/config/bossConfig.json deleted file mode 100644 index c31d04c..0000000 --- a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/config/bossConfig.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "ADD_THESE_TO_A_MAP_TO_OVERRIDE_OR_ADD_A_BOSS_TO_A_MAP": { - "BOSS_NAME_EXAMPLE": "CHANCE_OF_SPAWNING_PERCENT", - "sectantPriest": 0, - "arenaFighterEvent": 0, - "bossBoarSniper": 0, - "pmcBot": 0, - "bossZryachiy": 0, - "exUsec": 0, - "crazyAssaultEvent": 0, - "peacemaker": 0, - "bossKojaniy": 0, - "bossGluhar": 0, - "bossSanitar": 0, - "bossKilla": 0, - "bossTagilla": 0, - "bossKnight": 0, - "bossBoar": 0, - "bossKolontay": 0, - "bossPartisan": 0, - "bossBully": 0 - }, - "customs": { - "bossKnight": 30, - "bossPartisan": 30, - "bossBully": 30 - }, - "factoryDay": { - "bossTagilla": 30 - }, - "factoryNight": { - "bossTagilla": 30 - }, - "interchange": { - "bossKilla": 30 - }, - "laboratory": {}, - "lighthouse": { - "bossKnight": 30, - "bossPartisan": 30 - }, - "rezervbase": { - "bossGluhar": 30 - }, - "shoreline": { - "bossKnight": 30, - "bossPartisan": 30, - "bossSanitar": 30 - }, - "tarkovstreets": { - "bossBoar": 30, - "bossKolontay": 30 - }, - "woods": { - "bossKojaniy": 30, - "bossKnight": 30, - "bossPartisan": 30 - }, - "gzLow": {}, - "gzHigh": { - "bossKolontay": 30 - } -} \ No newline at end of file diff --git a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/config/config.json b/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/config/config.json deleted file mode 100644 index 188e586..0000000 --- a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/config/config.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "enableBotSpawning": true, - - "pmcDifficulty": 0.6, - "scavDifficulty": 0.4, - - "scavWaveDistribution": 0.5, - "scavWaveQuantity": 1.0, - - "startingPmcs": false, - - "playerOpenZones": false, - "pmcOpenZones": true, - "allOpenZones": false, - - "pmcWaveDistribution": 0.8, - "pmcWaveQuantity": 1.0, - - "zombiesEnabled": true, - "zombieWaveDistribution": 0.2, - "zombieWaveQuantity": 1, - "zombieHealth": 0.5, - - "maxBotCap": 25, - "maxBotPerZone": 5, - - "moreScavGroups": false, - "morePmcGroups": false, - "pmcMaxGroupSize": 5, - "scavMaxGroupSize": 4, - - "snipersHaveFriends": false, - - "bossOpenZones": false, - - "randomRaiderGroup": false, - "randomRaiderGroupChance": 10, - - "randomRogueGroup": false, - "randomRogueGroupChance": 10, - - "disableBosses": false, - "mainBossChanceBuff": 0, - - "bossInvasion": false, - "bossInvasionSpawnChance": 5, - "gradualBossInvasion": true, - - "debug": false -} diff --git a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/config/mapConfig.json b/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/config/mapConfig.json deleted file mode 100644 index 1ac86cb..0000000 --- a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/config/mapConfig.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "customs": { - "spawnMinDistance": 30, - "pmcWaveCount": 14, - "scavWaveCount": 21, - "zombieWaveCount": 9, - "scavHotZones": [ - "ZoneDormitory" - ], - "pmcHotZones": [ - "ZoneDormitory" - ] - }, - "factoryDay": { - "spawnMinDistance": 20, - "maxBotCapOverride": 12, - "maxBotPerZoneOverride": 10, - "pmcWaveCount": 10, - "scavWaveCount": 10, - "zombieWaveCount": 6 - }, - "factoryNight": { - "spawnMinDistance": 20, - "maxBotCapOverride": 12, - "maxBotPerZoneOverride": 10, - "pmcWaveCount": 10, - "scavWaveCount": 10, - "zombieWaveCount": 6 - }, - "interchange": { - "spawnMinDistance": 40, - "pmcWaveCount": 16, - "scavWaveCount": 32, - "zombieWaveCount": 12, - "scavHotZones": [ - "ZoneCenterBot", - "ZoneCenter" - ] - }, - "laboratory": { - "spawnMinDistance": 20, - "pmcWaveCount": 12, - "scavWaveCount": 0, - "zombieWaveCount": 12 - }, - "lighthouse": { - "spawnMinDistance": 40, - "pmcWaveCount": 14, - "scavWaveCount": 22, - "zombieWaveCount": 10, - "scavHotZones": [ - "Zone_LongRoad", - "Zone_LongRoad" - ] - }, - "rezervbase": { - "spawnMinDistance": 40, - "pmcWaveCount": 14, - "scavWaveCount": 26, - "zombieWaveCount": 9, - "scavHotZones": [ - "ZoneRailStrorage" - ], - "pmcHotZones": [ - "ZoneBarrack" - ] - }, - "shoreline": { - "spawnMinDistance": 40, - "pmcWaveCount": 16, - "scavWaveCount": 32, - "zombieWaveCount": 12, - "scavHotZones": [ - "ZoneSanatorium1" - ], - "pmcHotZones": [ - "ZoneSanatorium2" - ] - }, - "tarkovstreets": { - "spawnMinDistance": 40, - "pmcWaveCount": 16, - "scavWaveCount": 28, - "zombieWaveCount": 13 - }, - "woods": { - "spawnMinDistance": 40, - "pmcWaveCount": 16, - "scavWaveCount": 28, - "zombieWaveCount": 10, - "scavHotZones": [ - "ZoneWoodCutter" - ], - "pmcHotZones": [ - "ZoneWoodCutter" - ] - }, - "gzLow": { - "spawnMinDistance": 30, - "pmcWaveCount": 12, - "scavWaveCount": 18, - "zombieWaveCount": 9 - }, - "gzHigh": { - "spawnMinDistance": 30, - "pmcWaveCount": 12, - "scavWaveCount": 18, - "zombieWaveCount": 9 - } -} \ No newline at end of file diff --git a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/package.json b/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/package.json deleted file mode 100644 index 4521a92..0000000 --- a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "MOAR", - "version": "2.6.7", - "main": "src/mod.js", - "license": "MIT", - "author": "DewardianDev", - "sptVersion": "^3.10.x", - "scripts": { - "setup": "npm i", - "build": "node ./packageBuild.ts" - }, - "devDependencies": { - "@semantic-release/git": "^10.0.1", - "@types/node": "16.18.10", - "@typescript-eslint/eslint-plugin": "5.46.1", - "@typescript-eslint/parser": "5.46.1", - "bestzip": "2.2.1", - "eslint": "8.30.0", - "fs-extra": "11.1.0", - "glob": "8.0.3", - "semantic-release": "^24.2.0", - "tsyringe": "4.7.0", - "typescript": "4.9.4" - } -} diff --git a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/GlobalValues.ts b/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/GlobalValues.ts deleted file mode 100644 index 2aedb9d..0000000 --- a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/GlobalValues.ts +++ /dev/null @@ -1,11 +0,0 @@ -import config from "../config/config.json"; -import { ILocationBase } from "@spt/models/eft/common/ILocationBase"; - -export class globalValues { - public static baseConfig: typeof config = undefined; - public static overrideConfig: Partial = undefined; - public static locationsBase: ILocationBase[] = undefined; - public static currentPreset: string = ""; - public static forcedPreset: string = "custom"; - public static addedMapZones: Record = {}; -} diff --git a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Routes/routes.ts b/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Routes/routes.ts deleted file mode 100644 index 7090b72..0000000 --- a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Routes/routes.ts +++ /dev/null @@ -1,168 +0,0 @@ -import { DependencyContainer } from "tsyringe"; -import { buildWaves } from "../Spawning/Spawning"; -import { StaticRouterModService } from "@spt/services/mod/staticRouter/StaticRouterModService"; -// import { DynamicRouterModService } from "@spt/services/mod/dynamicRouter/DynamicRouterModService"; -import { globalValues } from "../GlobalValues"; -import { kebabToTitle } from "../utils"; -import PresetWeightingsConfig from "../../config/PresetWeightings.json"; - -export const setupRoutes = (container: DependencyContainer) => { - const staticRouterModService = container.resolve( - "StaticRouterModService" - ); - - // const dynamicRouterModService = container.resolve( - // "DynamicRouterModService" - // ); - - // Make buildwaves run on game end - staticRouterModService.registerStaticRouter( - `moarUpdater`, - [ - { - url: "/client/match/local/end", - action: async (_url, info, sessionId, output) => { - buildWaves(container); - return output; - }, - }, - ], - "moarUpdater" - ); - - staticRouterModService.registerStaticRouter( - `moarGetCurrentPreset`, - [ - { - url: "/moar/currentPreset", - action: async () => { - return globalValues.forcedPreset || "random"; - }, - }, - ], - "moarGetCurrentPreset" - ); - - staticRouterModService.registerStaticRouter( - `moarGetAnnouncePreset`, - [ - { - url: "/moar/announcePreset", - action: async () => { - if (globalValues.forcedPreset?.toLowerCase() === "random") { - return globalValues.currentPreset; - } - return globalValues.forcedPreset || globalValues.currentPreset; - }, - }, - ], - "moarGetAnnouncePreset" - ); - - staticRouterModService.registerStaticRouter( - `getDefaultConfig`, - [ - { - url: "/moar/getDefaultConfig", - action: async () => { - return JSON.stringify(globalValues.baseConfig); - }, - }, - ], - "getDefaultConfig" - ); - - staticRouterModService.registerStaticRouter( - `getServerConfigWithOverrides`, - [ - { - url: "/moar/getServerConfigWithOverrides", - action: async () => { - return JSON.stringify({ - ...(globalValues.baseConfig || {}), - ...(globalValues.overrideConfig || {}), - }); - }, - }, - ], - "getServerConfigWithOverrides" - ); - - staticRouterModService.registerStaticRouter( - `getServerConfigWithOverrides`, - [ - { - url: "/moar/getServerConfigWithOverrides", - action: async () => { - return JSON.stringify({ - ...globalValues.baseConfig, - ...globalValues.overrideConfig, - }); - }, - }, - ], - "getServerConfigWithOverrides" - ); - - staticRouterModService.registerStaticRouter( - `moarGetPresetsList`, - [ - { - url: "/moar/getPresets", - action: async () => { - let result = [ - ...Object.keys(PresetWeightingsConfig).map((preset) => ({ - Name: kebabToTitle(preset), - Label: preset, - })), - { Name: "Random", Label: "random" }, - { Name: "Custom", Label: "custom" }, - ]; - - return JSON.stringify({ data: result }); - }, - }, - ], - "moarGetPresetsList" - ); - - staticRouterModService.registerStaticRouter( - "setOverrideConfig", - [ - { - url: "/moar/setOverrideConfig", - action: async ( - url: string, - overrideConfig: typeof globalValues.overrideConfig = {}, - sessionID, - output - ) => { - globalValues.overrideConfig = overrideConfig; - - buildWaves(container); - - return "Success"; - }, - }, - ], - "setOverrideConfig" - ); - - staticRouterModService.registerStaticRouter( - "moarSetPreset", - [ - { - url: "/moar/setPreset", - action: async (url: string, { Preset }, sessionID, output) => { - globalValues.forcedPreset = Preset; - buildWaves(container); - - return `Current Preset: ${kebabToTitle( - globalValues.forcedPreset || "Random" - )}`; - }, - }, - ], - "moarSetPreset" - ); -}; diff --git a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/Spawning.ts b/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/Spawning.ts deleted file mode 100644 index 1ac5549..0000000 --- a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/Spawning.ts +++ /dev/null @@ -1,158 +0,0 @@ -import { IBotConfig } from "@spt/models/spt/config/IBotConfig.d"; -import { IPmcConfig } from "@spt/models/spt/config/IPmcConfig.d"; -import { DatabaseServer } from "@spt/servers/DatabaseServer"; -import _config from "../../config/config.json"; -import _mapConfig from "../../config/mapConfig.json"; -import { ConfigServer } from "@spt/servers/ConfigServer"; -import { ConfigTypes } from "@spt/models/enums/ConfigTypes"; -import { DependencyContainer } from "tsyringe"; -import { globalValues } from "../GlobalValues"; -import { - cloneDeep, - getRandomPresetOrCurrentlySelectedPreset, - saveToFile, -} from "../utils"; -import { ILocationConfig } from "@spt/models/spt/config/ILocationConfig.d"; -import { originalMapList } from "./constants"; -import { buildBossWaves } from "./buildBossWaves"; -import buildZombieWaves from "./buildZombieWaves"; -import buildScavMarksmanWaves from "./buildScavMarksmanWaves"; -import buildPmcs from "./buildPmcs"; -import { setEscapeTimeOverrides } from "./utils"; -import { ILogger } from "@spt/models/spt/utils/ILogger"; -import updateSpawnLocations from "./updateSpawnLocations"; - -export const buildWaves = (container: DependencyContainer) => { - const configServer = container.resolve("ConfigServer"); - const Logger = container.resolve("WinstonLogger"); - const pmcConfig = configServer.getConfig(ConfigTypes.PMC); - const botConfig = configServer.getConfig(ConfigTypes.BOT); - - const locationConfig = configServer.getConfig( - ConfigTypes.LOCATION - ); - - locationConfig.rogueLighthouseSpawnTimeSettings.waitTimeSeconds = 60; - locationConfig.enableBotTypeLimits = false; - locationConfig.fitLootIntoContainerAttempts = 1; // Move to ALP - locationConfig.addCustomBotWavesToMaps = false; - locationConfig.customWaves = { boss: {}, normal: {} }; - - const databaseServer = container.resolve("DatabaseServer"); - - const { locations, bots, globals } = databaseServer.getTables(); - - let config = cloneDeep(globalValues.baseConfig) as typeof _config; - - const preset = getRandomPresetOrCurrentlySelectedPreset(); - - Object.keys(globalValues.overrideConfig).forEach((key) => { - if (config[key] !== globalValues.overrideConfig[key]) { - config.debug && - console.log( - `[MOAR] overrideConfig ${key} changed from ${config[key]} to ${globalValues.overrideConfig[key]}` - ); - config[key] = globalValues.overrideConfig[key]; - } - }); - - // Set from preset if preset above is not empty - Object.keys(preset).forEach((key) => { - if (config[key] !== preset[key]) { - config.debug && - console.log( - `[MOAR] preset ${globalValues.currentPreset}: ${key} changed from ${config[key]} to ${preset[key]}` - ); - config[key] = preset[key]; - } - }); - - // config.debug && - console.log( - globalValues.forcedPreset === "custom" - ? "custom" - : globalValues.currentPreset - ); - - const { - bigmap: customs, - factory4_day: factoryDay, - factory4_night: factoryNight, - interchange, - laboratory, - lighthouse, - rezervbase, - shoreline, - tarkovstreets, - woods, - sandbox: gzLow, - sandbox_high: gzHigh, - } = locations; - - let locationList = [ - customs, - factoryDay, - factoryNight, - interchange, - laboratory, - lighthouse, - rezervbase, - shoreline, - tarkovstreets, - woods, - gzLow, - gzHigh, - ]; - - // This resets all locations to original state - if (!globalValues.locationsBase) { - globalValues.locationsBase = locationList.map(({ base }) => - cloneDeep(base) - ); - } else { - locationList = locationList.map((item, key) => ({ - ...item, - base: cloneDeep(globalValues.locationsBase[key]), - })); - } - - pmcConfig.convertIntoPmcChance = { - default: { - assault: { min: 0, max: 0 }, - cursedassault: { min: 0, max: 0 }, - pmcbot: { min: 0, max: 0 }, - exusec: { min: 0, max: 0 }, - arenafighter: { min: 0, max: 0 }, - arenafighterevent: { min: 0, max: 0 }, - crazyassaultevent: { min: 0, max: 0 }, - }, - factory4_day: { assault: { min: 0, max: 0 } }, - laboratory: { pmcbot: { min: 0, max: 0 } }, - rezervbase: { pmcbot: { min: 0, max: 0 } }, - }; - - updateSpawnLocations(locationList, config); - - setEscapeTimeOverrides(locationList, _mapConfig, Logger, config); - - // Make main waves - buildScavMarksmanWaves(config, locationList, botConfig); - - // BOSS RELATED STUFF! - buildBossWaves(config, locationList); - - //Zombies - if (config.zombiesEnabled) { - buildZombieWaves(config, locationList, bots); - } - - buildPmcs(config, locationList); - - originalMapList.forEach((name, index) => { - if (!locations[name]) { - console.log("[MOAR] OH CRAP we have a problem!", name); - } else { - locations[name] = locationList[index]; - } - }); -}; diff --git a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/buildBossWaves.ts b/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/buildBossWaves.ts deleted file mode 100644 index 85d7d6d..0000000 --- a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/buildBossWaves.ts +++ /dev/null @@ -1,277 +0,0 @@ -import { ILocation } from "@spt/models/eft/common/ILocation"; -import _config from "../../config/config.json"; -import bossConfig from "../../config/bossConfig.json"; -import mapConfig from "../../config/mapConfig.json"; -import { - bossesToRemoveFromPool, - configLocations, - mainBossNameList, - originalMapList, -} from "./constants"; -import { buildBossBasedWave, shuffle } from "./utils"; -import { IBossLocationSpawn } from "@spt/models/eft/common/ILocationBase"; -import { cloneDeep } from "../utils"; - -export function buildBossWaves( - config: typeof _config, - locationList: ILocation[] -) { - let { - randomRaiderGroup, - randomRaiderGroupChance, - randomRogueGroup, - randomRogueGroupChance, - mainBossChanceBuff, - bossInvasion, - bossInvasionSpawnChance, - disableBosses, - bossOpenZones, - gradualBossInvasion, - } = config; - - const bossList = mainBossNameList.filter( - (bossName) => !["bossKnight"].includes(bossName) - ); - - const allBosses: Record = {}; - for (const key in locationList) { - locationList[key].base.BossLocationSpawn.forEach((boss) => { - if (!allBosses[boss.BossName]) { - allBosses[boss.BossName] = boss; - } - }); - } - - // CreateBossList - const bosses: Record = {}; - for (let indx = 0; indx < locationList.length; indx++) { - // Disable Bosses - if (disableBosses && !!locationList[indx].base?.BossLocationSpawn) { - locationList[indx].base.BossLocationSpawn = []; - } else { - //Remove all other spawns from pool now that we have the spawns zone list - locationList[indx].base.BossLocationSpawn = locationList[ - indx - ].base.BossLocationSpawn.filter( - (boss) => !bossesToRemoveFromPool.has(boss.BossName) - ); - - const location = locationList[indx]; - - const defaultBossSettings = - mapConfig?.[configLocations[indx]]?.defaultBossSettings; - - // Sets bosses spawn chance from settings - if ( - location?.base?.BossLocationSpawn && - defaultBossSettings && - Object.keys(defaultBossSettings)?.length - ) { - const filteredBossList = Object.keys(defaultBossSettings).filter( - (name) => defaultBossSettings[name]?.BossChance !== undefined - ); - if (filteredBossList?.length) { - filteredBossList.forEach((bossName) => { - location.base.BossLocationSpawn = - location.base.BossLocationSpawn.map((boss) => ({ - ...boss, - ...(boss.BossName === bossName - ? { BossChance: defaultBossSettings[bossName].BossChance } - : {}), - })); - }); - } - } - - if (randomRaiderGroup) { - const raiderWave = buildBossBasedWave( - randomRaiderGroupChance, - "1,2,2,2,3", - "pmcBot", - "pmcBot", - "", - locationList[indx].base.EscapeTimeLimit - ); - location.base.BossLocationSpawn.push(raiderWave); - } - - if (randomRogueGroup) { - const rogueWave = buildBossBasedWave( - randomRogueGroupChance, - "1,2,2,2,3", - "exUsec", - "exUsec", - "", - locationList[indx].base.EscapeTimeLimit - ); - location.base.BossLocationSpawn.push(rogueWave); - } - - //Add each boss from each map to bosses object - const filteredBosses = location.base.BossLocationSpawn?.filter( - ({ BossName }) => mainBossNameList.includes(BossName) - ); - - if (filteredBosses.length) { - for (let index = 0; index < filteredBosses.length; index++) { - const boss = filteredBosses[index]; - if ( - !bosses[boss.BossName] || - (bosses[boss.BossName] && - bosses[boss.BossName].BossChance < boss.BossChance) - ) { - bosses[boss.BossName] = { ...boss }; - } - } - } - } - } - - if (!disableBosses) { - // Make boss Invasion - if (bossInvasion) { - if (bossInvasionSpawnChance) { - bossList.forEach((bossName) => { - if (bosses[bossName]) - bosses[bossName].BossChance = bossInvasionSpawnChance; - }); - } - - for (let key = 0; key < locationList.length; key++) { - //Gather bosses to avoid duplicating. - - const duplicateBosses = [ - ...locationList[key].base.BossLocationSpawn.filter( - ({ BossName, BossZone }) => bossList.includes(BossName) - ).map(({ BossName }) => BossName), - "bossKnight", // So knight doesn't invade - ]; - - //Build bosses to add - const bossesToAdd = shuffle(Object.values(bosses)) - .filter(({ BossName }) => !duplicateBosses.includes(BossName)) - .map((boss, j) => ({ - ...boss, - BossZone: "", - BossEscortAmount: - boss.BossEscortAmount === "0" ? boss.BossEscortAmount : "1", - ...(gradualBossInvasion ? { Time: j * 20 + 1 } : {}), - })); - - // UpdateBosses - locationList[key].base.BossLocationSpawn = [ - ...locationList[key].base.BossLocationSpawn, - ...bossesToAdd, - ]; - } - } - let hasChangedBossSpawns = false; - // console.log(Object.keys(allBosses)); - configLocations.forEach((mapName, index) => { - const bossLocationSpawn = locationList[index].base.BossLocationSpawn; - const mapBossConfig: Record = cloneDeep( - bossConfig[mapName] || {} - ); - // if (Object.keys(mapBossConfig).length === 0) console.log(name, "empty"); - const adjusted = new Set([]); - - bossLocationSpawn.forEach(({ BossName, BossChance }, bossIndex) => { - if (typeof mapBossConfig[BossName] === "number") { - if (BossChance !== mapBossConfig[BossName]) { - if (!hasChangedBossSpawns) { - console.log( - `\n[MOAR]: --- Adjusting default boss spawn rates --- ` - ); - hasChangedBossSpawns = true; - } - console.log( - `[MOAR]: ${mapName} ${BossName}: ${locationList[index].base.BossLocationSpawn[bossIndex].BossChance} => ${mapBossConfig[BossName]}` - ); - locationList[index].base.BossLocationSpawn[bossIndex].BossChance = - mapBossConfig[BossName]; - } - adjusted.add(BossName); - } - }); - - const bossesToAdd = Object.keys(mapBossConfig) - .filter( - (adjustName) => !adjusted.has(adjustName) && !!allBosses[adjustName] - ) - .map((bossName) => { - `[MOAR]: Adding non-default boss ${bossName} to ${originalMapList[index]}`; - - const newBoss: IBossLocationSpawn = cloneDeep( - allBosses[bossName] || {} - ); - newBoss.BossChance = mapBossConfig[bossName]; - // console.log( - // "Adding boss", - // bossName, - // "to ", - // originalMapList[index], - // "spawn chance =>", - // mapBossConfig[bossName] - // ); - return newBoss; - }); - - // console.log(bossesToAdd); - - if (bossOpenZones || mainBossChanceBuff) { - locationList[index].base?.BossLocationSpawn?.forEach((boss, key) => { - if (bossList.includes(boss.BossName)) { - if (bossOpenZones) { - locationList[index].base.BossLocationSpawn[key] = { - ...locationList[index].base.BossLocationSpawn[key], - BossZone: "", - }; - } - - if (!!boss.BossChance && mainBossChanceBuff > 0) { - locationList[index].base.BossLocationSpawn[key] = { - ...locationList[index].base.BossLocationSpawn[key], - BossChance: - boss.BossChance + mainBossChanceBuff > 100 - ? 100 - : Math.round(boss.BossChance + mainBossChanceBuff), - }; - } - } - }); - } - - locationList[index].base.BossLocationSpawn = [ - ...locationList[index].base.BossLocationSpawn, - ...bossesToAdd, - ]; - - bossesToAdd.length && - console.log( - `[MOAR] Adding the following bosses to map ${ - configLocations[index] - }: ${bossesToAdd.map(({ BossName }) => BossName)}` - ); - // console.log(locationList[index].base.BossLocationSpawn.length); - - // Apply the percentages on all bosses, cull those that won't spawn, make all bosses 100 chance that remain. - locationList[index].base.BossLocationSpawn = locationList[ - index - ].base.BossLocationSpawn.filter(({ BossChance, BossName }, bossIndex) => { - if (BossChance < 100 && BossChance / 100 < Math.random()) { - return false; - } - return true; - }).map((boss) => ({ ...boss, ...{ BossChance: 100 } })); - - // if (mapName === "customs") - // console.log(mapName, locationList[index].base.BossLocationSpawn); - }); - - if (hasChangedBossSpawns) { - console.log( - `[MOAR]: --- Adjusting default boss spawn rates complete --- \n` - ); - } - } -} diff --git a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/buildPmcs.ts b/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/buildPmcs.ts deleted file mode 100644 index 52c60d4..0000000 --- a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/buildPmcs.ts +++ /dev/null @@ -1,88 +0,0 @@ -import { ILocation } from "@spt/models/eft/common/ILocation"; -import _config from "../../config/config.json"; -import mapConfig from "../../config/mapConfig.json"; -import { - bossesToRemoveFromPool, - defaultEscapeTimes, - defaultHostility, -} from "./constants"; -import { buildPmcWaves, MapSettings, shuffle } from "./utils"; -import { saveToFile } from "../utils"; - -export default function buildPmcs( - config: typeof _config, - locationList: ILocation[] -) { - for (let index = 0; index < locationList.length; index++) { - const mapSettingsList = Object.keys(mapConfig) as Array< - keyof typeof mapConfig - >; - const map = mapSettingsList[index]; - - locationList[index].base.BotLocationModifier.AdditionalHostilitySettings = - defaultHostility; - - const { pmcHotZones = [] } = (mapConfig?.[map] as MapSettings) || {}; - - let pmcZones = shuffle([ - ...new Set( - [...locationList[index].base.SpawnPointParams] - .filter( - ({ Categories, BotZoneName }) => - !!BotZoneName && - !BotZoneName.includes("snipe") && - (Categories.includes("Player") || Categories.includes("All")) && - !BotZoneName.includes("BotZoneGate") - ) - .map(({ BotZoneName, ...rest }) => { - return BotZoneName; - }) - ), - ]); - - // Make labs have only named zones - if (map === "laboratory") { - pmcZones = new Array(10).fill(pmcZones).flat(1); - } - - const { pmcWaveCount } = mapConfig[map]; - - const escapeTimeLimitRatio = Math.round( - locationList[index].base.EscapeTimeLimit / defaultEscapeTimes[map] - ); - - const totalWaves = Math.round( - pmcWaveCount * config.pmcWaveQuantity * escapeTimeLimitRatio - ); - - const numberOfZoneless = totalWaves - pmcZones.length; - if (numberOfZoneless > 0) { - const addEmpty = new Array(numberOfZoneless).fill(""); - pmcZones = shuffle([...pmcZones, ...addEmpty]); - } - - if (config.debug) { - console.log(`${map} PMC count ${totalWaves} \n`); - - escapeTimeLimitRatio !== 1 && - console.log( - `${map} PMC wave count changed from ${pmcWaveCount} to ${totalWaves} due to escapeTimeLimit adjustment` - ); - } - - const timeLimit = locationList[index].base.EscapeTimeLimit * 60; - - const waves = buildPmcWaves( - totalWaves, - timeLimit, - config, - pmcZones, - pmcHotZones - ); - - locationList[index].base.BossLocationSpawn = [ - ...waves, - ...locationList[index].base.BossLocationSpawn, - ]; - } -} diff --git a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/buildScavMarksmanWaves.ts b/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/buildScavMarksmanWaves.ts deleted file mode 100644 index 9d58dae..0000000 --- a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/buildScavMarksmanWaves.ts +++ /dev/null @@ -1,218 +0,0 @@ -import { ILocation } from "@spt/models/eft/common/ILocation"; -import _config from "../../config/config.json"; -import mapConfig from "../../config/mapConfig.json"; -import { - configLocations, - defaultEscapeTimes, - defaultHostility, - originalMapList, -} from "./constants"; -import { MapSettings, shuffle, waveBuilder } from "./utils"; -import { IWave, WildSpawnType } from "@spt/models/eft/common/ILocationBase"; -import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; -import { saveToFile } from "../utils"; - -export default function buildScavMarksmanWaves( - config: typeof _config, - locationList: ILocation[], - botConfig: IBotConfig -) { - let { - debug, - maxBotCap, - scavWaveQuantity, - scavWaveDistribution, - snipersHaveFriends, - maxBotPerZone, - scavMaxGroupSize, - scavDifficulty, - moreScavGroups, - } = config; - - for (let index = 0; index < locationList.length; index++) { - const mapSettingsList = Object.keys(mapConfig) as Array< - keyof typeof mapConfig - >; - const map = mapSettingsList[index]; - - locationList[index].base = { - ...locationList[index].base, - ...{ - NewSpawn: false, - OcculsionCullingEnabled: true, - OfflineNewSpawn: false, - OfflineOldSpawn: true, - OldSpawn: true, - BotSpawnCountStep: 0, - }, - }; - - locationList[index].base.NonWaveGroupScenario.Enabled = false; - locationList[index].base["BotStartPlayer"] = 0; - if ( - locationList[index].base.BotStop < - locationList[index].base.EscapeTimeLimit * 60 - ) { - locationList[index].base.BotStop = - locationList[index].base.EscapeTimeLimit * 60; - } - - const { - maxBotPerZoneOverride, - maxBotCapOverride, - EscapeTimeLimit, - scavHotZones, - } = (mapConfig?.[map] as MapSettings) || {}; - - // Set per map EscapeTimeLimit - if (EscapeTimeLimit) { - locationList[index].base.EscapeTimeLimit = EscapeTimeLimit; - locationList[index].base.exit_access_time = EscapeTimeLimit + 1; - } - - // Set default or per map maxBotCap - if (maxBotCapOverride || maxBotCap) { - const capToSet = maxBotCapOverride || maxBotCap; - // console.log(map, capToSet, maxBotCapOverride, maxBotCap); - locationList[index].base.BotMax = capToSet; - locationList[index].base.BotMaxPvE = capToSet; - botConfig.maxBotCap[originalMapList[index]] = capToSet; - } - - // Adjust botZone quantity - if (maxBotPerZoneOverride || maxBotPerZone) { - const BotPerZone = maxBotPerZoneOverride || maxBotPerZone; - // console.log(map, BotPerZone, maxBotPerZoneOverride, maxBotPerZone); - locationList[index].base.MaxBotPerZone = BotPerZone; - } - - const sniperLocations = new Set( - [...locationList[index].base.SpawnPointParams] - .filter( - ({ Categories, DelayToCanSpawnSec, BotZoneName, Sides }) => - !Categories.includes("Boss") && - Sides[0] === "Savage" && - (BotZoneName?.toLowerCase().includes("snipe") || - DelayToCanSpawnSec > 40) - ) - .map(({ BotZoneName }) => BotZoneName || "") - ); - - - if (sniperLocations.size) { - locationList[index].base.MinMaxBots = [ - { - WildSpawnType: "marksman", - max: sniperLocations.size * 5, - min: sniperLocations.size, - }, - ]; - } - - let scavZones = shuffle([ - ...new Set( - [...locationList[index].base.SpawnPointParams] - .filter( - ({ Categories, Sides, BotZoneName }) => - !!BotZoneName && - Categories.includes("Bot") && - (Sides.includes("Savage") || Sides.includes("All")) - ) - .map(({ BotZoneName }) => BotZoneName) - .filter((name) => !sniperLocations.has(name)) - ), - ]); - - - const { scavWaveCount } = mapConfig[map]; - - const escapeTimeLimitRatio = Math.round( - locationList[index].base.EscapeTimeLimit / defaultEscapeTimes[map] - ); - - // Scavs - const scavTotalWaveCount = Math.round( - scavWaveCount * scavWaveQuantity * escapeTimeLimitRatio - ); - - const numberOfZoneless = scavTotalWaveCount - scavZones.length; - // console.log(numberOfZoneless); - if (numberOfZoneless > 0) { - const addEmpty = new Array(numberOfZoneless).fill(""); - scavZones = shuffle([...scavZones, ...addEmpty]); - } - // console.log(scavZones); - config.debug && - escapeTimeLimitRatio !== 1 && - console.log( - `${map} Scav wave count changed from ${scavWaveCount} to ${scavTotalWaveCount} due to escapeTimeLimit adjustment` - ); - const timeLimit = locationList[index].base.EscapeTimeLimit * 60; - let snipers = waveBuilder( - sniperLocations.size, - Math.round(timeLimit / 4), - 0.5, - WildSpawnType.MARKSMAN, - 0.7, - false, - 2, - [], - shuffle([...sniperLocations]), - 80, - true, - true - ); - - if (snipersHaveFriends) - snipers = snipers.map((wave) => ({ - ...wave, - ...(snipersHaveFriends && wave.slots_max < 2 - ? { slots_min: 1, slots_max: 2 } - : {}), - })); - - const scavWaves = waveBuilder( - scavTotalWaveCount, - timeLimit, - scavWaveDistribution, - WildSpawnType.ASSAULT, - scavDifficulty, - false, - scavMaxGroupSize, - map === "gzHigh" ? [] : scavZones, - scavHotZones, - 0, - false, - !!moreScavGroups - ); - - if (debug) { - let totalscav = 0; - scavWaves.forEach(({ slots_max }) => (totalscav += slots_max)); - - console.log(configLocations[index]); - console.log( - "Scavs:", - totalscav, - "configVal", - Math.round((totalscav / scavWaveCount) * 100) / 100, - "configWaveCount", - scavWaveCount, - "waveCount", - scavWaves.length, - "\n" - ); - } - - // const finalSniperWaves = snipers?.map(({ ...rest }, snipKey) => ({ - // ...rest, - // number: snipKey, - // time_min: snipKey * 120, - // time_max: snipKey * 120 + 120, - // })); - // if (map === "customs") saveToFile({ scavWaves }, "scavWaves.json"); - locationList[index].base.waves = [...snipers, ...scavWaves] - .sort(({ time_min: a }, { time_min: b }) => a - b) - .map((wave, i) => ({ ...wave, number: i + 1 })); - } -} diff --git a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/buildZombieWaves.ts b/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/buildZombieWaves.ts deleted file mode 100644 index ab1ecd2..0000000 --- a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/buildZombieWaves.ts +++ /dev/null @@ -1,80 +0,0 @@ -import { ILocation } from "@spt/models/eft/common/ILocation"; -import _config from "../../config/config.json"; -import mapConfig from "../../config/mapConfig.json"; -import { configLocations, defaultEscapeTimes } from "./constants"; -import { - buildZombie, - getHealthBodyPartsByPercentage, - zombieTypes, -} from "./utils"; -import { IBots } from "@spt/models/spt/bots/IBots"; - -export default function buildZombieWaves( - config: typeof _config, - locationList: ILocation[], - bots: IBots -) { - let { debug, zombieWaveDistribution, zombieWaveQuantity, zombieHealth } = - config; - - const zombieBodyParts = getHealthBodyPartsByPercentage(zombieHealth); - zombieTypes.forEach((type) => { - bots.types?.[type]?.health?.BodyParts?.forEach((_, index) => { - bots.types[type].health.BodyParts[index] = zombieBodyParts; - }); - }); - - for (let indx = 0; indx < locationList.length; indx++) { - const location = locationList[indx].base; - const mapSettingsList = Object.keys(mapConfig) as Array< - keyof typeof mapConfig - >; - const map = mapSettingsList[indx]; - - const { zombieWaveCount } = mapConfig?.[configLocations[indx]]; - - // if (location.Events?.Halloween2024?.MaxCrowdAttackSpawnLimit) - // location.Events.Halloween2024.MaxCrowdAttackSpawnLimit = 100; - // if (location.Events?.Halloween2024?.CrowdCooldownPerPlayerSec) - // location.Events.Halloween2024.CrowdCooldownPerPlayerSec = 60; - // if (location.Events?.Halloween2024?.CrowdCooldownPerPlayerSec) - // location.Events.Halloween2024.CrowdsLimit = 10; - // if (location.Events?.Halloween2024?.CrowdAttackSpawnParams) - // location.Events.Halloween2024.CrowdAttackSpawnParams = []; - - if (!zombieWaveCount) return; - - const escapeTimeLimitRatio = Math.round( - locationList[indx].base.EscapeTimeLimit / defaultEscapeTimes[map] - ); - - const zombieTotalWaveCount = Math.round( - zombieWaveCount * zombieWaveQuantity * escapeTimeLimitRatio - ); - - config.debug && - escapeTimeLimitRatio !== 1 && - console.log( - `${map} Zombie wave count changed from ${zombieWaveCount} to ${zombieTotalWaveCount} due to escapeTimeLimit adjustment` - ); - - const zombieWaves = buildZombie( - zombieTotalWaveCount, - location.EscapeTimeLimit, - zombieWaveDistribution, - 9999 - ); - - debug && - console.log( - configLocations[indx], - " generated ", - zombieWaves.length, - "Zombies" - ); - - location.BossLocationSpawn.push(...zombieWaves); - - // console.log(zombieWaves[0], zombieWaves[7]); - } -} diff --git a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/constants.ts b/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/constants.ts deleted file mode 100644 index 6698732..0000000 --- a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/constants.ts +++ /dev/null @@ -1,204 +0,0 @@ -export const defaultHostility = [ - { - AlwaysEnemies: [ - "bossTest", - "followerTest", - "bossKilla", - "bossKojaniy", - "followerKojaniy", - "cursedAssault", - "bossGluhar", - "followerGluharAssault", - "followerGluharSecurity", - "followerGluharScout", - "followerGluharSnipe", - "followerSanitar", - "bossSanitar", - "test", - "assaultGroup", - "sectantWarrior", - "sectantPriest", - "bossTagilla", - "followerTagilla", - "bossKnight", - "followerBigPipe", - "followerBirdEye", - "bossBoar", - "followerBoar", - "arenaFighter", - "arenaFighterEvent", - "bossBoarSniper", - "crazyAssaultEvent", - "sectactPriestEvent", - "followerBoarClose1", - "followerBoarClose2", - "bossKolontay", - "followerKolontayAssault", - "followerKolontaySecurity", - "shooterBTR", - "bossPartisan", - "spiritWinter", - "spiritSpring", - "peacemaker", - "skier", - "assault", - "marksman", - "pmcUSEC", - "pmcBEAR", - "exUsec", - "pmcBot", - "bossBully", - ], - AlwaysFriends: [ - "bossZryachiy", - "followerZryachiy", - "peacefullZryachiyEvent", - "ravangeZryachiyEvent", - "gifter", - ], - BearEnemyChance: 100, - BearPlayerBehaviour: "AlwaysEnemies", - BotRole: "pmcBEAR", - ChancedEnemies: [], - Neutral: [], - SavagePlayerBehaviour: "AlwaysEnemies", - UsecEnemyChance: 100, - UsecPlayerBehaviour: "AlwaysEnemies", - Warn: ["sectactPriestEvent"], - }, - { - AlwaysEnemies: [ - "bossTest", - "followerTest", - "bossKilla", - "bossKojaniy", - "followerKojaniy", - "cursedAssault", - "bossGluhar", - "followerGluharAssault", - "followerGluharSecurity", - "followerGluharScout", - "followerGluharSnipe", - "followerSanitar", - "bossSanitar", - "test", - "assaultGroup", - "sectantWarrior", - "sectantPriest", - "bossTagilla", - "followerTagilla", - "bossKnight", - "followerBigPipe", - "followerBirdEye", - "bossBoar", - "followerBoar", - "arenaFighter", - "arenaFighterEvent", - "bossBoarSniper", - "crazyAssaultEvent", - "sectactPriestEvent", - "followerBoarClose1", - "followerBoarClose2", - "bossKolontay", - "followerKolontayAssault", - "followerKolontaySecurity", - "shooterBTR", - "bossPartisan", - "spiritWinter", - "spiritSpring", - "peacemaker", - "skier", - "assault", - "marksman", - "pmcUSEC", - "pmcBEAR", - "exUsec", - "pmcBot", - "bossBully", - ], - AlwaysFriends: [ - "bossZryachiy", - "followerZryachiy", - "peacefullZryachiyEvent", - "ravangeZryachiyEvent", - "gifter", - ], - BearEnemyChance: 100, - BearPlayerBehaviour: "AlwaysEnemies", - BotRole: "pmcUSEC", - ChancedEnemies: [], - Neutral: [], - SavagePlayerBehaviour: "AlwaysEnemies", - UsecEnemyChance: 100, - UsecPlayerBehaviour: "AlwaysEnemies", - Warn: ["sectactPriestEvent"], - }, -]; - -export const configLocations = [ - "customs", - "factoryDay", - "factoryNight", - "interchange", - "laboratory", - "lighthouse", - "rezervbase", - "shoreline", - "tarkovstreets", - "woods", - "gzLow", - "gzHigh", -]; - -export const originalMapList = [ - "bigmap", - "factory4_day", - "factory4_night", - "interchange", - "laboratory", - "lighthouse", - "rezervbase", - "shoreline", - "tarkovstreets", - "woods", - "sandbox", - "sandbox_high", -]; - -export const bossesToRemoveFromPool = new Set([ - "assault", - "pmcBEAR", - "pmcUSEC", - "infectedAssault", - "infectedTagilla", - "infectedLaborant", - "infectedCivil", -]); - -export const mainBossNameList = [ - "bossKojaniy", - "bossGluhar", - "bossSanitar", - "bossKilla", - "bossTagilla", - "bossKnight", - "bossBoar", - "bossKolontay", - "bossPartisan", - "bossBully", -]; - -export const defaultEscapeTimes = { - customs: 40, - factoryDay: 20, - factoryNight: 25, - interchange: 40, - laboratory: 35, - lighthouse: 40, - rezervbase: 40, - shoreline: 45, - tarkovstreets: 50, - woods: 40, - gzLow: 35, - gzHigh: 35, -}; diff --git a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/updateSpawnLocations.ts b/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/updateSpawnLocations.ts deleted file mode 100644 index 605f951..0000000 --- a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/updateSpawnLocations.ts +++ /dev/null @@ -1,139 +0,0 @@ -import { ILocation } from "@spt/models/eft/common/ILocation"; -import { configLocations } from "./constants"; -import mapConfig from "../../config/mapConfig.json"; -import _config from "../../config/config.json"; - -export default function updateSpawnLocations( - locationList: ILocation[], - config: typeof _config -) { - for (let index = 0; index < locationList.length; index++) { - const map = configLocations[index]; - // console.log(map); - const limit = mapConfig[map].spawnMinDistance; - - const InfiltrationList = [ - ...new Set( - locationList[index].base.SpawnPointParams.filter( - ({ Infiltration }) => Infiltration - ).map(({ Infiltration }) => Infiltration) - ), - ]; - - // console.log(map, InfiltrationList); - const getRandomInfil = (): string => - InfiltrationList[Math.floor(Math.random() * InfiltrationList.length)]; - // console.log(InfiltrationList); - // console.log("\n" + map); - locationList[index].base.SpawnPointParams.forEach( - ( - { - ColliderParams, - BotZoneName, - DelayToCanSpawnSec, - Categories, - Sides, - Infiltration, - }, - innerIndex - ) => { - if ( - !Categories.includes("Boss") && - !BotZoneName?.toLowerCase().includes("snipe") && - DelayToCanSpawnSec < 41 - ) { - // Make it so players/pmcs can spawn anywhere. - if ( - config.playerOpenZones && - !!Infiltration && - (Sides.includes("Pmc") || Sides.includes("All")) - ) { - locationList[index].base.SpawnPointParams[innerIndex].Categories = [ - "Player", - "Coop", - innerIndex % 2 === 0 ? "Group" : "Opposite", - ]; - - locationList[index].base.SpawnPointParams[innerIndex].Sides = [ - "Pmc", - "All", - ]; - // console.log( - // BotZoneName || "none", - // locationList[index].base.SpawnPointParams[innerIndex].Categories, - // locationList[index].base.SpawnPointParams[innerIndex].Sides - // ); - } - if (!Infiltration) { - if ( - !config.allOpenZones && - config.pmcOpenZones && - Categories.includes("Bot") && - Sides[0] === "Savage" - ) { - // if (BotZoneName === "Zone_LongRoad") console.log("yes"); - locationList[index].base.SpawnPointParams[innerIndex].Categories = - ["Player", "Bot"]; - - locationList[index].base.SpawnPointParams[ - innerIndex - ].Infiltration = getRandomInfil(); - } - - if (config.allOpenZones) { - locationList[index].base.SpawnPointParams[innerIndex].Categories = - [ - "Bot", - "Player", - "Coop", - innerIndex % 2 === 0 ? "Group" : "Opposite", - ]; - - locationList[index].base.SpawnPointParams[ - innerIndex - ].Infiltration = getRandomInfil(); - // console.log( - // locationList[index].base.SpawnPointParams[innerIndex].Infiltration - // ); - locationList[index].base.SpawnPointParams[innerIndex].Sides = [ - "Pmc", - "Savage", - "All", - ]; - } - - if (config.bossOpenZones && Categories.includes("Bot")) { - locationList[index].base.SpawnPointParams[ - innerIndex - ].Categories.push("Boss"); - } - } - - if ( - ColliderParams?._props?.Radius !== undefined && - ColliderParams?._props?.Radius < limit - ) { - locationList[index].base.SpawnPointParams[ - innerIndex - ].ColliderParams._props.Radius = limit; - } - } else { - if (!Categories.includes("Boss") && DelayToCanSpawnSec > 40) { - locationList[index].base.SpawnPointParams[ - innerIndex - ].DelayToCanSpawnSec = Math.round( - DelayToCanSpawnSec * Math.random() * Math.random() * 0.5 - ); - - // console.log( - // BotZoneName, - // DelayToCanSpawnSec, - // locationList[index].base.SpawnPointParams[innerIndex] - // .DelayToCanSpawnSec - // ); - } - } - } - ); - } -} diff --git a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/utils.ts b/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/utils.ts deleted file mode 100644 index 804bb17..0000000 --- a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Spawning/utils.ts +++ /dev/null @@ -1,452 +0,0 @@ -import { - IBossLocationSpawn, - IWave, - WildSpawnType, -} from "@spt/models/eft/common/ILocationBase"; -import _config from "../../config/config.json"; -import { ILocation } from "@spt/models/eft/common/ILocation"; -import { defaultEscapeTimes } from "./constants"; -import { ILogger } from "@spt/models/spt/utils/ILogger"; - -export const waveBuilder = ( - totalWaves: number, - timeLimit: number, - waveDistribution: number, - wildSpawnType: "marksman" | "assault", - difficulty: number, - isPlayer: boolean, - maxSlots: number, - combinedZones: string[] = [], - specialZones: string[] = [], - offset?: number, - starting?: boolean, - moreGroups?: boolean -): IWave[] => { - if (totalWaves === 0) return []; - - const averageTime = timeLimit / totalWaves; - const firstHalf = Math.round(averageTime * (1 - waveDistribution)); - const secondHalf = Math.round(averageTime * (1 + waveDistribution)); - let timeStart = offset || 0; - const waves: IWave[] = []; - let maxSlotsReached = Math.round(1.3 * totalWaves); - while ( - totalWaves > 0 && - (waves.length < totalWaves || specialZones.length > 0) - ) { - const accelerate = totalWaves > 5 && waves.length < totalWaves / 3; - const stage = Math.round( - waves.length < Math.round(totalWaves * 0.5) - ? accelerate - ? firstHalf / 3 - : firstHalf - : secondHalf - ); - - const min = !offset && waves.length < 1 ? 0 : timeStart; - const max = !offset && waves.length < 1 ? 0 : timeStart + 60; - - if (waves.length >= 1 || offset) timeStart = timeStart + stage; - const BotPreset = getDifficulty(difficulty); - // console.log(wildSpawnType, BotPreset); - // Math.round((1 - waves.length / totalWaves) * maxSlots) || 1; - let slotMax = Math.round( - (moreGroups ? Math.random() : Math.random() * Math.random()) * maxSlots - ); - - if (slotMax < 1) slotMax = 1; - let slotMin = (Math.round(Math.random() * slotMax) || 1) - 1; - - if (wildSpawnType === "marksman" && slotMin < 1) slotMin = 1; - waves.push({ - BotPreset, - BotSide: getBotSide(wildSpawnType), - SpawnPoints: getZone( - specialZones, - combinedZones, - waves.length >= totalWaves - ), - isPlayers: isPlayer, - slots_max: slotMax, - slots_min: slotMin, - time_min: starting || !max ? -1 : min, - time_max: starting || !max ? -1 : max, - WildSpawnType: wildSpawnType as WildSpawnType, - number: waves.length, - sptId: wildSpawnType + waves.length, - SpawnMode: ["regular", "pve"], - }); - maxSlotsReached -= slotMax; - // if (wildSpawnType === "assault") console.log(slotMax, maxSlotsReached); - if (maxSlotsReached <= 0) break; - } - // console.log(waves.map(({ slots_min }) => slots_min)); - return waves; -}; - -const getZone = (specialZones, combinedZones, specialOnly) => { - if (!specialOnly && combinedZones.length) - return combinedZones[ - Math.round((combinedZones.length - 1) * Math.random()) - ]; - if (specialZones.length) return specialZones.pop(); - return ""; -}; - -export const getDifficulty = (diff: number) => { - const randomNumb = Math.random() + diff; - switch (true) { - case randomNumb < 0.55: - return "easy"; - case randomNumb < 1.4: - return "normal"; - case randomNumb < 1.85: - return "hard"; - default: - return "impossible"; - } -}; - -export const shuffle = (array: any): n => { - let currentIndex = array.length, - randomIndex; - - // While there remain elements to shuffle. - while (currentIndex != 0) { - // Pick a remaining element. - randomIndex = Math.floor(Math.random() * currentIndex); - currentIndex--; - - // And swap it with the current element. - [array[currentIndex], array[randomIndex]] = [ - array[randomIndex], - array[currentIndex], - ]; - } - - return array; -}; - -const getBotSide = ( - spawnType: "marksman" | "assault" | "pmcBEAR" | "pmcUSEC" -) => { - switch (spawnType) { - case "pmcBEAR": - return "Bear"; - case "pmcUSEC": - return "Usec"; - default: - return "Savage"; - } -}; - -export const buildBossBasedWave = ( - BossChance: number, - BossEscortAmount: string, - BossEscortType: string, - BossName: string, - BossZone: string, - raidTime?: number -): IBossLocationSpawn => { - return { - BossChance, - BossDifficult: "normal", - BossEscortAmount, - BossEscortDifficult: "normal", - BossEscortType, - BossName, - BossPlayer: false, - BossZone, - Delay: 0, - ForceSpawn: false, - IgnoreMaxBots: true, - RandomTimeSpawn: false, - Time: raidTime ? Math.round(Math.random() * (raidTime * 5)) : -1, - Supports: null, - TriggerId: "", - TriggerName: "", - spawnMode: ["regular", "pve"], - }; -}; - -export const zombieTypes = [ - "infectedassault", - "infectedpmc", - "infectedlaborant", - "infectedcivil", -]; - -export const zombieTypesCaps = [ - "infectedAssault", - "infectedPmc", - "infectedLaborant", - "infectedCivil", -]; - -export const getRandomDifficulty = (num: number = 1.5) => - getDifficulty(Math.round(Math.random() * num * 10) / 10); - -export const getRandomZombieType = () => - zombieTypesCaps[Math.round((zombieTypesCaps.length - 1) * Math.random())]; - -export const buildPmcWaves = ( - pmcTotal: number, - escapeTimeLimit: number, - config: typeof _config, - bossZones: string[], - hotZones: string[] -): IBossLocationSpawn[] => { - // console.log(pmcTotal) - if (!pmcTotal) return []; - const halfIndex = Math.round(bossZones.length * 0.75); //Put hotzones in the 2 - 4 spawns - // console.log(bossZones.length); - bossZones = [ - ...bossZones.slice(0, halfIndex), - ...hotZones, - ...bossZones.slice(halfIndex), - ]; - - // console.log(bossZones.length, hotZones.length); - // console.log(bossZones); - pmcTotal = pmcTotal + hotZones.length; - - let { - pmcMaxGroupSize, - pmcDifficulty, - startingPmcs, - morePmcGroups, - pmcWaveDistribution, - } = config; - - const averageTime = (escapeTimeLimit * 0.8) / pmcTotal; - - const waves: IBossLocationSpawn[] = []; - let maxSlotsReached = pmcTotal; - - while (pmcTotal > 0) { - let bossEscortAmount = Math.round( - (morePmcGroups ? 1 : Math.random()) * - Math.random() * - (pmcMaxGroupSize - 1) - ); - - if (bossEscortAmount < 0) bossEscortAmount = 0; - - // const totalCountThisWave = bossEscortAmount + 1; - const totalCountThusFar = pmcTotal - maxSlotsReached; - - const timeToUse = - totalCountThusFar < pmcTotal * pmcWaveDistribution - ? Math.round( - averageTime * (1 - pmcWaveDistribution) * totalCountThusFar - ) - : Math.round( - escapeTimeLimit * (1 - pmcWaveDistribution) + - (1 - pmcWaveDistribution) * totalCountThusFar * averageTime - ); - - let timeStart = - (startingPmcs ? totalCountThusFar * totalCountThusFar * 3 : timeToUse) || - -1; - - const side = Math.random() > 0.5 ? "pmcBEAR" : "pmcUSEC"; - - const BossDifficult = getDifficulty(pmcDifficulty); - - waves.push({ - BossChance: 9999, - BossDifficult, - BossEscortAmount: bossEscortAmount.toString(), - BossEscortDifficult: "normal", - BossEscortType: side, - BossName: side, - BossPlayer: false, - BossZone: bossZones.pop() || "", - Delay: 0, - DependKarma: false, - DependKarmaPVE: false, - ForceSpawn: true, - IgnoreMaxBots: true, - RandomTimeSpawn: false, - Time: timeStart, - Supports: null, - TriggerId: "", - TriggerName: "", - spawnMode: ["regular", "pve"], - }); - - maxSlotsReached -= 1 + bossEscortAmount; - if (maxSlotsReached <= 0) break; - } - // console.log( - // escapeTimeLimit, - // waves.map(({ Time }) => Time) - // ); - return waves; -}; - -export const buildZombie = ( - totalWaves: number, - escapeTimeLimit: number, - waveDistribution: number, - BossChance: number = 100 -): IBossLocationSpawn[] => { - if (!totalWaves) return []; - const averageTime = (escapeTimeLimit * 60) / totalWaves; - const firstHalf = Math.round(averageTime * (1 - waveDistribution)); - const secondHalf = Math.round(averageTime * (1 + waveDistribution)); - let timeStart = 90; - const waves: IBossLocationSpawn[] = []; - let maxSlotsReached = Math.round(1.3 * totalWaves); - - while (totalWaves > 0) { - const accelerate = totalWaves > 5 && waves.length < totalWaves / 3; - const stage = Math.round( - waves.length < Math.round(totalWaves * 0.5) - ? accelerate - ? firstHalf / 3 - : firstHalf - : secondHalf - ); - - if (waves.length >= 1) timeStart = timeStart + stage; - const main = getRandomZombieType(); - waves.push({ - BossChance, - BossDifficult: "normal", - BossEscortAmount: "0", - BossEscortDifficult: "normal", - BossEscortType: main, - BossName: main, - BossPlayer: false, - BossZone: "", - Delay: 0, - IgnoreMaxBots: true, - RandomTimeSpawn: false, - Time: timeStart, - Supports: new Array( - Math.round(Math.random() * 4) /* <= 4 AddthistoConfig */ - ) - .fill("") - .map(() => ({ - BossEscortType: getRandomZombieType(), - BossEscortDifficult: ["normal"], - BossEscortAmount: "1", - })), - TriggerId: "", - TriggerName: "", - spawnMode: ["regular", "pve"], - }); - - maxSlotsReached -= 1 + waves[waves.length - 1].Supports.length; - if (maxSlotsReached <= 0) break; - } - - return waves; -}; - -export interface MapSettings { - EscapeTimeLimit?: number; - maxBotPerZoneOverride?: number; - maxBotCapOverride?: number; - pmcHotZones?: string[]; - scavHotZones?: string[]; - pmcWaveCount: number; - scavWaveCount: number; - zombieWaveCount: number; -} - -export const getHealthBodyPartsByPercentage = (num: number) => { - const num35 = Math.round(35 * num); - const num100 = Math.round(100 * num); - const num70 = Math.round(70 * num); - const num80 = Math.round(80 * num); - return { - Head: { - min: num35, - max: num35, - }, - Chest: { - min: num100, - max: num100, - }, - Stomach: { - min: num100, - max: num100, - }, - LeftArm: { - min: num70, - max: num70, - }, - RightArm: { - min: num70, - max: num70, - }, - LeftLeg: { - min: num80, - max: num80, - }, - RightLeg: { - min: num80, - max: num80, - }, - }; -}; - -export interface MapConfigType { - spawnMinDistance: number; - pmcWaveCount: number; - scavWaveCount: number; - zombieWaveCount?: number; - scavHotZones?: string[]; - pmcHotZones?: string[]; - EscapeTimeLimitOverride?: number; -} - -export const setEscapeTimeOverrides = ( - locationList: ILocation[], - mapConfig: Record, - logger: ILogger, - config: typeof _config -) => { - for (let index = 0; index < locationList.length; index++) { - const mapSettingsList = Object.keys(mapConfig) as Array< - keyof typeof mapConfig - >; - - const map = mapSettingsList[index]; - const override = mapConfig[map].EscapeTimeLimitOverride; - const hardcodedEscapeLimitMax = 5; - - if ( - !override && - locationList[index].base.EscapeTimeLimit / defaultEscapeTimes[map] > - hardcodedEscapeLimitMax - ) { - const maxLimit = defaultEscapeTimes[map] * hardcodedEscapeLimitMax; - logger.warning( - `[MOAR] EscapeTimeLimit set too high on ${map}\nEscapeTimeLimit changed from ${locationList[index].base.EscapeTimeLimit} => ${maxLimit}\n` - ); - locationList[index].base.EscapeTimeLimit = maxLimit; - } - - if (override && locationList[index].base.EscapeTimeLimit !== override) { - console.log( - `[Moar] Set ${map}'s Escape time limit to ${override} from ${locationList[index].base.EscapeTimeLimit}\n` - ); - locationList[index].base.EscapeTimeLimit = override; - locationList[index].base.EscapeTimeLimitCoop = override; - locationList[index].base.EscapeTimeLimitPVE = override; - } - - if ( - config.startingPmcs && - locationList[index].base.EscapeTimeLimit / defaultEscapeTimes[map] > 2 - ) { - logger.warning( - `[MOAR] Average EscapeTimeLimit is too high (greater than 2x) to enable starting PMCS\nStarting PMCS has been turned off to prevent performance issues.\n` - ); - config.startingPmcs = false; - } - } -}; diff --git a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Tests/checkPresets.ts b/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Tests/checkPresets.ts deleted file mode 100644 index 57b753d..0000000 --- a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Tests/checkPresets.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { ILogger } from "@spt/models/spt/utils/ILogger"; -import { DependencyContainer } from "tsyringe"; -import config from "../../config/config.json"; -import presets from "../../config/Presets.json"; -import presetWeightings from "../../config/PresetWeightings.json"; - -export default function checkPresetLogic(container: DependencyContainer) { - const Logger = container.resolve("WinstonLogger"); - - for (const key in presetWeightings) { - if (presets[key] === undefined) { - Logger.error( - `\n[MOAR]: No preset found in PresetWeightings.json for preset "${key}" in Presets.json` - ); - } - } - - for (const key in presets) { - const preset = presets[key]; - for (const id in preset) { - if (config[id] === undefined) { - Logger.error( - `\n[MOAR]: No associated key found in config.json called "${id}" for preset "${key}" in Presets.json` - ); - } - } - } -} diff --git a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Zombies/Zombies.ts b/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Zombies/Zombies.ts deleted file mode 100644 index 1125559..0000000 --- a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/Zombies/Zombies.ts +++ /dev/null @@ -1,160 +0,0 @@ -import { DependencyContainer } from "tsyringe"; -import { - ISeasonalEventConfig, - ISeasonalEvent, -} from "@spt/models/spt/config/ISeasonalEventConfig.d"; - -import { ConfigServer } from "@spt/servers/ConfigServer"; -import { ConfigTypes } from "@spt/models/enums/ConfigTypes"; -import { SeasonalEventService } from "@spt/services/SeasonalEventService"; -import { zombieTypesCaps } from "../Spawning/utils"; - -export const baseZombieSettings = (enabled: boolean, count: number) => - ({ - enabled, - name: "zombies", - type: "Zombies", - startDay: "1", - startMonth: "1", - endDay: "31", - endMonth: "12", - settings: { - enableSummoning: false, - removeEntryRequirement: [], - replaceBotHostility: true, - zombieSettings: { - enabled: true, - mapInfectionAmount: { - Interchange: count === -1 ? randomNumber100() : count, - Lighthouse: count === -1 ? randomNumber100() : count, - RezervBase: count === -1 ? randomNumber100() : count, - Sandbox: count === -1 ? randomNumber100() : count, - Shoreline: count === -1 ? randomNumber100() : count, - TarkovStreets: count === -1 ? randomNumber100() : count, - Woods: count === -1 ? randomNumber100() : count, - bigmap: count === -1 ? randomNumber100() : count, - factory4: count === -1 ? randomNumber100() : count, - laboratory: count === -1 ? randomNumber100() : count, - }, - disableBosses: [], - disableWaves: [], - }, - }, - } as unknown as ISeasonalEvent); - -const randomNumber100 = () => Math.round(Math.random() * 100); - -export const resetCurrentEvents = ( - container: DependencyContainer, - enabled: boolean, - zombieWaveQuantity: number, - random: boolean = false -) => { - const configServer = container.resolve("ConfigServer"); - const eventConfig = configServer.getConfig( - ConfigTypes.SEASONAL_EVENT - ); - - let percentToShow = random ? -1 : Math.round(zombieWaveQuantity * 100); - if (percentToShow > 100) percentToShow = 100; - - eventConfig.events = [baseZombieSettings(enabled, percentToShow)]; - - const seasonalEventService = container.resolve( - "SeasonalEventService" - ) as any; - - // First we need to clear any existing data - seasonalEventService.currentlyActiveEvents = []; - seasonalEventService.christmasEventActive = false; - seasonalEventService.halloweenEventActive = false; - // Then re-calculate the cached data - seasonalEventService.cacheActiveEvents(); - // seasonalEventService.addEventBossesToMaps("halloweenzombies"); -}; - -export const setUpZombies = (container: DependencyContainer) => { - const configServer = container.resolve("ConfigServer"); - const eventConfig = configServer.getConfig( - ConfigTypes.SEASONAL_EVENT - ); - - eventConfig.events = [baseZombieSettings(false, 100)]; - - // eventConfig.eventBossSpawns = { - // zombies: eventConfig.eventBossSpawns.halloweenzombies, - // }; - eventConfig.eventGear[eventConfig.events[0].name] = {}; - eventConfig.hostilitySettingsForEvent.zombies.default = - eventConfig.hostilitySettingsForEvent.zombies.default - .filter(({ BotRole }) => !["pmcBEAR", "pmcUSEC"].includes(BotRole)) - .map((host) => ({ - ...host, - AlwaysEnemies: [ - "infectedAssault", - "infectedPmc", - "infectedCivil", - "infectedLaborant", - "infectedTagilla", - "pmcBEAR", - "pmcUSEC", - ], - AlwaysNeutral: [ - "marksman", - "assault", - "bossTest", - "bossBully", - "followerTest", - "bossKilla", - "bossKojaniy", - "followerKojaniy", - "pmcBot", - "cursedAssault", - "bossGluhar", - "followerGluharAssault", - "followerGluharSecurity", - "followerGluharScout", - "followerGluharSnipe", - "followerSanitar", - "bossSanitar", - "test", - "assaultGroup", - "sectantWarrior", - "sectantPriest", - "bossTagilla", - "followerTagilla", - "exUsec", - "gifter", - "bossKnight", - "followerBigPipe", - "followerBirdEye", - "bossZryachiy", - "followerZryachiy", - "bossBoar", - "followerBoar", - "arenaFighter", - "arenaFighterEvent", - "bossBoarSniper", - "crazyAssaultEvent", - "peacefullZryachiyEvent", - "sectactPriestEvent", - "ravangeZryachiyEvent", - "followerBoarClose1", - "followerBoarClose2", - "bossKolontay", - "followerKolontayAssault", - "followerKolontaySecurity", - "shooterBTR", - "bossPartisan", - "spiritWinter", - "spiritSpring", - "peacemaker", - "skier", - ], - SavagePlayerBehaviour: "Neutral", - BearPlayerBehaviour: "AlwaysEnemies", - UsecPlayerBehaviour: "AlwaysEnemies", - })); - - // console.log(eventConfig.hostilitySettingsForEvent.zombies.default); -}; diff --git a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/mod.ts b/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/mod.ts deleted file mode 100644 index ac6279f..0000000 --- a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/mod.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { DependencyContainer } from "tsyringe"; -import { IPostSptLoadMod } from "@spt/models/external/IPostSptLoadMod"; -import { IPreSptLoadMod } from "@spt/models/external/IPreSptLoadMod"; -import { enableBotSpawning } from "../config/config.json"; -import { buildWaves } from "./Spawning/Spawning"; -import config from "../config/config.json"; -import { globalValues } from "./GlobalValues"; -import { ILogger } from "@spt/models/spt/utils/ILogger"; -import { setupRoutes } from "./Routes/routes"; -import checkPresetLogic from "./Tests/checkPresets"; - -class Moar implements IPostSptLoadMod, IPreSptLoadMod { - preSptLoad(container: DependencyContainer): void { - if (enableBotSpawning) setupRoutes(container); - } - - postSptLoad(container: DependencyContainer): void { - if (enableBotSpawning) { - checkPresetLogic(container); - globalValues.baseConfig = config; - globalValues.overrideConfig = {}; - const logger = container.resolve("WinstonLogger"); - logger.info("\n[MOAR]: Starting up, may the bots ever be in your favour!"); - buildWaves(container); - } - } -} - -module.exports = { mod: new Moar() }; diff --git a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/utils.ts b/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/utils.ts deleted file mode 100644 index 7f8a3bc..0000000 --- a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/src/utils.ts +++ /dev/null @@ -1,57 +0,0 @@ -import PresetWeightings from "../config/PresetWeightings.json"; -import Presets from "../config/Presets.json"; -import { globalValues } from "./GlobalValues"; - -export const saveToFile = (data, filePath) => { - var fs = require("fs"); - let dir = __dirname; - let dirArray = dir.split("\\"); - const directory = `${dirArray[dirArray.length - 4]}/${ - dirArray[dirArray.length - 3] - }/${dirArray[dirArray.length - 2]}/`; - fs.writeFile( - directory + filePath, - JSON.stringify(data, null, 4), - function (err) { - if (err) throw err; - } - ); -}; - -export const cloneDeep = (objectToClone: any) => - JSON.parse(JSON.stringify(objectToClone)); - -export const getRandomPresetOrCurrentlySelectedPreset = () => { - switch (true) { - case globalValues.forcedPreset.toLowerCase() === "custom": - return {}; - case !globalValues.forcedPreset: - globalValues.forcedPreset = "random"; - break; - case globalValues.forcedPreset === "random": - break; - - default: - return Presets[globalValues.forcedPreset]; - } - - const all = []; - - const itemKeys = Object.keys(PresetWeightings); - - for (const key of itemKeys) { - for (let i = 0; i < PresetWeightings[key]; i++) { - all.push(key); - } - } - - const preset: string = all[Math.round(Math.random() * (all.length - 1))]; - globalValues.currentPreset = preset; - return Presets[preset]; -}; - -export const kebabToTitle = (str: string): string => - str - .split("-") - .map((word) => word.slice(0, 1).toUpperCase() + word.slice(1)) - .join(" "); diff --git a/mods/Performance Improvements_backup/BepInEx/plugins/PerformanceImprovements.dll b/mods/Performance Improvements_backup/BepInEx/plugins/PerformanceImprovements.dll deleted file mode 100644 index 663ba645bb6962659e249fd0178765d9bbb115ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51712 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 diff --git a/mods/Questing Bots/BepInEx/plugins/DanW-SPTQuestingBots/SPTQuestingBots.dll b/mods/Questing Bots/BepInEx/plugins/DanW-SPTQuestingBots/SPTQuestingBots.dll new file mode 100644 index 0000000000000000000000000000000000000000..441e51304c1ae6bd17027b95389b5955dbe41c7d GIT binary patch literal 419328 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�vNPAH=?5mFKBnerQI>Wq_JTlSS-Y1 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 delta 144 zcmZp8!`SeKaY6@+={e>-8+!^Y7#Sx2wTNYAX5iW!Yx!SYz)4E+z|8&#=gpTEe?7|O zyK-|*;(sniR#XO^mZP uAILq&#L2+G#=yt`1e>Q9gfas4ye*u~XuP?zh#$n6S!~W|u=!%KJ`(`)A2m+^ diff --git a/mods/Waypoints/BepInEx/plugins/DrakiaXYZ-Waypoints/navmesh/shoreline-navmesh.bundle b/mods/Waypoints/BepInEx/plugins/DrakiaXYZ-Waypoints/navmesh/shoreline-navmesh.bundle index e8642bf..d4330f0 100644 --- a/mods/Waypoints/BepInEx/plugins/DrakiaXYZ-Waypoints/navmesh/shoreline-navmesh.bundle +++ b/mods/Waypoints/BepInEx/plugins/DrakiaXYZ-Waypoints/navmesh/shoreline-navmesh.bundle @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c32c19d473851ef01d708f300c46e1ffd55e39f931fab08bc699163c19ed795f -size 9888179 +oid sha256:d63eb0825f7f07a8b0ae01567fbf30b9e0a2f8684a514e88249485b18732ae6f +size 11900025 diff --git a/mods/Waypoints/meta.ini b/mods/Waypoints/meta.ini index 585b5be..224fda0 100644 --- a/mods/Waypoints/meta.ini +++ b/mods/Waypoints/meta.ini @@ -1,11 +1,11 @@ [General] gameName=spt modid=0 -version=d2024.12.16.0 +version=d2025.1.17.0 newestVersion= category="1,2" nexusFileStatus=1 -installationFile=DrakiaXYZ-Waypoints-1.6.0.7z +installationFile=DrakiaXYZ-Waypoints-1.6.1.7z repository=Nexus ignoredVersion= comments= diff --git a/mods/Waypoints_backup/BepInEx/plugins/DrakiaXYZ-Waypoints/DrakiaXYZ-Waypoints.dll b/mods/Waypoints_backup/BepInEx/plugins/DrakiaXYZ-Waypoints/DrakiaXYZ-Waypoints.dll new file mode 100644 index 0000000000000000000000000000000000000000..7ed814017253df60fd035cad898b82245822767d GIT binary patch literal 30208 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 literal 0 HcmV?d00001 diff --git a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/LICENSE.md b/mods/Waypoints_backup/BepInEx/plugins/DrakiaXYZ-Waypoints/LICENSE similarity index 95% rename from mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/LICENSE.md rename to mods/Waypoints_backup/BepInEx/plugins/DrakiaXYZ-Waypoints/LICENSE index 35fbeeb..d360fc8 100644 --- a/mods/MOAR - Ultra Lite Spawn Mod_backup/user/mods/DewardianDev-MOAR/LICENSE.md +++ b/mods/Waypoints_backup/BepInEx/plugins/DrakiaXYZ-Waypoints/LICENSE @@ -1,6 +1,6 @@ -MIT License +MIT License -Copyright (c) 2023 Dushaoan +Copyright (c) 2023 DrakiaXYZ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +SOFTWARE. \ No newline at end of file diff --git a/mods/Waypoints_backup/BepInEx/plugins/DrakiaXYZ-Waypoints/navmesh/interchange-navmesh.bundle b/mods/Waypoints_backup/BepInEx/plugins/DrakiaXYZ-Waypoints/navmesh/interchange-navmesh.bundle new file mode 100644 index 0000000..625d394 --- /dev/null +++ b/mods/Waypoints_backup/BepInEx/plugins/DrakiaXYZ-Waypoints/navmesh/interchange-navmesh.bundle @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0669cdf83741c249e66294d73503a2425b1abb366f5cb23bce38a3d64e14a0fc +size 4217627 diff --git a/mods/Waypoints_backup/BepInEx/plugins/DrakiaXYZ-Waypoints/navmesh/lighthouse-navmesh.bundle b/mods/Waypoints_backup/BepInEx/plugins/DrakiaXYZ-Waypoints/navmesh/lighthouse-navmesh.bundle new file mode 100644 index 0000000..c8190fb --- /dev/null +++ b/mods/Waypoints_backup/BepInEx/plugins/DrakiaXYZ-Waypoints/navmesh/lighthouse-navmesh.bundle @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bce0bdfb7e832c6f7a99707a4b09fa8073b00ef2a6483f789f317717ef84132 +size 11215514 diff --git a/mods/Waypoints_backup/BepInEx/plugins/DrakiaXYZ-Waypoints/navmesh/shoreline-navmesh.bundle b/mods/Waypoints_backup/BepInEx/plugins/DrakiaXYZ-Waypoints/navmesh/shoreline-navmesh.bundle new file mode 100644 index 0000000..e8642bf --- /dev/null +++ b/mods/Waypoints_backup/BepInEx/plugins/DrakiaXYZ-Waypoints/navmesh/shoreline-navmesh.bundle @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c32c19d473851ef01d708f300c46e1ffd55e39f931fab08bc699163c19ed795f +size 9888179 diff --git a/mods/Waypoints_backup/BepInEx/plugins/DrakiaXYZ-Waypoints/navmesh/woods-navmesh.bundle b/mods/Waypoints_backup/BepInEx/plugins/DrakiaXYZ-Waypoints/navmesh/woods-navmesh.bundle new file mode 100644 index 0000000..9d3e6fd --- /dev/null +++ b/mods/Waypoints_backup/BepInEx/plugins/DrakiaXYZ-Waypoints/navmesh/woods-navmesh.bundle @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3ed5401da31f1974b0ad42f6d8c7de064c42e162e352bfc23d8f0c0fae4d5fb +size 10068985 diff --git a/mods/Performance Improvements_backup/meta.ini b/mods/Waypoints_backup/meta.ini similarity index 73% rename from mods/Performance Improvements_backup/meta.ini rename to mods/Waypoints_backup/meta.ini index 8df766c..585b5be 100644 --- a/mods/Performance Improvements_backup/meta.ini +++ b/mods/Waypoints_backup/meta.ini @@ -1,11 +1,11 @@ [General] gameName=spt modid=0 -version=d2024.12.18.0 +version=d2024.12.16.0 newestVersion= -category="2," +category="1,2" nexusFileStatus=1 -installationFile=PerformanceImprovements.7z +installationFile=DrakiaXYZ-Waypoints-1.6.0.7z repository=Nexus ignoredVersion= comments= @@ -15,7 +15,7 @@ url= hasCustomURL=false lastNexusQuery= lastNexusUpdate= -nexusLastModified=2024-12-16T05:19:02Z +nexusLastModified=2024-12-16T06:41:17Z nexusCategory=0 converted=false validated=false diff --git a/profiles/Multiplayer/modlist.txt b/profiles/Multiplayer/modlist.txt index 59c27da..02f9c5f 100644 --- a/profiles/Multiplayer/modlist.txt +++ b/profiles/Multiplayer/modlist.txt @@ -1,6 +1,7 @@ # This file was automatically generated by Mod Organizer. -Unsorted_separator -Version 1.37.16_separator +-Performance Improvements -Third Person -WTT - Menu Overhaul -Custom Asset Importer @@ -19,6 +20,7 @@ +Progressive Bot System +Dynamic Goons +MOAR - Ultra Lite Spawn Mod ++Questing Bots +Looting Bots +That's Lit - Sync +That's Lit @@ -77,7 +79,6 @@ +Better Keys NG +More Tag Colors +Magazine Inspector -+Headshot Darkness +Player Encumbrance Bar -More Checkmarks - Server +More Checkmarks @@ -101,7 +102,6 @@ +Expanded Task Text +UI Fixes +Ram Cleaner Interval -+Performance Improvements -Bug Fixes & Optimizations_separator +Custom Interactions +Interactable Exfils API diff --git a/profiles/Server/modlist.txt b/profiles/Server/modlist.txt index 0a47dab..77cafba 100644 --- a/profiles/Server/modlist.txt +++ b/profiles/Server/modlist.txt @@ -1,6 +1,7 @@ # This file was automatically generated by Mod Organizer. +Unsorted_separator -Version 1.37.16_separator +-Performance Improvements -Third Person -WTT - Menu Overhaul -Custom Asset Importer @@ -19,6 +20,7 @@ +Progressive Bot System +Dynamic Goons +MOAR - Ultra Lite Spawn Mod ++Questing Bots +Looting Bots +That's Lit - Sync +That's Lit @@ -77,7 +79,6 @@ +Better Keys NG -More Tag Colors -Magazine Inspector --Headshot Darkness -Player Encumbrance Bar +More Checkmarks - Server -More Checkmarks @@ -101,7 +102,6 @@ +Expanded Task Text +UI Fixes -Ram Cleaner Interval --Performance Improvements +Bug Fixes & Optimizations_separator -Custom Interactions -Interactable Exfils API

    !f(p)`z6~Y1NfIc> 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 and more frequently when it's <1. This is **3** by default to reduce the "swarming" feeling of the "new" EFT spawning system used in EFT 0.14.x. +* **bot_spawns.advanced_eft_bot_count_management.enabled**: If **true**, this enables code that tricks EFT into thinking that bots generated by this mod are human players. This makes EFT ignore bot caps (both total and zone-specific) for PMC's and player Scavs generated by this mod. This is **true** by default. +* **bot_spawns.advanced_eft_bot_count_management.use_EFT_bot_caps**: If **bot_spawns.advanced_eft_bot_count_management.enabled=true**, SPT's bot caps will be changed to match EFT's bot caps. This is **true** by default. +* **bot_spawns.advanced_eft_bot_count_management.only_decrease_bot_caps**: If **bot_spawns.advanced_eft_bot_count_management.enabled=true** and **bot_spawns.advanced_eft_bot_count_management.use_EFT_bot_caps=true**, SPT's bot caps will be changed to match EFT's bot caps only if EFT's bot caps are lower. This is **true** by default. +* **bot_spawns.advanced_eft_bot_count_management.bot_cap_adjustments**: If **bot_spawns.advanced_eft_bot_count_management.enabled=true** and **bot_spawns.advanced_eft_bot_count_management.use_EFT_bot_caps=true**, these additional adjustments will be made to SPT's bot caps after changing them to EFT's. This is used to balance bot spawns and performance. +* **bot_spawns.bot_cap_adjustments.enabled**: If bot caps should be modified (**false** by default assuming **bot_spawns.advanced_eft_bot_count_management.enabled=true**). +* **bot_spawns.bot_cap_adjustments.min_other_bots_allowed_to_spawn**: PMC's and player Scavs will not be allowed to spawn unless there are fewer than this value below the bot count for the map. For example, if this value is 4 and the maximum bot cap is 20, PMC's and player Scavs will not be allowed to spawn if there are 17 or more alive bots in the map. This is to retain a "buffer" below the maximum bot cap so that Scavs are able to continue spawning throughout the raid. This is **2** by default. +* **bot_spawns.bot_cap_adjustments.add_max_players_to_bot_cap**: If this is **true** (which is the default setting), the bot cap for the map will be increased by the maximum number of players for the map. This is to better emulate live Tarkov where there can still be many Scavs around the map even with a full lobby. +* **bot_spawns.bot_cap_adjustments.max_additional_bots**: The bot cap for the map will not be allowed to be increased by more than this value. If this value is too high, performance may be impacted. This is **5** by default. +* **bot_spawns.bot_cap_adjustments.max_total_bots**: The highest allowed bot cap for any map. If this value is too high, performance may be impacted. This is **26** by default. +* **bot_spawns.limit_initial_boss_spawns.enabled**: If initial boss spawns should be limited (**true** by default). +* **bot_spawns.limit_initial_boss_spawns.disable_rogue_delay**: If the 180-second delay SPT adds to Rogue spawns on Lighthouse should be removed. This is **true** by default. +* **bot_spawns.limit_initial_boss_spawns.max_initial_bosses**: The maximum number of bosses that are allowed to spawn at the beginning of the raid (including Raiders and Rogues). After this number is reached, all remaining initial boss spawns will be canceled. If this number is too high, few Scavs will be able to spawn after the initial PMC spawns. This is **14** by default. +* **bot_spawns.limit_initial_boss_spawns.max_initial_rogues**: The maximum number of Rogues that are allowed to spawn at the beginning of the raid. After this number is reached, all remaining initial Rogue spawns will be canceled. If this number is too high, few Scavs will be able to spawn after the initial PMC spawns. This is **10** by default. +* **bot_spawns.max_alive_bots**: The maximum number of PMC's and player Scavs (combined) that can be alive at the same time on each map. This only applies to PMC's and player Scavs generated by this mod; it doesn't apply to bots spawned by other mods or for Scavs converted to PMC's or player Scavs automatically by SPT. +* **bot_spawns.pmc_hostility_adjustments.enabled**: If this mod should override EFT's hostility chances for PMC bots. This is **true** by default. +* **bot_spawns.pmc_hostility_adjustments.pmcs_always_hostile_against_pmcs**: Makes PMC's always hostile against other PMC's. This is **true** by default. +* **bot_spawns.pmc_hostility_adjustments.global_scav_enemy_chance**: Sets the global chance that PMC's will be hostile toward Scavs. However, EFT does not use this setting in many maps. This is **100** by default. +* **bot_spawns.pmc_hostility_adjustments.pmc_enemy_roles**: Makes PMC's always hostile toward bots with these roles. +* **bot_spawns.pmcs.xxx**: The settings to apply to PMC spawns (see below for details). +* **bot_spawns.player_scavs.xxx**: The settings to apply to player Scav spawns (see below for details). +* **adjust_pscav_chance.enabled**: If the chances that Scavs are converted to player Scavs should be adjusted throughout the raid. This is only used if **bot_spawns.enabled=false** or **bot_spawns.player_scavs.enabled=false**, and it is **true** by default. +* **adjust_pscav_chance.chance_vs_time_remaining_fraction**: An array describing how likely Scavs are to be converted to player Scavs as a function of the fraction of time remaining in the raid. This is based on the overall raid time, not the time after you spawn. The array contains [fraction of raid time remaining, conversion chance] pairs, and there is no limit to the number of pairs. + +**Options for *bot_spawns.pmcs* and *bot_spawns.player_scavs*:** +* **enabled**: If the corresponding bot type will be allowed to spawn. This is **true** by default for both bot types. +* **min_raid_time_remaining**: The minimum time (in seconds) that must be remaining in the raid for bots of the corresponding bot type to spawn. This is **180** s by default for both PMC's and PScavs. +* **min_distance_from_players_initial**: The minimum distance (in meters) that a bot must be from you and other bots when selecting its spawn point. This is used during the first wave of spawns and is **25** m by default. +* **min_distance_from_players_during_raid**: The minimum distance (in meters) that a bot must be from you and other bots when selecting its spawn point. This is used after the first wave of spawns. +* **min_distance_from_players_during_raid_factory**: The minimum distance (in meters) that a bot must be from you and other bots when selecting its spawn point. This is used after the first wave of spawns. However, this is only used for Factory raids instead of **min_distance_from_players_during_raid**. +* **fraction_of_max_players**: When determining how many total bots of this type will spawn throughout the raid, the maximum player count for the map is multiplied by this value. This is **1** by default for PMC's and **1.5** by default for player Scavs. +* **fraction_of_max_players_vs_raidET**: If you spawn late into the raid as a Scav, the minimum and maximum initial PMC's will be reduced by a factor determined by this array. The array contains [fraction of raid time remaining, fraction of max players] pairs, and there is no limit to the number of pairs. +* **time_randomness**: The maximum percentage of total raid time (before reducing it for Scav raids) that player-Scav spawns can be randomly adjusted when generating a spawn schedule for them. However, player Scavs will never be allowed to spawn earlier than the minimum reduced raid time in the SPT configuration for the map, and they will never be allowed to spawn later than the maximum reduced raid time for the map. This is **10%** by default. +* **bots_per_group_distribution**: An array describing how likely bot groups of various sizes are allowed to spawn. When generating bot groups, this mod will select a random number for each group between 0 and 1. It will then use interpolation to determine how many bots to add to the group using this array. The first column is the look-up value for the random number selected for the group, and the second column is the number of bots to add to the group. The interpolated value for number of bots is rounded to the nearest integer. +* **bot_difficulty_as_online**: An array describing the chances that members of a new bot group will be of a certain difficulty. When generating bot groups, this mod will select a random number for each group between 0 and 1. It will then use interpolation to determine the difficulty of all bots in the group using this array. The first column is the look-up value for the random number selected for the group, and the second column is a number corresponding to the difficulty that will be used (0 = easy, 1 = normal, 2 = hard, 3 = impossible). The interpolated value for number of bots is rounded to the nearest integer. + +**---------- Known Issues ----------** + +**Objective System:** +* Mods that add a lot of new quests may cause latency issues that may result in game stability problems and stuttering +* Bots tend to get trapped in certain areas. Known areas: + * Customs between Warehouse 4 and New Gas + * Customs in some Dorms rooms (i.e. 214 and 220 in 3 story) + * Lighthouse in the mountains near the Resort spawn + * Lighthouse on the rocks near the helicopter crash +* Bots blindly run to their objective (unless they're in combat) even if it's certain death (i.e. running into the Sawmill when Shturman is there). +* Bots take the most direct path to their objectives, which may involve running in the middle of an open area without any cover. +* Certain bot "brains" stay in a combat state for a long time, during which they're unable to continue their quests. +* Certain bot "brains" are blacklisted because they cause the bot to always be in a combat state and therefore never quest (i.e. exUSEC's when they're near a stationary weapon) +* Bots sometimes unlock doors for no reason if they can't properly resolve their quest locations. +* A *"Destroying GameObjects immediately is not permitted during physics trigger/contact, animation event callbacks or OnValidate. You must use Destroy instead."* error will sometimes appear in the game console after a bot unlocks a door. This can be ignored. +* Player-level ranges for some quests are not reasonable, so bots may do late-game quests at low player levels and vice versa. This is because EFT has no minimum level defined for several quest lines. + +**PMC and Player-Scav Spawning System:** +* If there is a lot of PMC action at the beginning of the raid, the rest of the raid will feel dead. However, this isn't so different from live Tarkov. +* If **advanced_eft_bot_count_management.enabled=false**, not all PMC's or player Scavs spawn into Streets because too many Scavs spawn into the map first +* In maps with a high number of max players, Scavs don't always spawn when the game generates them if your **max_alive_bots** setting is high and **advanced_eft_bot_count_management.enabled=false** +* In maps with a high number of max players, performance can be pretty bad if your **max_alive_bots** setting is high +* Noticeable stuttering for (possibly) several seconds when the initial PMC wave spawns if your **max_alive_bots** setting is high +* Performance may be worse if **advanced_eft_bot_count_management.enabled=true** because EFT may be allowed to spawn more Scavs than with previous versions of this mod. + +**---------- Credits ----------** + +* Thanks to [Props](https://hub.sp-tarkov.com/user/18746-props/) for sharing the code [DONUTS](https://hub.sp-tarkov.com/files/file/878-swag-donuts-dynamic-spawn-waves-and-custom-spawn-points/) uses to spawn bots. This was the inspiration to create this mod. +* Thanks to [DrakiaXYZ](https://hub.sp-tarkov.com/user/30839-drakiaxyz/) for creating [BigBrain](https://hub.sp-tarkov.com/files/file/1219-bigbrain/) and [Waypoints](https://hub.sp-tarkov.com/files/file/1119-waypoints-expanded-bot-patrols-and-navmesh/) and for all of your help with developing this mod. Also, thanks for your help with adding interop capability to [SAIN](https://hub.sp-tarkov.com/files/file/1062-sain-2-0-solarint-s-ai-modifications-full-ai-combat-system-replacement/). +* Thanks to [nooky](https://hub.sp-tarkov.com/user/29062-nooky/) for lots of help with testing and ensuring this mod remains compatible with [SWAG + DONUTS](https://hub.sp-tarkov.com/files/file/878-swag-donuts-dynamic-spawn-waves-and-custom-spawn-points/). +* Thanks to [Skwizzy](https://hub.sp-tarkov.com/user/31303-skwizzy/) for help with adding interop capability to [Looting Bots](https://hub.sp-tarkov.com/files/file/1096-looting-bots/). +* Thanks to [Solarint](https://hub.sp-tarkov.com/user/30697-solarint/) for help with improving interop capability to [SAIN](https://hub.sp-tarkov.com/files/file/1062-sain-2-0-solarint-s-ai-modifications-full-ai-combat-system-replacement/) and working with me to balance bot questing vs. combat behavior. +* Thanks to everyone else on Discord who helped to test the many alpha releases of this mod and provided feedback to make it better. There are too many people to name, but you're all awesome. +* Of course, thanks to the SPT development team who made this possible in the first place. \ No newline at end of file diff --git a/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/config/config.json b/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/config/config.json new file mode 100644 index 0000000..5bbcb21 --- /dev/null +++ b/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/config/config.json @@ -0,0 +1,381 @@ +{ + "enabled": true, + "debug": { + "enabled": true, + "always_spawn_pmcs": false, + "always_spawn_pscavs": false, + "show_zone_outlines": false, + "show_failed_paths": false, + "show_door_interaction_test_points": false + }, + "max_calc_time_per_frame_ms": 5, + "chance_of_being_hostile_toward_bosses": { + "scav": 0, + "pscav": 20, + "pmc": 80, + "boss": 0 + }, + "questing": { + "enabled": true, + "bot_pathing_update_interval_ms": 100, + "brain_layer_priorities": { + "questing": 18, + "following": 19, + "regrouping": 26, + "sleeping": 99 + }, + "quest_selection_timeout": 250, + "btr_run_distance": 10, + "allowed_bot_types_for_questing": { + "scav": false, + "pscav": true, + "pmc": true, + "boss": false + }, + "stuck_bot_detection": { + "distance": 2, + "time": 20, + "max_count": 8, + "follower_break_time": 10, + "max_not_able_bodied_time": 120, + "stuck_bot_remedies": { + "enabled" : true, + "min_time_before_jumping": 6, + "jump_debounce_time": 4, + "min_time_before_vaulting": 8, + "vault_debounce_time": 4 + } + }, + "unlocking_doors" : { + "enabled": { + "scav": false, + "pscav": false, + "pmc": true, + "boss": false + }, + "search_radius": 25, + "max_distance_to_unlock": 0.5, + "door_approach_position_search_radius": 0.75, + "door_approach_position_search_offset": -0.75, + "pause_time_after_unlocking": 5, + "debounce_time": 1, + "default_chance_of_bots_having_keys": 25 + }, + "min_time_between_switching_objectives": 5, + "default_wait_time_after_objective_completion": 5, + "wait_time_before_planting": 1, + "quest_generation": { + "navmesh_search_distance_item": 1.5, + "navmesh_search_distance_zone": 1.5, + "navmesh_search_distance_spawn": 2, + "navmesh_search_distance_doors": 0.75 + }, + "bot_search_distances": { + "objective_reached_ideal": 0.5, + "objective_reached_navmesh_path_error": 2, + "max_navmesh_path_error": 10 + }, + "bot_pathing": { + "max_start_position_discrepancy": 0.5, + "incomplete_path_retry_interval": 5 + }, + "bot_questing_requirements": { + "exclude_bots_by_level": true, + "repeat_quest_delay": 360, + "max_time_per_quest": 300, + "min_hydration": 20, + "min_energy": 20, + "min_health_head": 50, + "min_health_chest": 50, + "min_health_stomach": 50, + "min_health_legs": 50, + "max_overweight_percentage": 100, + "search_time_after_combat": { + "prioritized_sain" : { + "min": 5, + "max": 20 + }, + "prioritized_questing" : { + "min": 20, + "max": 45 + } + }, + "hearing_sensor": { + "enabled": true, + "min_corrected_sound_power": 17, + "max_distance_footsteps": 20, + "max_distance_gunfire": 50, + "max_distance_gunfire_suppressed": 50, + "loudness_multiplier_footsteps": 1, + "loudness_multiplier_headset": 1.3, + "loudness_multiplier_helmet_low_deaf": 0.8, + "loudness_multiplier_helmet_high_deaf": 0.6, + "suspicious_time": { + "min": 5, + "max": 20 + }, + "max_suspicious_time": { + "default": 60, + "factory4_day": 30, + "factory4_night": 45, + "bigmap": 120, + "woods": 120, + "shoreline": 120, + "lighthouse": 120, + "rezervbase": 120, + "interchange": 120, + "laboratory": 60, + "tarkovstreets": 120, + "sandbox": 120, + "sandbox_high": 120 + }, + "suspicion_cooldown_time": 7 + }, + "break_for_looting": { + "enabled": true, + "min_time_between_looting_checks": 50, + "min_time_between_follower_looting_checks": 30, + "min_time_between_looting_events": 80, + "max_time_to_start_looting": 2, + "max_loot_scan_time": 4, + "max_distance_from_boss": 50, + "max_sain_version_for_resetting_decisions": "2.2.1.99" + }, + "max_follower_distance": { + "max_wait_time": 5, + "min_regroup_time": 1, + "regroup_pause_time": 2, + "target_range_questing": { + "min": 7, + "max": 12 + }, + "target_range_combat": { + "min": 15, + "max": 35 + }, + "nearest": 15, + "furthest": 25 + } + }, + "extraction_requirements": { + "min_alive_time": 60, + "must_extract_time_remaining": 300, + "total_quests": { + "min": 3, + "max": 8 + }, + "EFT_quests": { + "min": 2, + "max": 4 + } + }, + "sprinting_limitations": { + "stamina": { + "min": 0.1, + "max": 0.5 + }, + "sharp_path_corners" : { + "distance": 2, + "angle": 45 + }, + "approaching_closed_doors" : { + "distance": 3, + "angle": 60 + } + }, + "bot_quests": { + "distance_randomness": 30, + "desirability_randomness": 20, + "distance_weighting": 1, + "desirability_weighting": 1, + "desirability_camping_multiplier": 1, + "desirability_sniping_multiplier": 1, + "desirability_active_quest_multiplier": 1.2, + "exfil_direction_weighting": { + "default": 0, + "factory4_day": 0.2, + "factory4_night": 0.2, + "bigmap": 0.7, + "woods": 0.7, + "shoreline": 0.7, + "lighthouse": 0.5, + "rezervbase": 0.4, + "interchange": 0.7, + "laboratory": 0.3, + "tarkovstreets": 0.7, + "sandbox": 0.5, + "sandbox_high": 0.5 + }, + "exfil_direction_max_angle": 90, + "exfil_reached_min_fraction": 0.2, + "blacklisted_boss_hunter_bosses": [ "pmcBEAR", "pmcUSEC", "gifter", "arenaFighterEvent", "shooterBTR", "bossZryachiy", "followerZryachiy", "skier", "peacemaker" ], + "airdrop_bot_interest_time": 420, + "elimination_quest_search_time": 60, + "eft_quests": { + "desirability": 60, + "max_bots_per_quest": 3, + "chance_of_having_keys": 50, + "match_looting_behavior_distance": 5, + "level_range": [ + [0, 99], + [1, 8], + [10, 15], + [20, 25], + [30, 30], + [40, 40] + ] + }, + "lightkeeper_island_quests" : { + "enabled": true, + "min_sain_version": "3.1.1.99" + }, + "spawn_rush": { + "desirability": 100, + "max_bots_per_quest": 1, + "max_distance": 75, + "max_raid_ET": 30 + }, + "spawn_point_wander": { + "desirability": 0, + "min_distance": 75, + "max_bots_per_quest": 30 + }, + "boss_hunter": { + "desirability": 40, + "min_level": 15, + "max_raid_ET": 300, + "min_distance": 50, + "max_bots_per_quest": 2 + }, + "airdrop_chaser": { + "desirability": 70, + "max_bots_per_quest": 3, + "max_distance": 400 + } + } + }, + "bot_spawns": { + "enabled": true, + "blacklisted_pmc_bot_brains": [ "bossKilla", "bossTagilla", "exUsec", "followerGluharAssault", "followerGluharProtect", "crazyAssaultEvent", "bossKnight" ], + "spawn_retry_time": 10, + "delay_game_start_until_bot_gen_finishes": true, + "spawn_initial_bosses_first": false, + "non_wave_bot_spawn_period_factor": 3, + "advanced_eft_bot_count_management": { + "enabled": true, + "use_EFT_bot_caps": true, + "only_decrease_bot_caps": true, + "bot_cap_adjustments": { + "default": 0, + "factory4_day": 0, + "factory4_night": 0, + "bigmap": 0, + "woods": 0, + "shoreline": 0, + "lighthouse": 4, + "rezervbase": 0, + "interchange": 0, + "laboratory": 0, + "tarkovstreets": -4, + "sandbox": 0, + "sandbox_high": 0 + } + }, + "bot_cap_adjustments" : { + "enabled": false, + "min_other_bots_allowed_to_spawn": 2, + "add_max_players_to_bot_cap": true, + "max_additional_bots": 5, + "max_total_bots": 26 + }, + "limit_initial_boss_spawns" : { + "enabled": true, + "disable_rogue_delay": true, + "max_initial_bosses": 14, + "max_initial_rogues": 10 + }, + "max_alive_bots": { + "default": 6, + "factory4_day": 7, + "factory4_night": 7, + "bigmap": 7, + "woods": 8, + "shoreline": 7, + "lighthouse": 7, + "rezervbase": 7, + "interchange": 8, + "laboratory": 9, + "tarkovstreets": 8, + "sandbox": 7, + "sandbox_high": 7 + }, + "pmc_hostility_adjustments": { + "enabled": true, + "pmcs_always_hostile_against_pmcs": true, + "global_scav_enemy_chance": 100, + "pmc_enemy_roles": ["pmcBEAR", "pmcUSEC", "assault", "marksman"] + }, + "pmcs" : { + "enabled": true, + "min_raid_time_remaining": 180, + "min_distance_from_players_initial": 25, + "min_distance_from_players_during_raid": 75, + "min_distance_from_players_during_raid_factory": 50, + "fraction_of_max_players_vs_raidET": [ + [0, 0.2], + [0.2, 0.2], + [0.6, 0.5], + [0.8, 0.7], + [0.9, 0.9], + [0.95, 1], + [1, 1] + ], + "bots_per_group_distribution" : [ + [0.40, 1], + [0.80, 2], + [0.92, 3], + [0.97, 4], + [1.00, 5] + ], + "bot_difficulty_as_online" : [ + [0.00, 0], + [0.50, 1], + [0.90, 2], + [1.00, 3] + ] + }, + "player_scavs": { + "enabled": true, + "min_raid_time_remaining": 180, + "min_distance_from_players_initial": 25, + "min_distance_from_players_during_raid": 75, + "min_distance_from_players_during_raid_factory": 35, + "fraction_of_max_players": 1.5, + "time_randomness": 10, + "bots_per_group_distribution" : [ + [0.80, 1], + [0.90, 2], + [0.95, 3], + [0.98, 4], + [1.00, 5] + ], + "bot_difficulty_as_online" : [ + [0.00, 0], + [0.60, 1], + [0.95, 2], + [1.00, 3] + ] + } + }, + "adjust_pscav_chance" : { + "enabled": true, + "chance_vs_time_remaining_fraction" : [ + [0, 50], + [0.3, 50], + [0.5, 20], + [0.8, 10], + [0.9, 0], + [1, 0] + ] + } +} diff --git a/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/config/eftQuestSettings.json b/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/config/eftQuestSettings.json new file mode 100644 index 0000000..ee3a884 --- /dev/null +++ b/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/config/eftQuestSettings.json @@ -0,0 +1,62 @@ +{ + "60896b7bfa70fc097863b8f5" : { + "waypoints" : [ + { + "x": -95.56027, + "y": -14.5272923, + "z": 37.5281944 + } + ] + }, + "5ede55112c95834b583f052a" : { + "waypoints" : [ + { + "x": -95.56027, + "y": -14.5272923, + "z": 37.5281944 + } + ] + }, + "60896888e4a85c72ef3fa300" : { + "waypoints" : [ + { + "x": -80.53533, + "y": -15.8884859, + "z": 144.298065 + }, + { + "x": -27.8268414, + "y": 12.5911255, + "z": 180.3212 + }, + { + "x": -73.2474442, + "y": -11.7335672, + "z": 67.4957 + } + ] + }, + "6089736efa70fc097863b8f6" : { + "requiredSwitches": { + "autoId_00000_D2_LEVER": true, + "00453": true + }, + "waypoints" : [ + { + "x": -80.53533, + "y": -15.8884859, + "z": 144.298065 + }, + { + "x": -27.8268414, + "y": 12.5911255, + "z": 180.3212 + }, + { + "x": -73.2474442, + "y": -11.7335672, + "z": 67.4957 + } + ] + } +} \ No newline at end of file diff --git a/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/config/zoneAndItemQuestPositions.json b/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/config/zoneAndItemQuestPositions.json new file mode 100644 index 0000000..3525d2d --- /dev/null +++ b/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/config/zoneAndItemQuestPositions.json @@ -0,0 +1,58 @@ +{ + "5937fd0086f7742bf33fc198" : { + "position" : { + "x": 100.578163, + "y": 1.16586256, + "z": -6.816542 + }, + "mustUnlockNearbyDoor": true, + "nearbyDoorSearchRadius": 5, + "nearbyDoorInteractionPosition": { + "x": 100.578163, + "y": 1.16586256, + "z": -6.816542 + } + }, + "619252352be33f26043400a7" : { + "position" : { + "x": 141.1595, + "y": 3.32964182, + "z": -130.344269 + } + }, + "prapor_hq_area_check_1" : { + "position" : { + "x": -83.9231, + "y": -14.4244938, + "z": 19.2263775 + } + }, + "case_extraction" : { + "position" : { + "x": 42.1924667, + "y": 4.38859224, + "z": 40.55366 + } + }, + "Check_mine_zone_factory" : { + "position" : { + "x": 24.2944946, + "y": 8.121774, + "z": 38.7408066 + } + }, + "NosQuests_8_factory_place" : { + "position" : { + "x": 36.0028954, + "y": 8.146189, + "z": 36.1306229 + } + }, + "zone_terminator" : { + "position" : { + "x": -47.66114, + "y": 1.15424979, + "z": 61.0818634 + } + } +} \ No newline at end of file diff --git a/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/package.json b/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/package.json new file mode 100644 index 0000000..6867cbd --- /dev/null +++ b/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/package.json @@ -0,0 +1,28 @@ +{ + "name": "SPTQuestingBots", + "version": "0.9.0", + "main": "src/mod.js", + "license": "MIT", + "author": "DanW", + "sptVersion": ">=3.10.0 <3.11.0", + "loadBefore": [], + "loadAfter": [], + "incompatibilities": ["Andrudis-QuestManiac"], + "isBundleMod": false, + "scripts": { + "setup": "npm i", + "build": "node ./packageBuild.ts" + }, + "devDependencies": { + "@types/node": "20.11", + "@typescript-eslint/eslint-plugin": "7.2", + "@typescript-eslint/parser": "7.2", + "archiver": "^6.0", + "eslint": "8.57", + "fs-extra": "11.2", + "ignore": "^5.2", + "tsyringe": "4.8.0", + "typescript": "5.4", + "winston": "3.12" + } +} diff --git a/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/src/BotLocationUtil.ts b/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/src/BotLocationUtil.ts new file mode 100644 index 0000000..55a89fa --- /dev/null +++ b/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/src/BotLocationUtil.ts @@ -0,0 +1,212 @@ +import modConfig from "../config/config.json"; + +import type { CommonUtils } from "./CommonUtils"; +import type { IDatabaseTables } from "@spt/models/spt/server/IDatabaseTables"; + +import type { ILocationConfig } from "@spt/models/spt/config/ILocationConfig"; +import type { IBotConfig } from "@spt/models/spt/config/IBotConfig"; +import type { ILocation } from "@spt/models/eft/common/ILocation"; +import type { IAdditionalHostilitySettings, IBossLocationSpawn } from "@spt/models/eft/common/ILocationBase"; + +export class BotUtil +{ + private static readonly pmcRoles = ["pmcBEAR", "pmcUSEC"]; + + constructor(private commonUtils: CommonUtils, private databaseTables: IDatabaseTables, private iLocationConfig: ILocationConfig, private iBotConfig: IBotConfig) + { + + } + + public adjustAllBotHostilityChances(): void + { + if (!modConfig.bot_spawns.pmc_hostility_adjustments.enabled) + { + return; + } + + this.commonUtils.logInfo("Adjusting bot hostility chances..."); + + for (const location in this.databaseTables.locations) + { + this.adjustAllBotHostilityChancesForLocation(this.databaseTables.locations[location]); + } + } + + private adjustAllBotHostilityChancesForLocation(location : ILocation): void + { + if ((location.base === undefined) || (location.base.BotLocationModifier === undefined)) + { + return; + } + + const settings = location.base.BotLocationModifier.AdditionalHostilitySettings; + if (settings === undefined) + { + return; + } + + for (const botType in settings) + { + if (!BotUtil.pmcRoles.includes(settings[botType].BotRole)) + { + this.commonUtils.logWarning(`Did not adjust ${settings[botType].BotRole} hostility settings on ${location.base.Name}`); + continue; + } + + this.adjustBotHostilityChances(settings[botType]); + } + } + + private adjustBotHostilityChances(settings: IAdditionalHostilitySettings): void + { + if (modConfig.bot_spawns.pmc_hostility_adjustments.pmcs_always_hostile_against_pmcs) + { + settings.BearEnemyChance = 100; + settings.UsecEnemyChance = 100; + } + + // This seems to be undefined for most maps + if (settings.SavageEnemyChance !== undefined) + { + settings.SavageEnemyChance = modConfig.bot_spawns.pmc_hostility_adjustments.global_scav_enemy_chance; + } + + for (const chancedEnemy in settings.ChancedEnemies) + { + if (modConfig.bot_spawns.pmc_hostility_adjustments.pmc_enemy_roles.includes(settings.ChancedEnemies[chancedEnemy].Role)) + { + settings.ChancedEnemies[chancedEnemy].EnemyChance = 100; + continue; + } + + // This allows Questing Bots to set boss hostilities when the bot spawns + settings.ChancedEnemies[chancedEnemy].EnemyChance = 0; + } + } + + public disablePvEBossWaves(): void + { + this.commonUtils.logInfo("Disabling PvE boss waves..."); + + let removedWaves = 0; + for (const location in this.databaseTables.locations) + { + removedWaves += this.removePvEBossWavesFromLocation(this.databaseTables.locations[location]); + } + + this.commonUtils.logInfo(`Disabled ${removedWaves} PvE boss waves`); + } + + private removePvEBossWavesFromLocation(location : ILocation): number + { + let removedWaves = 0; + + if ((location.base === undefined) || (location.base.BossLocationSpawn === undefined)) + { + return removedWaves; + } + + const modifiedBossLocationSpawn : IBossLocationSpawn[] = []; + + for (const bossLocationSpawnId in location.base.BossLocationSpawn) + { + const bossLocationSpawn = location.base.BossLocationSpawn[bossLocationSpawnId]; + + if (BotUtil.pmcRoles.includes(bossLocationSpawn.BossName)) + { + removedWaves++; + continue; + } + + modifiedBossLocationSpawn.push(bossLocationSpawn); + } + + location.base.BossLocationSpawn = modifiedBossLocationSpawn; + + return removedWaves; + } + + public disableCustomBossWaves(): void + { + this.commonUtils.logInfo("Disabling custom boss waves..."); + this.iLocationConfig.customWaves.boss = {}; + } + + public disableCustomScavWaves(): void + { + this.commonUtils.logInfo("Disabling custom Scav waves..."); + this.iLocationConfig.customWaves.normal = {}; + } + + public increaseBotCaps(): void + { + if (!modConfig.bot_spawns.bot_cap_adjustments.add_max_players_to_bot_cap) + { + return; + } + + const maxAddtlBots = modConfig.bot_spawns.bot_cap_adjustments.max_additional_bots; + const maxTotalBots = modConfig.bot_spawns.bot_cap_adjustments.max_total_bots; + + for (const location in this.iBotConfig.maxBotCap) + { + if (this.databaseTables.locations[location].base === undefined) + { + continue; + } + + const maxPlayers = this.databaseTables.locations[location].base.MaxPlayers; + this.iBotConfig.maxBotCap[location] = Math.min(this.iBotConfig.maxBotCap[location] + Math.min(maxPlayers, maxAddtlBots), maxTotalBots); + + this.commonUtils.logInfo(`Changed bot cap for ${location} to: ${this.iBotConfig.maxBotCap[location]}`); + } + + this.iBotConfig.maxBotCap.default = Math.min(this.iBotConfig.maxBotCap.default + maxAddtlBots, maxTotalBots); + this.commonUtils.logInfo(`Changed default bot cap to: ${this.iBotConfig.maxBotCap.default}`); + } + + public useEFTBotCaps(): void + { + if (!modConfig.bot_spawns.advanced_eft_bot_count_management.use_EFT_bot_caps) + { + return; + } + + for (const location in this.iBotConfig.maxBotCap) + { + if ((this.databaseTables.locations[location] === undefined) || (this.databaseTables.locations[location].base === undefined)) + { + continue; + } + + const originalSPTCap = this.iBotConfig.maxBotCap[location]; + const eftCap = this.databaseTables.locations[location].base.BotMax; + + if (!modConfig.bot_spawns.advanced_eft_bot_count_management.only_decrease_bot_caps || (originalSPTCap > eftCap)) + { + this.iBotConfig.maxBotCap[location] = eftCap; + } + + const fixedAdjustment = modConfig.bot_spawns.advanced_eft_bot_count_management.bot_cap_adjustments[location]; + this.iBotConfig.maxBotCap[location] += fixedAdjustment; + + const newCap = this.iBotConfig.maxBotCap[location]; + this.commonUtils.logInfo(`Updated bot cap for ${location} to ${newCap} (Original SPT: ${originalSPTCap}, EFT: ${eftCap}, fixed adjustment: ${fixedAdjustment})`); + } + } + + public modifyNonWaveBotSpawnSettings(): void + { + this.commonUtils.logInfo("Updating BotSpawnPeriodCheck for all maps..."); + + for (const location in this.iBotConfig.maxBotCap) + { + if ((this.databaseTables.locations[location] === undefined) || (this.databaseTables.locations[location].base === undefined)) + { + continue; + } + + this.databaseTables.locations[location].base.BotSpawnPeriodCheck *= modConfig.bot_spawns.non_wave_bot_spawn_period_factor; + } + } +} \ No newline at end of file diff --git a/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/src/CommonUtils.ts b/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/src/CommonUtils.ts new file mode 100644 index 0000000..60d5201 --- /dev/null +++ b/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/src/CommonUtils.ts @@ -0,0 +1,49 @@ +import modConfig from "../config/config.json"; + +import type { ILogger } from "@spt/models/spt/utils/ILogger"; +import type { IDatabaseTables } from "@spt/models/spt/server/IDatabaseTables"; +import type { LocaleService } from "@spt/services/LocaleService"; + +export class CommonUtils +{ + private debugMessagePrefix = "[Questing Bots] "; + private translations: Record; + + constructor (private logger: ILogger, private databaseTables: IDatabaseTables, private localeService: LocaleService) + { + // Get all translations for the current locale + this.translations = this.localeService.getLocaleDb(); + } + + public logInfo(message: string, alwaysShow = false): void + { + if (modConfig.enabled || alwaysShow) + this.logger.info(this.debugMessagePrefix + message); + } + + public logWarning(message: string): void + { + this.logger.warning(this.debugMessagePrefix + message); + } + + public logError(message: string): void + { + this.logger.error(this.debugMessagePrefix + message); + } + + public getItemName(itemID: string): string + { + const translationKey = `${itemID} Name`; + if (translationKey in this.translations) + return this.translations[translationKey]; + + // If a key can't be found in the translations dictionary, fall back to the template data if possible + if (!(itemID in this.databaseTables.templates.items)) + { + return undefined; + } + + const item = this.databaseTables.templates.items[itemID]; + return item._name; + } +} \ No newline at end of file diff --git a/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/src/PMCConversionUtil.ts b/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/src/PMCConversionUtil.ts new file mode 100644 index 0000000..4c56d4e --- /dev/null +++ b/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/src/PMCConversionUtil.ts @@ -0,0 +1,148 @@ +import modConfig from "../config/config.json"; + +import type { CommonUtils } from "./CommonUtils"; +import type { MinMax } from "@spt/models/common/MinMax"; +import type { IPmcConfig } from "@spt/models/spt/config/IPmcConfig"; + +export class PMCConversionUtil +{ + private convertIntoPmcChanceOrig: Record> = {}; + + constructor(private commonUtils: CommonUtils, private iPmcConfig: IPmcConfig) + { + + } + + public setAllOriginalPMCConversionChances(): void + { + // Store the default PMC-conversion chances for each bot type defined in SPT's configuration file + let logMessage = ""; + for (const map in this.iPmcConfig.convertIntoPmcChance) + { + logMessage += `${map} = [`; + + for (const pmcType in this.iPmcConfig.convertIntoPmcChance[map]) + { + if ((this.convertIntoPmcChanceOrig[map] !== undefined) && (this.convertIntoPmcChanceOrig[map][pmcType] !== undefined)) + { + logMessage += `${pmcType}: already buffered, `; + continue; + } + + this.setOriginalPMCConversionChances(map, pmcType); + + const chances = this.convertIntoPmcChanceOrig[map][pmcType]; + logMessage += `${pmcType}: ${chances.min}-${chances.max}%, `; + } + + logMessage += "], "; + } + + this.commonUtils.logInfo(`Reading default PMC spawn chances: ${logMessage}`); + } + + private setOriginalPMCConversionChances(map: string, pmcType: string): void + { + const chances: MinMax = { + min: this.iPmcConfig.convertIntoPmcChance[map][pmcType].min, + max: this.iPmcConfig.convertIntoPmcChance[map][pmcType].max + } + + if (this.convertIntoPmcChanceOrig[map] === undefined) + { + this.convertIntoPmcChanceOrig[map] = {}; + } + + this.convertIntoPmcChanceOrig[map][pmcType] = chances; + } + + public adjustAllPmcConversionChances(scalingFactor: number, verify: boolean): void + { + // Adjust the chances for each applicable bot type + let logMessage = ""; + let verified = true; + for (const map in this.iPmcConfig.convertIntoPmcChance) + { + logMessage += `${map} = [`; + + for (const pmcType in this.iPmcConfig.convertIntoPmcChance[map]) + { + verified = verified && this.adjustAndVerifyPmcConversionChances(map, pmcType, scalingFactor, verify); + + const chances = this.iPmcConfig.convertIntoPmcChance[map][pmcType]; + logMessage += `${pmcType}: ${chances.min}-${chances.max}%, `; + } + + logMessage += "], "; + + if (!verified) + { + break; + } + } + + if (!verify) + { + this.commonUtils.logInfo(`Adjusting PMC spawn chances (${scalingFactor}): ${logMessage}`); + } + + if (!verified) + { + this.commonUtils.logError("Another mod has changed the PMC conversion chances. This mod may not work properly!"); + } + } + + public adjustAndVerifyPmcConversionChances(map: string, pmcType: string, scalingFactor: number, verify: boolean): boolean + { + // Do not allow the chances to exceed 100%. Who knows what might happen... + const min = Math.round(Math.min(100, this.convertIntoPmcChanceOrig[map][pmcType].min * scalingFactor)); + const max = Math.round(Math.min(100, this.convertIntoPmcChanceOrig[map][pmcType].max * scalingFactor)); + + if (verify) + { + if (this.iPmcConfig.convertIntoPmcChance[map][pmcType].min !== min) + { + return false; + } + + if (this.iPmcConfig.convertIntoPmcChance[map][pmcType].max !== max) + { + return false; + } + } + + this.iPmcConfig.convertIntoPmcChance[map][pmcType].min = min; + this.iPmcConfig.convertIntoPmcChance[map][pmcType].max = max; + + return true; + } + + public removeBlacklistedBrainTypes(): void + { + const badBrains = modConfig.bot_spawns.blacklisted_pmc_bot_brains; + this.commonUtils.logInfo("Removing blacklisted brain types from being used for PMC's..."); + + let removedBrains = 0; + for (const pmcType in this.iPmcConfig.pmcType) + { + for (const map in this.iPmcConfig.pmcType[pmcType]) + { + const mapBrains = this.iPmcConfig.pmcType[pmcType][map]; + + for (const i in badBrains) + { + if (mapBrains[badBrains[i]] === undefined) + { + continue; + } + + //this.commonUtils.logInfo(`Removing ${badBrains[i]} from ${pmcType} in ${map}...`); + delete mapBrains[badBrains[i]]; + removedBrains++; + } + } + } + + this.commonUtils.logInfo(`Removing blacklisted brain types from being used for PMC's...done. Removed entries: ${removedBrains}`); + } +} \ No newline at end of file diff --git a/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/src/mod.ts b/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/src/mod.ts new file mode 100644 index 0000000..aa8666c --- /dev/null +++ b/mods/Questing Bots/user/mods/DanW-SPTQuestingBots/src/mod.ts @@ -0,0 +1,365 @@ +import modConfig from "../config/config.json"; +import eftQuestSettings from "../config/eftQuestSettings.json"; +import eftZoneAndItemPositions from "../config/zoneAndItemQuestPositions.json"; +import { CommonUtils } from "./CommonUtils"; +import { BotUtil } from "./BotLocationUtil"; +import { PMCConversionUtil } from "./PMCConversionUtil"; + +import type { DependencyContainer } from "tsyringe"; +import type { IPreSptLoadMod } from "@spt/models/external/IPreSptLoadMod"; +import type { IPostDBLoadMod } from "@spt/models/external/IPostDBLoadMod"; +import type { IPostSptLoadMod } from "@spt/models/external/IPostSptLoadMod"; +import type { StaticRouterModService } from "@spt/services/mod/staticRouter/StaticRouterModService"; +import type { DynamicRouterModService } from "@spt/services/mod/dynamicRouter/DynamicRouterModService"; +import type { PreSptModLoader } from "@spt/loaders/PreSptModLoader"; + +import type { ConfigServer } from "@spt/servers/ConfigServer"; +import type { ILogger } from "@spt/models/spt/utils/ILogger"; +import type { DatabaseServer } from "@spt/servers/DatabaseServer"; +import type { IDatabaseTables } from "@spt/models/spt/server/IDatabaseTables"; +import type { LocaleService } from "@spt/services/LocaleService"; +import type { QuestHelper } from "@spt/helpers/QuestHelper"; +import type { VFS } from "@spt/utils/VFS"; +import type { HttpResponseUtil } from "@spt/utils/HttpResponseUtil"; +import type { RandomUtil } from "@spt/utils/RandomUtil"; +import type { BotController } from "@spt/controllers/BotController"; +import type { BotCallbacks } from "@spt/callbacks/BotCallbacks"; +import type { IGenerateBotsRequestData, ICondition } from "@spt/models/eft/bot/IGenerateBotsRequestData"; +import type { IBotBase } from "@spt/models/eft/common/tables/IBotBase"; + +import { ConfigTypes } from "@spt/models/enums/ConfigTypes"; +import type { IBotConfig } from "@spt/models/spt/config/IBotConfig"; +import type { IPmcConfig } from "@spt/models/spt/config/IPmcConfig"; +import type { ILocationConfig } from "@spt/models/spt/config/ILocationConfig"; + +const modName = "SPTQuestingBots"; + +class QuestingBots implements IPreSptLoadMod, IPostSptLoadMod, IPostDBLoadMod +{ + private commonUtils: CommonUtils + private botUtil: BotUtil + private pmcConversionUtil : PMCConversionUtil + + private logger: ILogger; + private configServer: ConfigServer; + private databaseServer: DatabaseServer; + private databaseTables: IDatabaseTables; + private localeService: LocaleService; + private questHelper: QuestHelper; + private vfs: VFS; + private httpResponseUtil: HttpResponseUtil; + private randomUtil: RandomUtil; + private botController: BotController; + private iBotConfig: IBotConfig; + private iPmcConfig: IPmcConfig; + private iLocationConfig: ILocationConfig; + + private basePScavConversionChance: number; + + public preSptLoad(container: DependencyContainer): void + { + this.logger = container.resolve("WinstonLogger"); + const staticRouterModService = container.resolve("StaticRouterModService"); + const dynamicRouterModService = container.resolve("DynamicRouterModService"); + + // Get config.json settings for the bepinex plugin + staticRouterModService.registerStaticRouter(`StaticGetConfig${modName}`, + [{ + url: "/QuestingBots/GetConfig", + action: async () => + { + return JSON.stringify(modConfig); + } + }], "GetConfig" + ); + + if (!modConfig.enabled) + { + return; + } + + // Apply a scalar factor to the SPT-AKI PMC conversion chances + dynamicRouterModService.registerDynamicRouter(`DynamicAdjustPMCConversionChances${modName}`, + [{ + url: "/QuestingBots/AdjustPMCConversionChances/", + action: async (url: string) => + { + const urlParts = url.split("/"); + const factor: number = Number(urlParts[urlParts.length - 2]); + const verify: boolean = JSON.parse(urlParts[urlParts.length - 1].toLowerCase()); + + this.pmcConversionUtil.adjustAllPmcConversionChances(factor, verify); + return JSON.stringify({ resp: "OK" }); + } + }], "AdjustPMCConversionChances" + ); + + // Apply a scalar factor to the SPT-AKI PScav conversion chance + dynamicRouterModService.registerDynamicRouter(`DynamicAdjustPScavChance${modName}`, + [{ + url: "/QuestingBots/AdjustPScavChance/", + action: async (url: string) => + { + const urlParts = url.split("/"); + const factor: number = Number(urlParts[urlParts.length - 1]); + + this.iBotConfig.chanceAssaultScavHasPlayerScavName = Math.round(this.basePScavConversionChance * factor); + this.commonUtils.logInfo(`Adjusted PScav spawn chance to ${this.iBotConfig.chanceAssaultScavHasPlayerScavName}%`); + + return JSON.stringify({ resp: "OK" }); + } + }], "AdjustPScavChance" + ); + + // Get all EFT quest templates + // NOTE: This includes custom quests added by mods + staticRouterModService.registerStaticRouter(`GetAllQuestTemplates${modName}`, + [{ + url: "/QuestingBots/GetAllQuestTemplates", + action: async () => + { + return JSON.stringify({ templates: this.questHelper.getQuestsFromDb() }); + } + }], "GetAllQuestTemplates" + ); + + // Get override settings for EFT quests + staticRouterModService.registerStaticRouter(`GetEFTQuestSettings${modName}`, + [{ + url: "/QuestingBots/GetEFTQuestSettings", + action: async () => + { + return JSON.stringify({ settings: eftQuestSettings }); + } + }], "GetEFTQuestSettings" + ); + + // Get override settings for quest zones and items + staticRouterModService.registerStaticRouter(`GetZoneAndItemQuestPositions${modName}`, + [{ + url: "/QuestingBots/GetZoneAndItemQuestPositions", + action: async () => + { + return JSON.stringify({ zoneAndItemPositions: eftZoneAndItemPositions }); + } + }], "GetZoneAndItemQuestPositions" + ); + + // Get Scav-raid settings to determine PScav conversion chances + staticRouterModService.registerStaticRouter(`GetScavRaidSettings${modName}`, + [{ + url: "/QuestingBots/GetScavRaidSettings", + action: async () => + { + return JSON.stringify({ maps: this.iLocationConfig.scavRaidTimeSettings.maps }); + } + }], "GetScavRaidSettings" + ); + + // Get the chance that a PMC will be a USEC + staticRouterModService.registerStaticRouter(`GetUSECChance${modName}`, + [{ + url: "/QuestingBots/GetUSECChance", + action: async () => + { + return JSON.stringify({ usecChance: this.iPmcConfig.isUsec }); + } + }], "GetUSECChance" + ); + + // Intercept the EFT bot-generation request to include a PScav conversion chance + container.afterResolution("BotCallbacks", (_t, result: BotCallbacks) => + { + result.generateBots = async (url: string, info: IGenerateBotsRequestDataWithPScavChance, sessionID: string) => + { + const bots = await this.generateBots({ conditions: info.conditions }, sessionID, this.randomUtil.getChance100(info.PScavChance)); + return this.httpResponseUtil.getBody(bots); + } + }, {frequency: "Always"}); + } + + public postDBLoad(container: DependencyContainer): void + { + this.configServer = container.resolve("ConfigServer"); + this.databaseServer = container.resolve("DatabaseServer"); + this.localeService = container.resolve("LocaleService"); + this.questHelper = container.resolve("QuestHelper"); + this.vfs = container.resolve("VFS"); + this.httpResponseUtil = container.resolve("HttpResponseUtil"); + this.randomUtil = container.resolve("RandomUtil"); + this.botController = container.resolve("BotController"); + + this.iBotConfig = this.configServer.getConfig(ConfigTypes.BOT); + this.iPmcConfig = this.configServer.getConfig(ConfigTypes.PMC); + this.iLocationConfig = this.configServer.getConfig(ConfigTypes.LOCATION); + + this.databaseTables = this.databaseServer.getTables(); + this.commonUtils = new CommonUtils(this.logger, this.databaseTables, this.localeService); + this.botUtil = new BotUtil(this.commonUtils, this.databaseTables, this.iLocationConfig, this.iBotConfig); + this.pmcConversionUtil = new PMCConversionUtil(this.commonUtils, this.iPmcConfig); + + if (!modConfig.enabled) + { + return; + } + + if (!this.doesFileIntegrityCheckPass()) + { + modConfig.enabled = false; + return; + } + } + + public postSptLoad(container: DependencyContainer): void + { + if (!modConfig.enabled) + { + this.commonUtils.logInfo("Mod disabled in config.json", true); + return; + } + + const presptModLoader = container.resolve("PreSptModLoader"); + + this.pmcConversionUtil.removeBlacklistedBrainTypes(); + + // Disable the Questing Bots spawning system if another spawning mod has been loaded + if (this.shouldDisableSpawningSystem(presptModLoader.getImportedModsNames())) + { + modConfig.bot_spawns.enabled = false; + } + + // Make Questing Bots control PScav spawning + this.basePScavConversionChance = this.iBotConfig.chanceAssaultScavHasPlayerScavName; + if (modConfig.adjust_pscav_chance.enabled || (modConfig.bot_spawns.enabled && modConfig.bot_spawns.player_scavs.enabled)) + { + this.iBotConfig.chanceAssaultScavHasPlayerScavName = 0; + } + + this.configureSpawningSystem(); + } + + private configureSpawningSystem(): void + { + if (!modConfig.bot_spawns.enabled) + { + return; + } + + this.commonUtils.logInfo("Configuring game for bot spawning..."); + + // Store the current PMC-conversion chances in case they need to be restored later + this.pmcConversionUtil.setAllOriginalPMCConversionChances(); + + // Overwrite BSG's chances of bots being friendly toward each other + this.botUtil.adjustAllBotHostilityChances(); + + // Remove all of BSG's PvE-only boss waves + this.botUtil.disablePvEBossWaves(); + + // Currently these are all PMC waves, which are unnecessary with PMC spawns in this mod + this.botUtil.disableCustomBossWaves(); + + // Disable all of the extra Scavs that spawn into Factory + this.botUtil.disableCustomScavWaves(); + + // If Rogues don't spawn immediately, PMC spawns will be significantly delayed + if (modConfig.bot_spawns.limit_initial_boss_spawns.disable_rogue_delay) + { + this.commonUtils.logInfo("Removing SPT Rogue spawn delay..."); + this.iLocationConfig.rogueLighthouseSpawnTimeSettings.waitTimeSeconds = -1; + } + + if (modConfig.bot_spawns.advanced_eft_bot_count_management.enabled) + { + this.commonUtils.logInfo("Enabling advanced_eft_bot_count_management will instruct EFT to ignore this mod's PMC's and PScavs when spawning more bots."); + this.botUtil.useEFTBotCaps(); + this.botUtil.modifyNonWaveBotSpawnSettings(); + } + + if (modConfig.bot_spawns.bot_cap_adjustments.enabled) + { + this.botUtil.increaseBotCaps(); + } + + this.commonUtils.logInfo("Configuring game for bot spawning...done."); + } + + private async generateBots(info: IGenerateBotsRequestData, sessionID: string, shouldBePScavGroup: boolean) : Promise + { + const bots = await this.botController.generate(sessionID, info); + + if (!shouldBePScavGroup) + { + return bots; + } + + const pmcNames = [ + ...this.databaseTables.bots.types.usec.firstName, + ...this.databaseTables.bots.types.bear.firstName + ]; + + for (const bot in bots) + { + if (info.conditions[0].Role !== "assault") + { + continue; + } + + bots[bot].Info.Nickname = `${bots[bot].Info.Nickname} (${this.randomUtil.getArrayValue(pmcNames)})` + } + + return bots; + } + + private doesFileIntegrityCheckPass(): boolean + { + const path = `${__dirname}/..`; + + if (this.vfs.exists(`${path}/quests/`)) + { + this.commonUtils.logWarning("Found obsolete quests folder 'user\\mods\\DanW-SPTQuestingBots\\quests'. Only quest files in 'BepInEx\\plugins\\DanW-SPTQuestingBots\\quests' will be used."); + } + + if (this.vfs.exists(`${path}/log/`)) + { + this.commonUtils.logWarning("Found obsolete log folder 'user\\mods\\DanW-SPTQuestingBots\\log'. Logs are now saved in 'BepInEx\\plugins\\DanW-SPTQuestingBots\\log'."); + } + + if (this.vfs.exists(`${path}/../../../BepInEx/plugins/SPTQuestingBots.dll`)) + { + this.commonUtils.logError("Please remove BepInEx/plugins/SPTQuestingBots.dll from the previous version of this mod and restart the server, or it will NOT work correctly."); + + return false; + } + + return true; + } + + private shouldDisableSpawningSystem(importedModNames: string[]): boolean + { + if (!modConfig.bot_spawns.enabled) + { + return false; + } + + const spawningModNames = ["SWAG", "DewardianDev-MOAR", "PreyToLive-BetterSpawnsPlus"]; + for (const spawningModName of spawningModNames) + { + if (importedModNames.includes(spawningModName)) + { + this.commonUtils.logWarning(`${spawningModName} detected. Disabling the Questing Bots spawning system.`); + return true; + } + } + + return false; + } +} + +export interface IGenerateBotsRequestDataWithPScavChance +{ + conditions: ICondition[]; + PScavChance: number; +} + +module.exports = { mod: new QuestingBots() } diff --git a/mods/Visceral Combat_backup/BepInEx/config/com.servph.VisceralCombat.cfg b/mods/Visceral Combat_backup/BepInEx/config/com.servph.VisceralCombat.cfg deleted file mode 100644 index f996de1..0000000 --- a/mods/Visceral Combat_backup/BepInEx/config/com.servph.VisceralCombat.cfg +++ /dev/null @@ -1,165 +0,0 @@ -## Settings file was created by plugin Visceral Combat PRE-RELEASE v3.25.0 -## Plugin GUID: com.servph.VisceralCombat - -[Blood | Performance] - -## Maximum of BSG's Blood Decals that can be placed on the floor. Changes upon next Raid. Be careful with this value!! -# Setting type: Int32 -# Default value: 1024 -Maximum Ground Decals = 2048 - -[Blood | Splatters] - -# Setting type: Single -# Default value: 1 -Blood Splatter Size = 1 - -## Hides the old blood decals that stain the floor. Keeps the actual effect though. -# Setting type: Boolean -# Default value: false -Use Old Blood Decals = false - -[Blood | Spurts] - -# Setting type: Single -# Default value: 2 -Bleed Maxmimum Time (Seconds) = 2 - -[Blood | Trails & Flows] - -# Setting type: Boolean -# Default value: true -Arterial Spraying = true - -# Setting type: Single -# Default value: 8 -Arterial Spray Minimum Time (Seconds) = 8 - -# Setting type: Single -# Default value: 2 -Arterial Spray Maxmimum Time (Seconds) = 2 - -[Character Properties] - -Shoot off Helmets = true - -Helmet Knock Off Chance = 15 - -Duration for anim swap = 1 - -[Combat | Shells] - -Infinite Shell Casing Lifetime = true - -[Combat | Visuals] - -## Turns off Used Shell Casing Deletion -# Setting type: Boolean -# Default value: false -Infinite Shell Casing Lifetime = false - -## Multiplier For Muzzle Smoke Size -# Setting type: Single -# Default value: 1 -Muzzle Fume Size Multiplier = 1.5 - -## Multiplier For Muzzle Jet (Muzzle Fire) Size -# Setting type: Single -# Default value: 1 -Muzzle Jet Size Multiplier = 3 - -## Multiplier For The Chance that a Muzzle Jet Happens -# Setting type: Single -# Default value: 1 -Muzzle Jet Chance Multiplier = 10 - -## Multiplier For The Amount of Muzzle Sparks -# Setting type: Int32 -# Default value: 1 -Muzzle Sparks Amount Multiplier = 2 - -[Item Physical Properties] - -Item Physics = false - -Item Force Intensity = 1 - -[Performance] - -Maximum Ground Decals = 1024 - -[Ragdoll Phsyical Properties] - -Bullet Intensity = 85 - -Grenade Intensity = 190 - -Player Body Collision = false - -[Ragdolls | Character Properties] - -# Setting type: Boolean -# Default value: true -Shoot off Helmets = true - -# Setting type: Single -# Default value: 15 -Helmet Knock Off Chance = 15 - -# Setting type: Single -# Default value: 1 -Duration for anim swap = 0.5 - -# Setting type: Single -# Default value: 1 -Duration for Mapping Weight swap = 0 - -# Setting type: Boolean -# Default value: true -Use Active Ragdolls = true - -[Ragdolls | Item Physical Properties] - -## If you are getting too much lag turn this off. But most capable PC's should run this fine. (Besides on SoT) -# Setting type: Boolean -# Default value: false -Item Physics = false - -## Multiplier that determines the amount of force applied to physics objects. -# Setting type: Single -# Default value: 1 -Item Force Intensity = 0.4 - -[Ragdolls | Ragdoll Phsyical Properties] - -## How much force is applied to a shot. This is also dependent on caliber. Default is 85 -# Setting type: Single -# Default value: 85 -Bullet Intensity = 45 - -## How much force is applied to a grenade explosion. This is also dependent on caliber. Default is 190 -# Setting type: Single -# Default value: 190 -Grenade Intensity = 190 - -## Allows you to step on bodies. You can potentially get stuck on them once in awhile for brief moments. Turn this off if you do not like it. -# Setting type: Boolean -# Default value: true -Player Body Collision = false - -[Splatters] - -Blood Splatter Size = 1 - -[Spurts] - -Bleed Maxmimum Time (Seconds) = 2 - -[Trails & Flows] - -Arterial Spraying = true - -Arterial Spray Minimum Time (Seconds) = 8 - -Arterial Spray Maxmimum Time (Seconds) = 2 - diff --git a/mods/Visceral Combat_backup/BepInEx/plugins/LICENSE b/mods/Visceral Combat_backup/BepInEx/plugins/LICENSE deleted file mode 100644 index cf013dd..0000000 --- a/mods/Visceral Combat_backup/BepInEx/plugins/LICENSE +++ /dev/null @@ -1 +0,0 @@ -© 2025 SSH_ All Rights Reserved. diff --git a/mods/Visceral Combat_backup/BepInEx/plugins/VisceralCombat.dll b/mods/Visceral Combat_backup/BepInEx/plugins/VisceralCombat.dll deleted file mode 100644 index a39dcfa719ede77da3e88df53e077d9f761e98c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284160 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 Q*x%uYasU7Mzn6jk2Ar1gM*si- diff --git a/mods/Visceral Combat_backup/BepInEx/plugins/ssh/VD_Calibers.json b/mods/Visceral Combat_backup/BepInEx/plugins/ssh/VD_Calibers.json deleted file mode 100644 index 24d90a4..0000000 --- a/mods/Visceral Combat_backup/BepInEx/plugins/ssh/VD_Calibers.json +++ /dev/null @@ -1,83 +0,0 @@ -[ - { - "dismember_calibers": { - "Caliber12g": 1.0, - "Caliber86x70": 0.5, - "Caliber127x55": 0.5, - "Caliber20g": 0.8, - "Caliber23x75": 1.0, - "Caliber9x33R": 0.07, - "Caliber545x39": 0.05, - "Caliber762x39": 0.1, - "Caliber762x51": 0.35, - "Caliber762x54R": 0.2, - "Caliber762x35": 0.2, - "Caliber556x45NATO": 0.1, - "Caliber9x39": 0.1, - "Caliber127x33": 1.0, - "Caliber68x51": 0.7 - } - }, - { - "bleed_calibers": { - "12g": 1.0, - "86x70": 0.8, - "127x55": 0.8, - "20g": 0.8, - "23x75": 1.0, - "9x33R": 0.07, - "545x39": 0.4, - "762x39": 0.5, - "762x51": 0.9, - "762x54R": 1.0, - "762x35": 0.5, - "1143x23ACP": 0.2, - "9x19PARA": 0.2, - "9x18PM": 0.2, - "762x25TT": 0.2, - "556x45NATO": 0.6, - "9x39": 0.4, - "127x108": 1.0, - "127x33": 0.8, - "68x51": 0.7 - } - }, - { - "ragdoll_limb_chances": { - "Head": 0.2, - "Chest": 0.4, - "Stomach": 0.5, - "Thighs": 0.5, - "Arms": 0.5 - } - }, - { - "light_bleed_calibers": [ - "545x39", - "762x39", - "556x45NATO", - "46x30", - "57x28", - "762x25TT", - "9x18PM", - "9x19PARA", - "9x21", - "12g", - "762x35", - "127x55", - "23x75", - "9x39", - "762x51", - "762x54R", - "127x33", - "68x51" - ] - }, - { - "heavy_bleed_calibers": [ - "86x70", - "127x108" - ] - } - ] - \ No newline at end of file diff --git a/mods/Visceral Combat_backup/BepInEx/plugins/ssh/bundleloader.dll b/mods/Visceral Combat_backup/BepInEx/plugins/ssh/bundleloader.dll deleted file mode 100644 index 652451635da38fc591b8c6a70bb6b35908de53da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9216 zcmeHM32YqKdH&zb?(CA1R^;-~MboQ;){4iPmt@hFXkJTcZBmp;N~&YItL1V;Zn&IT z&CJSTBsvsqt5#hlGLpDe5Y(*`v`B)Y39P!7(WYsPv~^PhP12$^su)t*B8BUqX=|f( zfJpuRH?!PbQ8t<)C{iFp&i~$jy#M{jyXNiaM=p{|L_WMXZxX$XlAk^aKO8K99lG2l$tOZ|EN0nO8kn@L4;4;SBi@py57x&lJ!?XcZKY#)S=Sc4B~KsGKnW_VOB`1` zY@0%U8bV_Jx|T>t>Q4_gK8}uk&5g>EEUBj5PgkJ^`l^*EXxgR=+krOKM>i2wzR{nD2(R3To{; z!Dw1yP81qj9`~2aATXK@)sSIM?G0@U5PK^Co7J+2M!uG?7HtCMF2%kJg`_D_*js5K z|2gF}3z<>izjimAh{D85vl*bdrd=giz+tcU)sMT9YM9IxaNCsnW}jxZqB_2=88J}_ zmPpxh!Pd2|RBJ#p+gNQaltW&jeJJ5aX9MqA?GGOd$oh?N=ru^ z%x=`$sy#}+Kxtmr+^I%)f+t0rH^EPpBgVNu%@$QEr`h0DTI(YL8B66f8?Kx|27PX* z^xD(d^x$K|+UoQf7vyZWt2jbFL*hTDDZ zBCBw_ul7gxLguYax8(+-y!jeiLJQ@z zl;T*lUR6AdU3R6{mrK`UM4V2m?QTN=5yNu zooLq2H0B=n`2re!SHgt)9c?XbLoX~V>r&4{ z{_CJ@thi2CS(GtI?vgV7+I6a=ABqShE%a4S@A=unw4bf2hklON8w?O{{;Q&w{EujH zSywk#(YxTBK#VJ}E>zKHfi0k?H4@{K#|hNeg3=W@C#va1@kz0ZF4Lz(Jv96};Cgyq zXjG^EF5p@1OMnjsJ_)#}ya@Ok{+EQHQ}hbp-Sjm;mK5~m;HzbluFSy*I;7`<-xYrb znIjT=Hh4{Z3)nG zW{YgM{+ozkkm@A%?D}tMKN3OOT*liWu_qAS7VySAY%{$pD(I-hu8Zp!Bb9V!E9<;2 zeqY%R>{lgr4m}8r_Dde`Kai8v^f?c^9&7{FwN19G=nd`#cAtxhPa|(d-jd{T?tX%) zArMss-cJa(?!u}n1#vD?R9Sx#^Fh#`C=BaVA1z`oX?Q<_cOKbh`>Fvo+5lKdI{>Sw zL&6>j`z1_B_>hDTOPB(zql~PdkZ?i5vw$1vw*fV}0=SvJE#dpbaeALPKAQz|cL+_@ z=uOZ$4$lX7qy8fNeiQY*)GyXn#3>=3Ruc4(_;_Fpa3C;=_2ZjbiXIl%l^Gn(xc)`j zE}o%n9{t~gmmqmF_$sx6qS1N!g!UcOUk<)OJ>p#8DxDBL+V?^EH{UySR{WLHMwe)} z@*Y;~kQxx(^o?LOVA9_x&Pxr~CF~Jj)wYWsaoFD?65>sNyErdi7sEn`-_b@yh4>ZG z1`Rnej`|gN@f!UyD6e65FuhgNq4U*17LX(Gtc*YyQ9mmp^aTC062mxA0BdL!;3jGY z+)7=5EffdrlJGtW2POSMdJyypNqI!VG^IhAqYHpGeOBp{n)@Xjq|>yhre*yJ2|q94 z*XbGhp>mBrMV;!`#g}2pH3>=KdY^>HBwUiPpMF3;rk%pVj1w3|7+Um?;(d(8Hv=~S z*9C7#jtZ`V6-B{X#Zt9c(S5X$wgWa`ocSq2ZGc;_BKVQL4#2zMrJtg-6WB-SNqUz4 zl5Uc3iAQhgWAKrsgm6myi^Tk(V$1QKw{fDm_1Vwn-qQ95l2$HxT+-NjA6~Y= ze?&>zAZ&WnHE2(7PcpeP*-m@Yy;C0Mk~_-Cz^T(u_JWb-`l#;An$rXMOmWp&3BOxP=M*(#gjpp3img6y7z zVLQy}ol7PMQt3IIb%rx~cA6fRkUK4i5aL%vMpH&Ul^ro>Cd|B**4dajor<}n#8Af0 znKtLuRVK}qXn9nmXQ^U#=#Y_d7UITC#?WIWS#z^c#vL>*-6K!Q%pOS1>jc-Q(6&^P z5;Er#PRh|oQ|Vb|Pv}k=jzAQd?0Ci=G9h<3mCfsu3pt&R%z0jSw~{$%8pks;d6;xt_KsD+!oAuO@yF9oPebSuM4Z;N%7K~DgwB%qm4>QPJ64^%GDv(mPE+?Uf!%0pf zPcF8^%scT@j&5*H-IaPQ$HR(IZ*q+5$Gx?X4w%kFK9@5s4EXq|v@X-hldp&%APM8R zi8b580%}?d67y7zWQ-GZfL)H2ntGckV6HjInqrWDZk8jrwek7Weeg- znLq4rye-*m8wc8kC*8@UgImf%f6L=3#zSD4T(aj-{8YwvY{J$xpK@qy>Z6Edp?Qg1 zti;>cxQ<1gyG13Rh4^wUZk)_mrZKM@w^ib8aHY!jc+qlu?u`xRE$ahXmzwY)V*i6q zW-uu}L_=vurJ{R!JCn(@XP{)5NGM@hv>Xg+1jS8>yNG-HC5@UVb&N!(Fq1KWipLCZ z!CxN3?uPAlQ6$pZ0n#alvy(w_d;`+j9PSMQ<6-E