Archived
Complete Remake of the Modpack
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
[General]
|
||||
gameName=spt
|
||||
modid=0
|
||||
version=d2025.5.14.0
|
||||
newestVersion=
|
||||
category="-1,"
|
||||
nexusFileStatus=1
|
||||
installationFile=choccy-ksg12-1.0.7.zip
|
||||
repository=Nexus
|
||||
ignoredVersion=
|
||||
comments=
|
||||
notes=
|
||||
nexusDescription=
|
||||
url=
|
||||
hasCustomURL=false
|
||||
lastNexusQuery=
|
||||
lastNexusUpdate=
|
||||
nexusLastModified=2025-05-14T13:44:40Z
|
||||
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
|
||||
/modules.xml
|
||||
/.idea.Choccy-KSG12.iml
|
||||
/contentModel.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,43 @@
|
||||
{
|
||||
"manifest": [
|
||||
{
|
||||
"key": "ksg12/client_assets.bundle",
|
||||
"dependencyKeys": [
|
||||
"ksg12/texture.bundle",
|
||||
"cubemaps",
|
||||
"shaders"
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "ksg12/texture.bundle",
|
||||
"dependencyKeys": [
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "ksg12/ksg12_bank.bundle",
|
||||
"dependencyKeys": [
|
||||
"assets/content/audio/blendoptions/assets.bundle"
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "ksg12/mod_magazine_ksg_12g_tube_cap.bundle",
|
||||
"dependencyKeys": [
|
||||
"ksg12/client_assets.bundle"
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "ksg12/weapon_keltec_ksg_12g_container.bundle",
|
||||
"dependencyKeys": [
|
||||
"assets/content/audio/weapons/generic",
|
||||
"assets/content/weapons/additional_hands/client_assets.bundle",
|
||||
"assets/content/weapons/weapon_root_anim_fix.bundle",
|
||||
"assets/content/weapons/wip/kibas tuning prefabs/muzzlejets_templates/default_assets.bundle",
|
||||
"assets/systems/effects/heathaze/defaultheathaze.bundle",
|
||||
"assets/systems/effects/muzzleflash/muzzleflash.bundle",
|
||||
"assets/systems/effects/smoke.bundle",
|
||||
"ksg12/client_assets.bundle",
|
||||
"ksg12/ksg12_bank.bundle"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
Binary file not shown.
Binary file not shown.
LFS
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"name": "KSG12",
|
||||
"version": "1.0.7",
|
||||
"main": "src/mod.js",
|
||||
"license": "CC-BY 3.0",
|
||||
"author": "Choccy",
|
||||
"isBundleMod": true,
|
||||
"sptVersion": "~3.11",
|
||||
"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,227 @@
|
||||
{
|
||||
"items": [
|
||||
{
|
||||
"_id": "66cf2a5d69fb0c98e6a9411b",
|
||||
"_tpl": "66ce63fe2fce038160aa9ac6",
|
||||
"parentId": "hideout",
|
||||
"slotId": "hideout",
|
||||
"upd": {
|
||||
"UnlimitedCount": true,
|
||||
"StackObjectsCount": 7531
|
||||
}
|
||||
},
|
||||
{
|
||||
"_id": "66cf2a631e3685e558dce877",
|
||||
"_tpl": "66ce64029424740723b70288",
|
||||
"parentId": "66cf2a5d69fb0c98e6a9411b",
|
||||
"slotId": "mod_magazine"
|
||||
},
|
||||
{
|
||||
"_id": "66cf2a6538a0af9020433ac3",
|
||||
"_tpl": "5bc09a18d4351e003562b68e",
|
||||
"parentId": "66cf2a5d69fb0c98e6a9411b",
|
||||
"slotId": "mod_sight_rear"
|
||||
},
|
||||
{
|
||||
"_id": "66cf28bf10ea8b6a8a8eafb9",
|
||||
"_tpl": "5bc09a30d4351e00367fb7c8",
|
||||
"parentId": "66cf2a5d69fb0c98e6a9411b",
|
||||
"slotId": "mod_sight_front"
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"_id": "66cf2b200dd2c22301adbc21",
|
||||
"_tpl": "66ce63fe2fce038160aa9ac6",
|
||||
"parentId": "hideout",
|
||||
"slotId": "hideout",
|
||||
"upd": {
|
||||
"UnlimitedCount": true,
|
||||
"StackObjectsCount": 5532
|
||||
}
|
||||
},
|
||||
{
|
||||
"_id": "66cf2b252936b5de9c70a136",
|
||||
"_tpl": "66ce64029424740723b70288",
|
||||
"parentId": "66cf2b200dd2c22301adbc21",
|
||||
"slotId": "mod_magazine"
|
||||
},
|
||||
{
|
||||
"_id": "66cf2b27e4995dc333ecfeda",
|
||||
"_tpl": "584924ec24597768f12ae244",
|
||||
"parentId": "66cf2b200dd2c22301adbc21",
|
||||
"slotId": "mod_scope"
|
||||
},
|
||||
{
|
||||
"_id": "66cf2b2883787f00d44d4ad4",
|
||||
"_tpl": "5c87ca002e221600114cb150",
|
||||
"parentId": "66cf2b200dd2c22301adbc21",
|
||||
"slotId": "mod_foregrip"
|
||||
},
|
||||
{
|
||||
"_id": "66cf2b2a62a0de6a3dceca0c",
|
||||
"_tpl": "5bc09a18d4351e003562b68e",
|
||||
"parentId": "66cf2b200dd2c22301adbc21",
|
||||
"slotId": "mod_sight_rear"
|
||||
},
|
||||
{
|
||||
"_id": "66cf2b2c6c10fa1a3dd89111",
|
||||
"_tpl": "5bc09a30d4351e00367fb7c8",
|
||||
"parentId": "66cf2b200dd2c22301adbc21",
|
||||
"slotId": "mod_sight_front"
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"_id": "66cf2b8b45d73907343924a3",
|
||||
"_tpl": "66ce63fe2fce038160aa9ac6",
|
||||
"parentId": "hideout",
|
||||
"slotId": "hideout",
|
||||
"upd": {
|
||||
"UnlimitedCount": true,
|
||||
"StackObjectsCount": 7531
|
||||
}
|
||||
},
|
||||
{
|
||||
"_id": "66cf2b95febcdccef1464156",
|
||||
"_tpl": "66ce64029424740723b70288",
|
||||
"parentId": "66cf2b8b45d73907343924a3",
|
||||
"slotId": "mod_magazine"
|
||||
},
|
||||
{
|
||||
"_id": "66cf2b96986c2ebac83a61dc",
|
||||
"_tpl": "5bc09a18d4351e003562b68e",
|
||||
"parentId": "66cf2b8b45d73907343924a3",
|
||||
"slotId": "mod_sight_rear"
|
||||
},
|
||||
{
|
||||
"_id": "66cf2b9813dd1fd762131ae9",
|
||||
"_tpl": "5bc09a30d4351e00367fb7c8",
|
||||
"parentId": "66cf2b8b45d73907343924a3",
|
||||
"slotId": "mod_sight_front"
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"_id": "66cf2bde82ea790ad007f1fa",
|
||||
"_tpl": "66ce63fe2fce038160aa9ac6",
|
||||
"parentId": "hideout",
|
||||
"slotId": "hideout",
|
||||
"upd": {
|
||||
"UnlimitedCount": true,
|
||||
"StackObjectsCount": 5532
|
||||
}
|
||||
},
|
||||
{
|
||||
"_id": "66cf2bf9ca5b96982f9b5972",
|
||||
"_tpl": "66ce64029424740723b70288",
|
||||
"parentId": "66cf2bde82ea790ad007f1fa",
|
||||
"slotId": "mod_magazine"
|
||||
},
|
||||
{
|
||||
"_id": "66cf2bfb0940e8d0c47ae35d",
|
||||
"_tpl": "57c69dd424597774c03b7bbc",
|
||||
"parentId": "66cf2bde82ea790ad007f1fa",
|
||||
"slotId": "mod_scope"
|
||||
},
|
||||
{
|
||||
"_id": "66cf2c00bb4ecab519ef6fdd",
|
||||
"_tpl": "5c1cd46f2e22164bef5cfedb",
|
||||
"parentId": "66cf2bde82ea790ad007f1fa",
|
||||
"slotId": "mod_foregrip"
|
||||
},
|
||||
{
|
||||
"_id": "66cf2c02db06cff9e183f17c",
|
||||
"_tpl": "5bc09a18d4351e003562b68e",
|
||||
"parentId": "66cf2bde82ea790ad007f1fa",
|
||||
"slotId": "mod_sight_rear"
|
||||
},
|
||||
{
|
||||
"_id": "66cf2c047b59010a035f8f0d",
|
||||
"_tpl": "5bc09a30d4351e00367fb7c8",
|
||||
"parentId": "66cf2bde82ea790ad007f1fa",
|
||||
"slotId": "mod_sight_front"
|
||||
},
|
||||
{
|
||||
"_id": "66cf2c062e771cc14c56c1c7",
|
||||
"_tpl": "5b2388675acfc4771e1be0be",
|
||||
"parentId": "66cf2bfb0940e8d0c47ae35d",
|
||||
"slotId": "mod_scope"
|
||||
},
|
||||
{
|
||||
"_id": "66cf3512f8e69a857c1ef843",
|
||||
"_tpl": "66ce64029424740723b70288",
|
||||
"parentId": "hideout",
|
||||
"slotId": "hideout",
|
||||
"upd": {
|
||||
"UnlimitedCount": true,
|
||||
"StackObjectsCount": 8722
|
||||
}
|
||||
}
|
||||
],
|
||||
"barter_scheme": {
|
||||
"66cf2a5d69fb0c98e6a9411b": [
|
||||
[
|
||||
{
|
||||
"_tpl": "5d1c819a86f774771b0acd6c",
|
||||
"count": 2
|
||||
},
|
||||
{
|
||||
"_tpl": "590a386e86f77429692b27ab",
|
||||
"count": 2
|
||||
},
|
||||
{
|
||||
"_tpl": "59e35cbb86f7741778269d83",
|
||||
"count": 1
|
||||
}
|
||||
]
|
||||
],
|
||||
"66cf2b200dd2c22301adbc21": [
|
||||
[
|
||||
{
|
||||
"_tpl": "5672cb724bdc2dc2088b456b",
|
||||
"count": 2
|
||||
},
|
||||
{
|
||||
"_tpl": "590c5c9f86f77477c91c36e7",
|
||||
"count": 1
|
||||
}
|
||||
]
|
||||
],
|
||||
"66cf2b8b45d73907343924a3": [
|
||||
[
|
||||
{
|
||||
"_tpl": "5696686a4bdc2da3298b456a",
|
||||
"count": 563
|
||||
}
|
||||
]
|
||||
],
|
||||
"66cf2bde82ea790ad007f1fa": [
|
||||
[
|
||||
{
|
||||
"_tpl": "590c645c86f77412b01304d9",
|
||||
"count": 2
|
||||
},
|
||||
{
|
||||
"_tpl": "5733279d245977289b77ec24",
|
||||
"count": 1
|
||||
}
|
||||
]
|
||||
],
|
||||
"66cf3512f8e69a857c1ef843": [
|
||||
[
|
||||
{
|
||||
"_tpl": "5696686a4bdc2da3298b456a",
|
||||
"count": 23
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"loyal_level_items":{
|
||||
"66cf2a5d69fb0c98e6a9411b": 1,
|
||||
"66cf2b200dd2c22301adbc21": 2,
|
||||
"66cf2b8b45d73907343924a3": 2,
|
||||
"66cf2bde82ea790ad007f1fa": 1,
|
||||
"66cf3512f8e69a857c1ef843": 2
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,150 @@
|
||||
{
|
||||
"ItemPresets": {
|
||||
"66cf28b1716733c9610a18be": {
|
||||
"_changeWeaponName": false,
|
||||
"_encyclopedia": "66ce63fe2fce038160aa9ac6",
|
||||
"_id": "66cf28b1716733c9610a18be",
|
||||
"_items": [
|
||||
{
|
||||
"_id": "66cf28984a599acb4bdb7681",
|
||||
"_tpl": "66ce63fe2fce038160aa9ac6"
|
||||
},
|
||||
{
|
||||
"_id": "66cf28ba3e497adff96e63ff",
|
||||
"_tpl": "66ce64029424740723b70288",
|
||||
"parentId": "66cf28984a599acb4bdb7681",
|
||||
"slotId": "mod_magazine"
|
||||
},
|
||||
{
|
||||
"_id": "66cf28bdf93a2bd7eeb2abbe",
|
||||
"_tpl": "5bc09a18d4351e003562b68e",
|
||||
"parentId": "66cf28984a599acb4bdb7681",
|
||||
"slotId": "mod_sight_rear",
|
||||
"upd": {
|
||||
"Sight": {
|
||||
"ScopesCurrentCalibPointIndexes": [
|
||||
0
|
||||
],
|
||||
"ScopesSelectedModes": [
|
||||
0
|
||||
],
|
||||
"SelectedScope": 0
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"_id": "66cf28bf10ea8b6a8a8eafb9",
|
||||
"_tpl": "5bc09a30d4351e00367fb7c8",
|
||||
"parentId": "66cf28984a599acb4bdb7681",
|
||||
"slotId": "mod_sight_front",
|
||||
"upd": {
|
||||
"Sight": {
|
||||
"ScopesCurrentCalibPointIndexes": [
|
||||
0
|
||||
],
|
||||
"ScopesSelectedModes": [
|
||||
0
|
||||
],
|
||||
"SelectedScope": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"_name": "KSG-12 Stock",
|
||||
"_parent": "66cf28984a599acb4bdb7681",
|
||||
"_type": "Preset"
|
||||
},
|
||||
"66cf290ff22275c4f39ccecc": {
|
||||
"_changeWeaponName": true,
|
||||
"_id": "66cf290ff22275c4f39ccecc",
|
||||
"_items": [
|
||||
{
|
||||
"_id": "66cf292bd8085eae93da99c1",
|
||||
"_tpl": "66ce63fe2fce038160aa9ac6"
|
||||
},
|
||||
{
|
||||
"_id": "66cf29404c2b9cd75a5e0c9f",
|
||||
"_tpl": "66ce64029424740723b70288",
|
||||
"parentId": "66cf292bd8085eae93da99c1",
|
||||
"slotId": "mod_magazine"
|
||||
},
|
||||
{
|
||||
"_id": "66cf293d50a29ce7061367d1",
|
||||
"_tpl": "584924ec24597768f12ae244",
|
||||
"parentId": "66cf292bd8085eae93da99c1",
|
||||
"slotId": "mod_scope"
|
||||
},
|
||||
{
|
||||
"_id": "66cf29391dc6ec5bd2e3ea9a",
|
||||
"_tpl": "5c87ca002e221600114cb150",
|
||||
"parentId": "66cf292bd8085eae93da99c1",
|
||||
"slotId": "mod_foregrip"
|
||||
},
|
||||
{
|
||||
"_id": "66cf293732503acd36b3a9ba",
|
||||
"_tpl": "5bc09a18d4351e003562b68e",
|
||||
"parentId": "66cf292bd8085eae93da99c1",
|
||||
"slotId": "mod_sight_rear"
|
||||
},
|
||||
{
|
||||
"_id": "66cf29353cf9a097c85a95ae",
|
||||
"_tpl": "5bc09a30d4351e00367fb7c8",
|
||||
"parentId": "66cf292bd8085eae93da99c1",
|
||||
"slotId": "mod_sight_front"
|
||||
}
|
||||
],
|
||||
"_name": "CQB",
|
||||
"_parent": "66cf292bd8085eae93da99c1",
|
||||
"_type": "Preset"
|
||||
},
|
||||
"66cf2968f9beb45c3d12d323": {
|
||||
"_changeWeaponName": true,
|
||||
"_id": "66cf2968f9beb45c3d12d323",
|
||||
"_items": [
|
||||
{
|
||||
"_id": "66cf296dc9595cea0af9c0a0",
|
||||
"_tpl": "66ce63fe2fce038160aa9ac6"
|
||||
},
|
||||
{
|
||||
"_id": "66cf297eb1da8884e1b5fbb6",
|
||||
"_tpl": "66ce64029424740723b70288",
|
||||
"parentId": "66cf296dc9595cea0af9c0a0",
|
||||
"slotId": "mod_magazine"
|
||||
},
|
||||
{
|
||||
"_id": "66cf2980e699d6a18f3679e5",
|
||||
"_tpl": "57c69dd424597774c03b7bbc",
|
||||
"parentId": "66cf296dc9595cea0af9c0a0",
|
||||
"slotId": "mod_scope"
|
||||
},
|
||||
{
|
||||
"_id": "66cf298343b3a317aa233777",
|
||||
"_tpl": "5c1cd46f2e22164bef5cfedb",
|
||||
"parentId": "66cf296dc9595cea0af9c0a0",
|
||||
"slotId": "mod_foregrip"
|
||||
},
|
||||
{
|
||||
"_id": "66cf29852ebcedeb2fdc428e",
|
||||
"_tpl": "5bc09a18d4351e003562b68e",
|
||||
"parentId": "66cf296dc9595cea0af9c0a0",
|
||||
"slotId": "mod_sight_rear"
|
||||
},
|
||||
{
|
||||
"_id": "66cf298cba84d709c5d1d3ad",
|
||||
"_tpl": "5bc09a30d4351e00367fb7c8",
|
||||
"parentId": "66cf296dc9595cea0af9c0a0",
|
||||
"slotId": "mod_sight_front"
|
||||
},
|
||||
{
|
||||
"_id": "66cf2994fd7e0cd2c88ea389",
|
||||
"_tpl": "5b2388675acfc4771e1be0be",
|
||||
"parentId": "66cf2980e699d6a18f3679e5",
|
||||
"slotId": "mod_scope"
|
||||
}
|
||||
],
|
||||
"_name": "Lucky Shooter",
|
||||
"_parent": "66cf296dc9595cea0af9c0a0",
|
||||
"_type": "Preset"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,319 @@
|
||||
{
|
||||
"spawnsRezerv": [
|
||||
{
|
||||
"locationId": "(78.797 2.4313 -13.9751|37.4873 226.9819 316.1582)",
|
||||
"probability": 0.345273,
|
||||
"template": {
|
||||
"Id": "6651567375381abb786f3a5b",
|
||||
"IsContainer": false,
|
||||
"useGravity": true,
|
||||
"randomRotation": false,
|
||||
"Position": {
|
||||
"x": 78.797,
|
||||
"y": 2.4313,
|
||||
"z": -13.9751
|
||||
},
|
||||
"Rotation": {
|
||||
"x": 37.4873,
|
||||
"y": 226.9819,
|
||||
"z": 316.1582
|
||||
},
|
||||
"IsGroupPosition": false,
|
||||
"GroupPositions": [],
|
||||
"IsAlwaysSpawn": false,
|
||||
"Root": "6651567738f38ab0f6c52bc2",
|
||||
"Items": [
|
||||
{
|
||||
"_id": "6651567ed962a5b792248fa6",
|
||||
"_tpl": "665152810b4c784f2258d7d0"
|
||||
},
|
||||
{
|
||||
"_id": "665156862404d5899b738021",
|
||||
"_tpl": "665154c4019e9e7d5ad6d0cc",
|
||||
"parentId": "6651567ed962a5b792248fa6",
|
||||
"slotId": "mod_magazine"
|
||||
}
|
||||
]
|
||||
},
|
||||
"itemDistribution": [
|
||||
{
|
||||
"composedKey": {
|
||||
"key": "6651567ed962a5b792248fa6"
|
||||
},
|
||||
"relativeProbability": 8
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"locationId": "(11.5916 -0.7892 4.6904|353.6969 48.8262 41.7712)",
|
||||
"probability": 0.044532,
|
||||
"template": {
|
||||
"Id": "66515689253af484c5f1303a",
|
||||
"IsContainer": false,
|
||||
"useGravity": true,
|
||||
"randomRotation": false,
|
||||
"Position": {
|
||||
"x": 11.5916,
|
||||
"y": -0.7892,
|
||||
"z": 4.6904
|
||||
},
|
||||
"Rotation": {
|
||||
"x": 353.6969,
|
||||
"y": 48.8262,
|
||||
"z": 41.7712
|
||||
},
|
||||
"IsGroupPosition": false,
|
||||
"GroupPositions": [],
|
||||
"IsAlwaysSpawn": false,
|
||||
"Root": "6651568ca4b26f481f19cda6",
|
||||
"Items": [
|
||||
{
|
||||
"_id": "66515693328c890700469175",
|
||||
"_tpl": "665152810b4c784f2258d7d0"
|
||||
},
|
||||
{
|
||||
"_id": "665156918928bd149c60e827",
|
||||
"_tpl": "665154c4019e9e7d5ad6d0cc",
|
||||
"parentId": "66515693328c890700469175",
|
||||
"slotId": "mod_magazine"
|
||||
}
|
||||
]
|
||||
},
|
||||
"itemDistribution": [
|
||||
{
|
||||
"composedKey": {
|
||||
"key": "66515693328c890700469175"
|
||||
},
|
||||
"relativeProbability": 8
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"locationId": "(-57.1463 2.6746 20.5125|332.6287 14.0353 93.8348)",
|
||||
"probability": 0.007432,
|
||||
"template": {
|
||||
"Id": "6651569a10759cb0de48342f",
|
||||
"IsContainer": false,
|
||||
"useGravity": true,
|
||||
"randomRotation": false,
|
||||
"Position": {
|
||||
"x": -57.1463,
|
||||
"y": 2.6746,
|
||||
"z": 20.5125
|
||||
},
|
||||
"Rotation": {
|
||||
"x": 332.6287,
|
||||
"y": 14.0353,
|
||||
"z": 93.8348
|
||||
},
|
||||
"IsGroupPosition": false,
|
||||
"GroupPositions": [],
|
||||
"IsAlwaysSpawn": false,
|
||||
"Root": "6651569d1466068c6cf8b2b2",
|
||||
"Items": [
|
||||
{
|
||||
"_id": "665156a3b260a8bf5125a4b7",
|
||||
"_tpl": "665152810b4c784f2258d7d0"
|
||||
},
|
||||
{
|
||||
"_id": "665156a05ac9ddcd5afa52d2",
|
||||
"_tpl": "665154c4019e9e7d5ad6d0cc",
|
||||
"parentId": "665156a3b260a8bf5125a4b7",
|
||||
"slotId": "mod_magazine"
|
||||
}
|
||||
]
|
||||
},
|
||||
"itemDistribution": [
|
||||
{
|
||||
"composedKey": {
|
||||
"key": "665156a3b260a8bf5125a4b7"
|
||||
},
|
||||
"relativeProbability": 8
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"locationId": "(-40.0311 19.3493 182.6263|359.9928 29.7891 272.4274)",
|
||||
"probability": 0.115632,
|
||||
"template": {
|
||||
"Id": "665156b386eb1fb0aa4423d8",
|
||||
"IsContainer": false,
|
||||
"useGravity": true,
|
||||
"randomRotation": false,
|
||||
"Position": {
|
||||
"x": -40.0311,
|
||||
"y": 19.3493,
|
||||
"z": 182.6263
|
||||
},
|
||||
"Rotation": {
|
||||
"x": 359.9928,
|
||||
"y": 29.7891,
|
||||
"z": 272.4274
|
||||
},
|
||||
"IsGroupPosition": false,
|
||||
"GroupPositions": [],
|
||||
"IsAlwaysSpawn": false,
|
||||
"Root": "665156b6e05850fe3e39d38e",
|
||||
"Items": [
|
||||
{
|
||||
"_id": "665156bcf71631770429e3ad",
|
||||
"_tpl": "665152810b4c784f2258d7d0"
|
||||
},
|
||||
{
|
||||
"_id": "665156b953844543601b15ca",
|
||||
"_tpl": "665154c4019e9e7d5ad6d0cc",
|
||||
"parentId": "665156bcf71631770429e3ad",
|
||||
"slotId": "mod_magazine"
|
||||
}
|
||||
]
|
||||
},
|
||||
"itemDistribution": [
|
||||
{
|
||||
"composedKey": {
|
||||
"key": "665156bcf71631770429e3ad"
|
||||
},
|
||||
"relativeProbability": 8
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"spawnsWoods":[
|
||||
{
|
||||
"locationId": "(54.0311 -1.9997 -47.0143|1.7769 44.5448 93.2316)",
|
||||
"probability": 0.15673,
|
||||
"template": {
|
||||
"Id": "665156c6e89a63667409ae9b",
|
||||
"IsContainer": false,
|
||||
"useGravity": true,
|
||||
"randomRotation": false,
|
||||
"Position": {
|
||||
"x": 54.0311,
|
||||
"y": -1.9997,
|
||||
"z": -47.0143
|
||||
},
|
||||
"Rotation": {
|
||||
"x": 1.7769,
|
||||
"y": 44.5448,
|
||||
"z": 93.2316
|
||||
},
|
||||
"IsGroupPosition": false,
|
||||
"GroupPositions": [],
|
||||
"IsAlwaysSpawn": false,
|
||||
"Root": "665156ca4aeb42ea90e12402",
|
||||
"Items": [
|
||||
{
|
||||
"_id": "665156d18439fd78ee89f7fa",
|
||||
"_tpl": "665152810b4c784f2258d7d0"
|
||||
},
|
||||
{
|
||||
"_id": "665156cdfbc726f414d55e81",
|
||||
"_tpl": "665154c4019e9e7d5ad6d0cc",
|
||||
"parentId": "665156d18439fd78ee89f7fa",
|
||||
"slotId": "mod_magazine"
|
||||
}
|
||||
]
|
||||
},
|
||||
"itemDistribution": [
|
||||
{
|
||||
"composedKey": {
|
||||
"key": "665156d18439fd78ee89f7fa"
|
||||
},
|
||||
"relativeProbability": 8
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"locationId": "(-203.8976 -1.006 217.1824|359.8936 156.5553 49.0165)",
|
||||
"probability": 0.24673,
|
||||
"template": {
|
||||
"Id": "665156d66283b8245a51ee10",
|
||||
"IsContainer": false,
|
||||
"useGravity": true,
|
||||
"randomRotation": false,
|
||||
"Position": {
|
||||
"x": -203.8976,
|
||||
"y": -1.006,
|
||||
"z": 217.1824
|
||||
},
|
||||
"Rotation": {
|
||||
"x": 359.8936,
|
||||
"y": 156.5553,
|
||||
"z": 49.0165
|
||||
},
|
||||
"IsGroupPosition": false,
|
||||
"GroupPositions": [],
|
||||
"IsAlwaysSpawn": false,
|
||||
"Root": "665156d92118013ac5fc6364",
|
||||
"Items": [
|
||||
{
|
||||
"_id": "665156e00c98d72dd4cde0f9",
|
||||
"_tpl": "665152810b4c784f2258d7d0"
|
||||
},
|
||||
{
|
||||
"_id": "665156ddb836ed40339d2688",
|
||||
"_tpl": "665154c4019e9e7d5ad6d0cc",
|
||||
"parentId": "665156e00c98d72dd4cde0f9",
|
||||
"slotId": "mod_magazine"
|
||||
}
|
||||
]
|
||||
},
|
||||
"itemDistribution": [
|
||||
{
|
||||
"composedKey": {
|
||||
"key": "665156e00c98d72dd4cde0f9"
|
||||
},
|
||||
"relativeProbability": 8
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"spawnsFactory": [
|
||||
{
|
||||
"locationId": "(25.5145 8.6044 40.7727|0.1531 106.4753 158.1044)",
|
||||
"probability": 0.07643,
|
||||
"template": {
|
||||
"Id": "665156e757dec8b8d7dd5f0b",
|
||||
"IsContainer": false,
|
||||
"useGravity": true,
|
||||
"randomRotation": false,
|
||||
"Position": {
|
||||
"x": 25.5145,
|
||||
"y": 8.6044,
|
||||
"z": 40.7727
|
||||
},
|
||||
"Rotation": {
|
||||
"x": 0.1531,
|
||||
"y": 106.4753,
|
||||
"z": 158.1044
|
||||
},
|
||||
"IsGroupPosition": false,
|
||||
"GroupPositions": [],
|
||||
"IsAlwaysSpawn": false,
|
||||
"Root": "665156eac2285ec483385e8d",
|
||||
"Items": [
|
||||
{
|
||||
"_id": "665156ef5ddfea15aa6e1b1b",
|
||||
"_tpl": "665152810b4c784f2258d7d0"
|
||||
},
|
||||
{
|
||||
"_id": "665156edbf39d6a24be36ec7",
|
||||
"_tpl": "665154c4019e9e7d5ad6d0cc",
|
||||
"parentId": "665156ef5ddfea15aa6e1b1b",
|
||||
"slotId": "mod_magazine"
|
||||
}
|
||||
]
|
||||
},
|
||||
"itemDistribution": [
|
||||
{
|
||||
"composedKey": {
|
||||
"key": "665156ef5ddfea15aa6e1b1b"
|
||||
},
|
||||
"relativeProbability": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"spawnsLight": [],
|
||||
"spawnsShore": [],
|
||||
"spawnsCustom": []
|
||||
}
|
||||
@@ -0,0 +1,445 @@
|
||||
"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.HandbookTPL = exports.WeaponIds = void 0;
|
||||
const Item_Preset_json_1 = __importDefault(require("../src/Item_Preset.json"));
|
||||
const global_item_preset_json_1 = __importDefault(require("../src/global_item_preset.json"));
|
||||
//import spawnPoints from "../src/loot/Spawns.json";
|
||||
const ItemTpl_1 = require("C:/snapshot/project/obj/models/enums/ItemTpl");
|
||||
const Traders_1 = require("C:/snapshot/project/obj/models/enums/Traders");
|
||||
var WeaponIds;
|
||||
(function (WeaponIds) {
|
||||
WeaponIds["KSG12"] = "66ce63fe2fce038160aa9ac6";
|
||||
WeaponIds["KSG12_MAG"] = "66ce64029424740723b70288";
|
||||
})(WeaponIds || (exports.WeaponIds = WeaponIds = {}));
|
||||
var HandbookTPL;
|
||||
(function (HandbookTPL) {
|
||||
HandbookTPL["SHOTGUN"] = "5b5f794b86f77409407a7f92";
|
||||
HandbookTPL["ASSAULT_RIFLE"] = "5b5f78fc86f77409407a7f90";
|
||||
HandbookTPL["PISTOL"] = "5b5f792486f77447ed5636b3";
|
||||
HandbookTPL["CARBINE"] = "5b5f78e986f77447ed5636b1";
|
||||
HandbookTPL["MARKSMAN"] = "5b5f791486f774093f2ed3be";
|
||||
HandbookTPL["SMG"] = "5b5f796a86f774093f2ed3c0";
|
||||
})(HandbookTPL || (exports.HandbookTPL = HandbookTPL = {}));
|
||||
class Mod {
|
||||
postDBLoad(container) {
|
||||
const customitem = container.resolve("CustomItemService");
|
||||
const databaseServer = container.resolve("DatabaseServer");
|
||||
const db = databaseServer.getTables();
|
||||
const globals = db.globals;
|
||||
const PK = db.traders[Traders_1.Traders.PEACEKEEPER].assort;
|
||||
const SKR = db.traders[Traders_1.Traders.SKIER].assort;
|
||||
// WEAPON LISTING AND ATTACHMENT
|
||||
const ksg_12g = {
|
||||
itemTplToClone: ItemTpl_1.ItemTpl.SHOTGUN_REMINGTON_MODEL_870_12GA_PUMPACTION,
|
||||
overrideProperties: {
|
||||
Prefab: {
|
||||
path: "ksg12/weapon_keltec_ksg_12g_container.bundle",
|
||||
rcid: ""
|
||||
},
|
||||
AimPlane: 0.27,
|
||||
Name: "weapon_keltec_ksg_12g",
|
||||
ShortName: "weapon_keltec_ksg_12g",
|
||||
Description: "weapon_keltec_ksg_12g",
|
||||
CenterOfImpact: 0.36,
|
||||
shotgunDispersion: 1.2,
|
||||
ShotgunDispersion: 1.2,
|
||||
Width: 5,
|
||||
Height: 2,
|
||||
Ergonomics: 54,
|
||||
ExaminedByDefault: false,
|
||||
ExamineExperience: 20,
|
||||
IronSightRange: 50,
|
||||
LootExperience: 15,
|
||||
RecoilAngle: 94,
|
||||
RecoilCenter: {
|
||||
x: 0,
|
||||
y: 0.027,
|
||||
z: -0.039
|
||||
},
|
||||
RecoilForceUp: 256,
|
||||
RecoilForceBack: 344,
|
||||
RecoilPosZMult: 0.7,
|
||||
RecoilCamera: 0.215,
|
||||
RecoilReturnPathDampingHandRotation: 0.62,
|
||||
RecoilReturnSpeedHandRotation: 3.75,
|
||||
RecoilDampingHandRotation: 0.51,
|
||||
CameraToWeaponAngleStep: 0.2,
|
||||
CameraSnap: 3.2,
|
||||
CompactHandling: false,
|
||||
RotationCenterNoStock: {
|
||||
x: 0,
|
||||
y: -0.193,
|
||||
z: -0.03899999
|
||||
},
|
||||
Slots: [
|
||||
{
|
||||
_id: "66ce675cd29851414a241834",
|
||||
"_mergeSlotWithChildren": false,
|
||||
"_name": "mod_magazine",
|
||||
"_parent": WeaponIds.KSG12,
|
||||
"_props": {
|
||||
"filters": [
|
||||
{
|
||||
"AnimationIndex": 0,
|
||||
"Filter": [
|
||||
WeaponIds.KSG12_MAG
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"_proto": "55d30c394bdc2dae468b4577",
|
||||
"_required": true
|
||||
},
|
||||
{
|
||||
"_name": "mod_scope",
|
||||
"_id": "66ce68e4bdd6e19c47c184b7",
|
||||
"_parent": WeaponIds.KSG12,
|
||||
"_props": {
|
||||
"filters": [
|
||||
{
|
||||
"Shift": 0,
|
||||
"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",
|
||||
"5dfe6104585a0c3e995c7b82",
|
||||
"5d1b5e94d7ad1a2b865a96b0",
|
||||
"609bab8b455afd752b2e6138",
|
||||
"58d39d3d86f77445bb794ae7",
|
||||
"616554fe50224f204c1da2aa",
|
||||
"5c7d55f52e221644f31bff6a",
|
||||
"616584766ef05c2ce828ef57",
|
||||
"5b3b6dc75acfc47a8773fb1e",
|
||||
"615d8d878004cc50514c3233",
|
||||
"5b2389515acfc4771e1be0c0",
|
||||
"577d128124597739d65d0e56",
|
||||
"618b9643526131765025ab35",
|
||||
"618bab21526131765025ab3f",
|
||||
"5c86592b2e2216000e69e77c",
|
||||
"5a37ca54c4a282000d72296a",
|
||||
"5d0a29fed7ad1a002769ad08",
|
||||
"5c064c400db834001d23f468",
|
||||
"58d2664f86f7747fec5834f6",
|
||||
"57c69dd424597774c03b7bbc",
|
||||
"5b3b99265acfc4704b4a1afb",
|
||||
"5aa66a9be5b5b0214e506e89",
|
||||
"5aa66c72e5b5b00016327c93",
|
||||
"5c1cdd302e221602b3137250",
|
||||
"61714b2467085e45ef140b2c",
|
||||
"6171407e50224f204c1da3c5",
|
||||
"61713cc4d8e3106d9806c109",
|
||||
"5b31163c5acfc400153b71cb",
|
||||
"5a33b652c4a28232996e407c",
|
||||
"5a33b2c9c4a282000c5a9511",
|
||||
"59db7eed86f77461f8380365",
|
||||
"5a1ead28fcdbcb001912fa9f",
|
||||
"626bb8532c923541184624b4",
|
||||
"62811f461d5df4475f46a332",
|
||||
"63fc449f5bd61c6cf3784a88",
|
||||
"6477772ea8a38bb2050ed4db",
|
||||
"6478641c19d732620e045e17",
|
||||
"64785e7c19d732620e045e15",
|
||||
"65392f611406374f82152ba5",
|
||||
"653931da5db71d30ab1d6296",
|
||||
"655f13e0a246670fb0373245"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"_required": false,
|
||||
"_mergeSlotWithChildren": false,
|
||||
"_proto": "55d30c4c4bdc2db4468b457e"
|
||||
},
|
||||
{
|
||||
"_name": "mod_foregrip",
|
||||
"_id": "66ce69648498e374463500a6",
|
||||
"_parent": WeaponIds.KSG12,
|
||||
"_props": {
|
||||
"filters": [
|
||||
{
|
||||
"Shift": 0,
|
||||
"Filter": [
|
||||
"5c7fc87d2e221644f31c0298",
|
||||
"5cda9bcfd7f00c0c0b53e900",
|
||||
"59f8a37386f7747af3328f06",
|
||||
"619386379fb0c665d5490dbe",
|
||||
"5c87ca002e221600114cb150",
|
||||
"588226d124597767ad33f787",
|
||||
"588226dd24597767ad33f789",
|
||||
"588226e62459776e3e094af7",
|
||||
"588226ef24597767af46e39c",
|
||||
"59fc48e086f77463b1118392",
|
||||
"5fce0cf655375d18a253eff0",
|
||||
"5cf4fb76d7f00c065703d3ac",
|
||||
"5b057b4f5acfc4771e1bd3e9",
|
||||
"5c791e872e2216001219c40a",
|
||||
"558032614bdc2de7118b4585",
|
||||
"58c157be86f77403c74b2bb6",
|
||||
"58c157c886f774032749fb06",
|
||||
"5f6340d3ca442212f4047eb2",
|
||||
"591af28e86f77414a27a9e1d",
|
||||
"5c1cd46f2e22164bef5cfedb",
|
||||
"5c1bc4812e22164bef5cfde7",
|
||||
"5c1bc5612e221602b5429350",
|
||||
"5c1bc5af2e221602b412949b",
|
||||
"5c1bc5fb2e221602b1779b32",
|
||||
"5c1bc7432e221602b412949d",
|
||||
"5c1bc7752e221602b1779b34",
|
||||
"648067db042be0705c0b3009",
|
||||
"64807a29e5ffe165600abc97",
|
||||
"64806bdd26c80811d408d37a",
|
||||
"65169d5b30425317755f8e25",
|
||||
"655df24fdf80b12750626d0a",
|
||||
"655dccfdbdcc6b5df71382b6"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"_required": false,
|
||||
"_mergeSlotWithChildren": false,
|
||||
"_proto": "55d30c4c4bdc2db4468b457e"
|
||||
},
|
||||
{
|
||||
"_name": "mod_sight_rear",
|
||||
"_id": "66ce69d9b539f92cb86b9691",
|
||||
"_parent": WeaponIds.KSG12,
|
||||
"_props": {
|
||||
"filters": [
|
||||
{
|
||||
"Shift": 0,
|
||||
"Filter": [
|
||||
"5bb20e49d4351e3bac1212de",
|
||||
"5ba26b17d4351e00367f9bdd",
|
||||
"5dfa3d7ac41b2312ea33362a",
|
||||
"5c1780312e221602b66cc189",
|
||||
"5fb6564947ce63734e3fa1da",
|
||||
"5bc09a18d4351e003562b68e",
|
||||
"5c18b9192e2216398b5a8104",
|
||||
"5fc0fa957283c4046c58147e",
|
||||
"5894a81786f77427140b8347",
|
||||
"55d5f46a4bdc2d1b198b4567"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"_required": false,
|
||||
"_mergeSlotWithChildren": false,
|
||||
"_proto": "55d30c4c4bdc2db4468b457e"
|
||||
},
|
||||
{
|
||||
"_name": "mod_sight_front",
|
||||
"_id": "66ce69f01b281721aa000457",
|
||||
"_parent": WeaponIds.KSG12,
|
||||
"_props": {
|
||||
"filters": [
|
||||
{
|
||||
"Shift": 0,
|
||||
"Filter": [
|
||||
"5ba26b01d4351e0085325a51",
|
||||
"5dfa3d950dee1b22f862eae0",
|
||||
"5c17804b2e2216152006c02f",
|
||||
"5fb6567747ce63734e3fa1dc",
|
||||
"5bc09a30d4351e00367fb7c8",
|
||||
"5c18b90d2e2216152142466b",
|
||||
"5fc0fa362770a0045c59c677",
|
||||
"5894a73486f77426d259076c",
|
||||
"55d4af3a4bdc2d972f8b456f"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"_required": false,
|
||||
"_mergeSlotWithChildren": false,
|
||||
"_proto": "55d30c4c4bdc2db4468b457e"
|
||||
}
|
||||
],
|
||||
Weight: 3.02,
|
||||
ammoCaliber: "Caliber12g",
|
||||
defAmmo: "560d5e524bdc2d25448b4571",
|
||||
defMagType: WeaponIds.KSG12_MAG,
|
||||
durabSpawnMax: 100,
|
||||
durabSpawnMin: 35,
|
||||
AllowFeed: false,
|
||||
AllowJam: false,
|
||||
AllowMisfire: false,
|
||||
AllowSlide: false,
|
||||
AllowOverheat: false
|
||||
},
|
||||
parentId: "5447b6094bdc2dc3278b4567",
|
||||
newId: WeaponIds.KSG12,
|
||||
handbookParentId: "5b5f794b86f77409407a7f92",
|
||||
handbookPriceRoubles: 64431,
|
||||
fleaPriceRoubles: 88763,
|
||||
locales: {
|
||||
"en": {
|
||||
name: "Kel-Tec KSG-12g Shotgun",
|
||||
shortName: "KSG-12",
|
||||
description: "The Kel-Tec KSG is a bullpup 12-gauge pump-action shotgun designed by Kel-Tec. It has two tube magazines which the user of the gun can switch between manually (visual only, non functional). Rounds are loaded into the magazines through a large loading/ejection port, located at the bottom of the gun in the stock, behind the pistol grip. Empty shells are ejected down through the same port. Sighting equipment (iron sights and/or red dot sights) can be installed using the standard Picatinny rail located above the barrel. A second Picatinny rail is provided at the bottom of the sliding forend, permitting installation of other accessories."
|
||||
}
|
||||
}
|
||||
};
|
||||
customitem.createItemFromClone(ksg_12g);
|
||||
const ksg_cap = {
|
||||
itemTplToClone: ItemTpl_1.ItemTpl.MAGAZINE_12G_M870X10_10RND,
|
||||
overrideProperties: {
|
||||
Cartridges: [
|
||||
{
|
||||
"_id": "66515612ca5e57294f5e3527",
|
||||
"_max_count": 14,
|
||||
"_name": "cartridges",
|
||||
"_parent": "665154c4019e9e7d5ad6d0cc",
|
||||
"_props": {
|
||||
"filters": [
|
||||
{
|
||||
"Filter": [
|
||||
"560d5e524bdc2d25448b4571",
|
||||
"5d6e6772a4b936088465b17c",
|
||||
"5d6e67fba4b9361bc73bc779",
|
||||
"5d6e6806a4b936088465b17e",
|
||||
"5d6e68dea4b9361bcc29e659",
|
||||
"5d6e6911a4b9361bd5780d52",
|
||||
"5c0d591486f7744c505b416f",
|
||||
"58820d1224597753c90aeb13",
|
||||
"5d6e68c4a4b9361b93413f79",
|
||||
"5d6e68a8a4b9360b6c0d54e2",
|
||||
"5d6e68e6a4b9361c140bcfe0",
|
||||
"5d6e6869a4b9361c140bcfde",
|
||||
"5d6e68b3a4b9361bca7e50b5",
|
||||
"5d6e6891a4b9361bd473feea",
|
||||
"5d6e689ca4b9361bc8618956",
|
||||
"5d6e68d1a4b93622fe60e845",
|
||||
"64b8ee384b75259c590fa89b"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"_proto": "5748538b2459770af276a261"
|
||||
}
|
||||
],
|
||||
Ergonomics: -8,
|
||||
Weight: 0.08,
|
||||
ExamineExperience: 4,
|
||||
ExaminedByDefault: false,
|
||||
Name: "mod_magazine_ksg_12g_tube_cap",
|
||||
ShortName: "mod_magazine_ksg_12g_tube_cap",
|
||||
Description: "mod_magazine_ksg_12g_tube_cap",
|
||||
Width: 1,
|
||||
ExtraSizeLeft: 0,
|
||||
Prefab: {
|
||||
path: "ksg12/mod_magazine_ksg_12g_tube_cap.bundle",
|
||||
rcid: ""
|
||||
}
|
||||
},
|
||||
parentId: "5448bc234bdc2d3c308b4569",
|
||||
newId: WeaponIds.KSG12_MAG,
|
||||
handbookParentId: "5b5f754a86f774094242f19b",
|
||||
handbookPriceRoubles: 2644,
|
||||
fleaPriceRoubles: 3874,
|
||||
locales: {
|
||||
"en": {
|
||||
name: "Kel-Tec KSG-12g 14-round Mag Cap",
|
||||
shortName: "KSG-12",
|
||||
description: "14-Round standard magazine cap for the KSG-12."
|
||||
}
|
||||
}
|
||||
};
|
||||
customitem.createItemFromClone(ksg_cap);
|
||||
// MASTERY AND TRADER
|
||||
const ksg_mastery = {
|
||||
"Name": "Kel-Tec KSG-12",
|
||||
"Templates": [
|
||||
WeaponIds.KSG12
|
||||
],
|
||||
"Level2": 500,
|
||||
"Level3": 960
|
||||
};
|
||||
globals.config.Mastering.push(ksg_mastery);
|
||||
for (const lang in db.locales.global) {
|
||||
db.locales.global[lang]["66cf2968f9beb45c3d12d323"] = "Lucky Shooter";
|
||||
db.locales.global[lang]["66cf290ff22275c4f39ccecc"] = "CQB";
|
||||
}
|
||||
for (const itemPreset in global_item_preset_json_1.default.ItemPresets) {
|
||||
globals.ItemPresets[itemPreset] = global_item_preset_json_1.default.ItemPresets[itemPreset];
|
||||
}
|
||||
//trader push
|
||||
PK.items.push(...Item_Preset_json_1.default.items);
|
||||
for (const bsc in Item_Preset_json_1.default.barter_scheme) {
|
||||
PK.barter_scheme[bsc] = Item_Preset_json_1.default.barter_scheme[bsc];
|
||||
}
|
||||
for (const llv in Item_Preset_json_1.default.loyal_level_items) {
|
||||
PK.loyal_level_items[llv] = Item_Preset_json_1.default.loyal_level_items[llv];
|
||||
}
|
||||
//push loot
|
||||
const weaponcrateloot = {
|
||||
"tpl": WeaponIds.KSG12,
|
||||
"relativeProbability": 17
|
||||
};
|
||||
const locations = db.locations;
|
||||
/* locations.rezervbase.looseLoot.spawnpoints.push(...spawnPoints.spawnsRezerv);
|
||||
locations.woods.looseLoot.spawnpoints.push(...spawnPoints.spawnsWoods);
|
||||
locations.factory4_day.looseLoot.spawnpoints.push(...spawnPoints.spawnsFactory);
|
||||
locations.factory4_night.looseLoot.spawnpoints.push(...spawnPoints.spawnsFactory); */
|
||||
for (const locationKey in locations) {
|
||||
const location = locations[locationKey];
|
||||
if (!location || !location.staticLoot) {
|
||||
continue;
|
||||
}
|
||||
location.staticLoot[ItemTpl_1.ItemTpl.LOOTCONTAINER_WEAPON_BOX_5X5]?.itemDistribution.push(weaponcrateloot);
|
||||
location.staticLoot[ItemTpl_1.ItemTpl.LOOTCONTAINER_WEAPON_BOX_6X3]?.itemDistribution.push(weaponcrateloot);
|
||||
location.staticLoot[ItemTpl_1.ItemTpl.LOOTCONTAINER_WEAPON_BOX_5X2]?.itemDistribution.push(weaponcrateloot);
|
||||
}
|
||||
const pipe = db.bots.types["followerbigpipe"];
|
||||
pipe.inventory.equipment.SecondPrimaryWeapon[WeaponIds.KSG12] = 825;
|
||||
pipe.inventory.mods[WeaponIds.KSG12] =
|
||||
{
|
||||
mod_magazine: [
|
||||
WeaponIds.KSG12_MAG
|
||||
],
|
||||
mod_sight_rear: [
|
||||
"5bc09a18d4351e003562b68e"
|
||||
],
|
||||
mod_sight_front: [
|
||||
"5bc09a30d4351e00367fb7c8"
|
||||
],
|
||||
mod_scope: [
|
||||
"58491f3324597764bc48fa02"
|
||||
],
|
||||
mod_foregrip: [
|
||||
"5c87ca002e221600114cb150"
|
||||
]
|
||||
};
|
||||
customitem.addCustomWeaponToPMCs(WeaponIds.KSG12, 12, "FirstPrimaryWeapon");
|
||||
db.templates.quests["5a03153686f77442d90e2171"].conditions.AvailableForFinish[0].counter.conditions[0].weapon.push(WeaponIds.KSG12);
|
||||
db.templates.quests["59ca264786f77445a80ed044"].conditions.AvailableForFinish[0].counter.conditions[0].weapon.push(WeaponIds.KSG12);
|
||||
//ON GOD WACKY AHH ID INVENTORY THING
|
||||
db.templates.items["55d7217a4bdc2d86028b456d"]._props.Slots[0]._props.filters[0].Filter.push(WeaponIds.KSG12);
|
||||
db.templates.items["55d7217a4bdc2d86028b456d"]._props.Slots[1]._props.filters[0].Filter.push(WeaponIds.KSG12);
|
||||
}
|
||||
}
|
||||
exports.mod = new Mod();
|
||||
//# sourceMappingURL=mod.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,482 @@
|
||||
/* eslint-disable no-mixed-spaces-and-tabs */
|
||||
/* 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 { ILocation } from "@spt/models/eft/common/ILocation";
|
||||
|
||||
import preset_file from "../src/Item_Preset.json";
|
||||
import global_preset_file from "../src/global_item_preset.json";
|
||||
//import spawnPoints from "../src/loot/Spawns.json";
|
||||
import { ItemTpl } from "@spt/models/enums/ItemTpl";
|
||||
import { Traders } from "@spt/models/enums/Traders";
|
||||
|
||||
export enum WeaponIds
|
||||
{
|
||||
KSG12 = "66ce63fe2fce038160aa9ac6",
|
||||
KSG12_MAG = "66ce64029424740723b70288"
|
||||
}
|
||||
|
||||
export enum HandbookTPL
|
||||
{
|
||||
SHOTGUN = "5b5f794b86f77409407a7f92",
|
||||
ASSAULT_RIFLE = "5b5f78fc86f77409407a7f90",
|
||||
PISTOL= "5b5f792486f77447ed5636b3",
|
||||
CARBINE= "5b5f78e986f77447ed5636b1",
|
||||
MARKSMAN= "5b5f791486f774093f2ed3be",
|
||||
SMG= "5b5f796a86f774093f2ed3c0"
|
||||
}
|
||||
|
||||
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 PK = db.traders[Traders.PEACEKEEPER].assort;
|
||||
const SKR = db.traders[Traders.SKIER].assort;
|
||||
// WEAPON LISTING AND ATTACHMENT
|
||||
|
||||
const ksg_12g: NewItemFromCloneDetails = {
|
||||
itemTplToClone: ItemTpl.SHOTGUN_REMINGTON_MODEL_870_12GA_PUMPACTION,
|
||||
overrideProperties: {
|
||||
Prefab: {
|
||||
path: "ksg12/weapon_keltec_ksg_12g_container.bundle",
|
||||
rcid: ""
|
||||
},
|
||||
AimPlane: 0.27,
|
||||
Name: "weapon_keltec_ksg_12g",
|
||||
ShortName: "weapon_keltec_ksg_12g",
|
||||
Description: "weapon_keltec_ksg_12g",
|
||||
CenterOfImpact: 0.36,
|
||||
shotgunDispersion: 1.2,
|
||||
ShotgunDispersion: 1.2,
|
||||
Width: 5,
|
||||
Height: 2,
|
||||
Ergonomics: 54,
|
||||
ExaminedByDefault: false,
|
||||
ExamineExperience: 20,
|
||||
IronSightRange: 50,
|
||||
LootExperience: 15,
|
||||
RecoilAngle: 94,
|
||||
RecoilCenter:
|
||||
{
|
||||
x: 0,
|
||||
y: 0.027,
|
||||
z: -0.039
|
||||
},
|
||||
RecoilForceUp: 256,
|
||||
RecoilForceBack: 344,
|
||||
RecoilPosZMult: 0.7,
|
||||
RecoilCamera: 0.215,
|
||||
RecoilReturnPathDampingHandRotation: 0.62,
|
||||
RecoilReturnSpeedHandRotation: 3.75,
|
||||
RecoilDampingHandRotation: 0.51,
|
||||
CameraToWeaponAngleStep: 0.2,
|
||||
CameraSnap: 3.2,
|
||||
CompactHandling: false,
|
||||
RotationCenterNoStock:
|
||||
{
|
||||
x: 0,
|
||||
y: -0.193,
|
||||
z: -0.03899999
|
||||
},
|
||||
Slots: [
|
||||
{
|
||||
_id: "66ce675cd29851414a241834",
|
||||
"_mergeSlotWithChildren": false,
|
||||
"_name": "mod_magazine",
|
||||
"_parent": WeaponIds.KSG12,
|
||||
"_props": {
|
||||
"filters": [
|
||||
{
|
||||
"AnimationIndex": 0,
|
||||
"Filter": [
|
||||
WeaponIds.KSG12_MAG
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"_proto": "55d30c394bdc2dae468b4577",
|
||||
"_required": true
|
||||
},
|
||||
{
|
||||
"_name": "mod_scope",
|
||||
"_id": "66ce68e4bdd6e19c47c184b7",
|
||||
"_parent": WeaponIds.KSG12,
|
||||
"_props": {
|
||||
"filters": [
|
||||
{
|
||||
"Shift": 0,
|
||||
"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",
|
||||
"5dfe6104585a0c3e995c7b82",
|
||||
"5d1b5e94d7ad1a2b865a96b0",
|
||||
"609bab8b455afd752b2e6138",
|
||||
"58d39d3d86f77445bb794ae7",
|
||||
"616554fe50224f204c1da2aa",
|
||||
"5c7d55f52e221644f31bff6a",
|
||||
"616584766ef05c2ce828ef57",
|
||||
"5b3b6dc75acfc47a8773fb1e",
|
||||
"615d8d878004cc50514c3233",
|
||||
"5b2389515acfc4771e1be0c0",
|
||||
"577d128124597739d65d0e56",
|
||||
"618b9643526131765025ab35",
|
||||
"618bab21526131765025ab3f",
|
||||
"5c86592b2e2216000e69e77c",
|
||||
"5a37ca54c4a282000d72296a",
|
||||
"5d0a29fed7ad1a002769ad08",
|
||||
"5c064c400db834001d23f468",
|
||||
"58d2664f86f7747fec5834f6",
|
||||
"57c69dd424597774c03b7bbc",
|
||||
"5b3b99265acfc4704b4a1afb",
|
||||
"5aa66a9be5b5b0214e506e89",
|
||||
"5aa66c72e5b5b00016327c93",
|
||||
"5c1cdd302e221602b3137250",
|
||||
"61714b2467085e45ef140b2c",
|
||||
"6171407e50224f204c1da3c5",
|
||||
"61713cc4d8e3106d9806c109",
|
||||
"5b31163c5acfc400153b71cb",
|
||||
"5a33b652c4a28232996e407c",
|
||||
"5a33b2c9c4a282000c5a9511",
|
||||
"59db7eed86f77461f8380365",
|
||||
"5a1ead28fcdbcb001912fa9f",
|
||||
"626bb8532c923541184624b4",
|
||||
"62811f461d5df4475f46a332",
|
||||
"63fc449f5bd61c6cf3784a88",
|
||||
"6477772ea8a38bb2050ed4db",
|
||||
"6478641c19d732620e045e17",
|
||||
"64785e7c19d732620e045e15",
|
||||
"65392f611406374f82152ba5",
|
||||
"653931da5db71d30ab1d6296",
|
||||
"655f13e0a246670fb0373245"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"_required": false,
|
||||
"_mergeSlotWithChildren": false,
|
||||
"_proto": "55d30c4c4bdc2db4468b457e"
|
||||
},
|
||||
{
|
||||
"_name": "mod_foregrip",
|
||||
"_id": "66ce69648498e374463500a6",
|
||||
"_parent": WeaponIds.KSG12,
|
||||
"_props": {
|
||||
"filters": [
|
||||
{
|
||||
"Shift": 0,
|
||||
"Filter": [
|
||||
"5c7fc87d2e221644f31c0298",
|
||||
"5cda9bcfd7f00c0c0b53e900",
|
||||
"59f8a37386f7747af3328f06",
|
||||
"619386379fb0c665d5490dbe",
|
||||
"5c87ca002e221600114cb150",
|
||||
"588226d124597767ad33f787",
|
||||
"588226dd24597767ad33f789",
|
||||
"588226e62459776e3e094af7",
|
||||
"588226ef24597767af46e39c",
|
||||
"59fc48e086f77463b1118392",
|
||||
"5fce0cf655375d18a253eff0",
|
||||
"5cf4fb76d7f00c065703d3ac",
|
||||
"5b057b4f5acfc4771e1bd3e9",
|
||||
"5c791e872e2216001219c40a",
|
||||
"558032614bdc2de7118b4585",
|
||||
"58c157be86f77403c74b2bb6",
|
||||
"58c157c886f774032749fb06",
|
||||
"5f6340d3ca442212f4047eb2",
|
||||
"591af28e86f77414a27a9e1d",
|
||||
"5c1cd46f2e22164bef5cfedb",
|
||||
"5c1bc4812e22164bef5cfde7",
|
||||
"5c1bc5612e221602b5429350",
|
||||
"5c1bc5af2e221602b412949b",
|
||||
"5c1bc5fb2e221602b1779b32",
|
||||
"5c1bc7432e221602b412949d",
|
||||
"5c1bc7752e221602b1779b34",
|
||||
"648067db042be0705c0b3009",
|
||||
"64807a29e5ffe165600abc97",
|
||||
"64806bdd26c80811d408d37a",
|
||||
"65169d5b30425317755f8e25",
|
||||
"655df24fdf80b12750626d0a",
|
||||
"655dccfdbdcc6b5df71382b6"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"_required": false,
|
||||
"_mergeSlotWithChildren": false,
|
||||
"_proto": "55d30c4c4bdc2db4468b457e"
|
||||
},
|
||||
{
|
||||
"_name": "mod_sight_rear",
|
||||
"_id": "66ce69d9b539f92cb86b9691",
|
||||
"_parent": WeaponIds.KSG12,
|
||||
"_props": {
|
||||
"filters": [
|
||||
{
|
||||
"Shift": 0,
|
||||
"Filter": [
|
||||
"5bb20e49d4351e3bac1212de",
|
||||
"5ba26b17d4351e00367f9bdd",
|
||||
"5dfa3d7ac41b2312ea33362a",
|
||||
"5c1780312e221602b66cc189",
|
||||
"5fb6564947ce63734e3fa1da",
|
||||
"5bc09a18d4351e003562b68e",
|
||||
"5c18b9192e2216398b5a8104",
|
||||
"5fc0fa957283c4046c58147e",
|
||||
"5894a81786f77427140b8347",
|
||||
"55d5f46a4bdc2d1b198b4567"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"_required": false,
|
||||
"_mergeSlotWithChildren": false,
|
||||
"_proto": "55d30c4c4bdc2db4468b457e"
|
||||
},
|
||||
{
|
||||
"_name": "mod_sight_front",
|
||||
"_id": "66ce69f01b281721aa000457",
|
||||
"_parent": WeaponIds.KSG12,
|
||||
"_props": {
|
||||
"filters": [
|
||||
{
|
||||
"Shift": 0,
|
||||
"Filter": [
|
||||
"5ba26b01d4351e0085325a51",
|
||||
"5dfa3d950dee1b22f862eae0",
|
||||
"5c17804b2e2216152006c02f",
|
||||
"5fb6567747ce63734e3fa1dc",
|
||||
"5bc09a30d4351e00367fb7c8",
|
||||
"5c18b90d2e2216152142466b",
|
||||
"5fc0fa362770a0045c59c677",
|
||||
"5894a73486f77426d259076c",
|
||||
"55d4af3a4bdc2d972f8b456f"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"_required": false,
|
||||
"_mergeSlotWithChildren": false,
|
||||
"_proto": "55d30c4c4bdc2db4468b457e"
|
||||
}
|
||||
],
|
||||
Weight: 3.02,
|
||||
ammoCaliber: "Caliber12g",
|
||||
defAmmo: "560d5e524bdc2d25448b4571",
|
||||
defMagType: WeaponIds.KSG12_MAG,
|
||||
durabSpawnMax: 100,
|
||||
durabSpawnMin: 35,
|
||||
AllowFeed: false,
|
||||
AllowJam: false,
|
||||
AllowMisfire: false,
|
||||
AllowSlide: false,
|
||||
AllowOverheat: false
|
||||
},
|
||||
parentId: "5447b6094bdc2dc3278b4567",
|
||||
newId: WeaponIds.KSG12,
|
||||
handbookParentId: "5b5f794b86f77409407a7f92",
|
||||
handbookPriceRoubles: 64431,
|
||||
fleaPriceRoubles: 88763,
|
||||
locales: {
|
||||
"en": {
|
||||
name: "Kel-Tec KSG-12g Shotgun",
|
||||
shortName: "KSG-12",
|
||||
description: "The Kel-Tec KSG is a bullpup 12-gauge pump-action shotgun designed by Kel-Tec. It has two tube magazines which the user of the gun can switch between manually (visual only, non functional). Rounds are loaded into the magazines through a large loading/ejection port, located at the bottom of the gun in the stock, behind the pistol grip. Empty shells are ejected down through the same port. Sighting equipment (iron sights and/or red dot sights) can be installed using the standard Picatinny rail located above the barrel. A second Picatinny rail is provided at the bottom of the sliding forend, permitting installation of other accessories."
|
||||
}
|
||||
}
|
||||
}
|
||||
customitem.createItemFromClone(ksg_12g);
|
||||
|
||||
const ksg_cap: NewItemFromCloneDetails = {
|
||||
itemTplToClone: ItemTpl.MAGAZINE_12G_M870X10_10RND,
|
||||
overrideProperties: {
|
||||
Cartridges: [
|
||||
{
|
||||
"_id": "66515612ca5e57294f5e3527",
|
||||
"_max_count": 14,
|
||||
"_name": "cartridges",
|
||||
"_parent": "665154c4019e9e7d5ad6d0cc",
|
||||
"_props": {
|
||||
"filters": [
|
||||
{
|
||||
"Filter": [
|
||||
"560d5e524bdc2d25448b4571",
|
||||
"5d6e6772a4b936088465b17c",
|
||||
"5d6e67fba4b9361bc73bc779",
|
||||
"5d6e6806a4b936088465b17e",
|
||||
"5d6e68dea4b9361bcc29e659",
|
||||
"5d6e6911a4b9361bd5780d52",
|
||||
"5c0d591486f7744c505b416f",
|
||||
"58820d1224597753c90aeb13",
|
||||
"5d6e68c4a4b9361b93413f79",
|
||||
"5d6e68a8a4b9360b6c0d54e2",
|
||||
"5d6e68e6a4b9361c140bcfe0",
|
||||
"5d6e6869a4b9361c140bcfde",
|
||||
"5d6e68b3a4b9361bca7e50b5",
|
||||
"5d6e6891a4b9361bd473feea",
|
||||
"5d6e689ca4b9361bc8618956",
|
||||
"5d6e68d1a4b93622fe60e845",
|
||||
"64b8ee384b75259c590fa89b"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"_proto": "5748538b2459770af276a261"
|
||||
}
|
||||
],
|
||||
Ergonomics: -8,
|
||||
Weight: 0.08,
|
||||
ExamineExperience: 4,
|
||||
ExaminedByDefault: false,
|
||||
Name: "mod_magazine_ksg_12g_tube_cap",
|
||||
ShortName: "mod_magazine_ksg_12g_tube_cap",
|
||||
Description: "mod_magazine_ksg_12g_tube_cap",
|
||||
Width: 1,
|
||||
ExtraSizeLeft: 0,
|
||||
|
||||
Prefab:
|
||||
{
|
||||
path: "ksg12/mod_magazine_ksg_12g_tube_cap.bundle",
|
||||
rcid: ""
|
||||
}
|
||||
|
||||
},
|
||||
parentId: "5448bc234bdc2d3c308b4569",
|
||||
newId: WeaponIds.KSG12_MAG,
|
||||
handbookParentId: "5b5f754a86f774094242f19b",
|
||||
handbookPriceRoubles: 2644,
|
||||
fleaPriceRoubles: 3874,
|
||||
locales: {
|
||||
"en": {
|
||||
name: "Kel-Tec KSG-12g 14-round Mag Cap",
|
||||
shortName: "KSG-12",
|
||||
description: "14-Round standard magazine cap for the KSG-12."
|
||||
}
|
||||
}
|
||||
}
|
||||
customitem.createItemFromClone(ksg_cap);
|
||||
|
||||
// MASTERY AND TRADER
|
||||
const ksg_mastery = {
|
||||
"Name": "Kel-Tec KSG-12",
|
||||
"Templates": [
|
||||
WeaponIds.KSG12
|
||||
],
|
||||
"Level2": 500,
|
||||
"Level3": 960
|
||||
}
|
||||
globals.config.Mastering.push(ksg_mastery)
|
||||
|
||||
for (const lang in db.locales.global)
|
||||
{
|
||||
db.locales.global[lang]["66cf2968f9beb45c3d12d323"] = "Lucky Shooter";
|
||||
db.locales.global[lang]["66cf290ff22275c4f39ccecc"] = "CQB";
|
||||
}
|
||||
|
||||
for (const itemPreset in global_preset_file.ItemPresets)
|
||||
{
|
||||
globals.ItemPresets[itemPreset] = global_preset_file.ItemPresets[itemPreset];
|
||||
}
|
||||
|
||||
//trader push
|
||||
PK.items.push(...preset_file.items);
|
||||
|
||||
for (const bsc in preset_file.barter_scheme)
|
||||
{
|
||||
PK.barter_scheme[bsc] = preset_file.barter_scheme[bsc];
|
||||
}
|
||||
|
||||
for (const llv in preset_file.loyal_level_items)
|
||||
{
|
||||
PK.loyal_level_items[llv] = preset_file.loyal_level_items[llv];
|
||||
}
|
||||
|
||||
//push loot
|
||||
const weaponcrateloot =
|
||||
{
|
||||
"tpl": WeaponIds.KSG12,
|
||||
"relativeProbability": 17
|
||||
}
|
||||
|
||||
const locations = db.locations;
|
||||
/* locations.rezervbase.looseLoot.spawnpoints.push(...spawnPoints.spawnsRezerv);
|
||||
locations.woods.looseLoot.spawnpoints.push(...spawnPoints.spawnsWoods);
|
||||
locations.factory4_day.looseLoot.spawnpoints.push(...spawnPoints.spawnsFactory);
|
||||
locations.factory4_night.looseLoot.spawnpoints.push(...spawnPoints.spawnsFactory); */
|
||||
|
||||
for (const locationKey in locations)
|
||||
{
|
||||
const location: ILocation = locations[locationKey];
|
||||
if (!location || !location.staticLoot)
|
||||
{
|
||||
continue
|
||||
}
|
||||
|
||||
location.staticLoot[ItemTpl.LOOTCONTAINER_WEAPON_BOX_5X5]?.itemDistribution.push(weaponcrateloot);
|
||||
location.staticLoot[ItemTpl.LOOTCONTAINER_WEAPON_BOX_6X3]?.itemDistribution.push(weaponcrateloot);
|
||||
location.staticLoot[ItemTpl.LOOTCONTAINER_WEAPON_BOX_5X2]?.itemDistribution.push(weaponcrateloot);
|
||||
}
|
||||
|
||||
const pipe = db.bots.types["followerbigpipe"];
|
||||
pipe.inventory.equipment.SecondPrimaryWeapon[WeaponIds.KSG12] = 825;
|
||||
pipe.inventory.mods[WeaponIds.KSG12] =
|
||||
{
|
||||
mod_magazine: [
|
||||
WeaponIds.KSG12_MAG
|
||||
],
|
||||
mod_sight_rear: [
|
||||
"5bc09a18d4351e003562b68e"
|
||||
],
|
||||
mod_sight_front: [
|
||||
"5bc09a30d4351e00367fb7c8"
|
||||
],
|
||||
mod_scope: [
|
||||
"58491f3324597764bc48fa02"
|
||||
],
|
||||
mod_foregrip: [
|
||||
"5c87ca002e221600114cb150"
|
||||
]
|
||||
}
|
||||
|
||||
customitem.addCustomWeaponToPMCs(WeaponIds.KSG12, 12, "FirstPrimaryWeapon")
|
||||
|
||||
db.templates.quests["5a03153686f77442d90e2171"].conditions.AvailableForFinish[0].counter.conditions[0].weapon.push(WeaponIds.KSG12)
|
||||
db.templates.quests["59ca264786f77445a80ed044"].conditions.AvailableForFinish[0].counter.conditions[0].weapon.push(WeaponIds.KSG12)
|
||||
|
||||
|
||||
//ON GOD WACKY AHH ID INVENTORY THING
|
||||
db.templates.items["55d7217a4bdc2d86028b456d"]._props.Slots[0]._props.filters[0].Filter.push(WeaponIds.KSG12);
|
||||
db.templates.items["55d7217a4bdc2d86028b456d"]._props.Slots[1]._props.filters[0].Filter.push(WeaponIds.KSG12);
|
||||
}
|
||||
}
|
||||
|
||||
export const mod = new Mod();
|
||||
Reference in New Issue
Block a user