Complete Remake of the Modpack

This commit is contained in:
2025-05-16 00:38:39 -04:00
parent db58ebbefb
commit a57e637d5f
10423 changed files with 13308 additions and 2630183 deletions
+28
View File
@@ -0,0 +1,28 @@
[General]
gameName=spt
modid=0
version=d2025.5.14.0
newestVersion=
category="-1,"
nexusFileStatus=1
installationFile=choccy-striker-1.0.6.zip
repository=Nexus
ignoredVersion=
comments=
notes=
nexusDescription=
url=
hasCustomURL=false
lastNexusQuery=
lastNexusUpdate=
nexusLastModified=2025-05-14T13:44:29Z
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,13 @@
# Default ignored files
/shelf/
/workspace.xml
# Rider ignored files
/contentModel.xml
/.idea.Choccy-Striker.iml
/modules.xml
/projectSettingsUpdater.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>
@@ -0,0 +1,67 @@
{
"manifest": [
{
"key": "assets/weapons/striker12/client_assets.bundle",
"dependencyKeys": [
"shaders",
"cubemaps",
"assets/weapons/striker12/textures.bundle"
]
},
{
"key": "assets/weapons/striker12/weapon_striker_12_container.bundle",
"dependencyKeys": [
"assets/content/weapons/additional_hands/client_assets.bundle",
"assets/content/weapons/wip/kibas tuning prefabs/muzzlejets_templates/default_assets.bundle",
"assets/content/weapons/weapon_root_anim_fix.bundle",
"assets/systems/effects/heathaze/defaultheathaze.bundle",
"assets/systems/effects/muzzleflash/muzzleflash.bundle",
"assets/systems/effects/smoke.bundle",
"assets/weapons/striker12/client_assets.bundle",
"assets/weapons/striker12/striker12_bank.bundle",
"assets/content/audio/weapons/generic"
]
},
{
"key": "assets/weapons/striker12/striker12_bank.bundle",
"dependencyKeys": [
"assets/content/audio/blendoptions/assets.bundle"
]
},
{
"key": "assets/weapons/striker12/textures.bundle",
"dependencyKeys": [
]
},
{
"key": "assets/weapons/striker12/mod_stock_foldable_striker_12.bundle",
"dependencyKeys": [
"assets/weapons/striker12/client_assets.bundle"
]
},
{
"key": "assets/weapons/striker12/mod_mount_piccatiny_rail_striker_12.bundle",
"dependencyKeys": [
"assets/weapons/striker12/client_assets.bundle"
]
},
{
"key": "assets/weapons/striker12/mod_magazine_striker_12.bundle",
"dependencyKeys": [
"assets/weapons/striker12/client_assets.bundle"
]
},
{
"key": "assets/weapons/striker12/mod_front_sight_striker_12.bundle",
"dependencyKeys": [
"assets/weapons/striker12/client_assets.bundle"
]
},
{
"key": "assets/weapons/striker12/mod_rear_sight_striker_12.bundle",
"dependencyKeys": [
"assets/weapons/striker12/client_assets.bundle"
]
}
]
}
@@ -0,0 +1,30 @@
{
"name": "Striker",
"version": "1.0.6",
"main": "src/mod.js",
"license": "CC-BY 3.0",
"author": "Choccy",
"isBundleMod": true,
"sptVersion": "~3.11",
"loadBefore": ["SPT-Realism"],
"loadAfter": [],
"incompatibilities": [],
"contributors": [],
"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.8",
"winston": "3.12"
}
}
@@ -0,0 +1,72 @@
#!/usr/bin/env node
// This is a simple script used to build a mod package. The script will copy necessary files to the build directory
// and compress the build directory into a zip file that can be easily shared.
const fs = require("fs-extra");
const glob = require("glob");
const zip = require('bestzip');
const path = require("path");
// Load the package.json file to get some information about the package so we can name things appropriately. This is
// atypical, and you would never do this in a production environment, but this script is only used for development so
// it's fine in this case. Some of these values are stored in environment variables, but those differ between node
// versions; the 'author' value is not available after node v14.
const { author, name:packageName, version } = require("./package.json");
// Generate the name of the package, stripping out all non-alphanumeric characters in the 'author' and 'name'.
const modName = `${author.replace(/[^a-z0-9]/gi, "")}-${packageName.replace(/[^a-z0-9]/gi, "")}-${version}`;
console.log(`Generated package name: ${modName}`);
// Delete the old build directory and compressed package file.
fs.rmSync(`${__dirname}/dist`, { force: true, recursive: true });
console.log("Previous build files deleted.");
// Generate a list of files that should not be copied over into the distribution directory. This is a blacklist to ensure
// we always copy over additional files and directories that authors may have added to their project. This may need to be
// expanded upon by the mod author to allow for node modules that are used within the mod; example commented out below.
const ignoreList = [
"node_modules/",
// "node_modules/!(weighted|glob)", // Instead of excluding the entire node_modules directory, allow two node modules.
"src/**/*.js",
"types/",
".git/",
".gitea/",
".eslintignore",
".eslintrc.json",
".gitignore",
".DS_Store",
"packageBuild.ts",
"mod.code-workspace",
"package-lock.json",
"tsconfig.json"
];
const exclude = glob.sync(`{${ignoreList.join(",")}}`, { realpath: true, dot: true });
// For some reason these basic-bitch functions won't allow us to copy a directory into itself, so we have to resort to
// using a temporary directory, like an idiot. Excuse the normalize spam; some modules cross-platform, some don't...
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter:(filePath) =>
{
return !exclude.includes(filePath);
}});
fs.moveSync(path.normalize(`${__dirname}/../~${modName}`), path.normalize(`${__dirname}/${modName}`), { overwrite: true });
fs.copySync(path.normalize(`${__dirname}/${modName}`), path.normalize(`${__dirname}/dist`));
console.log("Build files copied.");
// Compress the files for easy distribution. The compressed file is saved into the dist directory. When uncompressed we
// need to be sure that it includes a directory that the user can easily copy into their game mods directory.
zip({
source: modName,
destination: `dist/${modName}.zip`,
cwd: __dirname
}).catch(function(err)
{
console.error("A bestzip error has occurred: ", err.stack);
}).then(function()
{
console.log(`Compressed mod package to: /dist/${modName}.zip`);
// Now that we're done with the compression we can delete the temporary build directory.
fs.rmSync(`${__dirname}/${modName}`, { force: true, recursive: true });
console.log("Build successful! your zip file has been created and is ready to be uploaded to hub.sp-tarkov.com/files/");
});
@@ -0,0 +1,177 @@
{
"items": [
{
"_id": "668c697ec56e7663bf2f1005",
"_tpl": "668c68adb49c8d5089331ec9",
"parentId": "hideout",
"slotId": "hideout",
"upd": {
"UnlimitedCount": true,
"StackObjectsCount": 9999,
"FireMode": {
"FireMode": "single"
}
}
},
{
"_id": "e3ef88f46d8e285227cffe45",
"_tpl": "668c68b1e0d0f96066595fa2",
"parentId": "668c697ec56e7663bf2f1005",
"slotId": "mod_magazine"
},
{
"_id": "a702db60f496efd45f8e9483",
"_tpl": "668c68b33a252358c049a4c8",
"parentId": "668c697ec56e7663bf2f1005",
"slotId": "mod_stock"
},
{
"_id": "655e58f4b381ee68321dd08c",
"_tpl": "668c68aa2e09beec5a6e9154",
"parentId": "668c697ec56e7663bf2f1005",
"slotId": "mod_mount"
},
{
"_id": "00db83f6f4337583dfc1fa4d",
"_tpl": "668c68b67096754b726a9734",
"parentId": "668c697ec56e7663bf2f1005",
"slotId": "mod_sight_front",
"upd": {
"Sight": {
"ScopesCurrentCalibPointIndexes": [
0
],
"ScopesSelectedModes": [
0
],
"SelectedScope": 0
}
}
},
{
"_id": "2854917141d662e500787806",
"_tpl": "668c68b90986da08fccc3b88",
"parentId": "655e58f4b381ee68321dd08c",
"slotId": "mod_sight_rear",
"upd": {
"Sight": {
"ScopesCurrentCalibPointIndexes": [
0
],
"ScopesSelectedModes": [
0
],
"SelectedScope": 0
}
}
},
{
"_id": "668c69b6c986e289e9c1f4b1",
"_tpl": "668c68b1e0d0f96066595fa2",
"parentId": "hideout",
"slotId": "hideout",
"upd": {
"UnlimitedCount": true,
"StackObjectsCount": 9999
}
},
{
"_id": "668c69bc007d83bcac51cd44",
"_tpl": "668c68b33a252358c049a4c8",
"parentId": "hideout",
"slotId": "hideout",
"upd": {
"UnlimitedCount": true,
"StackObjectsCount": 9999
}
},
{
"_id": "668c69c0532752d86230b1c8",
"_tpl": "668c68aa2e09beec5a6e9154",
"parentId": "hideout",
"slotId": "hideout",
"upd": {
"UnlimitedCount": true,
"StackObjectsCount": 9999
}
},
{
"_id": "668c69c481b7ccb3b40a0260",
"_tpl": "668c68b67096754b726a9734",
"parentId": "hideout",
"slotId": "hideout",
"upd": {
"UnlimitedCount": true,
"StackObjectsCount": 9999
}
},
{
"_id": "668c69c8b08861ab464577d6",
"_tpl": "668c68b90986da08fccc3b88",
"parentId": "hideout",
"slotId": "hideout",
"upd": {
"UnlimitedCount": true,
"StackObjectsCount": 9999
}
}
],
"barter_scheme": {
"668c697ec56e7663bf2f1005": [
[
{
"_tpl": "5449016a4bdc2d6f028b456f",
"count": 23165
}
]
],
"668c69b6c986e289e9c1f4b1": [
[
{
"_tpl": "5449016a4bdc2d6f028b456f",
"count": 3341
}
]
],
"668c69bc007d83bcac51cd44": [
[
{
"_tpl": "5449016a4bdc2d6f028b456f",
"count": 9621
}
]
],
"668c69c0532752d86230b1c8": [
[
{
"_tpl": "5449016a4bdc2d6f028b456f",
"count": 8754
}
]
],
"668c69c481b7ccb3b40a0260": [
[
{
"_tpl": "5449016a4bdc2d6f028b456f",
"count": 871
}
]
],
"668c69c8b08861ab464577d6": [
[
{
"_tpl": "5449016a4bdc2d6f028b456f",
"count": 871
}
]
]
},
"loyal_level_items":{
"668c697ec56e7663bf2f1005": 1,
"668c69b6c986e289e9c1f4b1": 1,
"668c69bc007d83bcac51cd44": 1,
"668c69c0532752d86230b1c8": 1,
"668c69c481b7ccb3b40a0260": 1,
"668c69c8b08861ab464577d6": 1
}
}
@@ -0,0 +1,75 @@
{
"ItemPresets": {
"65f59db05d59d765e8cef3d7": {
"_changeWeaponName": false,
"_encyclopedia": "668c68adb49c8d5089331ec9",
"_id": "65f59db05d59d765e8cef3d7",
"_items": [
{
"_id": "65f59dbd1da2c4564a057192",
"_tpl": "668c68adb49c8d5089331ec9",
"upd": {
"FireMode": {
"FireMode": "single"
}
}
},
{
"_id": "e3ef88f46d8e285227cffe45",
"_tpl": "668c68b1e0d0f96066595fa2",
"parentId": "65f59dbd1da2c4564a057192",
"slotId": "mod_magazine"
},
{
"_id": "a702db60f496efd45f8e9483",
"_tpl": "668c68b33a252358c049a4c8",
"parentId": "65f59dbd1da2c4564a057192",
"slotId": "mod_stock"
},
{
"_id": "655e58f4b381ee68321dd08c",
"_tpl": "668c68aa2e09beec5a6e9154",
"parentId": "65f59dbd1da2c4564a057192",
"slotId": "mod_mount"
},
{
"_id": "00db83f6f4337583dfc1fa4d",
"_tpl": "668c68b67096754b726a9734",
"parentId": "65f59dbd1da2c4564a057192",
"slotId": "mod_sight_front",
"upd": {
"Sight": {
"ScopesCurrentCalibPointIndexes": [
0
],
"ScopesSelectedModes": [
0
],
"SelectedScope": 0
}
}
},
{
"_id": "2854917141d662e500787806",
"_tpl": "668c68b90986da08fccc3b88",
"parentId": "655e58f4b381ee68321dd08c",
"slotId": "mod_sight_rear",
"upd": {
"Sight": {
"ScopesCurrentCalibPointIndexes": [
0
],
"ScopesSelectedModes": [
0
],
"SelectedScope": 0
}
}
}
],
"_name": "Armsel Striker",
"_parent": "65f59dbd1da2c4564a057192",
"_type": "Preset"
}
}
}
@@ -0,0 +1,735 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.mod = exports.WeapID = void 0;
const ItemTpl_1 = require("C:/snapshot/project/obj/models/enums/ItemTpl");
const Traders_1 = require("C:/snapshot/project/obj/models/enums/Traders");
const Item_Preset_json_1 = __importDefault(require("../src/Item_Preset.json"));
const global_item_preset_json_1 = __importDefault(require("../src/global_item_preset.json"));
var WeapID;
(function (WeapID) {
WeapID["MOUNT_STRIKER12_PICATINY"] = "668c68aa2e09beec5a6e9154";
WeapID["WEAP_STRIKER12"] = "668c68adb49c8d5089331ec9";
WeapID["MAG_STRIKER12"] = "668c68b1e0d0f96066595fa2";
WeapID["STOCK_STRIKER12"] = "668c68b33a252358c049a4c8";
WeapID["SIGHT_FRONT_STRIKER12"] = "668c68b67096754b726a9734";
WeapID["SIGHT_REAR_STRIKER12"] = "668c68b90986da08fccc3b88";
})(WeapID || (exports.WeapID = WeapID = {}));
class Mod {
postDBLoad(container) {
const customitem = container.resolve("CustomItemService");
const databaseserver = container.resolve("DatabaseServer");
const db = databaseserver.getTables();
const globals = db.globals;
const MC = db.traders[Traders_1.Traders.MECHANIC].assort;
//---WEAPON LISTING AND ATTACHMENT---
const Piccatiny_Mount = {
itemTplToClone: "591ee00d86f774592f7b841e",
overrideProperties: {
Weight: 0.036,
ExaminedByDefault: false,
RaidModdable: false,
Width: 2,
Prefab: {
path: "assets/weapons/striker12/mod_mount_piccatiny_rail_striker_12.bundle",
rcid: ""
},
Slots: [
{
"_id": "picatinny_mod_scope",
"_mergeSlotWithChildren": false,
"_name": "mod_scope",
"_parent": WeapID.MOUNT_STRIKER12_PICATINY,
"_props": {
"filters": [
{
"Filter": [
"57ac965c24597706be5f975c",
"57aca93d2459771f2c7e26db",
"544a3f024bdc2d1d388b4568",
"544a3a774bdc2d3a388b4567",
"5d2dc3e548f035404a1a4798",
"57adff4f24597737f373b6e6",
"5c0517910db83400232ffee5",
"591c4efa86f7741030027726",
"570fd79bd2720bc7458b4583",
"570fd6c2d2720bc6458b457f",
"558022b54bdc2dac148b458d",
"5c07dd120db834001c39092d",
"5c0a2cec0db834001b7ce47d",
"58491f3324597764bc48fa02",
"584924ec24597768f12ae244",
"5b30b0dc5acfc400153b7124",
"6165ac8c290d254f5e6b2f6c",
"60a23797a37c940de7062d02",
"5d2da1e948f035477b1ce2ba",
"5c0505e00db834001b735073",
"609a63b6e2ff132951242d09",
"584984812459776a704a82a6",
"59f9d81586f7744c7506ee62",
"570fd721d2720bc5458b4596",
"57ae0171245977343c27bfcf",
"5d1b5e94d7ad1a2b865a96b0",
"609bab8b455afd752b2e6138",
"58d39d3d86f77445bb794ae7",
"616554fe50224f204c1da2aa",
"5c7d55f52e221644f31bff6a",
"616584766ef05c2ce828ef57",
"5b3b6dc75acfc47a8773fb1e",
"615d8d878004cc50514c3233",
"577d128124597739d65d0e56",
"5c064c400db834001d23f468",
"58d2664f86f7747fec5834f6",
"5c1cdd302e221602b3137250",
"61714b2467085e45ef140b2c",
"5b31163c5acfc400153b71cb",
"5a33b652c4a28232996e407c",
"5a33b2c9c4a282000c5a9511",
"59db7eed86f77461f8380365",
"5a1ead28fcdbcb001912fa9f",
"626bb8532c923541184624b4",
"63fc449f5bd61c6cf3784a88",
"6477772ea8a38bb2050ed4db",
"6478641c19d732620e045e17",
"64785e7c19d732620e045e15"
],
"Shift": 0
}
]
},
"_proto": "55d30c4c4bdc2db4468b457e",
"_required": false
},
{
"_id": "picatinny_rear_sight",
"_mergeSlotWithChildren": false,
"_name": "mod_sight_rear",
"_parent": WeapID.MOUNT_STRIKER12_PICATINY,
"_props": {
"filters": [
{
"Filter": [
WeapID.SIGHT_REAR_STRIKER12,
"5bb20e49d4351e3bac1212de",
"5ba26b17d4351e00367f9bdd",
"5dfa3d7ac41b2312ea33362a",
"5c1780312e221602b66cc189",
"5fb6564947ce63734e3fa1da",
"5bc09a18d4351e003562b68e",
"5c18b9192e2216398b5a8104",
"5fc0fa957283c4046c58147e",
"5894a81786f77427140b8347",
"55d5f46a4bdc2d1b198b4567",
"5ae30bad5acfc400185c2dc4"
],
"Shift": 0
}
]
},
"_proto": "55d30c4c4bdc2db4468b457e",
"_required": false
}
]
},
parentId: "55818b224bdc2dde698b456f",
newId: WeapID.MOUNT_STRIKER12_PICATINY,
handbookParentId: "5b5f755f86f77447ec5d770e",
handbookPriceRoubles: 6775,
fleaPriceRoubles: 9881,
locales: {
"en": {
name: "StrikeRail Picatinny Mount",
shortName: "SR-Picatinny Mount",
description: "A specialized accessory crafted specifically for the Armsel Striker shotgun, offering a wide range of optic customization options. This mount attaches securely to the shotgun's receiver, providing a standardized Picatinny rail interface. "
}
}
};
customitem.createItemFromClone(Piccatiny_Mount);
const striker_12 = {
itemTplToClone: "5a7828548dc32e5a9c28b516",
overrideProperties: {
Prefab: {
path: "assets/weapons/striker12/weapon_striker_12_container.bundle",
rcid: ""
},
aimingSensitivity: 0.54,
Width: 3,
Height: 2,
AllowFeed: false,
AllowJam: false,
AllowMisfire: false,
AllowSlide: false,
AimPlane: 0.05,
CenterOfImpact: 0.11,
shotgunDispersion: 1,
ShotgunDispersion: 1,
SingleFireRate: 500,
bFirerate: 500,
Velocity: 3.2,
DeviationMax: 8,
Ergonomics: 67,
isChamberLoad: true,
TacticalReloadFixation: 95,
TacticalReloadStiffnes: {
x: 0.85,
y: 0.80,
z: 0.95
},
ExaminedByDefault: false,
ExamineExperience: 18,
HeatFactorGun: 0.76,
IronSightRange: 50,
LootExperience: 25,
RecoilAngle: 87,
RecoilCenter: {
x: 0.007,
y: -0.26,
z: -0.068
},
RecoilForceUp: 520,
RecoilForceBack: 320,
RecoilCamera: 0.0087,
RecoilDampingHandRotation: 0.76,
RecoilReturnSpeedHandRotation: 4.75,
RecoilReturnPathDampingHandRotation: 0.47,
RecoilStableIndexShot: 6,
RecoilPosZMult: 1,
PostRecoilHorizontalRangeHandRotation: {
x: -2,
y: 0,
z: 0
},
PostRecoilVerticalRangeHandRotation: {
x: -2,
y: 1,
z: 0
},
RotationCenter: {
x: 0,
y: -0,
z: -0
},
RotationCenterNoStock: {
x: 0.007,
y: -0.26,
z: -0.068
},
Slots: [
{
"_id": "668c68c7a69b2dde82553d82",
"_mergeSlotWithChildren": false,
"_name": "mod_magazine",
"_parent": WeapID.WEAP_STRIKER12,
"_props": {
"filters": [
{
"AnimationIndex": 0,
"Filter": [
WeapID.MAG_STRIKER12
]
}
]
},
"_proto": "55d30c394bdc2dae468b4577",
"_required": true
},
{
"_id": "668c68e88a65124cff33dbbf",
"_mergeSlotWithChildren": false,
"_name": "mod_stock",
"_parent": WeapID.WEAP_STRIKER12,
"_props": {
"filters": [
{
"Filter": [
WeapID.STOCK_STRIKER12
],
"Shift": 0
}
]
},
"_proto": "55d30c4c4bdc2db4468b457e",
"_required": false
},
{
"_id": "668c68f746bfb7ea6a7700c5",
"_mergeSlotWithChildren": false,
"_name": "mod_mount",
"_parent": WeapID.WEAP_STRIKER12,
"_props": {
"filters": [
{
"Filter": [
WeapID.MOUNT_STRIKER12_PICATINY
],
"Shift": 0
}
]
},
"_proto": "55d30c4c4bdc2db4468b457e",
"_required": false
},
{
"_id": "668c69275fc4527c8c0a9ddb",
"_mergeSlotWithChildren": false,
"_name": "mod_sight_front",
"_parent": WeapID.WEAP_STRIKER12,
"_props": {
"filters": [
{
"Filter": [
WeapID.SIGHT_FRONT_STRIKER12
],
"Shift": 0
}
]
},
"_proto": "55d30c4c4bdc2db4468b457e",
"_required": false
}
],
Weight: 4.2,
ammoCaliber: "Caliber12g",
defAmmo: "560d5e524bdc2d25448b4571",
defMagType: WeapID.MAG_STRIKER12,
durabSpawnMax: 100,
durabSpawnMin: 35,
weapFireType: ["single"]
},
parentId: "5447b6094bdc2dc3278b4567",
newId: WeapID.WEAP_STRIKER12,
handbookParentId: "5b5f794b86f77409407a7f92",
handbookPriceRoubles: 23665,
fleaPriceRoubles: 28775,
locales: {
"en": {
name: "Armsel Striker 12 Gauge Cylinder Shotgun",
shortName: "Striker 12",
description: "Armsel Striker, also known by its nickname the \"Street Swiper\", was developed Hilton R. Walker, a Zimbabwean (formerly Rhodesian) citizen, in 1981. The shotgun is designed for riot control and combat while featuring a revolving cylinder mechanism. His shotgun became a success and was exported to various parts of the world, despite some drawbacks. The rotary cylinder was bulky, had a long reload time, and the basic action was not without certain flaws."
}
}
};
customitem.createItemFromClone(striker_12);
const armsel_mag = {
itemTplToClone: ItemTpl_1.ItemTpl.MAGAZINE_12G_M870X4_4RND,
overrideProperties: {
Cartridges: [
{
"_id": "5a7882dcc5856700177af663",
"_max_count": 11,
"_name": "cartridges",
"_parent": WeapID.MAG_STRIKER12,
"_props": {
"filters": [
{
"Filter": [
"560d5e524bdc2d25448b4571",
"5d6e6772a4b936088465b17c",
"5d6e67fba4b9361bc73bc779",
"5d6e6806a4b936088465b17e",
"5d6e68dea4b9361bcc29e659",
"5d6e6911a4b9361bd5780d52",
"5c0d591486f7744c505b416f",
"58820d1224597753c90aeb13",
"5d6e68c4a4b9361b93413f79",
"5d6e68a8a4b9360b6c0d54e2",
"5d6e68e6a4b9361c140bcfe0",
"5d6e6869a4b9361c140bcfde",
"5d6e68b3a4b9361bca7e50b5",
"5d6e6891a4b9361bd473feea",
"5d6e689ca4b9361bc8618956",
"5d6e68d1a4b93622fe60e845",
"64b8ee384b75259c590fa89b"
]
}
]
},
"_proto": "5748538b2459770af276a261"
}
],
ExaminedByDefault: false,
Ergonomics: -8,
Weight: 0.01,
ExamineExperience: 12,
Prefab: {
path: "assets/weapons/striker12/mod_magazine_striker_12.bundle",
rcid: ""
}
},
parentId: "5448bc234bdc2d3c308b4569",
newId: WeapID.MAG_STRIKER12,
handbookParentId: "5b5f754a86f774094242f19b",
handbookPriceRoubles: 2584,
fleaPriceRoubles: 3112,
locales: {
"en": {
name: "Armsel Striker 12-Round Cylinder Magazine",
shortName: "12-CM",
description: "A big and bulky internal revolving cylinder for the Armsel Striker. It can support up to 12 rounds (1 in chamber + 11 in magazine). It will take a while to reload such thing given the mechanism for it."
}
}
};
customitem.createItemFromClone(armsel_mag);
const striker_stock = {
itemTplToClone: "56083cba4bdc2de22e8b456f",
overrideProperties: {
Ergonomics: -10,
Weight: 0.33,
Width: 2,
Height: 1,
ExtraSizeRight: 1,
Recoil: -54,
ExamineExperience: 12,
Prefab: {
path: "assets/weapons/striker12/mod_stock_foldable_striker_12.bundle",
rcid: ""
},
ExaminedByDefault: false
},
parentId: "55818a594bdc2db9688b456a",
newId: WeapID.STOCK_STRIKER12,
handbookParentId: "5b5f757486f774093e6cb507",
handbookPriceRoubles: 2874,
fleaPriceRoubles: 3100,
locales: {
"en": {
name: "Armsel Striker Metal Stock",
shortName: "Striker Stock",
description: "A strong and robust metal stock fitted for the Armsel Striker. Provides good recoil control and stabilization, it can be a bit clunky with how long it is."
}
}
};
customitem.createItemFromClone(striker_stock);
const armsel_clamp_sight = {
itemTplToClone: "5bc09a30d4351e00367fb7c8",
overrideProperties: {
Ergonomics: -2,
Weight: 0.024,
Width: 1,
ConflictingItems: [
"570fd6c2d2720bc6458b457f",
"570fd79bd2720bc7458b4583",
"591c4efa86f7741030027726",
"57ac965c24597706be5f975c",
"57aca93d2459771f2c7e26db",
"59db7e1086f77448be30ddf3",
"5b30b0dc5acfc400153b7124",
"5b3b6dc75acfc47a8773fb1e",
"5c0505e00db834001b735073",
"5c0517910db83400232ffee5",
"5c064c400db834001d23f468",
"5c07dd120db834001c39092d",
"5c0a2cec0db834001b7ce47d",
"5d1b5e94d7ad1a2b865a96b0",
"609a63b6e2ff132951242d09",
"63fc449f5bd61c6cf3784a88"
],
Height: 1,
Prefab: {
path: "assets/weapons/striker12/mod_front_sight_striker_12.bundle",
rcid: ""
},
ExaminedByDefault: false
},
parentId: "55818ac54bdc2d5b648b456e",
newId: WeapID.SIGHT_FRONT_STRIKER12,
handbookParentId: "5b5f73ec86f774093e6cb4fd",
handbookPriceRoubles: 885,
fleaPriceRoubles: 910,
locales: {
"en": {
name: "Armsel Striker Front Sight Clamp",
shortName: "Striker Clamp",
description: "Front sight that can be clamped on the barrel where the receiver meet."
}
}
};
customitem.createItemFromClone(armsel_clamp_sight);
const armsel_rear_sight = {
itemTplToClone: "5894a81786f77427140b8347",
overrideProperties: {
Ergonomics: -1,
Weight: 0.018,
Width: 1,
Height: 1,
ConflictingItems: [
"59db7e1086f77448be30ddf3",
"5d1b5e94d7ad1a2b865a96b0"
],
Prefab: {
path: "assets/weapons/striker12/mod_rear_sight_striker_12.bundle",
rcid: ""
},
ExaminedByDefault: false
},
parentId: "55818ac54bdc2d5b648b456e",
newId: WeapID.SIGHT_REAR_STRIKER12,
handbookParentId: "5b5f73ec86f774093e6cb4fd",
handbookPriceRoubles: 885,
fleaPriceRoubles: 910,
locales: {
"en": {
name: "Armsel Striker Rear Sight",
shortName: "Striker Rear",
description: "Rear sight for the Armsel Striker, requires picatinny rail to be mounted."
}
}
};
customitem.createItemFromClone(armsel_rear_sight);
//---MASTERY AND TRADER---
//Global Weapon Preset
for (const itemPreset in global_item_preset_json_1.default.ItemPresets) {
globals.ItemPresets[itemPreset] = global_item_preset_json_1.default.ItemPresets[itemPreset];
}
//Trader Assort
MC.items.push(...Item_Preset_json_1.default.items);
for (const bsc in Item_Preset_json_1.default.barter_scheme) {
MC.barter_scheme[bsc] = Item_Preset_json_1.default.barter_scheme[bsc];
}
for (const llv in Item_Preset_json_1.default.loyal_level_items) {
MC.loyal_level_items[llv] = Item_Preset_json_1.default.loyal_level_items[llv];
}
//---For Other tidbits of manipulation---
db.templates.items[ItemTpl_1.ItemTpl.INVENTORY_DEFAULT]._props.Slots[0]._props.filters[0].Filter.push(WeapID.WEAP_STRIKER12);
db.templates.items[ItemTpl_1.ItemTpl.INVENTORY_DEFAULT]._props.Slots[1]._props.filters[0].Filter.push(WeapID.WEAP_STRIKER12);
/* const usec = db.bots.types["usec"];
const bear = db.bots.types["bear"];
usec.inventory.equipment.FirstPrimaryWeapon[WeapID.WEAP_STRIKER12] = 5;
usec.inventory.mods[WeapID.WEAP_STRIKER12] =
{
mod_stock: [WeapID.STOCK_STRIKER12],
mod_mount: [WeapID.MOUNT_STRIKER12_PICATINY],
mod_sight_front: [WeapID.SIGHT_FRONT_STRIKER12],
mod_magazine: [WeapID.MAG_STRIKER12],
patron_in_weapon: [
"560d5e524bdc2d25448b4571",
"5d6e6772a4b936088465b17c",
"5d6e67fba4b9361bc73bc779",
"5d6e6806a4b936088465b17e",
"5d6e68dea4b9361bcc29e659",
"5d6e6911a4b9361bd5780d52",
"5c0d591486f7744c505b416f",
"58820d1224597753c90aeb13",
"5d6e68c4a4b9361b93413f79",
"5d6e68a8a4b9360b6c0d54e2",
"5d6e68e6a4b9361c140bcfe0",
"5d6e6869a4b9361c140bcfde",
"5d6e68b3a4b9361bca7e50b5",
"5d6e6891a4b9361bd473feea",
"5d6e689ca4b9361bc8618956",
"5d6e68d1a4b93622fe60e845"
]
};
usec.inventory.mods[WeapID.MOUNT_STRIKER12_PICATINY] =
{
mod_scope: [
"57ac965c24597706be5f975c",
"57aca93d2459771f2c7e26db",
"544a3f024bdc2d1d388b4568",
"544a3a774bdc2d3a388b4567",
"5d2dc3e548f035404a1a4798",
"57adff4f24597737f373b6e6",
"5c0517910db83400232ffee5",
"591c4efa86f7741030027726",
"570fd79bd2720bc7458b4583",
"570fd6c2d2720bc6458b457f",
"558022b54bdc2dac148b458d",
"5c07dd120db834001c39092d",
"5c0a2cec0db834001b7ce47d",
"58491f3324597764bc48fa02",
"584924ec24597768f12ae244",
"5b30b0dc5acfc400153b7124",
"6165ac8c290d254f5e6b2f6c",
"60a23797a37c940de7062d02",
"5d2da1e948f035477b1ce2ba",
"5c0505e00db834001b735073",
"609a63b6e2ff132951242d09",
"584984812459776a704a82a6",
"59f9d81586f7744c7506ee62",
"570fd721d2720bc5458b4596",
"57ae0171245977343c27bfcf",
"5d1b5e94d7ad1a2b865a96b0",
"609bab8b455afd752b2e6138",
"58d39d3d86f77445bb794ae7",
"616554fe50224f204c1da2aa",
"5c7d55f52e221644f31bff6a",
"616584766ef05c2ce828ef57",
"5b3b6dc75acfc47a8773fb1e",
"615d8d878004cc50514c3233",
"577d128124597739d65d0e56",
"5c064c400db834001d23f468",
"58d2664f86f7747fec5834f6",
"5c1cdd302e221602b3137250",
"61714b2467085e45ef140b2c",
"5b31163c5acfc400153b71cb",
"5a33b652c4a28232996e407c",
"5a33b2c9c4a282000c5a9511",
"59db7eed86f77461f8380365",
"5a1ead28fcdbcb001912fa9f",
"626bb8532c923541184624b4",
"63fc449f5bd61c6cf3784a88",
"6477772ea8a38bb2050ed4db",
"6478641c19d732620e045e17",
"64785e7c19d732620e045e15"
],
mod_sight_rear: [
WeapID.SIGHT_REAR_STRIKER12,
"5bb20e49d4351e3bac1212de",
"5ba26b17d4351e00367f9bdd",
"5dfa3d7ac41b2312ea33362a",
"5c1780312e221602b66cc189",
"5fb6564947ce63734e3fa1da",
"5bc09a18d4351e003562b68e",
"5c18b9192e2216398b5a8104",
"5fc0fa957283c4046c58147e",
"5894a81786f77427140b8347",
"55d5f46a4bdc2d1b198b4567",
"5ae30bad5acfc400185c2dc4"
]
};
usec.inventory.mods[WeapID.MAG_STRIKER12] =
{
cartridges: [
"560d5e524bdc2d25448b4571",
"5d6e6772a4b936088465b17c",
"5d6e67fba4b9361bc73bc779",
"5d6e6806a4b936088465b17e",
"5d6e68dea4b9361bcc29e659",
"5d6e6911a4b9361bd5780d52",
"5c0d591486f7744c505b416f",
"58820d1224597753c90aeb13",
"5d6e68c4a4b9361b93413f79",
"5d6e68a8a4b9360b6c0d54e2",
"5d6e68e6a4b9361c140bcfe0",
"5d6e6869a4b9361c140bcfde",
"5d6e68b3a4b9361bca7e50b5",
"5d6e6891a4b9361bd473feea",
"5d6e689ca4b9361bc8618956",
"5d6e68d1a4b93622fe60e845"
]
};
bear.inventory.equipment.FirstPrimaryWeapon[WeapID.WEAP_STRIKER12] = 5;
bear.inventory.mods[WeapID.WEAP_STRIKER12] =
{
mod_stock: [WeapID.STOCK_STRIKER12],
mod_mount: [WeapID.MOUNT_STRIKER12_PICATINY],
mod_sight_front: [WeapID.SIGHT_FRONT_STRIKER12],
mod_magazine: [WeapID.MAG_STRIKER12],
patron_in_weapon: [
"560d5e524bdc2d25448b4571",
"5d6e6772a4b936088465b17c",
"5d6e67fba4b9361bc73bc779",
"5d6e6806a4b936088465b17e",
"5d6e68dea4b9361bcc29e659",
"5d6e6911a4b9361bd5780d52",
"5c0d591486f7744c505b416f",
"58820d1224597753c90aeb13",
"5d6e68c4a4b9361b93413f79",
"5d6e68a8a4b9360b6c0d54e2",
"5d6e68e6a4b9361c140bcfe0",
"5d6e6869a4b9361c140bcfde",
"5d6e68b3a4b9361bca7e50b5",
"5d6e6891a4b9361bd473feea",
"5d6e689ca4b9361bc8618956",
"5d6e68d1a4b93622fe60e845"
]
};
bear.inventory.mods[WeapID.MOUNT_STRIKER12_PICATINY] =
{
mod_scope: [
"57ac965c24597706be5f975c",
"57aca93d2459771f2c7e26db",
"544a3f024bdc2d1d388b4568",
"544a3a774bdc2d3a388b4567",
"5d2dc3e548f035404a1a4798",
"57adff4f24597737f373b6e6",
"5c0517910db83400232ffee5",
"591c4efa86f7741030027726",
"570fd79bd2720bc7458b4583",
"570fd6c2d2720bc6458b457f",
"558022b54bdc2dac148b458d",
"5c07dd120db834001c39092d",
"5c0a2cec0db834001b7ce47d",
"58491f3324597764bc48fa02",
"584924ec24597768f12ae244",
"5b30b0dc5acfc400153b7124",
"6165ac8c290d254f5e6b2f6c",
"60a23797a37c940de7062d02",
"5d2da1e948f035477b1ce2ba",
"5c0505e00db834001b735073",
"609a63b6e2ff132951242d09",
"584984812459776a704a82a6",
"59f9d81586f7744c7506ee62",
"570fd721d2720bc5458b4596",
"57ae0171245977343c27bfcf",
"5d1b5e94d7ad1a2b865a96b0",
"609bab8b455afd752b2e6138",
"58d39d3d86f77445bb794ae7",
"616554fe50224f204c1da2aa",
"5c7d55f52e221644f31bff6a",
"616584766ef05c2ce828ef57",
"5b3b6dc75acfc47a8773fb1e",
"615d8d878004cc50514c3233",
"577d128124597739d65d0e56",
"5c064c400db834001d23f468",
"58d2664f86f7747fec5834f6",
"5c1cdd302e221602b3137250",
"61714b2467085e45ef140b2c",
"5b31163c5acfc400153b71cb",
"5a33b652c4a28232996e407c",
"5a33b2c9c4a282000c5a9511",
"59db7eed86f77461f8380365",
"5a1ead28fcdbcb001912fa9f",
"626bb8532c923541184624b4",
"63fc449f5bd61c6cf3784a88",
"6477772ea8a38bb2050ed4db",
"6478641c19d732620e045e17",
"64785e7c19d732620e045e15"
],
mod_sight_rear: [
WeapID.SIGHT_REAR_STRIKER12,
"5bb20e49d4351e3bac1212de",
"5ba26b17d4351e00367f9bdd",
"5dfa3d7ac41b2312ea33362a",
"5c1780312e221602b66cc189",
"5fb6564947ce63734e3fa1da",
"5bc09a18d4351e003562b68e",
"5c18b9192e2216398b5a8104",
"5fc0fa957283c4046c58147e",
"5894a81786f77427140b8347",
"55d5f46a4bdc2d1b198b4567",
"5ae30bad5acfc400185c2dc4"
]
};
bear.inventory.mods[WeapID.MAG_STRIKER12] =
{
cartridges: [
"560d5e524bdc2d25448b4571",
"5d6e6772a4b936088465b17c",
"5d6e67fba4b9361bc73bc779",
"5d6e6806a4b936088465b17e",
"5d6e68dea4b9361bcc29e659",
"5d6e6911a4b9361bd5780d52",
"5c0d591486f7744c505b416f",
"58820d1224597753c90aeb13",
"5d6e68c4a4b9361b93413f79",
"5d6e68a8a4b9360b6c0d54e2",
"5d6e68e6a4b9361c140bcfe0",
"5d6e6869a4b9361c140bcfde",
"5d6e68b3a4b9361bca7e50b5",
"5d6e6891a4b9361bd473feea",
"5d6e689ca4b9361bc8618956",
"5d6e68d1a4b93622fe60e845"
]
}; */
//For next AKi update
customitem.addCustomWeaponToPMCs(WeapID.WEAP_STRIKER12, 6, "FirstPrimaryWeapon");
db.templates.quests["5a03153686f77442d90e2171"].conditions.AvailableForFinish[0].counter.conditions[0].weapon.push(WeapID.WEAP_STRIKER12);
}
}
exports.mod = new Mod();
//# sourceMappingURL=mod.js.map
File diff suppressed because one or more lines are too long
@@ -0,0 +1,774 @@
/* eslint-disable @typescript-eslint/indent */
/* eslint-disable @typescript-eslint/naming-convention */
import { DependencyContainer } from "tsyringe";
import { IPostDBLoadMod } from "@spt/models/external/IPostDBLoadMod";
import { CustomItemService } from "@spt/services/mod/CustomItemService";
import { NewItemFromCloneDetails } from "@spt/models/spt/mod/NewItemDetails";
import { DatabaseServer } from "@spt/servers/DatabaseServer";
import { ItemTpl } from "@spt/models/enums/ItemTpl";
import { Traders } from "@spt/models/enums/Traders";
import preset_file from "../src/Item_Preset.json";
import global_preset_file from "../src/global_item_preset.json";
export enum WeapID {
MOUNT_STRIKER12_PICATINY = "668c68aa2e09beec5a6e9154",
WEAP_STRIKER12 = "668c68adb49c8d5089331ec9",
MAG_STRIKER12 = "668c68b1e0d0f96066595fa2",
STOCK_STRIKER12 = "668c68b33a252358c049a4c8",
SIGHT_FRONT_STRIKER12 = "668c68b67096754b726a9734",
SIGHT_REAR_STRIKER12 = "668c68b90986da08fccc3b88"
}
class Mod implements IPostDBLoadMod
{
public postDBLoad(container: DependencyContainer): void
{
const customitem = container.resolve<CustomItemService>("CustomItemService");
const databaseserver = container.resolve<DatabaseServer>("DatabaseServer");
const db = databaseserver.getTables()
const globals = db.globals;
const MC = db.traders[Traders.MECHANIC].assort;
//---WEAPON LISTING AND ATTACHMENT---
const Piccatiny_Mount: NewItemFromCloneDetails ={
itemTplToClone: "591ee00d86f774592f7b841e",
overrideProperties: {
Weight: 0.036,
ExaminedByDefault: false,
RaidModdable: false,
Width: 2,
Prefab: {
path: "assets/weapons/striker12/mod_mount_piccatiny_rail_striker_12.bundle",
rcid: ""
},
Slots: [
{
"_id": "picatinny_mod_scope",
"_mergeSlotWithChildren": false,
"_name": "mod_scope",
"_parent": WeapID.MOUNT_STRIKER12_PICATINY,
"_props": {
"filters": [
{
"Filter":
[
"57ac965c24597706be5f975c",
"57aca93d2459771f2c7e26db",
"544a3f024bdc2d1d388b4568",
"544a3a774bdc2d3a388b4567",
"5d2dc3e548f035404a1a4798",
"57adff4f24597737f373b6e6",
"5c0517910db83400232ffee5",
"591c4efa86f7741030027726",
"570fd79bd2720bc7458b4583",
"570fd6c2d2720bc6458b457f",
"558022b54bdc2dac148b458d",
"5c07dd120db834001c39092d",
"5c0a2cec0db834001b7ce47d",
"58491f3324597764bc48fa02",
"584924ec24597768f12ae244",
"5b30b0dc5acfc400153b7124",
"6165ac8c290d254f5e6b2f6c",
"60a23797a37c940de7062d02",
"5d2da1e948f035477b1ce2ba",
"5c0505e00db834001b735073",
"609a63b6e2ff132951242d09",
"584984812459776a704a82a6",
"59f9d81586f7744c7506ee62",
"570fd721d2720bc5458b4596",
"57ae0171245977343c27bfcf",
"5d1b5e94d7ad1a2b865a96b0",
"609bab8b455afd752b2e6138",
"58d39d3d86f77445bb794ae7",
"616554fe50224f204c1da2aa",
"5c7d55f52e221644f31bff6a",
"616584766ef05c2ce828ef57",
"5b3b6dc75acfc47a8773fb1e",
"615d8d878004cc50514c3233",
"577d128124597739d65d0e56",
"5c064c400db834001d23f468",
"58d2664f86f7747fec5834f6",
"5c1cdd302e221602b3137250",
"61714b2467085e45ef140b2c",
"5b31163c5acfc400153b71cb",
"5a33b652c4a28232996e407c",
"5a33b2c9c4a282000c5a9511",
"59db7eed86f77461f8380365",
"5a1ead28fcdbcb001912fa9f",
"626bb8532c923541184624b4",
"63fc449f5bd61c6cf3784a88",
"6477772ea8a38bb2050ed4db",
"6478641c19d732620e045e17",
"64785e7c19d732620e045e15"
],
"Shift": 0
}
]
},
"_proto": "55d30c4c4bdc2db4468b457e",
"_required": false
},
{
"_id": "picatinny_rear_sight",
"_mergeSlotWithChildren": false,
"_name": "mod_sight_rear",
"_parent": WeapID.MOUNT_STRIKER12_PICATINY,
"_props": {
"filters": [
{
"Filter":
[
WeapID.SIGHT_REAR_STRIKER12,
"5bb20e49d4351e3bac1212de",
"5ba26b17d4351e00367f9bdd",
"5dfa3d7ac41b2312ea33362a",
"5c1780312e221602b66cc189",
"5fb6564947ce63734e3fa1da",
"5bc09a18d4351e003562b68e",
"5c18b9192e2216398b5a8104",
"5fc0fa957283c4046c58147e",
"5894a81786f77427140b8347",
"55d5f46a4bdc2d1b198b4567",
"5ae30bad5acfc400185c2dc4"
],
"Shift": 0
}
]
},
"_proto": "55d30c4c4bdc2db4468b457e",
"_required": false
}
]
},
parentId: "55818b224bdc2dde698b456f",
newId: WeapID.MOUNT_STRIKER12_PICATINY,
handbookParentId: "5b5f755f86f77447ec5d770e",
handbookPriceRoubles: 6775,
fleaPriceRoubles: 9881,
locales: {
"en": {
name: "StrikeRail Picatinny Mount",
shortName: "SR-Picatinny Mount",
description: "A specialized accessory crafted specifically for the Armsel Striker shotgun, offering a wide range of optic customization options. This mount attaches securely to the shotgun's receiver, providing a standardized Picatinny rail interface. "
}
}
}
customitem.createItemFromClone(Piccatiny_Mount);
const striker_12: NewItemFromCloneDetails = {
itemTplToClone: "5a7828548dc32e5a9c28b516",
overrideProperties: {
Prefab: {
path: "assets/weapons/striker12/weapon_striker_12_container.bundle",
rcid: ""
},
aimingSensitivity: 0.54,
Width: 3,
Height: 2,
AllowFeed: false,
AllowJam: false,
AllowMisfire: false,
AllowSlide: false,
AimPlane: 0.05,
CenterOfImpact: 0.11,
shotgunDispersion: 1,
ShotgunDispersion: 1,
SingleFireRate: 500,
bFirerate: 500,
Velocity: 3.2,
DeviationMax: 8,
Ergonomics: 67,
isChamberLoad: true,
TacticalReloadFixation: 95,
TacticalReloadStiffnes:
{
x: 0.85,
y: 0.80,
z: 0.95
},
ExaminedByDefault: false,
ExamineExperience: 18,
HeatFactorGun: 0.76,
IronSightRange: 50,
LootExperience: 25,
RecoilAngle: 87,
RecoilCenter:
{
x: 0.007,
y: -0.26,
z: -0.068
},
RecoilForceUp: 520,
RecoilForceBack: 320,
RecoilCamera: 0.0087,
RecoilDampingHandRotation: 0.76,
RecoilReturnSpeedHandRotation: 4.75,
RecoilReturnPathDampingHandRotation: 0.47,
RecoilStableIndexShot: 6,
RecoilPosZMult: 1,
PostRecoilHorizontalRangeHandRotation:
{
x: -2,
y: 0,
z: 0
},
PostRecoilVerticalRangeHandRotation:
{
x: -2,
y: 1,
z: 0
},
RotationCenter:
{
x: 0,
y: -0,
z: -0
},
RotationCenterNoStock:
{
x: 0.007,
y: -0.26,
z: -0.068
},
Slots: [
{
"_id": "668c68c7a69b2dde82553d82",
"_mergeSlotWithChildren": false,
"_name": "mod_magazine",
"_parent": WeapID.WEAP_STRIKER12,
"_props": {
"filters": [
{
"AnimationIndex": 0,
"Filter": [
WeapID.MAG_STRIKER12
]
}
]
},
"_proto": "55d30c394bdc2dae468b4577",
"_required": true
},
{
"_id": "668c68e88a65124cff33dbbf",
"_mergeSlotWithChildren": false,
"_name": "mod_stock",
"_parent": WeapID.WEAP_STRIKER12,
"_props": {
"filters": [
{
"Filter": [
WeapID.STOCK_STRIKER12
],
"Shift": 0
}
]
},
"_proto": "55d30c4c4bdc2db4468b457e",
"_required": false
},
{
"_id": "668c68f746bfb7ea6a7700c5",
"_mergeSlotWithChildren": false,
"_name": "mod_mount",
"_parent": WeapID.WEAP_STRIKER12,
"_props": {
"filters": [
{
"Filter": [
WeapID.MOUNT_STRIKER12_PICATINY
],
"Shift": 0
}
]
},
"_proto": "55d30c4c4bdc2db4468b457e",
"_required": false
},
{
"_id": "668c69275fc4527c8c0a9ddb",
"_mergeSlotWithChildren": false,
"_name": "mod_sight_front",
"_parent": WeapID.WEAP_STRIKER12,
"_props": {
"filters": [
{
"Filter": [
WeapID.SIGHT_FRONT_STRIKER12
],
"Shift": 0
}
]
},
"_proto": "55d30c4c4bdc2db4468b457e",
"_required": false
}
],
Weight: 4.2,
ammoCaliber: "Caliber12g",
defAmmo: "560d5e524bdc2d25448b4571",
defMagType: WeapID.MAG_STRIKER12,
durabSpawnMax: 100,
durabSpawnMin: 35,
weapFireType: ["single"]
},
parentId: "5447b6094bdc2dc3278b4567",
newId: WeapID.WEAP_STRIKER12,
handbookParentId: "5b5f794b86f77409407a7f92",
handbookPriceRoubles: 23665,
fleaPriceRoubles: 28775,
locales: {
"en": {
name: "Armsel Striker 12 Gauge Cylinder Shotgun",
shortName: "Striker 12",
description: "Armsel Striker, also known by its nickname the \"Street Swiper\", was developed Hilton R. Walker, a Zimbabwean (formerly Rhodesian) citizen, in 1981. The shotgun is designed for riot control and combat while featuring a revolving cylinder mechanism. His shotgun became a success and was exported to various parts of the world, despite some drawbacks. The rotary cylinder was bulky, had a long reload time, and the basic action was not without certain flaws."
}
}
}
customitem.createItemFromClone(striker_12);
const armsel_mag: NewItemFromCloneDetails= {
itemTplToClone: ItemTpl.MAGAZINE_12G_M870X4_4RND,
overrideProperties: {
Cartridges: [
{
"_id": "5a7882dcc5856700177af663",
"_max_count": 11,
"_name": "cartridges",
"_parent": WeapID.MAG_STRIKER12,
"_props": {
"filters": [
{
"Filter": [
"560d5e524bdc2d25448b4571",
"5d6e6772a4b936088465b17c",
"5d6e67fba4b9361bc73bc779",
"5d6e6806a4b936088465b17e",
"5d6e68dea4b9361bcc29e659",
"5d6e6911a4b9361bd5780d52",
"5c0d591486f7744c505b416f",
"58820d1224597753c90aeb13",
"5d6e68c4a4b9361b93413f79",
"5d6e68a8a4b9360b6c0d54e2",
"5d6e68e6a4b9361c140bcfe0",
"5d6e6869a4b9361c140bcfde",
"5d6e68b3a4b9361bca7e50b5",
"5d6e6891a4b9361bd473feea",
"5d6e689ca4b9361bc8618956",
"5d6e68d1a4b93622fe60e845",
"64b8ee384b75259c590fa89b"
]
}
]
},
"_proto": "5748538b2459770af276a261"
}
],
ExaminedByDefault: false,
Ergonomics: -8,
Weight: 0.01,
ExamineExperience: 12,
Prefab:
{
path: "assets/weapons/striker12/mod_magazine_striker_12.bundle",
rcid: ""
}
},
parentId: "5448bc234bdc2d3c308b4569",
newId: WeapID.MAG_STRIKER12,
handbookParentId: "5b5f754a86f774094242f19b",
handbookPriceRoubles: 2584,
fleaPriceRoubles: 3112,
locales: {
"en": {
name: "Armsel Striker 12-Round Cylinder Magazine",
shortName: "12-CM",
description: "A big and bulky internal revolving cylinder for the Armsel Striker. It can support up to 12 rounds (1 in chamber + 11 in magazine). It will take a while to reload such thing given the mechanism for it."
}
}
}
customitem.createItemFromClone(armsel_mag);
const striker_stock: NewItemFromCloneDetails= {
itemTplToClone: "56083cba4bdc2de22e8b456f",
overrideProperties: {
Ergonomics: -10,
Weight: 0.33,
Width: 2,
Height: 1,
ExtraSizeRight: 1,
Recoil: -54,
ExamineExperience: 12,
Prefab:
{
path: "assets/weapons/striker12/mod_stock_foldable_striker_12.bundle",
rcid: ""
},
ExaminedByDefault: false
},
parentId: "55818a594bdc2db9688b456a",
newId: WeapID.STOCK_STRIKER12,
handbookParentId: "5b5f757486f774093e6cb507",
handbookPriceRoubles: 2874,
fleaPriceRoubles: 3100,
locales: {
"en": {
name: "Armsel Striker Metal Stock",
shortName: "Striker Stock",
description: "A strong and robust metal stock fitted for the Armsel Striker. Provides good recoil control and stabilization, it can be a bit clunky with how long it is."
}
}
}
customitem.createItemFromClone(striker_stock);
const armsel_clamp_sight: NewItemFromCloneDetails= {
itemTplToClone: "5bc09a30d4351e00367fb7c8",
overrideProperties: {
Ergonomics: -2,
Weight: 0.024,
Width: 1,
ConflictingItems: [
"570fd6c2d2720bc6458b457f",
"570fd79bd2720bc7458b4583",
"591c4efa86f7741030027726",
"57ac965c24597706be5f975c",
"57aca93d2459771f2c7e26db",
"59db7e1086f77448be30ddf3",
"5b30b0dc5acfc400153b7124",
"5b3b6dc75acfc47a8773fb1e",
"5c0505e00db834001b735073",
"5c0517910db83400232ffee5",
"5c064c400db834001d23f468",
"5c07dd120db834001c39092d",
"5c0a2cec0db834001b7ce47d",
"5d1b5e94d7ad1a2b865a96b0",
"609a63b6e2ff132951242d09",
"63fc449f5bd61c6cf3784a88"
],
Height: 1,
Prefab:
{
path: "assets/weapons/striker12/mod_front_sight_striker_12.bundle",
rcid: ""
},
ExaminedByDefault: false
},
parentId: "55818ac54bdc2d5b648b456e",
newId: WeapID.SIGHT_FRONT_STRIKER12,
handbookParentId: "5b5f73ec86f774093e6cb4fd",
handbookPriceRoubles: 885,
fleaPriceRoubles: 910,
locales: {
"en": {
name: "Armsel Striker Front Sight Clamp",
shortName: "Striker Clamp",
description: "Front sight that can be clamped on the barrel where the receiver meet."
}
}
}
customitem.createItemFromClone(armsel_clamp_sight);
const armsel_rear_sight: NewItemFromCloneDetails= {
itemTplToClone: "5894a81786f77427140b8347",
overrideProperties: {
Ergonomics: -1,
Weight: 0.018,
Width: 1,
Height: 1,
ConflictingItems: [
"59db7e1086f77448be30ddf3",
"5d1b5e94d7ad1a2b865a96b0"
],
Prefab:
{
path: "assets/weapons/striker12/mod_rear_sight_striker_12.bundle",
rcid: ""
},
ExaminedByDefault: false
},
parentId: "55818ac54bdc2d5b648b456e",
newId: WeapID.SIGHT_REAR_STRIKER12,
handbookParentId: "5b5f73ec86f774093e6cb4fd",
handbookPriceRoubles: 885,
fleaPriceRoubles: 910,
locales: {
"en": {
name: "Armsel Striker Rear Sight",
shortName: "Striker Rear",
description: "Rear sight for the Armsel Striker, requires picatinny rail to be mounted."
}
}
}
customitem.createItemFromClone(armsel_rear_sight);
//---MASTERY AND TRADER---
//Global Weapon Preset
for (const itemPreset in global_preset_file.ItemPresets)
{
globals.ItemPresets[itemPreset] = global_preset_file.ItemPresets[itemPreset];
}
//Trader Assort
MC.items.push(...preset_file.items);
for (const bsc in preset_file.barter_scheme)
{
MC.barter_scheme[bsc] = preset_file.barter_scheme[bsc];
}
for (const llv in preset_file.loyal_level_items)
{
MC.loyal_level_items[llv] = preset_file.loyal_level_items[llv];
}
//---For Other tidbits of manipulation---
db.templates.items[ItemTpl.INVENTORY_DEFAULT]._props.Slots[0]._props.filters[0].Filter.push(WeapID.WEAP_STRIKER12);
db.templates.items[ItemTpl.INVENTORY_DEFAULT]._props.Slots[1]._props.filters[0].Filter.push(WeapID.WEAP_STRIKER12);
/* const usec = db.bots.types["usec"];
const bear = db.bots.types["bear"];
usec.inventory.equipment.FirstPrimaryWeapon[WeapID.WEAP_STRIKER12] = 5;
usec.inventory.mods[WeapID.WEAP_STRIKER12] =
{
mod_stock: [WeapID.STOCK_STRIKER12],
mod_mount: [WeapID.MOUNT_STRIKER12_PICATINY],
mod_sight_front: [WeapID.SIGHT_FRONT_STRIKER12],
mod_magazine: [WeapID.MAG_STRIKER12],
patron_in_weapon: [
"560d5e524bdc2d25448b4571",
"5d6e6772a4b936088465b17c",
"5d6e67fba4b9361bc73bc779",
"5d6e6806a4b936088465b17e",
"5d6e68dea4b9361bcc29e659",
"5d6e6911a4b9361bd5780d52",
"5c0d591486f7744c505b416f",
"58820d1224597753c90aeb13",
"5d6e68c4a4b9361b93413f79",
"5d6e68a8a4b9360b6c0d54e2",
"5d6e68e6a4b9361c140bcfe0",
"5d6e6869a4b9361c140bcfde",
"5d6e68b3a4b9361bca7e50b5",
"5d6e6891a4b9361bd473feea",
"5d6e689ca4b9361bc8618956",
"5d6e68d1a4b93622fe60e845"
]
};
usec.inventory.mods[WeapID.MOUNT_STRIKER12_PICATINY] =
{
mod_scope: [
"57ac965c24597706be5f975c",
"57aca93d2459771f2c7e26db",
"544a3f024bdc2d1d388b4568",
"544a3a774bdc2d3a388b4567",
"5d2dc3e548f035404a1a4798",
"57adff4f24597737f373b6e6",
"5c0517910db83400232ffee5",
"591c4efa86f7741030027726",
"570fd79bd2720bc7458b4583",
"570fd6c2d2720bc6458b457f",
"558022b54bdc2dac148b458d",
"5c07dd120db834001c39092d",
"5c0a2cec0db834001b7ce47d",
"58491f3324597764bc48fa02",
"584924ec24597768f12ae244",
"5b30b0dc5acfc400153b7124",
"6165ac8c290d254f5e6b2f6c",
"60a23797a37c940de7062d02",
"5d2da1e948f035477b1ce2ba",
"5c0505e00db834001b735073",
"609a63b6e2ff132951242d09",
"584984812459776a704a82a6",
"59f9d81586f7744c7506ee62",
"570fd721d2720bc5458b4596",
"57ae0171245977343c27bfcf",
"5d1b5e94d7ad1a2b865a96b0",
"609bab8b455afd752b2e6138",
"58d39d3d86f77445bb794ae7",
"616554fe50224f204c1da2aa",
"5c7d55f52e221644f31bff6a",
"616584766ef05c2ce828ef57",
"5b3b6dc75acfc47a8773fb1e",
"615d8d878004cc50514c3233",
"577d128124597739d65d0e56",
"5c064c400db834001d23f468",
"58d2664f86f7747fec5834f6",
"5c1cdd302e221602b3137250",
"61714b2467085e45ef140b2c",
"5b31163c5acfc400153b71cb",
"5a33b652c4a28232996e407c",
"5a33b2c9c4a282000c5a9511",
"59db7eed86f77461f8380365",
"5a1ead28fcdbcb001912fa9f",
"626bb8532c923541184624b4",
"63fc449f5bd61c6cf3784a88",
"6477772ea8a38bb2050ed4db",
"6478641c19d732620e045e17",
"64785e7c19d732620e045e15"
],
mod_sight_rear: [
WeapID.SIGHT_REAR_STRIKER12,
"5bb20e49d4351e3bac1212de",
"5ba26b17d4351e00367f9bdd",
"5dfa3d7ac41b2312ea33362a",
"5c1780312e221602b66cc189",
"5fb6564947ce63734e3fa1da",
"5bc09a18d4351e003562b68e",
"5c18b9192e2216398b5a8104",
"5fc0fa957283c4046c58147e",
"5894a81786f77427140b8347",
"55d5f46a4bdc2d1b198b4567",
"5ae30bad5acfc400185c2dc4"
]
};
usec.inventory.mods[WeapID.MAG_STRIKER12] =
{
cartridges: [
"560d5e524bdc2d25448b4571",
"5d6e6772a4b936088465b17c",
"5d6e67fba4b9361bc73bc779",
"5d6e6806a4b936088465b17e",
"5d6e68dea4b9361bcc29e659",
"5d6e6911a4b9361bd5780d52",
"5c0d591486f7744c505b416f",
"58820d1224597753c90aeb13",
"5d6e68c4a4b9361b93413f79",
"5d6e68a8a4b9360b6c0d54e2",
"5d6e68e6a4b9361c140bcfe0",
"5d6e6869a4b9361c140bcfde",
"5d6e68b3a4b9361bca7e50b5",
"5d6e6891a4b9361bd473feea",
"5d6e689ca4b9361bc8618956",
"5d6e68d1a4b93622fe60e845"
]
};
bear.inventory.equipment.FirstPrimaryWeapon[WeapID.WEAP_STRIKER12] = 5;
bear.inventory.mods[WeapID.WEAP_STRIKER12] =
{
mod_stock: [WeapID.STOCK_STRIKER12],
mod_mount: [WeapID.MOUNT_STRIKER12_PICATINY],
mod_sight_front: [WeapID.SIGHT_FRONT_STRIKER12],
mod_magazine: [WeapID.MAG_STRIKER12],
patron_in_weapon: [
"560d5e524bdc2d25448b4571",
"5d6e6772a4b936088465b17c",
"5d6e67fba4b9361bc73bc779",
"5d6e6806a4b936088465b17e",
"5d6e68dea4b9361bcc29e659",
"5d6e6911a4b9361bd5780d52",
"5c0d591486f7744c505b416f",
"58820d1224597753c90aeb13",
"5d6e68c4a4b9361b93413f79",
"5d6e68a8a4b9360b6c0d54e2",
"5d6e68e6a4b9361c140bcfe0",
"5d6e6869a4b9361c140bcfde",
"5d6e68b3a4b9361bca7e50b5",
"5d6e6891a4b9361bd473feea",
"5d6e689ca4b9361bc8618956",
"5d6e68d1a4b93622fe60e845"
]
};
bear.inventory.mods[WeapID.MOUNT_STRIKER12_PICATINY] =
{
mod_scope: [
"57ac965c24597706be5f975c",
"57aca93d2459771f2c7e26db",
"544a3f024bdc2d1d388b4568",
"544a3a774bdc2d3a388b4567",
"5d2dc3e548f035404a1a4798",
"57adff4f24597737f373b6e6",
"5c0517910db83400232ffee5",
"591c4efa86f7741030027726",
"570fd79bd2720bc7458b4583",
"570fd6c2d2720bc6458b457f",
"558022b54bdc2dac148b458d",
"5c07dd120db834001c39092d",
"5c0a2cec0db834001b7ce47d",
"58491f3324597764bc48fa02",
"584924ec24597768f12ae244",
"5b30b0dc5acfc400153b7124",
"6165ac8c290d254f5e6b2f6c",
"60a23797a37c940de7062d02",
"5d2da1e948f035477b1ce2ba",
"5c0505e00db834001b735073",
"609a63b6e2ff132951242d09",
"584984812459776a704a82a6",
"59f9d81586f7744c7506ee62",
"570fd721d2720bc5458b4596",
"57ae0171245977343c27bfcf",
"5d1b5e94d7ad1a2b865a96b0",
"609bab8b455afd752b2e6138",
"58d39d3d86f77445bb794ae7",
"616554fe50224f204c1da2aa",
"5c7d55f52e221644f31bff6a",
"616584766ef05c2ce828ef57",
"5b3b6dc75acfc47a8773fb1e",
"615d8d878004cc50514c3233",
"577d128124597739d65d0e56",
"5c064c400db834001d23f468",
"58d2664f86f7747fec5834f6",
"5c1cdd302e221602b3137250",
"61714b2467085e45ef140b2c",
"5b31163c5acfc400153b71cb",
"5a33b652c4a28232996e407c",
"5a33b2c9c4a282000c5a9511",
"59db7eed86f77461f8380365",
"5a1ead28fcdbcb001912fa9f",
"626bb8532c923541184624b4",
"63fc449f5bd61c6cf3784a88",
"6477772ea8a38bb2050ed4db",
"6478641c19d732620e045e17",
"64785e7c19d732620e045e15"
],
mod_sight_rear: [
WeapID.SIGHT_REAR_STRIKER12,
"5bb20e49d4351e3bac1212de",
"5ba26b17d4351e00367f9bdd",
"5dfa3d7ac41b2312ea33362a",
"5c1780312e221602b66cc189",
"5fb6564947ce63734e3fa1da",
"5bc09a18d4351e003562b68e",
"5c18b9192e2216398b5a8104",
"5fc0fa957283c4046c58147e",
"5894a81786f77427140b8347",
"55d5f46a4bdc2d1b198b4567",
"5ae30bad5acfc400185c2dc4"
]
};
bear.inventory.mods[WeapID.MAG_STRIKER12] =
{
cartridges: [
"560d5e524bdc2d25448b4571",
"5d6e6772a4b936088465b17c",
"5d6e67fba4b9361bc73bc779",
"5d6e6806a4b936088465b17e",
"5d6e68dea4b9361bcc29e659",
"5d6e6911a4b9361bd5780d52",
"5c0d591486f7744c505b416f",
"58820d1224597753c90aeb13",
"5d6e68c4a4b9361b93413f79",
"5d6e68a8a4b9360b6c0d54e2",
"5d6e68e6a4b9361c140bcfe0",
"5d6e6869a4b9361c140bcfde",
"5d6e68b3a4b9361bca7e50b5",
"5d6e6891a4b9361bd473feea",
"5d6e689ca4b9361bc8618956",
"5d6e68d1a4b93622fe60e845"
]
}; */
//For next AKi update
customitem.addCustomWeaponToPMCs(WeapID.WEAP_STRIKER12, 6, "FirstPrimaryWeapon");
db.templates.quests["5a03153686f77442d90e2171"].conditions.AvailableForFinish[0].counter.conditions[0].weapon.push(WeapID.WEAP_STRIKER12);
}
}
export const mod = new Mod();