diff --git a/mods/Peacemaker/meta.ini b/mods/Peacemaker/meta.ini new file mode 100644 index 0000000..b43f1ee --- /dev/null +++ b/mods/Peacemaker/meta.ini @@ -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 diff --git a/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles.json b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles.json new file mode 100644 index 0000000..96c9f89 --- /dev/null +++ b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles.json @@ -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": [ + + ] + } + ] +} \ No newline at end of file diff --git a/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/main_store.bundle b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/main_store.bundle new file mode 100644 index 0000000..cbd40e3 --- /dev/null +++ b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/main_store.bundle @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27aebdd400a81c98a52ccda314e752eaf619a42078e1652ca9f368d6cba59a17 +size 3661011 diff --git a/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/mod_magazine_colt_army_cylinder.bundle b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/mod_magazine_colt_army_cylinder.bundle new file mode 100644 index 0000000..64208f9 --- /dev/null +++ b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/mod_magazine_colt_army_cylinder.bundle @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32643990d548ffd653282c64c70d2d6573d1db62ec91eacf260290bd1c8dd836 +size 28591 diff --git a/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/patron_1143x33mmr_lead.bundle b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/patron_1143x33mmr_lead.bundle new file mode 100644 index 0000000..405f527 --- /dev/null +++ b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/patron_1143x33mmr_lead.bundle @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c81ba4fd50e48f0c61c99a2b83b3273e846fb0c0b65fa19738f5406d1bbb73c +size 1738881 diff --git a/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/saa_bank.bundle b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/saa_bank.bundle new file mode 100644 index 0000000..3445934 --- /dev/null +++ b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/saa_bank.bundle @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:201c7e68dd82e54d29c5196728d85c0bcf574ab4ede8b1629318545be6c8817c +size 1175091 diff --git a/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/texture.bundle b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/texture.bundle new file mode 100644 index 0000000..a539648 --- /dev/null +++ b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/texture.bundle @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3bbf5ea7c3fcb87a77fca9b2499c85b8bf7f79d530698e1a1253274d1c8f4ea +size 5543993 diff --git a/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/weapon_colt_single_action_army_container.bundle b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/weapon_colt_single_action_army_container.bundle new file mode 100644 index 0000000..4e8e045 --- /dev/null +++ b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/weapon_colt_single_action_army_container.bundle @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:766f1a415c2703f8b6278cb1f04f74ae6c75076f96ff712670f65858c3a156a9 +size 90020 diff --git a/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/weapon_colt_single_action_army_container_debugging.bundle b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/weapon_colt_single_action_army_container_debugging.bundle new file mode 100644 index 0000000..a25e0db --- /dev/null +++ b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/weapon_colt_single_action_army_container_debugging.bundle @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a98d4e310b2bdf7a5d07256200fb7dab5ae28aed922478619ebae6813cbee8e2 +size 101285 diff --git a/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/weapon_colt_single_action_army_container_debugging_alt.bundle b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/weapon_colt_single_action_army_container_debugging_alt.bundle new file mode 100644 index 0000000..99bf88c --- /dev/null +++ b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/bundles/assets/weapons/colt_saa/weapon_colt_single_action_army_container_debugging_alt.bundle @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:702794c69b91169dcb78489e91bf0add4a1fac663bfbbb0756558c657a90ad8f +size 100960 diff --git a/mods/Peacemaker/user/mods/choccy-saa-1.0.7/config/config.json b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/config/config.json new file mode 100644 index 0000000..dd74c19 --- /dev/null +++ b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/config/config.json @@ -0,0 +1,4 @@ +{ + "Debug_Mode": false, + "altdebug": false +} \ No newline at end of file diff --git a/mods/Peacemaker/user/mods/choccy-saa-1.0.7/disclaimer.pdf b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/disclaimer.pdf new file mode 100644 index 0000000..4ad7dc5 --- /dev/null +++ b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/disclaimer.pdf @@ -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 + diff --git a/mods/Peacemaker/user/mods/choccy-saa-1.0.7/package.json b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/package.json new file mode 100644 index 0000000..3954ddc --- /dev/null +++ b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/package.json @@ -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" + } +} \ No newline at end of file diff --git a/mods/Peacemaker/user/mods/choccy-saa-1.0.7/packageBuild.ts b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/packageBuild.ts new file mode 100644 index 0000000..c829979 --- /dev/null +++ b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/packageBuild.ts @@ -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/"); +}); \ No newline at end of file diff --git a/mods/Peacemaker/user/mods/choccy-saa-1.0.7/src/Item_Preset.json b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/src/Item_Preset.json new file mode 100644 index 0000000..391a34f --- /dev/null +++ b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/src/Item_Preset.json @@ -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 + } +} \ No newline at end of file diff --git a/mods/Peacemaker/user/mods/choccy-saa-1.0.7/src/global_item_preset.json b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/src/global_item_preset.json new file mode 100644 index 0000000..041ce55 --- /dev/null +++ b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/src/global_item_preset.json @@ -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" + } + } +} \ No newline at end of file diff --git a/mods/Peacemaker/user/mods/choccy-saa-1.0.7/src/loot/Spawns.json b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/src/loot/Spawns.json new file mode 100644 index 0000000..9dd9c28 --- /dev/null +++ b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/src/loot/Spawns.json @@ -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": [] +} \ No newline at end of file diff --git a/mods/Peacemaker/user/mods/choccy-saa-1.0.7/src/mod.js b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/src/mod.js new file mode 100644 index 0000000..0922085 --- /dev/null +++ b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/src/mod.js @@ -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 \ No newline at end of file diff --git a/mods/Peacemaker/user/mods/choccy-saa-1.0.7/src/mod.js.map b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/src/mod.js.map new file mode 100644 index 0000000..852f267 --- /dev/null +++ b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/src/mod.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mod.js","sourceRoot":"","sources":["mod.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/mods/Peacemaker/user/mods/choccy-saa-1.0.7/src/mod.ts b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/src/mod.ts new file mode 100644 index 0000000..61e16a5 --- /dev/null +++ b/mods/Peacemaker/user/mods/choccy-saa-1.0.7/src/mod.ts @@ -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"); + const databaseServer = container.resolve("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(); diff --git a/mods/RPG-7/BepInEx/plugins/Arys-CustomAssetImporter/assets/effects/Choccy/custom_particles.bundle b/mods/RPG-7/BepInEx/plugins/Arys-CustomAssetImporter/assets/effects/Choccy/custom_particles.bundle new file mode 100644 index 0000000..31421a5 --- /dev/null +++ b/mods/RPG-7/BepInEx/plugins/Arys-CustomAssetImporter/assets/effects/Choccy/custom_particles.bundle @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca0131199854f9d9ec5b3506603f7e2471e71b97b43cf7a6f1b080d935bdfd16 +size 313766 diff --git a/mods/RPG-7/meta.ini b/mods/RPG-7/meta.ini new file mode 100644 index 0000000..e1dbf2a --- /dev/null +++ b/mods/RPG-7/meta.ini @@ -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 diff --git a/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles.json b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles.json new file mode 100644 index 0000000..203a82a --- /dev/null +++ b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles.json @@ -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" + ] + } + ] +} \ No newline at end of file diff --git a/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/client_assets.bundle b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/client_assets.bundle new file mode 100644 index 0000000..66da6b7 --- /dev/null +++ b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/client_assets.bundle @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:176c6ef67ae919a8dc6aaf31a78885b86c5dd19866a071c4e37da8a02d09a258 +size 2147418 diff --git a/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/mod_front_sight_rpg7.bundle b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/mod_front_sight_rpg7.bundle new file mode 100644 index 0000000..c091452 --- /dev/null +++ b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/mod_front_sight_rpg7.bundle @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e888618d425e1746dc780be077ff0cb30cc47b418a852f817fbd1ee98d8d75ba +size 9316 diff --git a/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/mod_rear_sight_rpg7.bundle b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/mod_rear_sight_rpg7.bundle new file mode 100644 index 0000000..fd25376 --- /dev/null +++ b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/mod_rear_sight_rpg7.bundle @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e249feaabe218ccabb656cde0775fb94669d8b6a8edccc90ec1e1f81bbe3750c +size 20419 diff --git a/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/patron_rpg7_pg7vl_93x40mm.bundle b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/patron_rpg7_pg7vl_93x40mm.bundle new file mode 100644 index 0000000..033a353 --- /dev/null +++ b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/patron_rpg7_pg7vl_93x40mm.bundle @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5136c0eef59d8fd687a5a487b7bae80fbaacb11f85359c0db4ddd7de09439594 +size 7228499 diff --git a/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/textures.bundle b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/textures.bundle new file mode 100644 index 0000000..c266ff0 --- /dev/null +++ b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/textures.bundle @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f62f2f9c8778dd74bad90f455df6dfcd49e2a9a4e93f7f19974f57e61720be2 +size 9088933 diff --git a/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/weapon_rpg7_container.bundle b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/weapon_rpg7_container.bundle new file mode 100644 index 0000000..321478a --- /dev/null +++ b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/bundles/rpg7/weapon_rpg7_container.bundle @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4943d50b9a1ed366aa42b49058af55b3249cc71277b808fd2f71ec6d996b1680 +size 255877 diff --git a/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/config/config.json b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/config/config.json new file mode 100644 index 0000000..cdc99fe --- /dev/null +++ b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/config/config.json @@ -0,0 +1,4 @@ +{ + "ExplosionMin": 30, + "ExplosionMax": 45 +} \ No newline at end of file diff --git a/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/disclaimer.pdf b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/disclaimer.pdf new file mode 100644 index 0000000..4ad7dc5 --- /dev/null +++ b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/disclaimer.pdf @@ -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 + diff --git a/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/package.json b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/package.json new file mode 100644 index 0000000..dcbab19 --- /dev/null +++ b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/package.json @@ -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" + } +} \ No newline at end of file diff --git a/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/packageBuild.ts b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/packageBuild.ts new file mode 100644 index 0000000..c829979 --- /dev/null +++ b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/packageBuild.ts @@ -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/"); +}); \ No newline at end of file diff --git a/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/src/Item_Preset.json b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/src/Item_Preset.json new file mode 100644 index 0000000..eceb382 --- /dev/null +++ b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/src/Item_Preset.json @@ -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 + } +} \ No newline at end of file diff --git a/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/src/Spawns.json b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/src/Spawns.json new file mode 100644 index 0000000..1061eed --- /dev/null +++ b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/src/Spawns.json @@ -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 + } + ] + } + ] +} \ No newline at end of file diff --git a/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/src/global_item_preset.json b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/src/global_item_preset.json new file mode 100644 index 0000000..760af97 --- /dev/null +++ b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/src/global_item_preset.json @@ -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" + } + } +} \ No newline at end of file diff --git a/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/src/mod.js b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/src/mod.js new file mode 100644 index 0000000..21cfa52 --- /dev/null +++ b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/src/mod.js @@ -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 \ No newline at end of file diff --git a/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/src/mod.js.map b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/src/mod.js.map new file mode 100644 index 0000000..769d560 --- /dev/null +++ b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/src/mod.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mod.js","sourceRoot":"","sources":["mod.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/src/mod.ts b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/src/mod.ts new file mode 100644 index 0000000..04681fe --- /dev/null +++ b/mods/RPG-7/user/mods/choccy-rpg7-1.1.4/src/mod.ts @@ -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"); + const databaseserver = container.resolve("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(); \ No newline at end of file diff --git a/profiles/Multiplayer/modlist.txt b/profiles/Multiplayer/modlist.txt index 45c5184..8f9a4a3 100644 --- a/profiles/Multiplayer/modlist.txt +++ b/profiles/Multiplayer/modlist.txt @@ -23,6 +23,7 @@ -AI & Combat Tweaks_separator +Weapon Customizer +Little Drummer Boy ++RPG-7 +SVD +M249 +AK-5C @@ -30,6 +31,7 @@ +Armsel Striker-12 +Kel-Tec KSG-12 +China Lake ++Peacemaker -New Weapons & Gear_separator +Ref SPT Friendly Quests -New Traders & Tweaks_separator diff --git a/profiles/Server/modlist.txt b/profiles/Server/modlist.txt index 1a3543f..a8a7430 100644 --- a/profiles/Server/modlist.txt +++ b/profiles/Server/modlist.txt @@ -23,6 +23,7 @@ +AI & Combat Tweaks_separator -Weapon Customizer +Little Drummer Boy ++RPG-7 +SVD +M249 +AK-5C @@ -30,6 +31,7 @@ +Armsel Striker-12 +Kel-Tec KSG-12 +China Lake ++Peacemaker +New Weapons & Gear_separator +Ref SPT Friendly Quests +New Traders & Tweaks_separator