Adding Mods w/Symlink

This commit is contained in:
2025-01-02 20:23:50 -05:00
parent 88fc2c3c93
commit 404890ecbb
10218 changed files with 3191380 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
[General]
gameName=spt
modid=0
version=d2024.12.30.0
newestVersion=
category="1,2"
nexusFileStatus=1
installationFile=shibdib-shibsexpandedcrafts.zip
repository=Nexus
ignoredVersion=
comments=
notes=
nexusDescription=
url=
hasCustomURL=true
lastNexusQuery=
lastNexusUpdate=
nexusLastModified=2024-12-30T11:34:38Z
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
@@ -0,0 +1,17 @@
Current Additions
Medstation
- CMS + Med Tools = New CMS (LVL1)
- IFAK + AI-2 + Army Bandage + Esmarch = New IFAK (LVL2)
- AFAK + Car + Army Bandage + CAT-T = New AFAK (LVL2)
- Golden Star + Vaseline + Analgin = New Golden Star (LVL3)
Nutrition Unit
- 2x Large Beef Stew + Can of Salt = Tarker Jerky (LVL2)
Lavatory
- Metal Fuel Tank + 10x Zibbo + Hose (Tool) = Metal Fuel Tank (LVL1)
- Expeditionary Fuel Tank + 6x Zibbo + Hose (Tool) = Expeditionary Fuel Tank (LVL1)
Planned Additions
- You tell me, hit me up on discord/comment
@@ -0,0 +1,30 @@
{
"name": "Shibs Expanded Crafts",
"version": "1.0.4",
"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": "Shibdib",
"contributors": [],
"license": "MIT"
}
@@ -0,0 +1,295 @@
export const AddedCrafts = [
// Medstation
// CMS + Med Tools = CMS (Lvl1)
{
"_id": "675a0e8dc5a76861100eadaf",
"areaType": 7,
"requirements": [
{
"areaType": 7,
"requiredLevel": 1,
"type": "Area"
},
{
"templateId": "619cc01e0a7c3a1a2731940c",
"count": 1,
"isFunctional": false,
"isEncoded": false,
"type": "Item"
},
{
"templateId": "5d02778e86f774203e7dedbe",
"count": 1,
"isFunctional": false,
"isEncoded": false,
"type": "Item"
}
],
"productionTime": 1475,
"needFuelForAllProductionTime": false,
"locked": false,
"endProduct": "5d02778e86f774203e7dedbe",
"continuous": false,
"count": 1,
"productionLimitCount": 0,
"isEncoded": false,
"isCodeProduction": false
},
// IFAK + Cheese + Esmarch + Army Bandage = IFAK (LVL2)
{
"_id": "675a2f1abb84a45d3ec8be78",
"areaType": 7,
"requirements": [
{
"templateId": "5e831507ea0a7c419c2f9bd9",
"count": 1,
"isFunctional": false,
"isEncoded": false,
"type": "Item"
},
{
"templateId": "5751a25924597722c463c472",
"count": 1,
"isFunctional": false,
"isEncoded": false,
"type": "Item"
},
{
"templateId": "5755356824597772cb798962",
"count": 1,
"isFunctional": false,
"isEncoded": false,
"type": "Item"
},
{
"templateId": "590c678286f77426c9660122",
"count": 1,
"isFunctional": false,
"isEncoded": false,
"type": "Item"
},
{
"areaType": 7,
"requiredLevel": 2,
"type": "Area"
}
],
"productionTime": 1800,
"needFuelForAllProductionTime": false,
"locked": false,
"endProduct": "590c678286f77426c9660122",
"continuous": false,
"count": 1,
"productionLimitCount": 0,
"isEncoded": false,
"isCodeProduction": false
},
// AFAK + Car + CAT-T + Army Bandage = AFAK (LVL2)
{
"_id": "675a2f32b33253355980a79f",
"areaType": 7,
"requirements": [
{
"templateId": "5751a25924597722c463c472",
"count": 1,
"isFunctional": false,
"isEncoded": false,
"type": "Item"
},
{
"templateId": "60098af40accd37ef2175f27",
"count": 1,
"isFunctional": false,
"isEncoded": false,
"type": "Item"
},
{
"templateId": "590c661e86f7741e566b646a",
"count": 1,
"isFunctional": false,
"isEncoded": false,
"type": "Item"
},
{
"templateId": "60098ad7c2240c0fe85c570a",
"count": 1,
"isFunctional": false,
"isEncoded": false,
"type": "Item"
},
{
"areaType": 7,
"requiredLevel": 2,
"type": "Area"
}
],
"productionTime": 2700,
"needFuelForAllProductionTime": false,
"locked": false,
"endProduct": "60098ad7c2240c0fe85c570a",
"continuous": false,
"count": 1,
"productionLimitCount": 0,
"isEncoded": false,
"isCodeProduction": false
},
// Goldenstar + Vaseline + Analgin = Goldenstar (LVL3)
{
"_id": "675a848e8433ffa821e7b13b",
"areaType": 7,
"requirements": [
{
"templateId": "544fb37f4bdc2dee738b4567",
"count": 1,
"isFunctional": false,
"isEncoded": false,
"type": "Item"
},
{
"templateId": "5755383e24597772cb798966",
"count": 1,
"isFunctional": false,
"isEncoded": false,
"type": "Item"
},
{
"templateId": "5751a89d24597722aa0e8db0",
"count": 1,
"isFunctional": false,
"isEncoded": false,
"type": "Item"
},
{
"areaType": 7,
"requiredLevel": 3,
"type": "Area"
}
],
"productionTime": 3600,
"needFuelForAllProductionTime": false,
"locked": false,
"endProduct": "5751a89d24597722aa0e8db0",
"continuous": false,
"count": 1,
"productionLimitCount": 0,
"isEncoded": false,
"isCodeProduction": false
},
// Nutrition Unit
// 2x Large Tushonka + Salt = 2x Tarker (Lvl2)
{
"_id": "675a2cfdbb2fafebd9ca4b4f",
"areaType": 8,
"requirements": [
{
"areaType": 8,
"requiredLevel": 2,
"type": "Area"
},
{
"templateId": "57347da92459774491567cf5",
"count": 2,
"isFunctional": false,
"isEncoded": false,
"type": "Item"
},
{
"templateId": "62a09ee4cf4a99369e262453",
"count": 1,
"isFunctional": false,
"isEncoded": false,
"type": "Item"
}
],
"productionTime": 5400,
"needFuelForAllProductionTime": false,
"locked": false,
"endProduct": "65815f0e647e3d7246384e14",
"continuous": false,
"count": 2,
"productionLimitCount": 0,
"isEncoded": false,
"isCodeProduction": false
},
// Lavatory
// 10x Zibbo + Metal Fuel Tank = Metal Fuel Tank (LVL1)
{
"_id": "675a83d4adde473e4851a67e",
"areaType": 2,
"requirements": [
{
"areaType": 2,
"requiredLevel": 1,
"type": "Area"
},
{
"templateId": "56742c2e4bdc2d95058b456d",
"count": 10,
"isFunctional": false,
"isEncoded": false,
"type": "Item"
},
{
"templateId": "5d1b36a186f7742523398433",
"count": 1,
"isFunctional": false,
"isEncoded": false,
"type": "Item"
},
{
"templateId": "59e35cbb86f7741778269d83",
"type": "Tool"
}
],
"productionTime": 1600,
"needFuelForAllProductionTime": false,
"locked": false,
"endProduct": "5d1b36a186f7742523398433",
"continuous": false,
"count": 1,
"productionLimitCount": 0,
"isEncoded": false,
"isCodeProduction": false
},
// 6x Zibbo + Expeditionary fuel tank = xpeditionary fuel tank (LVL1)
{
"_id": "675b8a8728b5b35bc5f96650",
"areaType": 2,
"requirements": [
{
"areaType": 2,
"requiredLevel": 1,
"type": "Area"
},
{
"templateId": "56742c2e4bdc2d95058b456d",
"count": 6,
"isFunctional": false,
"isEncoded": false,
"type": "Item"
},
{
"templateId": "5d1b371186f774253763a656",
"count": 1,
"isFunctional": false,
"isEncoded": false,
"type": "Item"
},
{
"templateId": "59e35cbb86f7741778269d83",
"type": "Tool"
}
],
"productionTime": 1200,
"needFuelForAllProductionTime": false,
"locked": false,
"endProduct": "5d1b371186f774253763a656",
"continuous": false,
"count": 1,
"productionLimitCount": 0,
"isEncoded": false,
"isCodeProduction": false
}
];
@@ -0,0 +1,37 @@
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";
class ShibsExpandedCrafting implements IPostDBLoadMod
{
public postDBLoad(container: DependencyContainer): void
{
// Init logger
const logger = container.resolve<ILogger>("WinstonLogger");
// get database from server
const databaseServer = container.resolve<DatabaseServer>("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(`SEC: Added ${AddedCrafts.length} new crafting recipes`);
}
}
module.exports = { mod: new ShibsExpandedCrafting() };