Added RPG-7 & Peacemaker Mods
This commit is contained in:
parent
4be51035f2
commit
e1905a5613
|
@ -0,0 +1,28 @@
|
||||||
|
[General]
|
||||||
|
gameName=spt
|
||||||
|
modid=0
|
||||||
|
version=d2025.1.11.0
|
||||||
|
newestVersion=
|
||||||
|
category="1,"
|
||||||
|
nexusFileStatus=1
|
||||||
|
installationFile=choccy-saa-1.0.7.zip
|
||||||
|
repository=Nexus
|
||||||
|
ignoredVersion=
|
||||||
|
comments=
|
||||||
|
notes=
|
||||||
|
nexusDescription=
|
||||||
|
url=
|
||||||
|
hasCustomURL=true
|
||||||
|
lastNexusQuery=
|
||||||
|
lastNexusUpdate=
|
||||||
|
nexusLastModified=2025-01-11T09:13:21Z
|
||||||
|
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,75 @@
|
||||||
|
{
|
||||||
|
"manifest": [
|
||||||
|
{
|
||||||
|
"key": "assets/weapons/colt_saa/patron_1143x33mmr_lead.bundle",
|
||||||
|
"dependencyKeys": [
|
||||||
|
"shaders",
|
||||||
|
"cubemaps"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "assets/weapons/colt_saa/weapon_colt_single_action_army_container.bundle",
|
||||||
|
"dependencyKeys": [
|
||||||
|
"assets/content/weapons/additional_hands/client_assets.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",
|
||||||
|
"assets/weapons/colt_saa/main_store.bundle",
|
||||||
|
"assets/weapons/colt_saa/saa_bank.bundle",
|
||||||
|
"assets/content/audio/weapons/generic"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "assets/weapons/colt_saa/weapon_colt_single_action_army_container_debugging.bundle",
|
||||||
|
"dependencyKeys": [
|
||||||
|
"assets/content/weapons/additional_hands/client_assets.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",
|
||||||
|
"assets/weapons/colt_saa/main_store.bundle",
|
||||||
|
"assets/weapons/colt_saa/saa_bank.bundle",
|
||||||
|
"assets/content/audio/weapons/generic"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "assets/weapons/colt_saa/weapon_colt_single_action_army_container_debugging_alt.bundle",
|
||||||
|
"dependencyKeys": [
|
||||||
|
"assets/content/weapons/additional_hands/client_assets.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",
|
||||||
|
"assets/weapons/colt_saa/main_store.bundle",
|
||||||
|
"assets/weapons/colt_saa/saa_bank.bundle",
|
||||||
|
"assets/content/audio/weapons/generic"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "assets/weapons/colt_saa/main_store.bundle",
|
||||||
|
"dependencyKeys": [
|
||||||
|
"shaders",
|
||||||
|
"cubemaps",
|
||||||
|
"assets/weapons/colt_saa/texture.bundle"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "assets/weapons/colt_saa/texture.bundle",
|
||||||
|
"dependencyKeys": [
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "assets/weapons/colt_saa/mod_magazine_colt_army_cylinder.bundle",
|
||||||
|
"dependencyKeys": [
|
||||||
|
"assets/weapons/colt_saa/main_store.bundle"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "assets/weapons/colt_saa/saa_bank.bundle",
|
||||||
|
"dependencyKeys": [
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
BIN
mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/main_store.bundle (Stored with Git LFS)
Normal file
BIN
mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/main_store.bundle (Stored with Git LFS)
Normal file
Binary file not shown.
BIN
mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/mod_magazine_colt_army_cylinder.bundle (Stored with Git LFS)
Normal file
BIN
mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/mod_magazine_colt_army_cylinder.bundle (Stored with Git LFS)
Normal file
Binary file not shown.
BIN
mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/patron_1143x33mmr_lead.bundle (Stored with Git LFS)
Normal file
BIN
mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/patron_1143x33mmr_lead.bundle (Stored with Git LFS)
Normal file
Binary file not shown.
BIN
mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/saa_bank.bundle (Stored with Git LFS)
Normal file
BIN
mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/saa_bank.bundle (Stored with Git LFS)
Normal file
Binary file not shown.
BIN
mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/texture.bundle (Stored with Git LFS)
Normal file
BIN
mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/texture.bundle (Stored with Git LFS)
Normal file
Binary file not shown.
BIN
mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/weapon_colt_single_action_army_container.bundle (Stored with Git LFS)
Normal file
BIN
mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/weapon_colt_single_action_army_container.bundle (Stored with Git LFS)
Normal file
Binary file not shown.
BIN
mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/weapon_colt_single_action_army_container_debugging.bundle (Stored with Git LFS)
Normal file
BIN
mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/weapon_colt_single_action_army_container_debugging.bundle (Stored with Git LFS)
Normal file
Binary file not shown.
BIN
mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/weapon_colt_single_action_army_container_debugging_alt.bundle (Stored with Git LFS)
Normal file
BIN
mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/weapon_colt_single_action_army_container_debugging_alt.bundle (Stored with Git LFS)
Normal file
Binary file not shown.
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"Debug_Mode": false,
|
||||||
|
"altdebug": false
|
||||||
|
}
|
|
@ -0,0 +1,112 @@
|
||||||
|
Disclaimer
|
||||||
|
|
||||||
|
Last updated: January 27, 2021
|
||||||
|
|
||||||
|
Interpretation and Definitions
|
||||||
|
|
||||||
|
Interpretation
|
||||||
|
|
||||||
|
The words of which the initial letter is capitalized have meanings defined under the following
|
||||||
|
conditions. The following definitions shall have the same meaning regardless of whether they
|
||||||
|
appear in singular or in plural.
|
||||||
|
|
||||||
|
Definitions
|
||||||
|
|
||||||
|
For the purposes of this Disclaimer:
|
||||||
|
|
||||||
|
● Company (referred to as either "the Company", "We", "Us" or "Our" in this Disclaimer)
|
||||||
|
refers to Senko's Pub.
|
||||||
|
|
||||||
|
● Service refers to the Website and any other associated or affiliated content.
|
||||||
|
● You means the individual accessing the Service, or the company, or other legal entity on
|
||||||
|
|
||||||
|
behalf of which such individual is accessing or using the Service, as applicable.
|
||||||
|
● Website refers to the SP Tarkov website and the Senko’s Pub website or app,
|
||||||
|
|
||||||
|
accessible from h ttps://www.sp-tarkov.com/ and https://www.guilded.gg/senkospub
|
||||||
|
respectively.
|
||||||
|
|
||||||
|
Disclaimer
|
||||||
|
|
||||||
|
The information contained on the Service is for general information purposes only.
|
||||||
|
|
||||||
|
The Company assumes no responsibility for errors or omissions in the contents of the Service.
|
||||||
|
|
||||||
|
In no event shall the Company be liable for any special, direct, indirect, consequential, or
|
||||||
|
incidental damages or any damages whatsoever, whether in an action of contract, negligence or
|
||||||
|
other tort, arising out of or in connection with the use of the Service or the contents of the
|
||||||
|
Service. The Company reserves the right to make additions, deletions, or modifications to the
|
||||||
|
contents on the Service at any time without prior notice.
|
||||||
|
|
||||||
|
The Company does not warrant that the Service is free of viruses or other harmful components.
|
||||||
|
External Links Disclaimer
|
||||||
|
|
||||||
|
The Service may contain links to external websites that are not provided or maintained by or in
|
||||||
|
any way affiliated with the Company.
|
||||||
|
|
||||||
|
Please note that the Company does not guarantee the accuracy, relevance, timeliness, or
|
||||||
|
completeness of any information on these external websites.
|
||||||
|
|
||||||
|
Errors and Omissions Disclaimer
|
||||||
|
|
||||||
|
The information given by the Service is for general guidance on matters of interest only. Even if
|
||||||
|
the Company takes every precaution to insure that the content of the Service is both current and
|
||||||
|
accurate, errors can occur. Plus, given the changing nature of laws, rules and regulations, there
|
||||||
|
may be delays, omissions or inaccuracies in the information contained on the Service.
|
||||||
|
|
||||||
|
The Company is not responsible for any errors or omissions, or for the results obtained from the
|
||||||
|
use of this information.
|
||||||
|
|
||||||
|
Fair Use Disclaimer
|
||||||
|
|
||||||
|
The Company may use copyrighted material which has not always been specifically authorized
|
||||||
|
by the copyright owner. The Company is making such material available for criticism, comment,
|
||||||
|
news reporting, teaching, scholarship, or research.
|
||||||
|
|
||||||
|
The Company believes this constitutes a "fair use" of any such copyrighted material as provided
|
||||||
|
for in section 107 of the United States Copyright law.
|
||||||
|
|
||||||
|
If You wish to use copyrighted material from the Service for your own purposes that go beyond
|
||||||
|
fair use, You must obtain permission from the copyright owner.
|
||||||
|
|
||||||
|
Views Expressed Disclaimer
|
||||||
|
|
||||||
|
The Service may contain views and opinions which are those of the authors and do not
|
||||||
|
necessarily reflect the official policy or position of any other author, agency, organization,
|
||||||
|
employer or company, including the Company.
|
||||||
|
|
||||||
|
Comments published by users are their sole responsibility and the users will take full
|
||||||
|
responsibility, liability and blame for any libel or litigation that results from something written in or
|
||||||
|
as a direct result of something written in a comment. The Company is not liable for any
|
||||||
|
comment published by users and reserve the right to delete any comment for any reason
|
||||||
|
whatsoever.
|
||||||
|
|
||||||
|
No Responsibility Disclaimer
|
||||||
|
|
||||||
|
The information on the Service is provided with the understanding that the Company is not
|
||||||
|
herein engaged in rendering legal, accounting, tax, or other professional advice and services.
|
||||||
|
As such, it should not be used as a substitute for consultation with professional accounting, tax,
|
||||||
|
legal or other competent advisers.
|
||||||
|
|
||||||
|
In no event shall the Company or its suppliers be liable for any special, incidental, indirect, or
|
||||||
|
consequential damages whatsoever arising out of or in connection with your access or use or
|
||||||
|
inability to access or use the Service.
|
||||||
|
|
||||||
|
"Use at Your Own Risk" Disclaimer
|
||||||
|
|
||||||
|
All information in the Service is provided "as is", with no guarantee of completeness, accuracy,
|
||||||
|
timeliness or of the results obtained from the use of this information, and without warranty of any
|
||||||
|
kind, express or implied, including, but not limited to warranties of performance, merchantability
|
||||||
|
and fitness for a particular purpose.
|
||||||
|
|
||||||
|
The Company will not be liable to You or anyone else for any decision made or action taken in
|
||||||
|
reliance on the information given by the Service or for any consequential, special or similar
|
||||||
|
damages, even if advised of the possibility of such damages.
|
||||||
|
|
||||||
|
Contact Us
|
||||||
|
|
||||||
|
If you have any questions about this Disclaimer, You can contact Us:
|
||||||
|
|
||||||
|
● By email: t eam@sp-tarkov.com
|
||||||
|
● By visiting us at: https://www.guilded.gg/senkospub
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
"name": "SAA",
|
||||||
|
"version": "1.0.7",
|
||||||
|
"main": "src/mod.js",
|
||||||
|
"license": "CC-BY 3.0",
|
||||||
|
"author": "Choccy",
|
||||||
|
"isBundleMod": true,
|
||||||
|
"sptVersion": "~3.10",
|
||||||
|
"scripts": {
|
||||||
|
"setup": "npm i",
|
||||||
|
"build": "node ./build.mjs",
|
||||||
|
"buildinfo": "node ./build.mjs --verbose"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@types/node": "20.11",
|
||||||
|
"@typescript-eslint/eslint-plugin": "7.2",
|
||||||
|
"@typescript-eslint/parser": "7.2",
|
||||||
|
"archiver": "^6.0",
|
||||||
|
"eslint": "8.57",
|
||||||
|
"fs-extra": "11.2",
|
||||||
|
"ignore": "^5.2",
|
||||||
|
"tsyringe": "4.8.0",
|
||||||
|
"typescript": "5.4",
|
||||||
|
"winston": "3.12"
|
||||||
|
}
|
||||||
|
}
|
|
@ -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,82 @@
|
||||||
|
{
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"_id": "6651564f6b50749c3c503af5",
|
||||||
|
"_tpl": "665152810b4c784f2258d7d0",
|
||||||
|
"parentId": "hideout",
|
||||||
|
"slotId": "hideout",
|
||||||
|
"upd": {
|
||||||
|
"UnlimitedCount": true,
|
||||||
|
"StackObjectsCount": 2375,
|
||||||
|
"FireMode": {
|
||||||
|
"FireMode": "single"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "65f6e6c2fab2670ee1dd550f",
|
||||||
|
"_tpl": "665154c4019e9e7d5ad6d0cc",
|
||||||
|
"parentId": "6651564f6b50749c3c503af5",
|
||||||
|
"slotId": "mod_magazine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "66515659559711f98644d702",
|
||||||
|
"_tpl": "665154c4019e9e7d5ad6d0cc",
|
||||||
|
"parentId": "hideout",
|
||||||
|
"slotId": "hideout",
|
||||||
|
"upd": {
|
||||||
|
"UnlimitedCount": true,
|
||||||
|
"StackObjectsCount": 5732
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "66515661ac3ab013c5a5308c",
|
||||||
|
"_tpl": "65f3e7fa6d952338bde17f8a",
|
||||||
|
"parentId": "hideout",
|
||||||
|
"slotId": "hideout",
|
||||||
|
"upd": {
|
||||||
|
"UnlimitedCount": true,
|
||||||
|
"StackObjectsCount": 5732
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"barter_scheme": {
|
||||||
|
"6651564f6b50749c3c503af5": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"_tpl": "5e54f62086f774219b0f1937",
|
||||||
|
"count": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_tpl": "5bc9bdb8d4351e003562b8a1",
|
||||||
|
"count": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_tpl": "5bc9b355d4351e6d1509862a",
|
||||||
|
"count": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"66515659559711f98644d702": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"_tpl": "5449016a4bdc2d6f028b456f",
|
||||||
|
"count": 21554
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"66515661ac3ab013c5a5308c": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"_tpl": "5449016a4bdc2d6f028b456f",
|
||||||
|
"count": 2875
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"loyal_level_items":{
|
||||||
|
"6651564f6b50749c3c503af5": 3,
|
||||||
|
"66515659559711f98644d702": 3,
|
||||||
|
"66515661ac3ab013c5a5308c": 3
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
{
|
||||||
|
"ItemPresets": {
|
||||||
|
"65f3e931ac7e6374d1edae28": {
|
||||||
|
"_changeWeaponName": false,
|
||||||
|
"_encyclopedia": "665152810b4c784f2258d7d0",
|
||||||
|
"_id": "65f3e931ac7e6374d1edae28",
|
||||||
|
"_items": [
|
||||||
|
{
|
||||||
|
"_id": "65f3e93d2054f73e342c8c7e",
|
||||||
|
"_tpl": "665152810b4c784f2258d7d0",
|
||||||
|
"upd": {
|
||||||
|
"FireMode": {
|
||||||
|
"FireMode": "single"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "65f3e96e4069bbc8d4d79f8e",
|
||||||
|
"_tpl": "665154c4019e9e7d5ad6d0cc",
|
||||||
|
"parentId": "65f3e93d2054f73e342c8c7e",
|
||||||
|
"slotId": "mod_magazine"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_name": "Peacemaker Stock",
|
||||||
|
"_parent": "65f3e93d2054f73e342c8c7e",
|
||||||
|
"_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,452 @@
|
||||||
|
"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.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"));
|
||||||
|
const config_json_1 = __importDefault(require("../config/config.json"));
|
||||||
|
const Spawns_json_1 = __importDefault(require("../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["COLT_PEACEMAKER"] = "665152810b4c784f2258d7d0";
|
||||||
|
})(WeaponIds || (exports.WeaponIds = WeaponIds = {}));
|
||||||
|
class Mod {
|
||||||
|
postDBLoad(container) {
|
||||||
|
const customitem = container.resolve("CustomItemService");
|
||||||
|
const databaseServer = container.resolve("DatabaseServer");
|
||||||
|
const dbTables = databaseServer.getTables();
|
||||||
|
const globals = dbTables.globals;
|
||||||
|
const PK = dbTables.traders[Traders_1.Traders.PEACEKEEPER].assort;
|
||||||
|
const SKR = dbTables.traders[Traders_1.Traders.SKIER].assort;
|
||||||
|
// WEAPON LISTING AND ATTACHMENT
|
||||||
|
const Patron_1143x33 = {
|
||||||
|
itemTplToClone: "5c0d56a986f774449d5de529",
|
||||||
|
overrideProperties: {
|
||||||
|
Weight: 0.0165,
|
||||||
|
ArmorDamage: 58,
|
||||||
|
BulletMassGram: 16.5,
|
||||||
|
Caliber: "Caliber1143x33mmR",
|
||||||
|
Damage: 102,
|
||||||
|
ExaminedByDefault: false,
|
||||||
|
FragmentType: "",
|
||||||
|
FragmentationChance: 0,
|
||||||
|
InitialSpeed: 343,
|
||||||
|
HeavyBleedingDelta: 0.24,
|
||||||
|
LightBleedingDelta: 0.33,
|
||||||
|
PenetrationChanceObstacle: 0.32,
|
||||||
|
PenetrationPower: 67,
|
||||||
|
PenetrationPowerDiviation: 0.211,
|
||||||
|
Prefab: {
|
||||||
|
path: "assets/weapons/colt_saa/patron_1143x33mmr_lead.bundle",
|
||||||
|
rcid: ""
|
||||||
|
},
|
||||||
|
StaminaBurnPerDamage: 0.733,
|
||||||
|
casingMass: 14,
|
||||||
|
ammoRec: 47,
|
||||||
|
MalfFeedChance: 0,
|
||||||
|
MalfMisfireChance: 0,
|
||||||
|
StackMaxSize: 20,
|
||||||
|
StackMaxRandom: 10
|
||||||
|
},
|
||||||
|
parentId: "5485a8684bdc2da71d8b4567",
|
||||||
|
newId: "65f3e7fa6d952338bde17f8a",
|
||||||
|
handbookParentId: "5b47574386f77428ca22b33b",
|
||||||
|
handbookPriceRoubles: 1086,
|
||||||
|
fleaPriceRoubles: 1244,
|
||||||
|
locales: {
|
||||||
|
"en": {
|
||||||
|
name: ".45 Colt +P",
|
||||||
|
shortName: ".45C+P",
|
||||||
|
description: "The .45 Colt (11.43×33mmR), is a rimmed, straight-walled, handgun cartridge dating to 1872. The .45 Colt is loaded with black powder, but with recent years it is now loaded with a smokeless powder. Providing a powerful force with the cost of recoil."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
customitem.createItemFromClone(Patron_1143x33);
|
||||||
|
const colt_saa = {
|
||||||
|
itemTplToClone: "61a4c8884f95bc3b2c5dc96f",
|
||||||
|
overrideProperties: {
|
||||||
|
Prefab: {
|
||||||
|
path: "assets/weapons/colt_saa/weapon_colt_single_action_army_container.bundle",
|
||||||
|
rcid: ""
|
||||||
|
},
|
||||||
|
BackgroundColor: "yellow",
|
||||||
|
aimingSensitivity: 0.7,
|
||||||
|
AimPlane: 0.15,
|
||||||
|
CenterOfImpact: 0.045,
|
||||||
|
DeviationCurve: 3,
|
||||||
|
DeviationMax: 8,
|
||||||
|
Ergonomics: 95,
|
||||||
|
ExaminedByDefault: true,
|
||||||
|
ExamineExperience: 18,
|
||||||
|
HeatFactorGun: 0.76,
|
||||||
|
IronSightRange: 100,
|
||||||
|
LootExperience: 25,
|
||||||
|
RecoilAngle: 94,
|
||||||
|
RecoilCenter: {
|
||||||
|
x: 0,
|
||||||
|
y: -0.491,
|
||||||
|
z: -0.023
|
||||||
|
},
|
||||||
|
RecoilForceUp: 422,
|
||||||
|
RecoilForceBack: 240,
|
||||||
|
RecoilPosZMult: 0.7,
|
||||||
|
RecoilCamera: 0.016,
|
||||||
|
RecoilReturnPathDampingHandRotation: 0.68,
|
||||||
|
RecoilReturnSpeedHandRotation: 3.26,
|
||||||
|
RecoilDampingHandRotation: 0.74,
|
||||||
|
CameraToWeaponAngleStep: 0.01,
|
||||||
|
CameraSnap: 4,
|
||||||
|
RotationCenterNoStock: {
|
||||||
|
x: 0,
|
||||||
|
y: -0.491,
|
||||||
|
z: -0.023
|
||||||
|
},
|
||||||
|
Slots: [
|
||||||
|
{
|
||||||
|
_id: "665154a231f1039d7fccbcd5",
|
||||||
|
"_mergeSlotWithChildren": false,
|
||||||
|
"_name": "mod_magazine",
|
||||||
|
"_parent": WeaponIds.COLT_PEACEMAKER,
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"AnimationIndex": 0,
|
||||||
|
"Filter": [
|
||||||
|
"665154c4019e9e7d5ad6d0cc"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "55d30c394bdc2dae468b4577",
|
||||||
|
"_required": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
Weight: 1.048,
|
||||||
|
ammoCaliber: "Caliber1143x33mmR",
|
||||||
|
defAmmo: "65f3e7fa6d952338bde17f8a",
|
||||||
|
defMagType: "665154c4019e9e7d5ad6d0cc",
|
||||||
|
durabSpawnMax: 100,
|
||||||
|
durabSpawnMin: 35,
|
||||||
|
weapFireType: ["single"]
|
||||||
|
},
|
||||||
|
parentId: "617f1ef5e8b54b0998387733",
|
||||||
|
newId: WeaponIds.COLT_PEACEMAKER,
|
||||||
|
handbookParentId: "5b5f792486f77447ed5636b3",
|
||||||
|
handbookPriceRoubles: 12987,
|
||||||
|
fleaPriceRoubles: 174335,
|
||||||
|
locales: {
|
||||||
|
"en": {
|
||||||
|
name: "Colt Single Action Army \"Peacemaker\" 11.43x33mmR Revolver",
|
||||||
|
shortName: "Peacemaker",
|
||||||
|
description: "The Colt Single Action Army, also known as SAA, is a single-action revolver handgun. It was designed for the U.S. government service revolver trials of 1872 by Colt's Patent Firearms Manufacturing Company and was adopted as the standard-issued pistol of the U.S. Army from 1873 until 1892. Today, they are mainly bought as memorabilia by collectors and re-enactors. It is recommended to not load all 6 shot as the hammer wil hit the round even if it's not cocked (but that's real life). This one has engraving all over it, offering no tactical advantage whatsoever."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
customitem.createItemFromClone(colt_saa);
|
||||||
|
const colt_cylinder = {
|
||||||
|
itemTplToClone: "619f54a1d25cbd424731fb99",
|
||||||
|
overrideProperties: {
|
||||||
|
Cartridges: [
|
||||||
|
{
|
||||||
|
"_id": "66515612ca5e57294f5e3527",
|
||||||
|
"_max_count": 6,
|
||||||
|
"_name": "cartridges",
|
||||||
|
"_parent": "665154c4019e9e7d5ad6d0cc",
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"Filter": [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "5748538b2459770af276a261"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
Ergonomics: -12,
|
||||||
|
Weight: 0.21,
|
||||||
|
ExamineExperience: 12,
|
||||||
|
Prefab: {
|
||||||
|
path: "assets/weapons/colt_saa/mod_magazine_colt_army_cylinder.bundle",
|
||||||
|
rcid: ""
|
||||||
|
},
|
||||||
|
Slots: [
|
||||||
|
{
|
||||||
|
"_id": "665156168ca9d58731082a0a",
|
||||||
|
"_mergeSlotWithChildren": false,
|
||||||
|
"_name": "camora_000",
|
||||||
|
"_parent": "665154c4019e9e7d5ad6d0cc",
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"Filter": [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
],
|
||||||
|
MaxStackCount: 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "55d4af244bdc2d962f8b4571",
|
||||||
|
"_required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "66515619ddd2bbaccbae878b",
|
||||||
|
"_mergeSlotWithChildren": false,
|
||||||
|
"_name": "camora_001",
|
||||||
|
"_parent": "665154c4019e9e7d5ad6d0cc",
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"Filter": [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
],
|
||||||
|
MaxStackCount: 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "55d4af244bdc2d962f8b4571",
|
||||||
|
"_required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6651561ed786bdb78ba7577d",
|
||||||
|
"_mergeSlotWithChildren": false,
|
||||||
|
"_name": "camora_002",
|
||||||
|
"_parent": "665154c4019e9e7d5ad6d0cc",
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"Filter": [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
],
|
||||||
|
"MaxStackCount": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "55d4af244bdc2d962f8b4571",
|
||||||
|
"_required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "665156238098aeabb396b22e",
|
||||||
|
"_mergeSlotWithChildren": false,
|
||||||
|
"_name": "camora_003",
|
||||||
|
"_parent": "665154c4019e9e7d5ad6d0cc",
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"Filter": [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
],
|
||||||
|
"MaxStackCount": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "55d4af244bdc2d962f8b4571",
|
||||||
|
"_required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "66515627af664f37df1da465",
|
||||||
|
"_mergeSlotWithChildren": false,
|
||||||
|
"_name": "camora_004",
|
||||||
|
"_parent": "665154c4019e9e7d5ad6d0cc",
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"Filter": [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
],
|
||||||
|
"MaxStackCount": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "55d4af244bdc2d962f8b4571",
|
||||||
|
"_required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6651562b36f0014c0cb19e14",
|
||||||
|
"_mergeSlotWithChildren": false,
|
||||||
|
"_name": "camora_005",
|
||||||
|
"_parent": "665154c4019e9e7d5ad6d0cc",
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"Filter": [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
],
|
||||||
|
"MaxStackCount": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "55d4af244bdc2d962f8b4571",
|
||||||
|
"_required": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
parentId: "610720f290b75a49ff2e5e25",
|
||||||
|
newId: "665154c4019e9e7d5ad6d0cc",
|
||||||
|
handbookParentId: "5b5f754a86f774094242f19b",
|
||||||
|
handbookPriceRoubles: 2553,
|
||||||
|
fleaPriceRoubles: 4348,
|
||||||
|
locales: {
|
||||||
|
"en": {
|
||||||
|
name: "Colt Single Action Army 6-Round Cylinder",
|
||||||
|
shortName: "Colt SAA",
|
||||||
|
description: "6-Round standard issue cylinder for the SAA. This one has been customized with intricate engraving."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
customitem.createItemFromClone(colt_cylinder);
|
||||||
|
const Patron_1143x33_PACK = {
|
||||||
|
itemTplToClone: "5649ed104bdc2d3d1c8b458b",
|
||||||
|
overrideProperties: {
|
||||||
|
StackSlots: [
|
||||||
|
{
|
||||||
|
"_id": "6651562fa7842ba5dacc9d7d",
|
||||||
|
"_max_count": 20,
|
||||||
|
"_name": "cartridges",
|
||||||
|
"_parent": "66515174b0b7affec08d22aa",
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"Filter": [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "5748538b2459770af276a261"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
Prefab: {
|
||||||
|
path: "assets/content/items/ammo/boxes/item_ammo_box_7_62x54mm_r.bundle",
|
||||||
|
rcid: ""
|
||||||
|
},
|
||||||
|
ammoCaliber: "Caliber1143x33mmR"
|
||||||
|
},
|
||||||
|
parentId: "543be5cb4bdc2deb348b4568",
|
||||||
|
newId: "66515174b0b7affec08d22aa",
|
||||||
|
handbookParentId: "5b47574386f77428ca22b33c",
|
||||||
|
handbookPriceRoubles: 1763,
|
||||||
|
fleaPriceRoubles: 2876,
|
||||||
|
locales: {
|
||||||
|
"en": {
|
||||||
|
name: ".45 Colt +P 20 Cartridges Pack",
|
||||||
|
shortName: ".45C+P",
|
||||||
|
description: "A 20-round pack for .45 Colt cartridges."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
customitem.createItemFromClone(Patron_1143x33_PACK);
|
||||||
|
// MASTERY AND TRADER
|
||||||
|
const saa_mastery = {
|
||||||
|
"Name": "Colt Single Action",
|
||||||
|
"Templates": [
|
||||||
|
WeaponIds.COLT_PEACEMAKER
|
||||||
|
],
|
||||||
|
"Level2": 450,
|
||||||
|
"Level3": 900
|
||||||
|
};
|
||||||
|
globals.config.Mastering.push(saa_mastery);
|
||||||
|
if (config_json_1.default.Debug_Mode && config_json_1.default.altdebug != true) {
|
||||||
|
dbTables.templates.items[WeaponIds.COLT_PEACEMAKER]._props.Prefab.path = "assets/weapons/colt_saa/weapon_colt_single_action_army_container_debugging.bundle";
|
||||||
|
}
|
||||||
|
else if (config_json_1.default.Debug_Mode && config_json_1.default.altdebug) {
|
||||||
|
dbTables.templates.items[WeaponIds.COLT_PEACEMAKER]._props.Prefab.path = "assets/weapons/colt_saa/weapon_colt_single_action_army_container_debugging_alt.bundle";
|
||||||
|
}
|
||||||
|
for (const itemPreset in global_item_preset_json_1.default.ItemPresets) {
|
||||||
|
globals.ItemPresets[itemPreset] = global_item_preset_json_1.default.ItemPresets[itemPreset];
|
||||||
|
}
|
||||||
|
//trader push
|
||||||
|
SKR.items.push(...Item_Preset_json_1.default.items);
|
||||||
|
for (const bsc in Item_Preset_json_1.default.barter_scheme) {
|
||||||
|
SKR.barter_scheme[bsc] = Item_Preset_json_1.default.barter_scheme[bsc];
|
||||||
|
}
|
||||||
|
for (const llv in Item_Preset_json_1.default.loyal_level_items) {
|
||||||
|
SKR.loyal_level_items[llv] = Item_Preset_json_1.default.loyal_level_items[llv];
|
||||||
|
}
|
||||||
|
//push loot
|
||||||
|
const safeLoot = {
|
||||||
|
"tpl": WeaponIds.COLT_PEACEMAKER,
|
||||||
|
"relativeProbability": 24
|
||||||
|
};
|
||||||
|
const ammopack = {
|
||||||
|
tpl: "66515174b0b7affec08d22aa",
|
||||||
|
"relativeProbability": 146
|
||||||
|
};
|
||||||
|
const locations = dbTables.locations;
|
||||||
|
locations.rezervbase.looseLoot.spawnpoints.push(...Spawns_json_1.default.spawnsRezerv);
|
||||||
|
locations.woods.looseLoot.spawnpoints.push(...Spawns_json_1.default.spawnsWoods);
|
||||||
|
locations.factory4_day.looseLoot.spawnpoints.push(...Spawns_json_1.default.spawnsFactory);
|
||||||
|
locations.factory4_night.looseLoot.spawnpoints.push(...Spawns_json_1.default.spawnsFactory);
|
||||||
|
for (const locationKey in locations) {
|
||||||
|
const location = locations[locationKey];
|
||||||
|
if (!location || !location.staticLoot) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
const safe = location.staticLoot[ItemTpl_1.ItemTpl.LOOTCONTAINER_SAFE];
|
||||||
|
if (safe) {
|
||||||
|
safe.itemDistribution.push(safeLoot);
|
||||||
|
}
|
||||||
|
const weaponbox5x5 = location.staticLoot[ItemTpl_1.ItemTpl.LOOTCONTAINER_WEAPON_BOX_5X5];
|
||||||
|
if (weaponbox5x5) {
|
||||||
|
weaponbox5x5.itemDistribution.push(ammopack);
|
||||||
|
}
|
||||||
|
location.staticLoot[ItemTpl_1.ItemTpl.LOOTCONTAINER_WEAPON_BOX_4X4]?.itemDistribution.push(ammopack);
|
||||||
|
location.staticLoot[ItemTpl_1.ItemTpl.LOOTCONTAINER_WEAPON_BOX_6X3]?.itemDistribution.push(ammopack);
|
||||||
|
location.staticLoot[ItemTpl_1.ItemTpl.LOOTCONTAINER_WEAPON_BOX_5X2]?.itemDistribution.push(ammopack);
|
||||||
|
location.staticLoot[ItemTpl_1.ItemTpl.LOOTCONTAINER_WOODEN_CRATE]?.itemDistribution.push(ammopack);
|
||||||
|
if (!location || !location.staticAmmo) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
location.staticAmmo["Caliber1143x33mmR"] =
|
||||||
|
[
|
||||||
|
{
|
||||||
|
tpl: "65f3e7fa6d952338bde17f8a",
|
||||||
|
relativeProbability: 1
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
const scavy = dbTables.bots.types["assault"];
|
||||||
|
scavy.inventory.equipment.Holster[WeaponIds.COLT_PEACEMAKER] = 9;
|
||||||
|
scavy.inventory.mods[WeaponIds.COLT_PEACEMAKER] =
|
||||||
|
{
|
||||||
|
mod_magazine: [
|
||||||
|
"665154c4019e9e7d5ad6d0cc"
|
||||||
|
]
|
||||||
|
};
|
||||||
|
scavy.inventory.mods["665154c4019e9e7d5ad6d0cc"] =
|
||||||
|
{
|
||||||
|
camora_000: [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
],
|
||||||
|
camora_001: [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
],
|
||||||
|
camora_002: [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
],
|
||||||
|
camora_003: [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
],
|
||||||
|
camora_004: [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
],
|
||||||
|
camora_005: [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
]
|
||||||
|
};
|
||||||
|
scavy.inventory.Ammo["Caliber1143x33mmR"] =
|
||||||
|
{
|
||||||
|
"65f3e7fa6d952338bde17f8a": 1
|
||||||
|
};
|
||||||
|
customitem.addCustomWeaponToPMCs(WeaponIds.COLT_PEACEMAKER, 7, "Holster");
|
||||||
|
//ON GOD WACKY AHH ID INVENTORY THING
|
||||||
|
dbTables.templates.items["55d7217a4bdc2d86028b456d"]._props.Slots[2]._props.filters[0].Filter.push(WeaponIds.COLT_PEACEMAKER);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exports.mod = new Mod();
|
||||||
|
//# sourceMappingURL=mod.js.map
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,494 @@
|
||||||
|
/* 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 config from "../config/config.json";
|
||||||
|
import spawnPoints from "../src/loot/Spawns.json";
|
||||||
|
import { ItemTpl } from "@spt/models/enums/ItemTpl";
|
||||||
|
import { Traders } from "@spt/models/enums/Traders";
|
||||||
|
import { BodyPart, IBotType } from "@spt/models/eft/common/tables/IBotType";
|
||||||
|
|
||||||
|
export enum WeaponIds
|
||||||
|
{
|
||||||
|
COLT_PEACEMAKER = "665152810b4c784f2258d7d0"
|
||||||
|
}
|
||||||
|
|
||||||
|
class Mod implements IPostDBLoadMod
|
||||||
|
{
|
||||||
|
public postDBLoad(container: DependencyContainer): void {
|
||||||
|
const customitem = container.resolve<CustomItemService>("CustomItemService");
|
||||||
|
const databaseServer = container.resolve<DatabaseServer>("DatabaseServer");
|
||||||
|
const dbTables = databaseServer.getTables();
|
||||||
|
const globals = dbTables.globals;
|
||||||
|
const PK = dbTables.traders[Traders.PEACEKEEPER].assort;
|
||||||
|
const SKR = dbTables.traders[Traders.SKIER].assort;
|
||||||
|
// WEAPON LISTING AND ATTACHMENT
|
||||||
|
const Patron_1143x33: NewItemFromCloneDetails = {
|
||||||
|
itemTplToClone: "5c0d56a986f774449d5de529",
|
||||||
|
overrideProperties: {
|
||||||
|
Weight: 0.0165,
|
||||||
|
ArmorDamage: 58,
|
||||||
|
BulletMassGram: 16.5,
|
||||||
|
Caliber: "Caliber1143x33mmR",
|
||||||
|
Damage: 102,
|
||||||
|
ExaminedByDefault: false,
|
||||||
|
FragmentType: "",
|
||||||
|
FragmentationChance: 0,
|
||||||
|
InitialSpeed: 343,
|
||||||
|
HeavyBleedingDelta: 0.24,
|
||||||
|
LightBleedingDelta: 0.33,
|
||||||
|
PenetrationChanceObstacle: 0.32,
|
||||||
|
PenetrationPower: 67,
|
||||||
|
PenetrationPowerDiviation: 0.211,
|
||||||
|
Prefab: {
|
||||||
|
path: "assets/weapons/colt_saa/patron_1143x33mmr_lead.bundle",
|
||||||
|
rcid: ""
|
||||||
|
},
|
||||||
|
StaminaBurnPerDamage: 0.733,
|
||||||
|
casingMass: 14,
|
||||||
|
ammoRec: 47,
|
||||||
|
MalfFeedChance: 0,
|
||||||
|
MalfMisfireChance: 0,
|
||||||
|
StackMaxSize: 20,
|
||||||
|
StackMaxRandom: 10
|
||||||
|
},
|
||||||
|
parentId: "5485a8684bdc2da71d8b4567",
|
||||||
|
newId: "65f3e7fa6d952338bde17f8a",
|
||||||
|
handbookParentId: "5b47574386f77428ca22b33b",
|
||||||
|
handbookPriceRoubles: 1086,
|
||||||
|
fleaPriceRoubles: 1244,
|
||||||
|
locales: {
|
||||||
|
"en": {
|
||||||
|
name: ".45 Colt +P",
|
||||||
|
shortName: ".45C+P",
|
||||||
|
description: "The .45 Colt (11.43×33mmR), is a rimmed, straight-walled, handgun cartridge dating to 1872. The .45 Colt is loaded with black powder, but with recent years it is now loaded with a smokeless powder. Providing a powerful force with the cost of recoil."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
customitem.createItemFromClone(Patron_1143x33);
|
||||||
|
|
||||||
|
const colt_saa: NewItemFromCloneDetails = {
|
||||||
|
itemTplToClone: "61a4c8884f95bc3b2c5dc96f",
|
||||||
|
overrideProperties: {
|
||||||
|
Prefab: {
|
||||||
|
path: "assets/weapons/colt_saa/weapon_colt_single_action_army_container.bundle",
|
||||||
|
rcid: ""
|
||||||
|
},
|
||||||
|
BackgroundColor: "yellow",
|
||||||
|
aimingSensitivity: 0.7,
|
||||||
|
AimPlane: 0.15,
|
||||||
|
CenterOfImpact: 0.045,
|
||||||
|
DeviationCurve: 3,
|
||||||
|
DeviationMax: 8,
|
||||||
|
Ergonomics: 95,
|
||||||
|
ExaminedByDefault: true,
|
||||||
|
ExamineExperience: 18,
|
||||||
|
HeatFactorGun: 0.76,
|
||||||
|
IronSightRange: 100,
|
||||||
|
LootExperience: 25,
|
||||||
|
RecoilAngle: 94,
|
||||||
|
RecoilCenter:
|
||||||
|
{
|
||||||
|
x: 0,
|
||||||
|
y: -0.491,
|
||||||
|
z: -0.023
|
||||||
|
},
|
||||||
|
RecoilForceUp: 422,
|
||||||
|
RecoilForceBack: 240,
|
||||||
|
RecoilPosZMult: 0.7,
|
||||||
|
RecoilCamera: 0.016,
|
||||||
|
RecoilReturnPathDampingHandRotation: 0.68,
|
||||||
|
RecoilReturnSpeedHandRotation: 3.26,
|
||||||
|
RecoilDampingHandRotation: 0.74,
|
||||||
|
CameraToWeaponAngleStep: 0.01,
|
||||||
|
CameraSnap: 4,
|
||||||
|
RotationCenterNoStock:
|
||||||
|
{
|
||||||
|
x: 0,
|
||||||
|
y: -0.491,
|
||||||
|
z: -0.023
|
||||||
|
},
|
||||||
|
Slots: [
|
||||||
|
{
|
||||||
|
_id: "665154a231f1039d7fccbcd5",
|
||||||
|
"_mergeSlotWithChildren": false,
|
||||||
|
"_name": "mod_magazine",
|
||||||
|
"_parent": WeaponIds.COLT_PEACEMAKER,
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"AnimationIndex": 0,
|
||||||
|
"Filter": [
|
||||||
|
"665154c4019e9e7d5ad6d0cc"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "55d30c394bdc2dae468b4577",
|
||||||
|
"_required": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
Weight: 1.048,
|
||||||
|
ammoCaliber: "Caliber1143x33mmR",
|
||||||
|
defAmmo: "65f3e7fa6d952338bde17f8a",
|
||||||
|
defMagType: "665154c4019e9e7d5ad6d0cc",
|
||||||
|
durabSpawnMax: 100,
|
||||||
|
durabSpawnMin: 35,
|
||||||
|
weapFireType: ["single"]
|
||||||
|
},
|
||||||
|
parentId: "617f1ef5e8b54b0998387733",
|
||||||
|
newId: WeaponIds.COLT_PEACEMAKER,
|
||||||
|
handbookParentId: "5b5f792486f77447ed5636b3",
|
||||||
|
handbookPriceRoubles: 12987,
|
||||||
|
fleaPriceRoubles: 174335,
|
||||||
|
locales: {
|
||||||
|
"en": {
|
||||||
|
name: "Colt Single Action Army \"Peacemaker\" 11.43x33mmR Revolver",
|
||||||
|
shortName: "Peacemaker",
|
||||||
|
description: "The Colt Single Action Army, also known as SAA, is a single-action revolver handgun. It was designed for the U.S. government service revolver trials of 1872 by Colt's Patent Firearms Manufacturing Company and was adopted as the standard-issued pistol of the U.S. Army from 1873 until 1892. Today, they are mainly bought as memorabilia by collectors and re-enactors. It is recommended to not load all 6 shot as the hammer wil hit the round even if it's not cocked (but that's real life). This one has engraving all over it, offering no tactical advantage whatsoever."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
customitem.createItemFromClone(colt_saa);
|
||||||
|
|
||||||
|
const colt_cylinder: NewItemFromCloneDetails = {
|
||||||
|
itemTplToClone: "619f54a1d25cbd424731fb99",
|
||||||
|
overrideProperties: {
|
||||||
|
Cartridges: [
|
||||||
|
{
|
||||||
|
"_id": "66515612ca5e57294f5e3527",
|
||||||
|
"_max_count": 6,
|
||||||
|
"_name": "cartridges",
|
||||||
|
"_parent": "665154c4019e9e7d5ad6d0cc",
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"Filter": [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "5748538b2459770af276a261"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
Ergonomics: -12,
|
||||||
|
Weight: 0.21,
|
||||||
|
ExamineExperience: 12,
|
||||||
|
Prefab:
|
||||||
|
{
|
||||||
|
path: "assets/weapons/colt_saa/mod_magazine_colt_army_cylinder.bundle",
|
||||||
|
rcid: ""
|
||||||
|
},
|
||||||
|
Slots: [
|
||||||
|
{
|
||||||
|
"_id": "665156168ca9d58731082a0a",
|
||||||
|
"_mergeSlotWithChildren": false,
|
||||||
|
"_name": "camora_000",
|
||||||
|
"_parent": "665154c4019e9e7d5ad6d0cc",
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"Filter": [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
],
|
||||||
|
MaxStackCount: 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "55d4af244bdc2d962f8b4571",
|
||||||
|
"_required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "66515619ddd2bbaccbae878b",
|
||||||
|
"_mergeSlotWithChildren": false,
|
||||||
|
"_name": "camora_001",
|
||||||
|
"_parent": "665154c4019e9e7d5ad6d0cc",
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"Filter": [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
],
|
||||||
|
MaxStackCount: 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "55d4af244bdc2d962f8b4571",
|
||||||
|
"_required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6651561ed786bdb78ba7577d",
|
||||||
|
"_mergeSlotWithChildren": false,
|
||||||
|
"_name": "camora_002",
|
||||||
|
"_parent": "665154c4019e9e7d5ad6d0cc",
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"Filter": [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
],
|
||||||
|
"MaxStackCount": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "55d4af244bdc2d962f8b4571",
|
||||||
|
"_required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "665156238098aeabb396b22e",
|
||||||
|
"_mergeSlotWithChildren": false,
|
||||||
|
"_name": "camora_003",
|
||||||
|
"_parent": "665154c4019e9e7d5ad6d0cc",
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"Filter": [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
],
|
||||||
|
"MaxStackCount": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "55d4af244bdc2d962f8b4571",
|
||||||
|
"_required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "66515627af664f37df1da465",
|
||||||
|
"_mergeSlotWithChildren": false,
|
||||||
|
"_name": "camora_004",
|
||||||
|
"_parent": "665154c4019e9e7d5ad6d0cc",
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"Filter": [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
],
|
||||||
|
"MaxStackCount": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "55d4af244bdc2d962f8b4571",
|
||||||
|
"_required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "6651562b36f0014c0cb19e14",
|
||||||
|
"_mergeSlotWithChildren": false,
|
||||||
|
"_name": "camora_005",
|
||||||
|
"_parent": "665154c4019e9e7d5ad6d0cc",
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"Filter": [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
],
|
||||||
|
"MaxStackCount": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "55d4af244bdc2d962f8b4571",
|
||||||
|
"_required": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
},
|
||||||
|
parentId: "610720f290b75a49ff2e5e25",
|
||||||
|
newId: "665154c4019e9e7d5ad6d0cc",
|
||||||
|
handbookParentId: "5b5f754a86f774094242f19b",
|
||||||
|
handbookPriceRoubles: 2553,
|
||||||
|
fleaPriceRoubles: 4348,
|
||||||
|
locales: {
|
||||||
|
"en": {
|
||||||
|
name: "Colt Single Action Army 6-Round Cylinder",
|
||||||
|
shortName: "Colt SAA",
|
||||||
|
description: "6-Round standard issue cylinder for the SAA. This one has been customized with intricate engraving."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
customitem.createItemFromClone(colt_cylinder);
|
||||||
|
|
||||||
|
const Patron_1143x33_PACK: NewItemFromCloneDetails = {
|
||||||
|
itemTplToClone: "5649ed104bdc2d3d1c8b458b",
|
||||||
|
overrideProperties: {
|
||||||
|
StackSlots: [
|
||||||
|
{
|
||||||
|
"_id": "6651562fa7842ba5dacc9d7d",
|
||||||
|
"_max_count": 20,
|
||||||
|
"_name": "cartridges",
|
||||||
|
"_parent": "66515174b0b7affec08d22aa",
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"Filter": [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "5748538b2459770af276a261"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
Prefab: {
|
||||||
|
path: "assets/content/items/ammo/boxes/item_ammo_box_7_62x54mm_r.bundle",
|
||||||
|
rcid: ""
|
||||||
|
},
|
||||||
|
ammoCaliber: "Caliber1143x33mmR"
|
||||||
|
},
|
||||||
|
parentId: "543be5cb4bdc2deb348b4568",
|
||||||
|
newId: "66515174b0b7affec08d22aa",
|
||||||
|
handbookParentId: "5b47574386f77428ca22b33c",
|
||||||
|
handbookPriceRoubles: 1763,
|
||||||
|
fleaPriceRoubles: 2876,
|
||||||
|
locales: {
|
||||||
|
"en": {
|
||||||
|
name: ".45 Colt +P 20 Cartridges Pack",
|
||||||
|
shortName: ".45C+P",
|
||||||
|
description: "A 20-round pack for .45 Colt cartridges."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
customitem.createItemFromClone(Patron_1143x33_PACK);
|
||||||
|
|
||||||
|
// MASTERY AND TRADER
|
||||||
|
const saa_mastery = {
|
||||||
|
"Name": "Colt Single Action",
|
||||||
|
"Templates": [
|
||||||
|
WeaponIds.COLT_PEACEMAKER
|
||||||
|
],
|
||||||
|
"Level2": 450,
|
||||||
|
"Level3": 900
|
||||||
|
}
|
||||||
|
globals.config.Mastering.push(saa_mastery)
|
||||||
|
|
||||||
|
if (config.Debug_Mode && config.altdebug != true)
|
||||||
|
{
|
||||||
|
dbTables.templates.items[WeaponIds.COLT_PEACEMAKER]._props.Prefab.path = "assets/weapons/colt_saa/weapon_colt_single_action_army_container_debugging.bundle";
|
||||||
|
}
|
||||||
|
else if (config.Debug_Mode && config.altdebug)
|
||||||
|
{
|
||||||
|
dbTables.templates.items[WeaponIds.COLT_PEACEMAKER]._props.Prefab.path = "assets/weapons/colt_saa/weapon_colt_single_action_army_container_debugging_alt.bundle";
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const itemPreset in global_preset_file.ItemPresets)
|
||||||
|
{
|
||||||
|
globals.ItemPresets[itemPreset] = global_preset_file.ItemPresets[itemPreset];
|
||||||
|
}
|
||||||
|
|
||||||
|
//trader push
|
||||||
|
SKR.items.push(...preset_file.items);
|
||||||
|
|
||||||
|
for (const bsc in preset_file.barter_scheme)
|
||||||
|
{
|
||||||
|
SKR.barter_scheme[bsc] = preset_file.barter_scheme[bsc];
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const llv in preset_file.loyal_level_items)
|
||||||
|
{
|
||||||
|
SKR.loyal_level_items[llv] = preset_file.loyal_level_items[llv];
|
||||||
|
}
|
||||||
|
|
||||||
|
//push loot
|
||||||
|
const safeLoot =
|
||||||
|
{
|
||||||
|
"tpl": WeaponIds.COLT_PEACEMAKER,
|
||||||
|
"relativeProbability": 24
|
||||||
|
}
|
||||||
|
|
||||||
|
const ammopack =
|
||||||
|
{
|
||||||
|
tpl: "66515174b0b7affec08d22aa",
|
||||||
|
"relativeProbability": 146
|
||||||
|
}
|
||||||
|
|
||||||
|
const locations = dbTables.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
|
||||||
|
}
|
||||||
|
|
||||||
|
const safe = location.staticLoot[ItemTpl.LOOTCONTAINER_SAFE];
|
||||||
|
if (safe)
|
||||||
|
{
|
||||||
|
safe.itemDistribution.push(safeLoot);
|
||||||
|
}
|
||||||
|
|
||||||
|
const weaponbox5x5 = location.staticLoot[ItemTpl.LOOTCONTAINER_WEAPON_BOX_5X5];
|
||||||
|
if (weaponbox5x5)
|
||||||
|
{
|
||||||
|
weaponbox5x5.itemDistribution.push(ammopack);
|
||||||
|
}
|
||||||
|
|
||||||
|
location.staticLoot[ItemTpl.LOOTCONTAINER_WEAPON_BOX_4X4]?.itemDistribution.push(ammopack);
|
||||||
|
location.staticLoot[ItemTpl.LOOTCONTAINER_WEAPON_BOX_6X3]?.itemDistribution.push(ammopack);
|
||||||
|
location.staticLoot[ItemTpl.LOOTCONTAINER_WEAPON_BOX_5X2]?.itemDistribution.push(ammopack);
|
||||||
|
location.staticLoot[ItemTpl.LOOTCONTAINER_WOODEN_CRATE]?.itemDistribution.push(ammopack);
|
||||||
|
if (!location || !location.staticAmmo)
|
||||||
|
{
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
location.staticAmmo["Caliber1143x33mmR"] =
|
||||||
|
[
|
||||||
|
{
|
||||||
|
tpl: "65f3e7fa6d952338bde17f8a",
|
||||||
|
relativeProbability: 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
const scavy = dbTables.bots.types["assault"];
|
||||||
|
scavy.inventory.equipment.Holster[WeaponIds.COLT_PEACEMAKER] = 9;
|
||||||
|
scavy.inventory.mods[WeaponIds.COLT_PEACEMAKER] =
|
||||||
|
{
|
||||||
|
mod_magazine: [
|
||||||
|
"665154c4019e9e7d5ad6d0cc"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
scavy.inventory.mods["665154c4019e9e7d5ad6d0cc"] =
|
||||||
|
{
|
||||||
|
camora_000: [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
],
|
||||||
|
camora_001: [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
],
|
||||||
|
camora_002: [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
],
|
||||||
|
camora_003: [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
],
|
||||||
|
camora_004: [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
],
|
||||||
|
camora_005: [
|
||||||
|
"65f3e7fa6d952338bde17f8a"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
scavy.inventory.Ammo["Caliber1143x33mmR"] =
|
||||||
|
{
|
||||||
|
"65f3e7fa6d952338bde17f8a": 1
|
||||||
|
}
|
||||||
|
|
||||||
|
customitem.addCustomWeaponToPMCs(WeaponIds.COLT_PEACEMAKER, 7, "Holster")
|
||||||
|
|
||||||
|
|
||||||
|
//ON GOD WACKY AHH ID INVENTORY THING
|
||||||
|
dbTables.templates.items["55d7217a4bdc2d86028b456d"]._props.Slots[2]._props.filters[0].Filter.push(WeaponIds.COLT_PEACEMAKER);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const mod = new Mod();
|
BIN
mods/RPG-7/BepInEx/plugins/Arys-CustomAssetImporter/assets/effects/Choccy/custom_particles.bundle (Stored with Git LFS)
Normal file
BIN
mods/RPG-7/BepInEx/plugins/Arys-CustomAssetImporter/assets/effects/Choccy/custom_particles.bundle (Stored with Git LFS)
Normal file
Binary file not shown.
|
@ -0,0 +1,28 @@
|
||||||
|
[General]
|
||||||
|
gameName=spt
|
||||||
|
modid=0
|
||||||
|
version=d2025.1.11.0
|
||||||
|
newestVersion=
|
||||||
|
category="1,"
|
||||||
|
nexusFileStatus=1
|
||||||
|
installationFile=choccy-rpg7-1.1.4.zip
|
||||||
|
repository=Nexus
|
||||||
|
ignoredVersion=
|
||||||
|
comments=
|
||||||
|
notes=
|
||||||
|
nexusDescription=
|
||||||
|
url=
|
||||||
|
hasCustomURL=false
|
||||||
|
lastNexusQuery=
|
||||||
|
lastNexusUpdate=
|
||||||
|
nexusLastModified=2025-01-11T09:13:31Z
|
||||||
|
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,49 @@
|
||||||
|
{
|
||||||
|
"manifest": [
|
||||||
|
{
|
||||||
|
"key": "rpg7/client_assets.bundle",
|
||||||
|
"dependencyKeys": [
|
||||||
|
"cubemaps",
|
||||||
|
"rpg7/textures.bundle",
|
||||||
|
"shaders"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "rpg7/textures.bundle",
|
||||||
|
"dependencyKeys": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "rpg7/mod_front_sight_rpg7.bundle",
|
||||||
|
"dependencyKeys": [
|
||||||
|
"rpg7/client_assets.bundle"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "rpg7/mod_rear_sight_rpg7.bundle",
|
||||||
|
"dependencyKeys": [
|
||||||
|
"rpg7/client_assets.bundle"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "rpg7/patron_rpg7_pg7vl_93x40mm.bundle",
|
||||||
|
"dependencyKeys": [
|
||||||
|
"cubemaps",
|
||||||
|
"shaders",
|
||||||
|
"rpg7/client_assets.bundle"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "rpg7/weapon_rpg7_container.bundle",
|
||||||
|
"dependencyKeys": [
|
||||||
|
"assets/content/audio/blendoptions/assets.bundle",
|
||||||
|
"assets/content/audio/weapons/generic",
|
||||||
|
"assets/content/weapons/additional_hands/client_assets.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",
|
||||||
|
"rpg7/client_assets.bundle"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
BIN
mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/client_assets.bundle (Stored with Git LFS)
Normal file
BIN
mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/client_assets.bundle (Stored with Git LFS)
Normal file
Binary file not shown.
BIN
mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/mod_front_sight_rpg7.bundle (Stored with Git LFS)
Normal file
BIN
mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/mod_front_sight_rpg7.bundle (Stored with Git LFS)
Normal file
Binary file not shown.
BIN
mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/mod_rear_sight_rpg7.bundle (Stored with Git LFS)
Normal file
BIN
mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/mod_rear_sight_rpg7.bundle (Stored with Git LFS)
Normal file
Binary file not shown.
BIN
mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/patron_rpg7_pg7vl_93x40mm.bundle (Stored with Git LFS)
Normal file
BIN
mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/patron_rpg7_pg7vl_93x40mm.bundle (Stored with Git LFS)
Normal file
Binary file not shown.
BIN
mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/textures.bundle (Stored with Git LFS)
Normal file
BIN
mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/textures.bundle (Stored with Git LFS)
Normal file
Binary file not shown.
BIN
mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/weapon_rpg7_container.bundle (Stored with Git LFS)
Normal file
BIN
mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/weapon_rpg7_container.bundle (Stored with Git LFS)
Normal file
Binary file not shown.
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"ExplosionMin": 30,
|
||||||
|
"ExplosionMax": 45
|
||||||
|
}
|
|
@ -0,0 +1,112 @@
|
||||||
|
Disclaimer
|
||||||
|
|
||||||
|
Last updated: January 27, 2021
|
||||||
|
|
||||||
|
Interpretation and Definitions
|
||||||
|
|
||||||
|
Interpretation
|
||||||
|
|
||||||
|
The words of which the initial letter is capitalized have meanings defined under the following
|
||||||
|
conditions. The following definitions shall have the same meaning regardless of whether they
|
||||||
|
appear in singular or in plural.
|
||||||
|
|
||||||
|
Definitions
|
||||||
|
|
||||||
|
For the purposes of this Disclaimer:
|
||||||
|
|
||||||
|
● Company (referred to as either "the Company", "We", "Us" or "Our" in this Disclaimer)
|
||||||
|
refers to Senko's Pub.
|
||||||
|
|
||||||
|
● Service refers to the Website and any other associated or affiliated content.
|
||||||
|
● You means the individual accessing the Service, or the company, or other legal entity on
|
||||||
|
|
||||||
|
behalf of which such individual is accessing or using the Service, as applicable.
|
||||||
|
● Website refers to the SP Tarkov website and the Senko’s Pub website or app,
|
||||||
|
|
||||||
|
accessible from h ttps://www.sp-tarkov.com/ and https://www.guilded.gg/senkospub
|
||||||
|
respectively.
|
||||||
|
|
||||||
|
Disclaimer
|
||||||
|
|
||||||
|
The information contained on the Service is for general information purposes only.
|
||||||
|
|
||||||
|
The Company assumes no responsibility for errors or omissions in the contents of the Service.
|
||||||
|
|
||||||
|
In no event shall the Company be liable for any special, direct, indirect, consequential, or
|
||||||
|
incidental damages or any damages whatsoever, whether in an action of contract, negligence or
|
||||||
|
other tort, arising out of or in connection with the use of the Service or the contents of the
|
||||||
|
Service. The Company reserves the right to make additions, deletions, or modifications to the
|
||||||
|
contents on the Service at any time without prior notice.
|
||||||
|
|
||||||
|
The Company does not warrant that the Service is free of viruses or other harmful components.
|
||||||
|
External Links Disclaimer
|
||||||
|
|
||||||
|
The Service may contain links to external websites that are not provided or maintained by or in
|
||||||
|
any way affiliated with the Company.
|
||||||
|
|
||||||
|
Please note that the Company does not guarantee the accuracy, relevance, timeliness, or
|
||||||
|
completeness of any information on these external websites.
|
||||||
|
|
||||||
|
Errors and Omissions Disclaimer
|
||||||
|
|
||||||
|
The information given by the Service is for general guidance on matters of interest only. Even if
|
||||||
|
the Company takes every precaution to insure that the content of the Service is both current and
|
||||||
|
accurate, errors can occur. Plus, given the changing nature of laws, rules and regulations, there
|
||||||
|
may be delays, omissions or inaccuracies in the information contained on the Service.
|
||||||
|
|
||||||
|
The Company is not responsible for any errors or omissions, or for the results obtained from the
|
||||||
|
use of this information.
|
||||||
|
|
||||||
|
Fair Use Disclaimer
|
||||||
|
|
||||||
|
The Company may use copyrighted material which has not always been specifically authorized
|
||||||
|
by the copyright owner. The Company is making such material available for criticism, comment,
|
||||||
|
news reporting, teaching, scholarship, or research.
|
||||||
|
|
||||||
|
The Company believes this constitutes a "fair use" of any such copyrighted material as provided
|
||||||
|
for in section 107 of the United States Copyright law.
|
||||||
|
|
||||||
|
If You wish to use copyrighted material from the Service for your own purposes that go beyond
|
||||||
|
fair use, You must obtain permission from the copyright owner.
|
||||||
|
|
||||||
|
Views Expressed Disclaimer
|
||||||
|
|
||||||
|
The Service may contain views and opinions which are those of the authors and do not
|
||||||
|
necessarily reflect the official policy or position of any other author, agency, organization,
|
||||||
|
employer or company, including the Company.
|
||||||
|
|
||||||
|
Comments published by users are their sole responsibility and the users will take full
|
||||||
|
responsibility, liability and blame for any libel or litigation that results from something written in or
|
||||||
|
as a direct result of something written in a comment. The Company is not liable for any
|
||||||
|
comment published by users and reserve the right to delete any comment for any reason
|
||||||
|
whatsoever.
|
||||||
|
|
||||||
|
No Responsibility Disclaimer
|
||||||
|
|
||||||
|
The information on the Service is provided with the understanding that the Company is not
|
||||||
|
herein engaged in rendering legal, accounting, tax, or other professional advice and services.
|
||||||
|
As such, it should not be used as a substitute for consultation with professional accounting, tax,
|
||||||
|
legal or other competent advisers.
|
||||||
|
|
||||||
|
In no event shall the Company or its suppliers be liable for any special, incidental, indirect, or
|
||||||
|
consequential damages whatsoever arising out of or in connection with your access or use or
|
||||||
|
inability to access or use the Service.
|
||||||
|
|
||||||
|
"Use at Your Own Risk" Disclaimer
|
||||||
|
|
||||||
|
All information in the Service is provided "as is", with no guarantee of completeness, accuracy,
|
||||||
|
timeliness or of the results obtained from the use of this information, and without warranty of any
|
||||||
|
kind, express or implied, including, but not limited to warranties of performance, merchantability
|
||||||
|
and fitness for a particular purpose.
|
||||||
|
|
||||||
|
The Company will not be liable to You or anyone else for any decision made or action taken in
|
||||||
|
reliance on the information given by the Service or for any consequential, special or similar
|
||||||
|
damages, even if advised of the possibility of such damages.
|
||||||
|
|
||||||
|
Contact Us
|
||||||
|
|
||||||
|
If you have any questions about this Disclaimer, You can contact Us:
|
||||||
|
|
||||||
|
● By email: t eam@sp-tarkov.com
|
||||||
|
● By visiting us at: https://www.guilded.gg/senkospub
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"name": "RPG7",
|
||||||
|
"version": "1.1.4",
|
||||||
|
"main": "src/mod.js",
|
||||||
|
"license": "CC-BY 3.0",
|
||||||
|
"author": "Choccy",
|
||||||
|
"isBundleMod": true,
|
||||||
|
"sptVersion": "~3.10",
|
||||||
|
"loadBefore": [],
|
||||||
|
"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.4",
|
||||||
|
"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,170 @@
|
||||||
|
{
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"_id": "668ba3975c1a4c9b79bb68d9",
|
||||||
|
"_tpl": "668b9c37adf8dd87dcd87df9",
|
||||||
|
"parentId": "hideout",
|
||||||
|
"slotId": "hideout",
|
||||||
|
"upd": {
|
||||||
|
"UnlimitedCount": false,
|
||||||
|
"StackObjectsCount": 1053,
|
||||||
|
"BuyRestrictionCurrent": 0,
|
||||||
|
"BuyRestrictionMax": 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "3d98eada45977b1008bd60fe",
|
||||||
|
"_tpl": "668b9c27558936e864b4a504",
|
||||||
|
"parentId": "668ba3975c1a4c9b79bb68d9",
|
||||||
|
"slotId": "mod_sight_front"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "0980a5e03a3b26542b77f091",
|
||||||
|
"_tpl": "668b9c1b327f6a93d2375db3",
|
||||||
|
"parentId": "668ba3975c1a4c9b79bb68d9",
|
||||||
|
"slotId": "mod_sight_rear"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "668ba3a3e2754a5d658f9d86",
|
||||||
|
"_tpl": "668b9c37adf8dd87dcd87df9",
|
||||||
|
"parentId": "hideout",
|
||||||
|
"slotId": "hideout",
|
||||||
|
"upd": {
|
||||||
|
"UnlimitedCount": false,
|
||||||
|
"StackObjectsCount": 1053,
|
||||||
|
"BuyRestrictionCurrent": 0,
|
||||||
|
"BuyRestrictionMax": 5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "668ba3d2c7b4aaca11e0b8bb",
|
||||||
|
"_tpl": "668b9c27558936e864b4a504",
|
||||||
|
"parentId": "668ba3a3e2754a5d658f9d86",
|
||||||
|
"slotId": "mod_sight_front"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "668ba3ce3c888c935f524bbe",
|
||||||
|
"_tpl": "668b9c1b327f6a93d2375db3",
|
||||||
|
"parentId": "668ba3a3e2754a5d658f9d86",
|
||||||
|
"slotId": "mod_sight_rear"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "668ba3afc5745416518fc98c",
|
||||||
|
"_tpl": "65f484909638b1821d56149e",
|
||||||
|
"parentId": "hideout",
|
||||||
|
"slotId": "hideout",
|
||||||
|
"upd": {
|
||||||
|
"UnlimitedCount": false,
|
||||||
|
"StackObjectsCount": 3241,
|
||||||
|
"BuyRestrictionCurrent": 0,
|
||||||
|
"BuyRestrictionMax": 5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "668ba3b4a8df04f0219b9056",
|
||||||
|
"_tpl": "65f484909638b1821d56149e",
|
||||||
|
"parentId": "hideout",
|
||||||
|
"slotId": "hideout",
|
||||||
|
"upd": {
|
||||||
|
"UnlimitedCount": false,
|
||||||
|
"StackObjectsCount": 4091,
|
||||||
|
"BuyRestrictionCurrent": 0,
|
||||||
|
"BuyRestrictionMax": 8
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "668ba3c691121ef7a6da0d5b",
|
||||||
|
"_tpl": "668b9c27558936e864b4a504",
|
||||||
|
"parentId": "hideout",
|
||||||
|
"slotId": "hideout",
|
||||||
|
"upd": {
|
||||||
|
"UnlimitedCount": true,
|
||||||
|
"StackObjectsCount": 9999
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "668ba3c093eacd575f37dc7c",
|
||||||
|
"_tpl": "668b9c1b327f6a93d2375db3",
|
||||||
|
"parentId": "hideout",
|
||||||
|
"slotId": "hideout",
|
||||||
|
"upd": {
|
||||||
|
"UnlimitedCount": true,
|
||||||
|
"StackObjectsCount": 9999
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"barter_scheme": {
|
||||||
|
"668ba3975c1a4c9b79bb68d9": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"_tpl": "59faff1d86f7746c51718c9c",
|
||||||
|
"count": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_tpl": "5d1c819a86f774771b0acd6c",
|
||||||
|
"count": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_tpl": "5c12620d86f7743f8b198b72",
|
||||||
|
"count": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_tpl": "5d6fc87386f77449db3db94e",
|
||||||
|
"count": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"668ba3a3e2754a5d658f9d86": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"_tpl": "5449016a4bdc2d6f028b456f",
|
||||||
|
"count": 411532
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"668ba3afc5745416518fc98c": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"_tpl": "5d6fc87386f77449db3db94e",
|
||||||
|
"count": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_tpl": "5d1c819a86f774771b0acd6c",
|
||||||
|
"count": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"668ba3b4a8df04f0219b9056": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"_tpl": "5449016a4bdc2d6f028b456f",
|
||||||
|
"count": 75221
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"668ba3c691121ef7a6da0d5b": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"_tpl": "5449016a4bdc2d6f028b456f",
|
||||||
|
"count": 1152
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"668ba3c093eacd575f37dc7c": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"_tpl": "5449016a4bdc2d6f028b456f",
|
||||||
|
"count": 1152
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"loyal_level_items":{
|
||||||
|
"668ba3975c1a4c9b79bb68d9": 1,
|
||||||
|
"668ba3a3e2754a5d658f9d86": 3,
|
||||||
|
"668ba3afc5745416518fc98c": 1,
|
||||||
|
"668ba3b4a8df04f0219b9056": 2,
|
||||||
|
"668ba3c093eacd575f37dc7c": 1,
|
||||||
|
"668ba3c691121ef7a6da0d5b": 1
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,130 @@
|
||||||
|
{
|
||||||
|
"spawnsRezerv": [
|
||||||
|
{
|
||||||
|
"locationId": "(93.1053, 3.3972, -17.8457)",
|
||||||
|
"probability": 0.00548271211,
|
||||||
|
"template": {
|
||||||
|
"Id": "6650379222019b5d201b86e1",
|
||||||
|
"IsContainer": false,
|
||||||
|
"useGravity": true,
|
||||||
|
"randomRotation": false,
|
||||||
|
"Position": {
|
||||||
|
"x": 93.1053,
|
||||||
|
"y": 3.3972,
|
||||||
|
"z": -17.8457
|
||||||
|
},
|
||||||
|
"Rotation": {
|
||||||
|
"x": 0.0094,
|
||||||
|
"y": 115.0182,
|
||||||
|
"z": 89.9465
|
||||||
|
},
|
||||||
|
"IsGroupPosition": false,
|
||||||
|
"GroupPositions": [],
|
||||||
|
"IsAlwaysSpawn": false,
|
||||||
|
"Root": "6650379651a307b46b5843fa",
|
||||||
|
"Items": [
|
||||||
|
{
|
||||||
|
"_id": "66503799222398c8f0ffb499",
|
||||||
|
"_tpl": "668b9c37adf8dd87dcd87df9"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "3d98eada45977b1008bd60fe",
|
||||||
|
"_tpl": "668b9c27558936e864b4a504",
|
||||||
|
"parentId": "66503799222398c8f0ffb499",
|
||||||
|
"slotId": "mod_sight_front"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "0980a5e03a3b26542b77f091",
|
||||||
|
"_tpl": "668b9c1b327f6a93d2375db3",
|
||||||
|
"parentId": "66503799222398c8f0ffb499",
|
||||||
|
"slotId": "mod_sight_rear"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"itemDistribution": [
|
||||||
|
{
|
||||||
|
"composedKey": {
|
||||||
|
"key": "66503799222398c8f0ffb499"
|
||||||
|
},
|
||||||
|
"relativeProbability": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"locationId": "(92.3145, 3.3779, -17.606)",
|
||||||
|
"probability": 0.0000815232,
|
||||||
|
"template": {
|
||||||
|
"Id": "665037a906a6915e8c1d6cf6",
|
||||||
|
"IsContainer": false,
|
||||||
|
"useGravity": true,
|
||||||
|
"randomRotation": false,
|
||||||
|
"Position": {
|
||||||
|
"x": 92.3145,
|
||||||
|
"y": 3.3779,
|
||||||
|
"z": -17.606
|
||||||
|
},
|
||||||
|
"Rotation": {
|
||||||
|
"x": -0.0003,
|
||||||
|
"y": 105.6718,
|
||||||
|
"z": 228.0094
|
||||||
|
},
|
||||||
|
"IsGroupPosition": false,
|
||||||
|
"GroupPositions": [],
|
||||||
|
"IsAlwaysSpawn": false,
|
||||||
|
"Root": "665037adc139b4fe0a2f5a6c",
|
||||||
|
"Items": [
|
||||||
|
{
|
||||||
|
"_id": "665037affc12bfe0662b362b",
|
||||||
|
"_tpl": "65f484909638b1821d56149e"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"itemDistribution": [
|
||||||
|
{
|
||||||
|
"composedKey": {
|
||||||
|
"key": "665037affc12bfe0662b362b"
|
||||||
|
},
|
||||||
|
"relativeProbability": 3
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"locationId": "(92.5457, 3.3778, -17.4563)",
|
||||||
|
"probability": 0.0000815232,
|
||||||
|
"template": {
|
||||||
|
"Id": "665037b61299defbc2bb7d50",
|
||||||
|
"IsContainer": false,
|
||||||
|
"useGravity": true,
|
||||||
|
"randomRotation": false,
|
||||||
|
"Position": {
|
||||||
|
"x": 92.5457,
|
||||||
|
"y": 3.3778,
|
||||||
|
"z": -17.4563
|
||||||
|
},
|
||||||
|
"Rotation": {
|
||||||
|
"x": 0.02,
|
||||||
|
"y": 231.0191,
|
||||||
|
"z": 174.213
|
||||||
|
},
|
||||||
|
"IsGroupPosition": false,
|
||||||
|
"GroupPositions": [],
|
||||||
|
"IsAlwaysSpawn": false,
|
||||||
|
"Root": "665037b9a4193746f8b55fd8",
|
||||||
|
"Items": [
|
||||||
|
{
|
||||||
|
"_id": "665037bc6437b3e76401fb33",
|
||||||
|
"_tpl": "65f484909638b1821d56149e"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"itemDistribution": [
|
||||||
|
{
|
||||||
|
"composedKey": {
|
||||||
|
"key": "665037bc6437b3e76401fb33"
|
||||||
|
},
|
||||||
|
"relativeProbability": 3
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,57 @@
|
||||||
|
{
|
||||||
|
"ItemPresets": {
|
||||||
|
"65f484cd7d39950ce561bad4": {
|
||||||
|
"_changeWeaponName": false,
|
||||||
|
"_encyclopedia": "668b9c37adf8dd87dcd87df9",
|
||||||
|
"_id": "65f484cd7d39950ce561bad4",
|
||||||
|
"_items": [
|
||||||
|
{
|
||||||
|
"_id": "65f484d569e9a755c7c06bf2",
|
||||||
|
"_tpl": "668b9c37adf8dd87dcd87df9",
|
||||||
|
"upd": {
|
||||||
|
"FireMode": {
|
||||||
|
"FireMode": "single"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "3d98eada45977b1008bd60fe",
|
||||||
|
"_tpl": "668b9c27558936e864b4a504",
|
||||||
|
"parentId": "65f484d569e9a755c7c06bf2",
|
||||||
|
"slotId": "mod_sight_front",
|
||||||
|
"upd": {
|
||||||
|
"Sight": {
|
||||||
|
"ScopesCurrentCalibPointIndexes": [
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"ScopesSelectedModes": [
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"SelectedScope": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "0980a5e03a3b26542b77f091",
|
||||||
|
"_tpl": "668b9c1b327f6a93d2375db3",
|
||||||
|
"parentId": "65f484d569e9a755c7c06bf2",
|
||||||
|
"slotId": "mod_sight_rear",
|
||||||
|
"upd": {
|
||||||
|
"Sight": {
|
||||||
|
"ScopesCurrentCalibPointIndexes": [
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"ScopesSelectedModes": [
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"SelectedScope": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_name": "RPG-7V2",
|
||||||
|
"_parent": "65f484d569e9a755c7c06bf2",
|
||||||
|
"_type": "Preset"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,261 @@
|
||||||
|
"use strict";
|
||||||
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||||
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||||
|
};
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.mod = 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"));
|
||||||
|
const Spawns_json_1 = __importDefault(require("../src/Spawns.json"));
|
||||||
|
const config_json_1 = __importDefault(require("../config/config.json"));
|
||||||
|
class Mod {
|
||||||
|
postDBLoad(container) {
|
||||||
|
const customitem = container.resolve("CustomItemService");
|
||||||
|
const databaseserver = container.resolve("DatabaseServer");
|
||||||
|
const db = databaseserver.getTables();
|
||||||
|
const globals = db.globals;
|
||||||
|
const PRP = db.traders[Traders_1.Traders.PRAPOR].assort;
|
||||||
|
//---WEAPON LISTING AND ATTACHMENT---
|
||||||
|
const weapon_rpg7 = {
|
||||||
|
itemTplToClone: "5e81ebcd8e146c7080625e15",
|
||||||
|
overrideProperties: {
|
||||||
|
BackgroundColor: "yellow",
|
||||||
|
AimPlane: 0.03,
|
||||||
|
AimSensitivity: 0.55,
|
||||||
|
CenterOfImpact: 0.4,
|
||||||
|
Chambers: [
|
||||||
|
{
|
||||||
|
"_id": "668b9c4618fcdec559709609",
|
||||||
|
"_mergeSlotWithChildren": false,
|
||||||
|
"_name": "patron_in_weapon",
|
||||||
|
"_parent": "668b9c37adf8dd87dcd87df9",
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"Filter": [
|
||||||
|
"65f484909638b1821d56149e"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "55d4af244bdc2d962f8b4571",
|
||||||
|
"_required": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
CompactHandling: false,
|
||||||
|
CanSellOnRagfair: false,
|
||||||
|
Ergonomics: 34,
|
||||||
|
Foldable: false,
|
||||||
|
Height: 2,
|
||||||
|
Width: 7,
|
||||||
|
IronSightRange: 50,
|
||||||
|
LootExperience: 35,
|
||||||
|
RecoilCenter: {
|
||||||
|
x: 0.039,
|
||||||
|
y: -0.016,
|
||||||
|
z: 0.024
|
||||||
|
},
|
||||||
|
RecoilForceBack: 68,
|
||||||
|
RecoilForceUp: 45,
|
||||||
|
RecoilDampingHandRotation: 0.75,
|
||||||
|
RecoilCamera: 0,
|
||||||
|
blockLeftStance: true,
|
||||||
|
RotationCenter: {
|
||||||
|
x: 0.039,
|
||||||
|
y: -0.016,
|
||||||
|
z: 0.024
|
||||||
|
},
|
||||||
|
RotationCenterNoStock: {
|
||||||
|
x: 0.039,
|
||||||
|
y: -0.016,
|
||||||
|
z: 0.024
|
||||||
|
},
|
||||||
|
Weight: 6.3,
|
||||||
|
defAmmo: "65f484909638b1821d56149e",
|
||||||
|
ammoCaliber: "Caliber40mm",
|
||||||
|
isBoltCatch: false,
|
||||||
|
Slots: [
|
||||||
|
{
|
||||||
|
"_id": "668b9c4169fa7f86b96a072f",
|
||||||
|
"_mergeSlotWithChildren": false,
|
||||||
|
"_name": "mod_sight_front",
|
||||||
|
"_parent": "668b9c37adf8dd87dcd87df9",
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"Filter": [
|
||||||
|
"668b9c27558936e864b4a504"
|
||||||
|
],
|
||||||
|
"Shift": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "55d30c4c4bdc2db4468b457e",
|
||||||
|
"_required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "668b9c2ee622e896622dd1cc",
|
||||||
|
"_mergeSlotWithChildren": false,
|
||||||
|
"_name": "mod_sight_rear",
|
||||||
|
"_parent": "668b9c37adf8dd87dcd87df9",
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"Filter": [
|
||||||
|
"668b9c1b327f6a93d2375db3"
|
||||||
|
],
|
||||||
|
"Shift": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "55d30c4c4bdc2db4468b457e",
|
||||||
|
"_required": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
Prefab: {
|
||||||
|
path: "rpg7/weapon_rpg7_container.bundle",
|
||||||
|
rcid: ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
parentId: "5447bedf4bdc2d87278b4568",
|
||||||
|
newId: "668b9c37adf8dd87dcd87df9",
|
||||||
|
handbookParentId: "5b5f79eb86f77447ed5636b7",
|
||||||
|
fleaPriceRoubles: 511073,
|
||||||
|
handbookPriceRoubles: 417322,
|
||||||
|
locales: {
|
||||||
|
"en": {
|
||||||
|
name: "RPG-7V2 \"Ruchnoy Protivotankovyy Granatomot\" Handheld Anti-Tank Grenade Launcher",
|
||||||
|
shortName: "RPG-7V2",
|
||||||
|
description: "The RPG-7 is a portable and reusable Shoulder launched rocket propelled grenade launcher. The ruggedness, simplicity, low cost, and effectiveness of the RPG-7 has made it the most widely used anti-armor weapon in the world. Currently around 40 countries use the weapon; it is manufactured in several variants by nine countries. It is popular with irregular and guerrilla forces. The RPG-7 can fire a variety of warheads for anti-armor or anti-personnel."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
customitem.createItemFromClone(weapon_rpg7);
|
||||||
|
const sight_front_rpg7 = {
|
||||||
|
itemTplToClone: "5ba26b01d4351e0085325a51",
|
||||||
|
overrideProperties: {
|
||||||
|
AimSensitivity: [
|
||||||
|
[
|
||||||
|
0.55
|
||||||
|
]
|
||||||
|
],
|
||||||
|
Prefab: {
|
||||||
|
path: "rpg7/mod_front_sight_rpg7.bundle",
|
||||||
|
rcid: ""
|
||||||
|
},
|
||||||
|
SightingRange: 50
|
||||||
|
},
|
||||||
|
parentId: "55818ac54bdc2d5b648b456e",
|
||||||
|
newId: "668b9c27558936e864b4a504",
|
||||||
|
fleaPriceRoubles: 8755,
|
||||||
|
handbookPriceRoubles: 7544,
|
||||||
|
handbookParentId: "5b5f746686f77447ec5d7708",
|
||||||
|
locales: {
|
||||||
|
"en": {
|
||||||
|
name: "RPG-7 Standard Front Iron Sight",
|
||||||
|
shortName: "RPG-7 Iron",
|
||||||
|
description: "A standard issue iron sight made for RPG-7"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
customitem.createItemFromClone(sight_front_rpg7);
|
||||||
|
const sight_rear_rpg7 = {
|
||||||
|
itemTplToClone: "5ba26b17d4351e00367f9bdd",
|
||||||
|
overrideProperties: {
|
||||||
|
AimSensitivity: [
|
||||||
|
[
|
||||||
|
0.55
|
||||||
|
]
|
||||||
|
],
|
||||||
|
Prefab: {
|
||||||
|
path: "rpg7/mod_rear_sight_rpg7.bundle",
|
||||||
|
rcid: ""
|
||||||
|
},
|
||||||
|
SightingRange: 50
|
||||||
|
},
|
||||||
|
parentId: "55818ac54bdc2d5b648b456e",
|
||||||
|
newId: "668b9c1b327f6a93d2375db3",
|
||||||
|
fleaPriceRoubles: 8755,
|
||||||
|
handbookPriceRoubles: 7544,
|
||||||
|
handbookParentId: "5b5f746686f77447ec5d7708",
|
||||||
|
locales: {
|
||||||
|
"en": {
|
||||||
|
name: "RPG-7 Standard Rear Iron Sight",
|
||||||
|
shortName: "RPG-7 Iron",
|
||||||
|
description: "A standard issue iron sight made for RPG-7"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
customitem.createItemFromClone(sight_rear_rpg7);
|
||||||
|
const patron_pg7vl = {
|
||||||
|
itemTplToClone: "5ede474b0c226a66f5402622",
|
||||||
|
overrideProperties: {
|
||||||
|
ArmorDamage: 100,
|
||||||
|
AmmoLifeTimeSec: 60,
|
||||||
|
ArmorDistanceDistanceDamage: {
|
||||||
|
x: 1,
|
||||||
|
y: 5,
|
||||||
|
z: 26
|
||||||
|
},
|
||||||
|
CanSellOnRagfair: false,
|
||||||
|
Caliber: "Caliber93x40mm",
|
||||||
|
BallisticCoeficient: 0.078,
|
||||||
|
Damage: 210,
|
||||||
|
ExplosionStrength: 95,
|
||||||
|
FragmentsCount: 50,
|
||||||
|
FuzeArmTimeSec: 0.18,
|
||||||
|
FragmentType: "5996f6d686f77467977ba6cc",
|
||||||
|
Height: 1,
|
||||||
|
Width: 5,
|
||||||
|
InitialSpeed: 112,
|
||||||
|
MaxExplosionDistance: config_json_1.default.ExplosionMax,
|
||||||
|
MinExplosionDistance: config_json_1.default.ExplosionMin,
|
||||||
|
ExplosionType: "spg_explosion",
|
||||||
|
PenetrationPower: 0,
|
||||||
|
Prefab: {
|
||||||
|
path: "rpg7/patron_rpg7_pg7vl_93x40mm.bundle",
|
||||||
|
rcid: ""
|
||||||
|
},
|
||||||
|
ShowBullet: true,
|
||||||
|
ShowHitEffectOnExplode: true,
|
||||||
|
RemoveShellAfterFire: true,
|
||||||
|
Tracer: true,
|
||||||
|
TracerColor: "tracerRed",
|
||||||
|
Weight: 2.6
|
||||||
|
},
|
||||||
|
parentId: "5485a8684bdc2da71d8b4567",
|
||||||
|
newId: "65f484909638b1821d56149e",
|
||||||
|
fleaPriceRoubles: 86654,
|
||||||
|
handbookPriceRoubles: 75542,
|
||||||
|
handbookParentId: "5b47574386f77428ca22b33b",
|
||||||
|
locales: {
|
||||||
|
"en": {
|
||||||
|
name: "PG-7VL Anti-Tank HEAT Warhead",
|
||||||
|
shortName: "PG-7VL",
|
||||||
|
description: "RPG-7 Round with an improved HEAT warhead, most effective against light and some armored target. Not recommended to fire into human unless you want red mist."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
customitem.createItemFromClone(patron_pg7vl);
|
||||||
|
//---MASTERY AND TRADER---
|
||||||
|
PRP.items.push(...Item_Preset_json_1.default.items);
|
||||||
|
for (const bsc in Item_Preset_json_1.default.barter_scheme) {
|
||||||
|
PRP.barter_scheme[bsc] = Item_Preset_json_1.default.barter_scheme[bsc];
|
||||||
|
}
|
||||||
|
for (const llv in Item_Preset_json_1.default.loyal_level_items) {
|
||||||
|
PRP.loyal_level_items[llv] = Item_Preset_json_1.default.loyal_level_items[llv];
|
||||||
|
}
|
||||||
|
//---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];
|
||||||
|
}
|
||||||
|
db.locations.rezervbase.looseLoot.spawnpoints.push(...Spawns_json_1.default.spawnsRezerv);
|
||||||
|
//---For Other tidbits of manipulation---
|
||||||
|
db.templates.items[ItemTpl_1.ItemTpl.INVENTORY_DEFAULT]._props.Slots[0]._props.filters[0].Filter.push("668b9c37adf8dd87dcd87df9");
|
||||||
|
db.templates.items[ItemTpl_1.ItemTpl.INVENTORY_DEFAULT]._props.Slots[1]._props.filters[0].Filter.push("668b9c37adf8dd87dcd87df9");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exports.mod = new Mod();
|
||||||
|
//# sourceMappingURL=mod.js.map
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,281 @@
|
||||||
|
/* eslint-disable no-mixed-spaces-and-tabs */
|
||||||
|
/* eslint-disable @typescript-eslint/indent */
|
||||||
|
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";
|
||||||
|
import loot from "../src/Spawns.json";
|
||||||
|
import config from "../config/config.json";
|
||||||
|
|
||||||
|
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 PRP = db.traders[Traders.PRAPOR].assort;
|
||||||
|
//---WEAPON LISTING AND ATTACHMENT---
|
||||||
|
const weapon_rpg7: NewItemFromCloneDetails =
|
||||||
|
{
|
||||||
|
itemTplToClone: "5e81ebcd8e146c7080625e15",
|
||||||
|
overrideProperties: {
|
||||||
|
BackgroundColor: "yellow",
|
||||||
|
AimPlane: 0.03,
|
||||||
|
AimSensitivity: 0.55,
|
||||||
|
CenterOfImpact: 0.4,
|
||||||
|
Chambers: [
|
||||||
|
{
|
||||||
|
"_id": "668b9c4618fcdec559709609",
|
||||||
|
"_mergeSlotWithChildren": false,
|
||||||
|
"_name": "patron_in_weapon",
|
||||||
|
"_parent": "668b9c37adf8dd87dcd87df9",
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"Filter": [
|
||||||
|
"65f484909638b1821d56149e"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "55d4af244bdc2d962f8b4571",
|
||||||
|
"_required": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
CompactHandling: false,
|
||||||
|
CanSellOnRagfair: false,
|
||||||
|
Ergonomics: 34,
|
||||||
|
Foldable: false,
|
||||||
|
Height: 2,
|
||||||
|
Width: 7,
|
||||||
|
IronSightRange: 50,
|
||||||
|
LootExperience: 35,
|
||||||
|
RecoilCenter: {
|
||||||
|
x: 0.039,
|
||||||
|
y: -0.016,
|
||||||
|
z: 0.024
|
||||||
|
},
|
||||||
|
RecoilForceBack: 68,
|
||||||
|
RecoilForceUp: 45,
|
||||||
|
RecoilDampingHandRotation: 0.75,
|
||||||
|
RecoilCamera: 0,
|
||||||
|
blockLeftStance: true,
|
||||||
|
RotationCenter: {
|
||||||
|
x: 0.039,
|
||||||
|
y: -0.016,
|
||||||
|
z: 0.024
|
||||||
|
},
|
||||||
|
RotationCenterNoStock: {
|
||||||
|
x: 0.039,
|
||||||
|
y: -0.016,
|
||||||
|
z: 0.024
|
||||||
|
},
|
||||||
|
Weight: 6.3,
|
||||||
|
defAmmo: "65f484909638b1821d56149e",
|
||||||
|
ammoCaliber: "Caliber40mm",
|
||||||
|
isBoltCatch: false,
|
||||||
|
Slots: [
|
||||||
|
{
|
||||||
|
"_id": "668b9c4169fa7f86b96a072f",
|
||||||
|
"_mergeSlotWithChildren": false,
|
||||||
|
"_name": "mod_sight_front",
|
||||||
|
"_parent": "668b9c37adf8dd87dcd87df9",
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"Filter": [
|
||||||
|
"668b9c27558936e864b4a504"
|
||||||
|
],
|
||||||
|
"Shift": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "55d30c4c4bdc2db4468b457e",
|
||||||
|
"_required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"_id": "668b9c2ee622e896622dd1cc",
|
||||||
|
"_mergeSlotWithChildren": false,
|
||||||
|
"_name": "mod_sight_rear",
|
||||||
|
"_parent": "668b9c37adf8dd87dcd87df9",
|
||||||
|
"_props": {
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"Filter": [
|
||||||
|
"668b9c1b327f6a93d2375db3"
|
||||||
|
],
|
||||||
|
"Shift": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"_proto": "55d30c4c4bdc2db4468b457e",
|
||||||
|
"_required": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
Prefab: {
|
||||||
|
path: "rpg7/weapon_rpg7_container.bundle",
|
||||||
|
rcid: ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
parentId: "5447bedf4bdc2d87278b4568",
|
||||||
|
newId: "668b9c37adf8dd87dcd87df9",
|
||||||
|
handbookParentId: "5b5f79eb86f77447ed5636b7",
|
||||||
|
fleaPriceRoubles: 511073,
|
||||||
|
handbookPriceRoubles: 417322,
|
||||||
|
locales: {
|
||||||
|
"en": {
|
||||||
|
name: "RPG-7V2 \"Ruchnoy Protivotankovyy Granatomot\" Handheld Anti-Tank Grenade Launcher",
|
||||||
|
shortName: "RPG-7V2",
|
||||||
|
description: "The RPG-7 is a portable and reusable Shoulder launched rocket propelled grenade launcher. The ruggedness, simplicity, low cost, and effectiveness of the RPG-7 has made it the most widely used anti-armor weapon in the world. Currently around 40 countries use the weapon; it is manufactured in several variants by nine countries. It is popular with irregular and guerrilla forces. The RPG-7 can fire a variety of warheads for anti-armor or anti-personnel."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
customitem.createItemFromClone(weapon_rpg7);
|
||||||
|
|
||||||
|
const sight_front_rpg7: NewItemFromCloneDetails ={
|
||||||
|
itemTplToClone: "5ba26b01d4351e0085325a51",
|
||||||
|
overrideProperties: {
|
||||||
|
AimSensitivity: [
|
||||||
|
[
|
||||||
|
0.55
|
||||||
|
]
|
||||||
|
],
|
||||||
|
Prefab: {
|
||||||
|
path: "rpg7/mod_front_sight_rpg7.bundle",
|
||||||
|
rcid: ""
|
||||||
|
},
|
||||||
|
SightingRange: 50
|
||||||
|
},
|
||||||
|
parentId: "55818ac54bdc2d5b648b456e",
|
||||||
|
newId: "668b9c27558936e864b4a504",
|
||||||
|
fleaPriceRoubles: 8755,
|
||||||
|
handbookPriceRoubles: 7544,
|
||||||
|
handbookParentId: "5b5f746686f77447ec5d7708",
|
||||||
|
locales: {
|
||||||
|
"en":
|
||||||
|
{
|
||||||
|
name: "RPG-7 Standard Front Iron Sight",
|
||||||
|
shortName: "RPG-7 Iron",
|
||||||
|
description: "A standard issue iron sight made for RPG-7"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
customitem.createItemFromClone(sight_front_rpg7);
|
||||||
|
|
||||||
|
const sight_rear_rpg7: NewItemFromCloneDetails ={
|
||||||
|
itemTplToClone: "5ba26b17d4351e00367f9bdd",
|
||||||
|
overrideProperties: {
|
||||||
|
AimSensitivity: [
|
||||||
|
[
|
||||||
|
0.55
|
||||||
|
]
|
||||||
|
],
|
||||||
|
Prefab: {
|
||||||
|
path: "rpg7/mod_rear_sight_rpg7.bundle",
|
||||||
|
rcid: ""
|
||||||
|
},
|
||||||
|
SightingRange: 50
|
||||||
|
},
|
||||||
|
parentId: "55818ac54bdc2d5b648b456e",
|
||||||
|
newId: "668b9c1b327f6a93d2375db3",
|
||||||
|
fleaPriceRoubles: 8755,
|
||||||
|
handbookPriceRoubles: 7544,
|
||||||
|
handbookParentId: "5b5f746686f77447ec5d7708",
|
||||||
|
locales: {
|
||||||
|
"en":
|
||||||
|
{
|
||||||
|
name: "RPG-7 Standard Rear Iron Sight",
|
||||||
|
shortName: "RPG-7 Iron",
|
||||||
|
description: "A standard issue iron sight made for RPG-7"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
customitem.createItemFromClone(sight_rear_rpg7);
|
||||||
|
|
||||||
|
const patron_pg7vl: NewItemFromCloneDetails ={
|
||||||
|
itemTplToClone: "5ede474b0c226a66f5402622",
|
||||||
|
overrideProperties: {
|
||||||
|
ArmorDamage: 100,
|
||||||
|
AmmoLifeTimeSec: 60,
|
||||||
|
ArmorDistanceDistanceDamage: {
|
||||||
|
x: 1,
|
||||||
|
y: 5,
|
||||||
|
z: 26
|
||||||
|
},
|
||||||
|
CanSellOnRagfair: false,
|
||||||
|
Caliber: "Caliber93x40mm",
|
||||||
|
BallisticCoeficient: 0.078,
|
||||||
|
Damage: 210,
|
||||||
|
ExplosionStrength: 95,
|
||||||
|
FragmentsCount: 50,
|
||||||
|
FuzeArmTimeSec: 0.18,
|
||||||
|
FragmentType: "5996f6d686f77467977ba6cc",
|
||||||
|
Height: 1,
|
||||||
|
Width: 5,
|
||||||
|
InitialSpeed: 112,
|
||||||
|
MaxExplosionDistance: config.ExplosionMax,
|
||||||
|
MinExplosionDistance: config.ExplosionMin,
|
||||||
|
ExplosionType: "rpg_explosion",
|
||||||
|
PenetrationPower: 0,
|
||||||
|
Prefab: {
|
||||||
|
path: "rpg7/patron_rpg7_pg7vl_93x40mm.bundle",
|
||||||
|
rcid: ""
|
||||||
|
},
|
||||||
|
ShowBullet: true,
|
||||||
|
ShowHitEffectOnExplode: true,
|
||||||
|
RemoveShellAfterFire: true,
|
||||||
|
Tracer: true,
|
||||||
|
TracerColor: "tracerRed",
|
||||||
|
Weight: 2.6
|
||||||
|
},
|
||||||
|
parentId: "5485a8684bdc2da71d8b4567",
|
||||||
|
newId: "65f484909638b1821d56149e",
|
||||||
|
fleaPriceRoubles: 86654,
|
||||||
|
handbookPriceRoubles: 75542,
|
||||||
|
handbookParentId: "5b47574386f77428ca22b33b",
|
||||||
|
locales: {
|
||||||
|
"en":
|
||||||
|
{
|
||||||
|
name: "PG-7VL Anti-Tank HEAT Warhead",
|
||||||
|
shortName: "PG-7VL",
|
||||||
|
description: "RPG-7 Round with an improved HEAT warhead, most effective against light and some armored target. Not recommended to fire into human unless you want red mist."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
customitem.createItemFromClone(patron_pg7vl);
|
||||||
|
//---MASTERY AND TRADER---
|
||||||
|
PRP.items.push(...preset_file.items);
|
||||||
|
|
||||||
|
for (const bsc in preset_file.barter_scheme)
|
||||||
|
{
|
||||||
|
PRP.barter_scheme[bsc] = preset_file.barter_scheme[bsc];
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const llv in preset_file.loyal_level_items)
|
||||||
|
{
|
||||||
|
PRP.loyal_level_items[llv] = preset_file.loyal_level_items[llv];
|
||||||
|
}
|
||||||
|
|
||||||
|
//---Global Weapon Preset---
|
||||||
|
for (const itemPreset in global_preset_file.ItemPresets)
|
||||||
|
{
|
||||||
|
globals.ItemPresets[itemPreset] = global_preset_file.ItemPresets[itemPreset];
|
||||||
|
}
|
||||||
|
|
||||||
|
db.locations.rezervbase.looseLoot.spawnpoints.push(...loot.spawnsRezerv);
|
||||||
|
|
||||||
|
//---For Other tidbits of manipulation---
|
||||||
|
db.templates.items[ItemTpl.INVENTORY_DEFAULT]._props.Slots[0]._props.filters[0].Filter.push("668b9c37adf8dd87dcd87df9");
|
||||||
|
db.templates.items[ItemTpl.INVENTORY_DEFAULT]._props.Slots[1]._props.filters[0].Filter.push("668b9c37adf8dd87dcd87df9");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const mod = new Mod();
|
|
@ -23,6 +23,7 @@
|
||||||
-AI & Combat Tweaks_separator
|
-AI & Combat Tweaks_separator
|
||||||
+Weapon Customizer
|
+Weapon Customizer
|
||||||
+Little Drummer Boy
|
+Little Drummer Boy
|
||||||
|
+RPG-7
|
||||||
+SVD
|
+SVD
|
||||||
+M249
|
+M249
|
||||||
+AK-5C
|
+AK-5C
|
||||||
|
@ -30,6 +31,7 @@
|
||||||
+Armsel Striker-12
|
+Armsel Striker-12
|
||||||
+Kel-Tec KSG-12
|
+Kel-Tec KSG-12
|
||||||
+China Lake
|
+China Lake
|
||||||
|
+Peacemaker
|
||||||
-New Weapons & Gear_separator
|
-New Weapons & Gear_separator
|
||||||
+Ref SPT Friendly Quests
|
+Ref SPT Friendly Quests
|
||||||
-New Traders & Tweaks_separator
|
-New Traders & Tweaks_separator
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
+AI & Combat Tweaks_separator
|
+AI & Combat Tweaks_separator
|
||||||
-Weapon Customizer
|
-Weapon Customizer
|
||||||
+Little Drummer Boy
|
+Little Drummer Boy
|
||||||
|
+RPG-7
|
||||||
+SVD
|
+SVD
|
||||||
+M249
|
+M249
|
||||||
+AK-5C
|
+AK-5C
|
||||||
|
@ -30,6 +31,7 @@
|
||||||
+Armsel Striker-12
|
+Armsel Striker-12
|
||||||
+Kel-Tec KSG-12
|
+Kel-Tec KSG-12
|
||||||
+China Lake
|
+China Lake
|
||||||
|
+Peacemaker
|
||||||
+New Weapons & Gear_separator
|
+New Weapons & Gear_separator
|
||||||
+Ref SPT Friendly Quests
|
+Ref SPT Friendly Quests
|
||||||
+New Traders & Tweaks_separator
|
+New Traders & Tweaks_separator
|
||||||
|
|
Loading…
Reference in New Issue