diff --git a/mods/Config Files/BepInEx/config/com.mpstark.DynamicMaps.cfg b/mods/Config Files/BepInEx/config/com.mpstark.DynamicMaps.cfg index b47cfc0..4e3737d 100644 --- a/mods/Config Files/BepInEx/config/com.mpstark.DynamicMaps.cfg +++ b/mods/Config Files/BepInEx/config/com.mpstark.DynamicMaps.cfg @@ -259,7 +259,7 @@ Centering On Player Zoom Level = 0.15 # Setting type: Single # Default value: 0 # Acceptable value range: From 0 to 15 -Main map zoom = 0.8854211 +Main map zoom = 2.224949 ## The keyboard shortcut to peek at the map # Setting type: KeyboardShortcut diff --git a/mods/Unlock Arena Lockboxes/User/Mods/ArenaLockboxes-Delod-1.0.0/LICENSE b/mods/Unlock Arena Lockboxes/User/Mods/ArenaLockboxes-Delod-1.0.0/LICENSE new file mode 100644 index 0000000..5a4dc87 --- /dev/null +++ b/mods/Unlock Arena Lockboxes/User/Mods/ArenaLockboxes-Delod-1.0.0/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 Delod19 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +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. diff --git a/mods/Unlock Arena Lockboxes/User/Mods/ArenaLockboxes-Delod-1.0.0/README.md b/mods/Unlock Arena Lockboxes/User/Mods/ArenaLockboxes-Delod-1.0.0/README.md new file mode 100644 index 0000000..478e8f2 --- /dev/null +++ b/mods/Unlock Arena Lockboxes/User/Mods/ArenaLockboxes-Delod-1.0.0/README.md @@ -0,0 +1,11 @@ +Created by Delod with help from Sh and AcidPhantasm + +Codebase with help from Shibs Expanded Crafting (https://hub.sp-tarkov.com/files/file/2545-shibs-expanded-crafting/) + +Thank you to them all and for you downloading this mod! + +This mod adds 8 new crafting recipes involving the new Arena Lockboxes acquired from opening sealed containers +The Base game does not have these recipes in place yet, but by adding this mod you will be able to unlock the +boxes since they are acquired in SPT. + +Enjoy the loot! diff --git a/mods/Unlock Arena Lockboxes/User/Mods/ArenaLockboxes-Delod-1.0.0/package.json b/mods/Unlock Arena Lockboxes/User/Mods/ArenaLockboxes-Delod-1.0.0/package.json new file mode 100644 index 0000000..3449005 --- /dev/null +++ b/mods/Unlock Arena Lockboxes/User/Mods/ArenaLockboxes-Delod-1.0.0/package.json @@ -0,0 +1,30 @@ +{ + "name": "arena-lockbox-mod", + "version": "1.0.0", + "sptVersion": "~3.10", + "loadBefore": [], + "loadAfter": [], + "incompatibilities": [], + "isBundleMod": false, + "main": "src/mod.js", + "scripts": { + "setup": "npm i", + "build": "node ./build.mjs", + "buildinfo": "node ./build.mjs --verbose" + }, + "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" + }, + "author": "Delod", + "contributors": [], + "license": "MIT" +} diff --git a/mods/Unlock Arena Lockboxes/User/Mods/ArenaLockboxes-Delod-1.0.0/src/crafts.ts b/mods/Unlock Arena Lockboxes/User/Mods/ArenaLockboxes-Delod-1.0.0/src/crafts.ts new file mode 100644 index 0000000..c0c3bc9 --- /dev/null +++ b/mods/Unlock Arena Lockboxes/User/Mods/ArenaLockboxes-Delod-1.0.0/src/crafts.ts @@ -0,0 +1,174 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.addedCrafts = void 0; +export const addedCrafts = [ + // Equip Epic + { + "_id": "6666d899eb78191c502350b3", + "areaType": 10, + "requirements": [ + { "areaType": 10, "requiredLevel": 2, "type": "Area" }, + { "templateId": "5d1b317c86f7742523398392", "type": "Tool" }, + { "templateId": "5d4042a986f7743185265463", "type": "Tool" }, + { "templateId": "5af04b6486f774195a3ebb49", "type": "Tool" }, + { "templateId": "6658285190486915542256c4", "count": 1, "isFunctional": false, "isEncoded": false, "type": "Item" } + ], + "productionTime": 300, + "needFuelForAllProductionTime": false, + "locked": false, + "endProduct": "6658291eefd94e2d665b14a4", + "continuous": false, + "count": 1, + "productionLimitCount": 0, + "isEncoded": false, + "isCodeProduction": false + }, + // Weapon Crate + { + "_id": "66575197464c4b4ba4671005", + "areaType": 10, + "requirements": [ + { "areaType": 10, "requiredLevel": 2, "type": "Area" }, + { "templateId": "5d1b317c86f7742523398392", "type": "Tool" }, + { "templateId": "5d4042a986f7743185265463", "type": "Tool" }, + { "templateId": "5af04b6486f774195a3ebb49", "type": "Tool" }, + { "templateId": "66582889efd94e2d665b14a2", "count": 1, "isFunctional": false, "isEncoded": false, "type": "Item" } + ], + "productionTime": 300, + "needFuelForAllProductionTime": false, + "locked": false, + "endProduct": "665829424de4820934746ce6", + "continuous": false, + "count": 1, + "productionLimitCount": 0, + "isEncoded": false, + "isCodeProduction": false + }, + // Supply Epic + { + "_id": "6666d829a8298779fc40e538", + "areaType": 10, + "requirements": [ + { "areaType": 10, "requiredLevel": 2, "type": "Area" }, + { "templateId": "5d1b317c86f7742523398392", "type": "Tool" }, + { "templateId": "5d4042a986f7743185265463", "type": "Tool" }, + { "templateId": "5af04b6486f774195a3ebb49", "type": "Tool" }, + { "templateId": "665828c44de4820934746ce4", "count": 1, "isFunctional": false, "isEncoded": false, "type": "Item" } + ], + "productionTime": 300, + "needFuelForAllProductionTime": false, + "locked": false, + "endProduct": "66582972ac60f009f270d2aa", + "continuous": false, + "count": 1, + "productionLimitCount": 0, + "isEncoded": false, + "isCodeProduction": false + }, + // Valuables Epic + { + "_id": "6666d7ea0b734650a91d0a43", + "areaType": 10, + "requirements": [ + { "areaType": 10, "requiredLevel": 2, "type": "Area" }, + { "templateId": "5d1b317c86f7742523398392", "type": "Tool" }, + { "templateId": "5d4042a986f7743185265463", "type": "Tool" }, + { "templateId": "5af04b6486f774195a3ebb49", "type": "Tool" }, + { "templateId": "665828f490486915542256c6", "count": 1, "isFunctional": false, "isEncoded": false, "type": "Item" } + ], + "productionTime": 300, + "needFuelForAllProductionTime": false, + "locked": false, + "endProduct": "665829a6efd94e2d665b14a8", + "continuous": false, + "count": 1, + "productionLimitCount": 0, + "isEncoded": false, + "isCodeProduction": false + }, + // Equip Common + { + "_id": "6666d899eb78191c502350b4", + "areaType": 10, + "requirements": [ + { "areaType": 10, "requiredLevel": 2, "type": "Area" }, + { "templateId": "5d1b317c86f7742523398392", "type": "Tool" }, + { "templateId": "5d4042a986f7743185265463", "type": "Tool" }, + { "templateId": "5af04b6486f774195a3ebb49", "type": "Tool" }, + { "templateId": "66588b514de4820934746dc6", "count": 1, "isFunctional": false, "isEncoded": false, "type": "Item" } + ], + "productionTime": 300, + "needFuelForAllProductionTime": false, + "locked": false, + "endProduct": "6658876e146af22739040fad", + "continuous": false, + "count": 1, + "productionLimitCount": 0, + "isEncoded": false, + "isCodeProduction": false + }, + // Weapon Common + { + "_id": "66575197464c4b4ba4671006", + "areaType": 10, + "requirements": [ + { "areaType": 10, "requiredLevel": 2, "type": "Area" }, + { "templateId": "5d1b317c86f7742523398392", "type": "Tool" }, + { "templateId": "5d4042a986f7743185265463", "type": "Tool" }, + { "templateId": "5af04b6486f774195a3ebb49", "type": "Tool" }, + { "templateId": "66588b6dcb48a73e674b2649", "count": 1, "isFunctional": false, "isEncoded": false, "type": "Item" } + ], + "productionTime": 300, + "needFuelForAllProductionTime": false, + "locked": false, + "endProduct": "665888282c4a1b73af576b77", + "continuous": false, + "count": 1, + "productionLimitCount": 0, + "isEncoded": false, + "isCodeProduction": false + }, + // Supply Common + { + "_id": "6666d829a8298779fc40e539", + "areaType": 10, + "requirements": [ + { "areaType": 10, "requiredLevel": 2, "type": "Area" }, + { "templateId": "5d1b317c86f7742523398392", "type": "Tool" }, + { "templateId": "5d4042a986f7743185265463", "type": "Tool" }, + { "templateId": "5af04b6486f774195a3ebb49", "type": "Tool" }, + { "templateId": "66588ba291f6e93c4c06efef", "count": 1, "isFunctional": false, "isEncoded": false, "type": "Item" } + ], + "productionTime": 300, + "needFuelForAllProductionTime": false, + "locked": false, + "endProduct": "6658892e6e007c6f33662002", + "continuous": false, + "count": 1, + "productionLimitCount": 0, + "isEncoded": false, + "isCodeProduction": false + }, + // Valuables Common + { + "_id": "6666d7ea0b734650a91d0a44", + "areaType": 10, + "requirements": [ + { "areaType": 10, "requiredLevel": 2, "type": "Area" }, + { "templateId": "5d1b317c86f7742523398392", "type": "Tool" }, + { "templateId": "5d4042a986f7743185265463", "type": "Tool" }, + { "templateId": "5af04b6486f774195a3ebb49", "type": "Tool" }, + { "templateId": "66588bb047fbd536a674240e", "count": 1, "isFunctional": false, "isEncoded": false, "type": "Item" } + ], + "productionTime": 300, + "needFuelForAllProductionTime": false, + "locked": false, + "endProduct": "665886abdaadd1069736c539", + "continuous": false, + "count": 1, + "productionLimitCount": 0, + "isEncoded": false, + "isCodeProduction": false + } +]; +//# sourceMappingURL=crafts.js.map \ No newline at end of file diff --git a/mods/Unlock Arena Lockboxes/User/Mods/ArenaLockboxes-Delod-1.0.0/src/mod.ts b/mods/Unlock Arena Lockboxes/User/Mods/ArenaLockboxes-Delod-1.0.0/src/mod.ts new file mode 100644 index 0000000..cdc2d99 --- /dev/null +++ b/mods/Unlock Arena Lockboxes/User/Mods/ArenaLockboxes-Delod-1.0.0/src/mod.ts @@ -0,0 +1,44 @@ +import { DependencyContainer } from "tsyringe"; + +import { IPostDBLoadMod } from "@spt/models/external/IPostDBLoadMod"; +import { DatabaseServer } from "@spt/servers/DatabaseServer"; +import { IDatabaseTables } from "@spt/models/spt/server/IDatabaseTables"; +import { ILogger } from "@spt/models/spt/utils/ILogger"; +import { addedCrafts } from "./crafts.js"; + + +class ArenaLockboxMod implements IPostDBLoadMod +{ + public postDBLoad(container: DependencyContainer): void + { + // Init logger + const logger = container.resolve("WinstonLogger"); + + // Get database from server + const databaseServer = container.resolve("DatabaseServer"); + const tables: IDatabaseTables = databaseServer.getTables(); + + let hideoutCrafts = tables.hideout.production.recipes; + + // Loop and add new crafts + for (const newCraft of addedCrafts) + { + const alreadyAdded = hideoutCrafts.find((i) => i._id === newCraft._id); + if (!alreadyAdded) + { + hideoutCrafts.push(newCraft); + } + + else + + { + hideoutCrafts = hideoutCrafts.filter(i => i._id !== newCraft._id); + hideoutCrafts.push(newCraft); + } + } + + logger.info(`ALM: Added ${addedCrafts.length} new crafting recipes for Arena Lockboxes`); + } +} + +module.exports = { mod: new ArenaLockboxMod() }; \ No newline at end of file diff --git a/mods/Unlock Arena Lockboxes/meta.ini b/mods/Unlock Arena Lockboxes/meta.ini new file mode 100644 index 0000000..b578833 --- /dev/null +++ b/mods/Unlock Arena Lockboxes/meta.ini @@ -0,0 +1,28 @@ +[General] +gameName=spt +modid=0 +version=d2025.1.6.0 +newestVersion= +category="1," +nexusFileStatus=1 +installationFile=ArenaLockboxes-Delod-1.0.0.zip +repository=Nexus +ignoredVersion= +comments= +notes= +nexusDescription= +url= +hasCustomURL=true +lastNexusQuery= +lastNexusUpdate= +nexusLastModified=2025-01-06T12:56:48Z +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/profiles/Multiplayer/modlist.txt b/profiles/Multiplayer/modlist.txt index d8bde02..8f7d1cd 100644 --- a/profiles/Multiplayer/modlist.txt +++ b/profiles/Multiplayer/modlist.txt @@ -33,6 +33,7 @@ -New Weapons & Gear_separator +Ref SPT Friendly Quests -New Traders & Tweaks_separator ++Unlock Arena Lockboxes +Station Refueling +Quick Throw Grenades +Shoulder Swap on Lean diff --git a/profiles/Server/modlist.txt b/profiles/Server/modlist.txt index 67adc64..4b3528f 100644 --- a/profiles/Server/modlist.txt +++ b/profiles/Server/modlist.txt @@ -1,3 +1,4 @@ +# This file was automatically generated by Mod Organizer. +Unsorted_separator -Visceral Combat -SWAG + DONUTS @@ -32,6 +33,7 @@ +New Weapons & Gear_separator +Ref SPT Friendly Quests +New Traders & Tweaks_separator ++Unlock Arena Lockboxes +Station Refueling -Quick Throw Grenades +Shoulder Swap on Lean