Archived
Adding Mods w/Symlink
This commit is contained in:
@@ -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() };
|
||||
Reference in New Issue
Block a user