Universal Ammo 1.0.7

Please do not ask when mod authors will update their mods to 3.10 or if they can upload older versions of their mods.
Bothering mod authors will lead to warnings and repeat offenses will lead to eventual bans.

Pretty simple, it allows every weapon and magazine in the game to utilize the ammo of any ammo in the game.

WARNING -


SVM's "All Items Examined" setting conflicts with this mod, as well as some other mods like Valens AIO, any mod that might change how an items filters works can conflict with this mod. Load this mod BEFORE those mods in your load order in order to fix this issue.


Use with a profile created with the mods SPT version, using outdated profiles may break.


Seeing as Silver Bullets is no longer getting updated and the mod doesn't work any more, I've essentially made my own version that pushes all ammunition into the filters of all chambers of a weapon and all the filters of magazines so that any ammo may be used in them.


Bots -


Bots do not generate with random ammunition added by this list, unknown as to why but that's likely a blessing. They WILL however reload their empty magazines with whatever ammunition they have available in their inventory.


Readme -


Below are the settings within config.json and what they do


"WhitelistEmplacementAmmos" - This is used to enable whitelisting Emplacement Ammo's to be pushed to weapon and magazine filters, sadly enabling this option causes infinite loading issues due to weird BSG client-side programming that throws an error on adding emplacement ammo into a loose loot spawn magazine. Disabled by default. Enabling this will also enable a 'fix' that essentially removes the fillMagazineWithRandomCartridge function, fixing infinite load issues due to loose loot magazine errors.


"WhitelistShrapnelAmmos" - Enables shrapnel ammunition to be put into magazines, bit silly imo, but the option is there. May cause issues with shrapnel. Disabled by default. Enabling this will also enable a 'fix' that essentially removes the fillMagazineWithRandomCartridge function, fixing infinite load issues due to loose loot magazine errors.


"BlacklistEmplacementWeapons" - This blacklists emplacements from having other ammo's pushed to their ammo filters, disabling this may cause issues with emplacements.


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.0.7

    Still works on 3.7.x+


    The M32A1 cylinder magazine, for some unknown reason, is not included in the cylindermagazine base classes. It is, essentially an edgecase. Thus it was not being added to the magazine pool, this has now been fixed.

  • Version 1.0.6

    Improved compatibility with SVM, thanks to Jehree.

  • Version 1.0.5

    Properly fixed Emplacement Ammo's by pushing them to the staticAmmo pool. Now loose magazines and loose loot will correctly generate if emplacement ammos are enabled.

    Refactored certain code.

    Removed unused code.


    Many thanks to Chomp, Kaeno, Kiobu, and many others for assisting me.

  • Version 1.0.4

    Fixxed issues caused by removed ammo types from items.json causing issues with bot generation. Ammo removed from array.

  • Version 1.0.3

    So, guess who figured out how to fix the infinite loading loose loot magazine issues when emplacement ammo's were enabled?


    That's right, now you can get into your raids with 'EmplacementAmmos' enabled, no longer is it just a fun 'hideout' feature.


    By replacing the function causing the issues in the first place, it hopefully fixes those issues for good.

  • Version 1.0.2

    Adds a config.json along with a readme file within the config folder to enable/disable game breaking features, these are disabled by default to prevent game breaking issues.

  • Version 1.0.1

    Added in requested ammo types.


    My apologies to those having conflicting issues with other mods, specifically SVM. Loading SVM after my mod fixes the issues. Not sure what's causing it however, as the All Items Examined setting does not mess with ammunition filters at all. Perhaps it somehow breaks filters in general, I'm not sure and sadly lack the time to look into it completely.

  • Version 1.0.0

    Use this version if you're having issues with the above versions addition of the AGS and UTYOS ammunition.

  • Still works on 3.7.x+

  • does this still work on 3,9,8?

  • anyone know if this runs on the current version 3.9.8?

  • Able to run on 3.8 without error ^^

    Thumbs Up 1
  • Mod (config) is missing package.json

    • Because you installed it wrong.

  • I cant get it to work at all

    • Try installing it correctly

  • Hello, here I am again - in the "WhitelistEmplacementAmmos" settings: true, cool - but the 12.7x108 cartridge is too big for the magazine. In the shelter, I checked the weapon and it doesn’t seem to be firing properly. -- https://ibb.co/rmqPrjk

  • Hi, I installed your mod before SVM, I didn’t change anything in the settings of your mod, and I installed the KCH Armory Ported Again mod and there is a Lawmaker 12.7x108 Sniper Rifle rifle. And I want to load another weapon with a 12.7x108 caliber cartridge - but in your mod this cartridge is not listed. -- https://ibb.co/4Rp2ppc

  • I have no coding experience and I'd have no idea where to start, but could someone edit the mod by adding a check to see if the target changing ammo is a player and if they're not to disable this mods functionality for that entity? AKA add a config option to disable this mods functionality for bots so they don't become absurdly overpowered lol


    as far as I can tell this mod still seems to work so I just want someone to edit the mod by adding an exclusion option for bots..

    • You can't do that with a server mod.

  • How do i fix the part where you are stuck on local game starting forever



    mod list:

    Optic Rework

    Armor Modifier

    Better Spawns+

    CoCo-IProject

    MC-AK12

    Realistic Trader Icons

    Realistic Night Vision Goggles

    SVM (disabled examine all items)

    Titanium Silver

    Tyr-UniversalAmmo

    zSolarint-SAIN-ServerMod

    zzDrakiaXYZ-Waypoint


    (Nvm i found a way to fix it which is to load universal ammo as the first one so the mods that adds weapons would not make the local game loading stuck forever)

  • Im stuck on "Local game starting..." forever, and get this error


    TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))

    TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))

    at ItemHelper.drawAmmoTpl (C:\snapshot\project\obj\helpers\ItemHelper.js)

    at ItemHelper.fillMagazineWithRandomCartridge (C:\snapshot\project\obj\helpers\ItemHelper.js)

    at LocationGenerator.createStaticLootItem (C:\snapshot\project\obj\generators\LocationGenerator.js)

    at LocationGenerator.generateContainerLoot (C:\snapshot\project\obj\generators\LocationGenerator.js)

    at LocationController.generate (C:\snapshot\project\obj\controllers\LocationController.js)

    at LocationController.get (C:\snapshot\project\obj\controllers\LocationController.js)

    at LocationCallbacks.getLocation (C:\snapshot\project\obj\callbacks\LocationCallbacks.js)

    at RouteAction.action (C:\snapshot\project\obj\routers\dynamic\LocationDynamicRouter.js)

    at LocationDynamicRouter.handleDynamic (C:\snapshot\project\obj\di\Router.js)

    at HttpRouter.handleRoute (C:\snapshot\project\obj\routers\HttpRouter.js)

    TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))

    TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))

    at ItemHelper.drawAmmoTpl (C:\snapshot\project\obj\helpers\ItemHelper.js)

    at ItemHelper.fillMagazineWithRandomCartridge (C:\snapshot\project\obj\helpers\ItemHelper.js)

    at LocationGenerator.createStaticLootItem (C:\snapshot\project\obj\generators\LocationGenerator.js)

    at LocationGenerator.generateContainerLoot (C:\snapshot\project\obj\generators\LocationGenerator.js)

    at LocationController.generate (C:\snapshot\project\obj\controllers\LocationController.js)

    at LocationController.get (C:\snapshot\project\obj\controllers\LocationController.js)

    at LocationCallbacks.getLocation (C:\snapshot\project\obj\callbacks\LocationCallbacks.js)

    at RouteAction.action (C:\snapshot\project\obj\routers\dynamic\LocationDynamicRouter.js)

    at LocationDynamicRouter.handleDynamic (C:\snapshot\project\obj\di\Router.js)

    at HttpRouter.handleRoute (C:\snapshot\project\obj\routers\HttpRouter.js)



    my mod list:
    CoCo-IProject
    KawaiiWeaponMods (for the lulz)
    Kiki-BiggerStash

    MoreCheckmarksBackend

    Nootropix-BigBackpacks

    ODT-ItemInfo-3.2.0

    Priscilu

    Tyr-UniversalAmmo

    Tyr-UNSCEquipment

    Virtual's Custom Quest Loader

    zPOOP

    zServerValueModifier

    zVAI-NRTP

    zzSWAG


    dont know what im doing wrong, seems to be a bug?

    • If any of those mods add custom ammunition/weapons, try loading them after my mod.

    • that works! you might want to add that to the description of the mod

  • which version works best with 3.5.7? it still takes about 5 minutes every raid for the local game to start.

    • The latest, obviously. I'm not getting that issue though, my raids load very quickly.

    • weird, any idea which other mods could be conflicting? I moved it to the front of my load list

    • Nope, could be any outdated mods or w/e. I don't know your mod list.

  • All updated and working on 3.5.5, refactored code to be less 'hacky' in the way it dealt with emplacement ammo being enabled.

  • this is fun but its weird having like almost no recoil shooting 338 out of a pistol would be great if you made it so it had the right recoil too

    • Recoil is based on the weapon, not the ammo. Sooo, can't really do that.

    • theres mods that add helicopters and airstrikes tho im sure its possible

    • It would require a client mod to dynamically change recoil values depending on the used ammunition, something I'm not going to do and is out the scope of this mod.

  • its not even showing up when i lunch the server that its in my folder

    • Because you're probably double-nesting it, installed it wrong. user error. Either that, or you haven't even extracted it.

    • is it supposed to download in a text file?

    • No, the file you should be downloading is a .7z file. You open it with 7zip.

  • After the newest SPT update, my game stops spawning bots for what ever reason. If i disable your mod, game runs fine.

    X( fug you nikita!

    • I'm sorry to hear that, I'll see if I can fix it for 3.5.5 at some point.

      Heart 1
    • No worries my friend, take your time! thanks for your mod. <3

    • It's been updated

      Heart 1
    • Yeah it's working without any problem. Thanks.

  • Just thought I'd mention it here:


    Valens' Ammo Overhaul conflicts with this mod, not just SVM and Valens' AIO. An easy fix is to load Ammo Overhaul after Universal Ammo, or remove it entirely.

    • As a note to anyone reading this, granted I don't know every mod that conflicts with this, and there will likely be other mods that do. Such as the Tracer mod for example.


      (No idea why some of these mods conflict, for example Valen's ammo overhaul uses similar methods to what I've used in my other mods and some of the methods I'm using in another mod were also influenced by his, yet don't conflict. And my other mods don't seem to conflict with this either. It's why I'm so boggled by it all.)


      Sadly, Valens Ammo Overhaul has not been updated/fixed from when he first released it. It's part of why I continued work on another mod I'm making, as he has yet to fix his. (He's aware of it, I also helped find the issue with it and reported it, I'm guessing he hasn't had the time or he's not really bothered. I'm not sure.)

      Thumbs Up 1
  • Can you post source code?

    • Just download the mod?... The source code is all there? I'm not sure what you're asking, lol.

    • Sorry, thought it was a client mod. Nice mod btw.

  • This doesn't apply to bots as well, correct? Just the player that can mix and match ammunition?

    • Of course it applies to bots as well, that's how Tarkov works. Bots can do everything a player can do, they work off of mostly the same game logic. So, if a bot has an empty mag they'll fill it up with whatever ammo they were spawned with.

    • Well I was more wondering if a random bot could spawn with a gun that has AP Lapua ammo in it (Other than a MK-18/AXMC) or something like that.


      And I wish I could have infinite ammo like the bots without cheats, lol. I get what you mean though.

    • They still, as far as I'm aware, spawn with correct ammunition for their weapons. However, they will reload with whatever they have on them.

  • Fun mod!

    How difficult would it be to have any mag be usable with any weapon?

    • There's already another mod that allows any weapon parts on any weapon, etc.

    • Ah! Awesome :) gonna check it out for sure. Too many mods lol, I got 23 installed atm my head is spinning trying to think of more that I "need"

  • I figured it out! Now emplacement ammo's won't cause infinite loading issues :)

    Heart 4
  • Unless I can figure out how to remove magazines from loose loot spawns, or force magazines that do spawn loose to be empty, then I've no idea how to fix issues with emplacement ammo's causing infinite load issues.

  • Did some testing and figured out that the amount of loot on the map determines whether the raid can start or you get stuck. I assume it's because every magazine that gets generated somewhere has to have its ammo randomly generated from a pool of ammo that it can spawn with. because this mod makes it so that all the mags can have all the ammo it causes the amount of possible combinations that it goes through for each mag to skyrocket. I have never looked at the code for the mod or any of the dev tools so this is just an assumption based on how I think the code works but I'm pretty confident this is what's happening.

    So yeah, if you want a temporary "fix" use SVM to set the amount of loot to zero

    Thumbs Up 1
    • I didn't have those issues myself when I tested with the original 1.0.0 mod, loaded into a map fine. It seems the latest version with the addition of the AGS and UTYOS ammo has kinda broken the mod. Do you get these issues with 1.0.0?

    • This makes sense because the containers have to go through all the motions to put random ammo in random magazines. I just loaded into lighthouse in about 2 minutes and I have over 15 mods. they all work on 1.0.0. mods are: tyr universal ammo, swag, special slots, revingly better meds, refringecustomtimes, questor, priscilu trader and special weapons, odt item info, nootropix bigstacks/ cases/ secure cases, maid traders, hephaestus, gunsmith, fontaine ammo rebalance, dushaoan moar, cwxmasterkey, alimoncul multiply all. and thats with no load order

      Thumbs Up 1
  • issue with 12.7x108 and 30x29 ags ammo while joining maps with static ags/utyos


    TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))

    TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))

    at ItemHelper.drawAmmoTpl (C:\snapshot\project\obj\helpers\ItemHelper.js)

    at ItemHelper.fillMagazineWithRandomCartridge (C:\snapshot\project\obj\helpers\ItemHelper.js)

    at LocationGenerator.createStaticLootItem (C:\snapshot\project\obj\generators\LocationGenerator.js)

    at LocationGenerator.generateContainerLoot (C:\snapshot\project\obj\generators\LocationGenerator.js)

    at LocationController.generate (C:\snapshot\project\obj\controllers\LocationController.js)

    at LocationController.get (C:\snapshot\project\obj\controllers\LocationController.js)

    at LocationCallbacks.getLocation (C:\snapshot\project\obj\callbacks\LocationCallbacks.js)

    at RouteAction.action (C:\snapshot\project\obj\routers\dynamic\LocationDynamicRouter.js)

    at LocationDynamicRouter.handleDynamic (C:\snapshot\project\obj\di\Router.js)

    at HttpRouter.handleRoute (C:\snapshot\project\obj\routers\HttpRouter.js)

    TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))

    TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))

    at ItemHelper.drawAmmoTpl (C:\snapshot\project\obj\helpers\ItemHelper.js)

    at ItemHelper.fillMagazineWithRandomCartridge (C:\snapshot\project\obj\helpers\ItemHelper.js)

    at LocationGenerator.createStaticLootItem (C:\snapshot\project\obj\generators\LocationGenerator.js)

    at LocationGenerator.generateContainerLoot (C:\snapshot\project\obj\generators\LocationGenerator.js)

    at LocationController.generate (C:\snapshot\project\obj\controllers\LocationController.js)

    at LocationController.get (C:\snapshot\project\obj\controllers\LocationController.js)

    at LocationCallbacks.getLocation (C:\snapshot\project\obj\callbacks\LocationCallbacks.js)

    at RouteAction.action (C:\snapshot\project\obj\routers\dynamic\LocationDynamicRouter.js)

    at LocationDynamicRouter.handleDynamic (C:\snapshot\project\obj\di\Router.js)

    at HttpRouter.handleRoute (C:\snapshot\project\obj\routers\HttpRouter.js)

    Thumbs Up 1
    • Looks to be having issues generating the emplacements, mhmm.

  • This mod conflicts with Tracer. mod, get the same 'filter' error.
    This type of ammo mod is so fun, so easy choice which to pick

  • Getting this error. It has something to do with a setting I activated on KMC's Server Value Modifier. It's a bit late where I'm at but I will go through my settings tomorrow and see which one is conflicting with your mod.


    Update: Had a hunch it had to do with an option in "stash and items" I left all my settings running and disabled the "stash and items" settings and no errors. I have a bunch of settings active in this section I'll narrow it down tomorrow.


    Fix: Rearrange the load order of the mods. You can do so by putting a "z" in front of the ServerValueModifier folder and it will place it at the bottom of the list and load your settings without conflict. The name of your folder should read "zServerValueModifier"


    Heart 1
    • From my rudimentary testing it's caused only by the 'All Items Examined' setting, which is... Strange. I can't seem to find WHY it would be causing this error as all it does is set the "ExaminedByDefault" state to true. It has nothing to do with filters or anything.


      I'm genuinely at a loss. I'll just make a warning to make sure to load the mod before SVM.

      Thinking 1
  • For anyone wondering, my review is a joke based on someone's review of Tyrians last mod.

    Heart 1
  • Best of the best mod

    i want it to work with:
    12.7x108mm B-32

    12.7x108mm BZT-44M
    30x29 VOG-30
    26x75mm distress signal flare (poison green)
    Airsoft 6mm BB


    Silverbullet but better