Comprehensive Ammunition Tweaker 1.1.0

Ever wanted to customise every individual ammunition by yourself? Make 5.56 better? Introducing, C.A.T, the Comprehensive Ammunition Tweaker that allows you to do as you please! Contains the ability to make ammo explosive, and blinding too!

Allows individual customization of every ammunition type within base tarkov, most of the important values that ammunitions use has been seperated into their own configurable json files within the mods folder for easy configuration. Ammo can have a variety of things changed about them, from their damage and penetration to whether they are explosive or can blind enemies. Let your creative juices go wild, feel free to make presets!


Also comes with a toggleable 'All In One' ammunition that you can edit individually from all the other ammunition, an ammunition that only your PMC will use as bots shouldn't generate with it. Can be used in any weapon or magazine.


// Not all ammunition has a value for everything listed below, some even have unique values for them. But, here is a guide to help you with them.


"Enabled": false, - This will determine whether or not the round is enabled or not for editing, without this set to 'true' nothing will change.

"BulletID": ["5e81f423763d9f754677bf2e"], -- Leave this alone, do not edit it under any circumstances.

"Weight": 0.015, -- Changes the weight of the round.

"InitialSpeed": 340, -- Changes the speed of the round.

"Damage": 72, -- Changes the damage of the round.

"ammoAccr": 0, -- Changes the accuracy of the round, this is a percentage based value shown. A value of 10 is +10% accuracy, a -10 is -10% accuracy.

"ammoRec": 0, -- Changes the recoil of the round, this is a percentage based value shown. A value of 10 is +10% recoil, a -10 is -10% recoil.

"PenetrationPower": 25, -- This is the actual penetration value of a round, 10 pens class 1 armor, 50 pens class 5. So on and so forth.

"ProjectileCount": 1, -- This determines how many projectiles that the round will fire.

"MisfireChance": 0.03, -- Chance of the round misfiring in the chamber, 0 is pretty much no chance where as 1 is high chance. Values between 0 and 1 are used, mostly lower than 0.1

"MinFragmentsCount": 1, -- Minimum amount of fragments the round will fragment into if it fragments.

"MaxFragmentsCount": 1, -- Mmaximum amount of fragments the round will fragment into if it fragments.

"FragmentationChance": 0.01, -- Chance of the round fragmenting on a hit, percentage based between 0 and 1, 0.01 is 1% chance of fragmenting.

"Tracer": false, -- Enables or Disables Tracers on the ammo.

"TracerColor": "red", -- Changes the tracer colours, red, green and yellow are confirmed to work. Some rounds may have other values.

"ArmorDamage": 36, -- How much damage the round does to the armor itself.

"StaminaBurnPerDamage": 0.2016, -- How much stamina you or your target loses upon being hit by this ammo.

"HeavyBleedingDelta": 0, -- Percentage based value from 0 to 1, a value of 0.1 is a 10% chance to heavy bleed on being hit.

"LightBleedingDelta": 0, -- Percentage based value from 0 to 1, a value of 0.1 is a 10% chance to light bleed on being hit.

"MalfMisfireChance": 0.175, -- Chance of the round malfunctioning in the weapon and causing a jam after being fired, 0 is pretty much no chance where as 1 is high chance. Values between 0 and 1 are used, mostly lower than 0.1

"DurabilityBurnModificator": 1, -- A value of 1 means that the round doesn't have an increased or decreased burn modifier, 0.9 means that the round will have a -10% burn modifier where as 1.1 has a +10% burn modifier. So on and so forth. Lower value is better for the weapon.

"HeatFactor": 0.9963, -- How much heat the round generates, the lower the value the less heat it generates. I've seen values above 2 for this.

"MalfFeedChance": 0.02, -- Chance of the round malfunctioning in the weapon and failing to feed, 0 is pretty much no chance where as 1 is high chance. Values between 0 and 1 are used, mostly lower than 0.1

"Explosive": 0, -- A special config I've setup for ammo, a value of 0 means it isn't explosive, a value of 1 means it's a smol explosive similar to what one might expect out of an explosive round, while a value of 2 is pretty much grenade level explosive.

"FragmentsCount": 15, -- Used on certain grenades and explosive ammo in particular, determines how many fragments the explosion creates.

"FuzeArmTimeSec": 0.05, -- Used on certain grenades and explosive ammo in particular, determines how long it takes for the fuze to arm before it has a chance to explode. Means if you shoot it too close to yourself it won't explode, typically.

"ExplosionStrength": 80, -- The strength of the explosion, I believe this is the damage the explosion causes to those within its distance.

"MinExplosionDistance": 1, -- The minimum distance that the explosion has for it to cause damage.

"MaxExplosionDistance": 4.5, -- The maximum distance that the explosion has for it to cause damage. Those outside this range do not take damage, though there's always the fragments. Not sure if they are limited by this value.

"Blinding": false -- A special config I've setup for ammo, a value of false means the ammo will not stun or blind enemies, where as a value of true makes the round blind and stun enemies it hits.


Installation: Goes into user/mods/


If you'd like to support my creations I do have a Ko-fi. (This is not for commissions, I do not do them and they are against SPT policy.) - https://ko-fi.com/tyriansuvious

  • Version 1.1.0

    Still works on 3.7.x+ (Though default values are outdated from live EFT)


    Fixed a missing setting from .45ACP ammunition, causing it not to work correctly.

  • Version 1.0.7

    Improved compatibility with SVM, thanks to Jehree.

  • Version 1.0.6

    Added the ability to change the ammunitions max stack size, default is 60.

  • Version 1.0.5

    Fixed patron_762х54R_SNB BulletID in config.


    Tweaked some other pieces of code.

  • Version 1.0.3

    Working on 3.5.5

  • Version 1.0.2

    Added some missing config settings that were missing from 5.45x39mm's config.json

  • Version 1.0.1

    - Fixed enabled ammo being made explosive by default


    My apologies to first downloaders of 1.0.0, apparently during my attempt to make the code a little more optimized before full release after testing, I broke the code that checked for specific ID's of the grenades, resulting in it applying their settings to all ammo that was enabled regardless of ID it found. This is now fixed.

  • Version 1.0.0

  • Still works on 3.7.x+ (Though default values are outdated from live EFT)

    • Hello! please tell me where exactly this value should be included for the mod to work, I have version 3.7.1. Thank you in advance!

  • So far seems to be working in 3.8.0, keeping in mind that each cartridge with changes has to be set to Enabled in the configs. Thanks as always.

  • in version 3.7.6 does not work , too bad

    • EFT 0.13.5.3.26535

  • Anyone have a low dmg config?

  • is there a way to blacklist specific ammos to be used by bots?

  • How to add new entry to config.json?
    there is no way to tweak 7.62x39 FMJ, as there is no corresponding entry.

    How to get values for a specific ammo, so i could copy and paste previous entry and modify it with values?
    UPD
    Finally understood how to do this
    Basically you will need not only copy and paste some other ammo profile, get a "_id" from db.sp-tarkov.com for that ammo and replace it, you will need to add that ammo "_name" string from DB to the table, located at ln 139 in mod.ts and at ln 115 in mod.js respectively

    • No you can't just edit the json, you'd need to edit the code too.

  • This works for me on SPT 3.7.0, but not on 3.7.1. Verified by looking for tracers (didn't show up despite enabling) and AmmoStats from RaiRaitheRaichu. The mod seems to load, no errors, but no changes to ammo.

    • I just loaded this onto 3.7.1 and changes settings and it works fine. Make sure you're setting 'enabled' to true in the configs you're changing.

      Thumbs Up 1
    • I hadn't needed to do that on 3.7.0, which is interesting. Works great now, sorry to bother. AmmoStats also needs to load after this mod, which makes sense.

    • Hello! please tell me where exactly this value should be included for the mod to work, I have version 3.7.1. Thank you in advance!

    • For example: SPT 3.7.1\user\mods\Tyr-ComprehensiveAmmunitionTweaker\config\7.62x51mm_NATO\config.json


      "patron_762x51_M61":

      {

      "Enabled": true,


      It seems that all of these should be set to true, or at least whichever ones you want tweaked.

  • Hi, how did you figure out what all these values do?

    I don't understand how does 'PenetrationChance' and 'PenetrationPowerDiviation' works

    • Trial and error with some things, as well as testing by other people. I forget, it's been so long. Not sure PenetrationChance does anything, but I imagine PenetrationPowerDiviation means Deviation, which in turn probably means the setting creates an offset for PenetrationPower so that it's not always what the value of PenetrationPower is.

      Thumbs Up 1
  • For anyone that finds this, I can confirm that the mod works as of 3.7.x

  • TRYING TO BYPASS THE SAFETY TIMING/DISTANCE ON EXPLOSIVE ROUNDS, ANY TIPS?

  • How to make it so that you can use an improved cartridge only for your PMC?

    • You can't. Just use the custom cartridge. That's the only one that only your PMC can use.

  • First off, i love the idea of this mod!

    second - is there anyway to make multible Tyr ammo? like tyr ammo 1,2,3 and so on?

    • You could go into the code and duplicate some things, edit the variables for it and make seperate configs for it. But, no, there is not currently.


      You could try JoshJ5Hawk's Super Ammo and read one of the comments for a fix, then edit the values for the ammo, possibly?

    • Thank you for the reply! i dont know much at all about how to edit variables and make seperate configs. i tried to copy the config but didnt work XD with both of your mods i have 2 different ammo to edit that probably dont break the game for me.


      I dont want to edit the vanilla stuff to much.. would be better to just add new types of ammo that i can play around with a bit more.

    • Nevermind! found what i was looking for :D

  • First off, awesome mod. Exactly what I am sure many players are looking for.


    One tiny problem I noticed though which I figure I'll bring up.


    TT PT gzh share the same stats as x54r SNB lol.

    I have it disabled. Probably funny to get getting rolled by it in a 6b43

    • Oops, seems I didn't set the ID while I was setting all the config up.


      My bad, I just checked the BulletID I set for SNB and it appears I did not set it correctly. Nice find! Thank you for that. This is why they're all disabled by default xD


      To fix that, change the "BulletID": ["573603c924597764442bd9cb"], under "patron_762х54R_SNB": with "BulletID": ["560d61e84bdc2da74d8b4571"],


      I'll go through them and check all bullets some time later today and push an update. Thanks!

    • Keep up the good stuff.

  • i am not sure what I did wrong when I start the server it shows this error

    TypeError: Cannot read properties of undefined (reading 'filter')

    TypeError: Cannot read properties of undefined (reading 'filter')

    at ComprehensiveRewrittenAmmunitionPackage.postDBLoad (D:\SPT\user\mods\zTyr-ComprehensiveRewrittenAmmunitionPackage\src\mod.js:227:65)

    at PostDBModLoader.executeMods (C:\snapshot\project\obj\loaders\PostDBModLoader.js)

    at PostDBModLoader.onLoad (C:\snapshot\project\obj\loaders\PostDBModLoader.js)

    at App.load (C:\snapshot\project\obj\utils\App.js)

    TypeError: Cannot read properties of undefined (reading 'filter')

    TypeError: Cannot read properties of undefined (reading 'filter')

    at ComprehensiveRewrittenAmmunitionPackage.postDBLoad (D:\SPT\user\mods\zTyr-ComprehensiveRewrittenAmmunitionPackage\src\mod.js:227:65)

    at PostDBModLoader.executeMods (C:\snapshot\project\obj\loaders\PostDBModLoader.js)

    at PostDBModLoader.onLoad (C:\snapshot\project\obj\loaders\PostDBModLoader.js)

    at App.load (C:\snapshot\project\obj\utils\App.js)

    • It's conflicting with mods like SVM or Valens AIO, load it before those mods.

  • First of all great mod, desperately have wanted something like this.


    Noticed the 5.45x39 config files are missing numerous parameters.


    Keep up the good work!

    Heart 1
    • Omg what


      Holy shit they're missing the

      "ammoAccr":

      "ammoRec":

      "PenetrationPower":

      "ProjectileCount":


      HOW. THE .TS HAS THEM 8|


      And it's the only one where they're missing, what the heck.

    • Added them now, thanks for reporting it.

    • Awesome thanks for the quick work!

  • Every time I start the server with a cartridge set to true I get the following error message:

    [C.R.A.P] Processing Enabled Cartridges.

    TypeError: Cannot read properties of undefined (reading '_parent')

    TypeError: Cannot read properties of undefined (reading '_parent')

    at ComprehensiveRewrittenAmmunitionPackage.isAmmo (C:\Users\_hscfzn1\OneDrive\Desktop\Games\SPT AKi V2\user\mods\Tyr-ComprehensiveRewrittenAmmunitionPackage\src\mod.js:334:36)

    at ComprehensiveRewrittenAmmunitionPackage.processCartridges (C:\Users\_hscfzn1\OneDrive\Desktop\Games\SPT AKi V2\user\mods\Tyr-ComprehensiveRewrittenAmmunitionPackage\src\mod.js:252:22)

    at ComprehensiveRewrittenAmmunitionPackage.postDBLoad (C:\Users\_hscfzn1\OneDrive\Desktop\Games\SPT AKi V2\user\mods\Tyr-ComprehensiveRewrittenAmmunitionPackage\src\mod.js:86:22)

    at PostDBModLoader.executeMods (C:\snapshot\project\obj\loaders\PostDBModLoader.js)

    at PostDBModLoader.onLoad (C:\snapshot\project\obj\loaders\PostDBModLoader.js)

    at App.load (C:\snapshot\project\obj\utils\App.js)

    TypeError: Cannot read properties of undefined (reading '_parent')

    TypeError: Cannot read properties of undefined (reading '_parent')

    at ComprehensiveRewrittenAmmunitionPackage.isAmmo (C:\Users\_hscfzn1\OneDrive\Desktop\Games\SPT AKi V2\user\mods\Tyr-ComprehensiveRewrittenAmmunitionPackage\src\mod.js:334:36)

    at ComprehensiveRewrittenAmmunitionPackage.processCartridges (C:\Users\_hscfzn1\OneDrive\Desktop\Games\SPT AKi V2\user\mods\Tyr-ComprehensiveRewrittenAmmunitionPackage\src\mod.js:252:22)

    at ComprehensiveRewrittenAmmunitionPackage.postDBLoad (C:\Users\_hscfzn1\OneDrive\Desktop\Games\SPT AKi V2\user\mods\Tyr-ComprehensiveRewrittenAmmunitionPackage\src\mod.js:86:22)

    at PostDBModLoader.executeMods (C:\snapshot\project\obj\loaders\PostDBModLoader.js)

    at PostDBModLoader.onLoad (C:\snapshot\project\obj\loaders\PostDBModLoader.js)

    at App.load (C:\snapshot\project\obj\utils\App.js)

    Any idea what could be causing it?

    • Very likely one of your mods causing a conflict, because I'm not getting such an error myself. What mods are you using?

    • I figured out which mod is causing it. Its the Goblin King trader mod. No clue why, but it is working as intended now that Goblin King is out of my mod list.

    • You can fix that by loading my mod before goblin king, I think it's because Goblin King adds items that doesn't have a _parent property.

    • All right, thank you so much for the support. That seemed to solve my problems

    • You are most welcome! Glad it's fixed for you.

  • yeah, doesn't work. all the ammos are explosive despite them being set to 0

    • My apologies, it was working when I was testing it before release. Thank you for reporting this, it is fixed now.

      Thumbs Up 1
  • This is the shit, man

    Heart 1
  • Bravo! And thank you very much!

    Thumbs Up 1 Heart 1
  • giphy.webp

    Happy 3