Archived
Added Mod to Unlock Locked Crates
This commit is contained in:
@@ -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
|
||||
@@ -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<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(`ALM: Added ${addedCrafts.length} new crafting recipes for Arena Lockboxes`);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = { mod: new ArenaLockboxMod() };
|
||||
Reference in New Issue
Block a user