AllTheLoot - 3.9+ 1.0.8

Please do not ask when mod authors will update their mods to 3.9.X
Bothering mod authors will lead to warnings and repeat offenses will lead to eventual bans.

This mod makes all ~2900 Handbook items available to be looted from containers. Overwrite the default staticLoot database for all containers or the containers of your choice. Updated for SPT 3.9 by Jewels.

Original mod: AllTheLoot


This mod was originally created by BlackMamba/lElwoodBluesl. I've only gone and updated it to work with the changes present in 3.9. I will not be adding new features and will only provide the most basic of technical support for it.


The original author of the mod has given me permission to continue maintaining this mod. If for whatever reason I become unavailable to reach in the future and you wish to take over maintaining this mod in my absence, consider this message my/our permission to do so.


Shoutout to Den_Cheesecake on the discord for helping me test things!


Changes:

  • Updated code to work with changes to SPT architecture
  • Split distribution from globally to per-map to reflect SPT change
  • Updated blacklist to include appropriate new items (didn't bother updating the ClearNames file as its not needed for functionality and I'm lazy)
  • Version 1.0.8

    Re-upload that includes populated config files. Emptied them while testing and forgot to repopulate them.

  • Version 1.0.7

    Initial Release

  • Obviously testing every little thing about this mod can be a PITA, especially if you run with lots of mods that add new items.


    Not to mention that BSG added new event items for quests and didn't bother making them proper quest items, meaning they might slip past the blacklist. I think I got them all, but you never know.


    If you encounter any issues or weird items you feel shouldn't be spawning, please post them here so I can investigate them further.

    Heart 4
    • It appears that "Decrypted Flash Drives" and "Document's with Decrypted Data" made it past the blacklist.

    • Yeah those two drives and the tiny intelligence folders are in an awkward place for 3.9. While the quests you need those items for are no longer in the game on Live tarkov, the build of the game 3.9 is built upon still has those quests as active ones you can actually still do in SPT. Come 3.10 (or if a 3.9 build is pushed with a client update) they will need to be blacklisted then.

    • would setting

          "questItems": false,

      stop them spawning?

    • No. if you want to remove those three items (and thus render the quest they're associated with undoable) you'd need to add their IDs to the global blacklist.


      "660bbc98c38b837877075e4a",

      "660bbc47c38b837877075e47",

      "660bc341c38b837877075e4c"

    • Ah because you said BSG didn't make them proper quest items right? Tbf probs not the end of the world to keep them blacklisted 'til the quest is unlocked. Thanks

  • Hey, just wanted to get some help as I am beyond confused.


    When I boot the server using a docker in linux, I get a stacktrace error saying that the mod can't find its config and lists off the full application stack. I have verified the location of the config to be EXACTLY as it asks for it to be presented and am wondering if it is just a linux error. This is the only mod I have this error.


    This is the error. Sorry in advance for the wall of text.


    Stacktrace:

    Error: Cannot find module './Config/config.json'

    Require stack:

    - /opt/server/user/mods/zzBlackMamba-AllTheLoot/src/AllTheLoot/AllTheLoot_Main.js

    - /opt/server/user/mods/zzBlackMamba-AllTheLoot/src/AllTheLoot/AllTheLoot_Init.js

    - /opt/server/user/mods/zzBlackMamba-AllTheLoot/src/mod.js

    - /snapshot/project/obj/loaders/PreSptModLoader.js

    - /snapshot/project/obj/controllers/GameController.js

    - /snapshot/project/obj/callbacks/GameCallbacks.js

    - /snapshot/project/obj/di/Container.js

    - /snapshot/project/obj/Program.js

    - /snapshot/project/obj/ide/ReleaseEntry.js

    1) If you want to compile the package/file into executable, please pay attention to compilation warnings and specify a literal in 'require' call. 2) If you don't want to compile the package/file into executable and want to 'require' it from filesystem (likely plugin), specify an absolute path in 'require' call using process.cwd() or process.execPath.

    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)

    at Function._resolveFilename (pkg/prelude/bootstrap.js:1955:46)

    at Function.Module._load (node:internal/modules/cjs/loader:985:27)

    at Module.require (node:internal/modules/cjs/loader:1235:19)

    at Module.require (pkg/prelude/bootstrap.js:1851:31)

    at require (node:internal/modules/helpers:176:18)

    at Object.<anonymous> (/opt/server/user/mods/zzBlackMamba-AllTheLoot/src/AllTheLoot/AllTheLoot_Main.ts:8:1)

    at Module._compile (node:internal/modules/cjs/loader:1376:14)

    at Module._compile (pkg/prelude/bootstrap.js:1894:32)

    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1435:10)

    • This is something that only Linux users get. I still need to publish an update with the fix (among a few others) but for now change these lines:


      AllTheLoot_Main.ts, Lines 8-14 to:


      Code
      import config from "../../config/config.json";
      import config_Blacklisting from "../../config/config_Blacklisting_ID.json";
      import config_Containers from "../../config/config_Containers_ID.json";
      import config_FavoriteItems from "../../config/config_FavoriteItems_ID.json";
      import config_QuestItems from "../../config/config_QuestItems_ID.json";
      import config_CategorySpawnrates from "../../config/config_CategorySpawnrates.json";
      import config_SelectedItems from "../../config/config_SelectedItems_ID.json";


      Basically replacing the upper case /Config/ that exists in the path with a lower case one. VSC doesn't recognize this as a problem since only Linux users have this issue. I don't have easy access to any linux setups so if it doesn't work please let me know. :/

  • when i use all the loot and leaves loot fuckery

    then i get to many items on one place,is there a way to fix this problem ?

  • You know what's really nice about this mod is you can load it after mods that add custom items and it will automatically add them to the loot pool, or alternatively you can load them after and retain their own distribution/lack of distribution. This is like ALP but for loot, really great integration functionality.


    There are a couple of features that I'd love to see as part of this mod:

    -A config setting for global container and loose odds (as seen in SVM and Lots of Loot)

    -A config setting to toggle and adjust loot within loose containers (such as keys in docs cases, junk in backpacks etc.)


    That would really make it perfect IMO.

    Heart 1
  • Jewels, just want to say a big thank you for updating this mod for 3.9.x. :thumbup:

    Heart 1
  • In the absence of anywhere else - like a mod request thread - I'm gonna ask about a couple of things here: firstly, at one time back in 2.x.x days the Dorm Room 114 key WOULD be in the med student's jacket in the back of his car near the checkpoint (when the quest was given). Also the Construction site demountable key would spawn in the jacket hanging in locked factory room - or on the ground under it - again once Prapor gave the quest to get the package from that demountable. And at one time USB sticks used to actually stick out from PCs properly - not lay along the front of them. Silly things I know, but it'd be lovely if some enterprising modder familiar with how loot items are spawned in the world (hint hint Jewels?) could fix these things up :)

    • 114 key can still spawn in the jacket in the back of the car by the military checkpoint on Customs--it's just a relatively uncommon spawn. In my experience going for it on live, I saw it somewhere on the order of 1:25 to 1:50 runs earlier this wipe, and that's about what it's been every time I've actually been playing live and checking for it consistently.

      Changing the 114 key's spawn chances in that jacket would probably be pretty easy, since it's a specific container (I'm pretty sure it's "59387ac686f77401442ddd61"), and I don't think it's used anywhere else in the game.

    • :thumbup:

    • Short notice on the Dorms 114 key.

      The container works like this. It gets assigned items from category "MEDICATION_MEDKITS" and "MEDICATION_PILLS" + the Dorms Key 114 (as far as I remember everything summed up to 11 items). The blacklist file by default removes 3 items, so 8 items left.

      To make the Dorms Key 114 spawn with a somehow "controlled" rate, all items in the container have been set the same relative probability (in that case 1), which results in a final spawn chance of ((1+1+1+1+1+1+1+1)/8) / 8, i.e. 12,5%.

      If you want to increase the spawn chance of the Dorms 114 key even more, the easiest would be to add some more blacklisted medkits in the file config_Blacklisting_ID.json

      Assuming you want the key with a spawn chance of e.g. 20%, you need to remove 3 additional medical items.


      Shortly on "locked factory room". The problem is, this jacket isn't configured by SPT as a dedicated container (like Dorms 114, Dorms 204 and machinery key jacket). Like such it can only be treated as a normal jacket (and having only the general "jacket-container-items" assigned to it).

    • Thanks Elwood! - awesome info :thumbup: . The factory room key I think used to actually spawn on the floor under that jacket - so that floor spot might be a specific spawn point?

    • Yeah, it's probably a specific spawn point, though of no use for AllTheLoot.

      Anything outside of a container - e.g. like a key laying on the ground - is handled by SPT internally as LooseLoot and like such not being manipulated by AllTheLoot.

      Maybe you find a loose loot mod to increase / make available that spawn again. Can't name a good mod right now because relooted, what I normally used, seems to be outdated.

  • Any way to reduce global key spawn chance? Didn't see anything obvious in the config.

    • config_CategorySpawnrates.json


      These two lines:


      Code
      "rate_KEYS_ELECTRONICKEYS": 0.15,
      "rate_KEYS_MECHANICALKEYS": 0.85,


      The lower the number the less likely

    • Oh nice, it's cool how much you can tweak everything in that file. Thanks for updating this mod!

  • So if using this mod I guess Keys In Loot is redundant in terms of adding all keys to loot?


    Edit: It is

    • Maybe, but that can also change the internal size of jackets and drawers, so it's still useful if you're using it for that.

  • Thanks for the update, literally the only mod I was missing! One thing tho: When you get the config.json it's looking for "Config" with a capital c but since the actual path is "config" it throws an error when running it in linux environments. I think ElwoodBlues corrected it in the 3.8.3 version already

    • Thanks! I had no idea about the linux issue. This mod definitely needs a lot of cleanup and reformatting that I'm not yet going to bother doing in case the original author decides to return. If, in the future, it appears that I become the primary caretaker of this mod I'll put in that effort to clean it all up.


      I will at least address this and any other issues that prevent the mod from functioning until then.

      Heart 1
    • Hey Jewels. As already mentioned via DM, I would be super happy if you take over the ownership of that mod. My primary goal back then was to create a good loot mod, which you can tweak in any thinkable way (for sure, as much as it's possible because of the relative spawn principle of SPT). Currently I'm not so much anymore into SPT because of other things.

      I'm excited to see how you clean the mod even more. From 1.0.5 to 1.0.6 I (as a total noob in typescript) tried my very best, to get most of the initial mess cleaned up ;)


      P.S. yeah, back then I wasn't aware of the proper spelling necessity too - actually I didn't think anyone plays SPT in a Linux environment :)

  • Is this file "config_QuestItems_ID.json" supposed to be empty ?

    Original mod has a lot of entries there, the one zipped by you is empty. Just making sure - maybe it's your workaround for something :D

    • Woops! Cleared it out to test something and forgot to repopulate it. I'll be sure to fix that and push an update. You can just use the old one from the original mod in the meantime.

      Heart 1
  • what mod should we load first, All the loot, or lots of loot ?

    • Between the two it shouldn't matter but both should be at the very bottom. ATL handles loot inside containers while LoL handles loot that spawns in the world itself. There's no crossover.

    • If i use SVM to modify the loot multiplier per map will it conflict with this mod ? or just load this mod after? or disable that module of SVM?

    • @S13NDR_M4N It shouldn't matter. I personally don't use SVM so I can't say for sure. I would load this after SVM just to be safe.

    • an other question, in config I set this:

      Does it mean, default loot spawn will be multiply by this number ?
      Can I change the "loot quality/rarity" per map ?

    • Those numbers dictate how many pieces of loot the game should generate on a given map before stopping. This mods settings affect the spawn rate of individual items within that cap. So in short, yes, spawns from this mod are affected by those numbers.

  • So cool! I was waiting for this to update, I'll be sure to mention if something odd sticks out! ^^

  • Thanks for this. Will report if any weirdness.

  • Thank you so much for the update! I’ve been waiting for this since 3.9! This is essential mod for any SPT build!

    Heart 1