Add Missing Quest Weapon Requirements 1.2.2

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.

Dynamically reads and applies overrides to the weapon restrictions of kill/eliminate conditions of quests based on override files. Normally, the conditions' weapons need to be manually updated for every added gun. This mod aims to automate this process.

Make sure this loads after any mod that registers quests; otherwise, they will not be processed. For example Virtual's Custom Quest Loader


The rules/overrides stored in the MissingQuestWeapons folder. The mod checks for every folder inside user/mods directory for MissingQuestWeapons folder.


Other mods can also add their overrides by adding a MissingQuestWeapons folder to their root. (Anyone can also create a new folder in user/mods to add/save their custom overrides instead of adding them to this mod's. This way, they won't be overridden when the mod updates.) The mod's config and overrides have comments that explains them.


Example folder:

  • user/mods/<yourfolder>/
    • MissingQuestWeapons/
      • OverriddenWeapons.jsonc
      • QuestOverrides.jsonc

A weapon can:

  • be in more than one category (e.g. MP-133 is in shotgun, pump-shotgun and 12ga)
  • have other weapons that can be used whenever original exists (e.g. vanilla M4A1 and M4A1s added by mods)


By default, logging is only done to a file inside its directory called "log.log". You can check this file to see how weapons are categorized and quests are updated. In the config, you can set debug to true to increase the details. If there is a problem with the mod, be sure to send this file.

  • the GitHub link isn't working it says page not found

    • my bad forgot to update the link. should be working now

  • Tried adding the .338 Lapua version of the M700 Long Action Rifle, and it only added it to Tarkov Shooter Part 7. How do I add it to the rest?

  • Hello! downloaded it like 2 days ago because i found out some mod weapons i downloaded doesn't working with Tarkov Shooter quests and Shooter Born in Heaven quest.

    even after i downloaded this mod, it's still not working properly. what i want to use for quest is the WTT-CheyTac. maybe i'm just missing something to make it work.


    can you tell me what should i do to make it works?
    btw, i added weapon overide folder into cheytac mod folder cuz i thought it might work with it. but nope
    neither work

  • Getting this when starting the mod
    Tested it in raid, Guiding light mod didnt register a rifle from ATLAS mod

    Mod has been downloaded last, and is set through the mod loader to be the last in the loading queue

    • The error is caused by the quest ("Let the slaughter commence (GL_C_START)", etc.) having entries in its condition which are not weapons (DMRList, SGList, etc),. In this case the mod cannot match a weapon type to quest and just skips them. These quests won't be processed but it doesn't affect the rest of the quests.
      In hindsight it should have been a warning not an error.

      Thumbs Up 1
    • Thank you!

  • Hopefully I format this right, but I keep getting this error from the mod, not too sure why

    Code
    [2024-07-08T02:49:31.891Z] error: The application had a critical error and failed to run[2024-07-08T02:49:31.892Z] error: Exception produced: Error[2024-07-08T02:49:31.895Z] error: Stacktrace:Error: Cannot inject the dependency "configServer" at position #1 of "Watermark" constructor. Reason: ENOENT: no such file or directory, scandir 'X:\Projects\SPT-DEV\Mods\AddMissingQuestRequirements\Aki_Data\Server\configs' at C:\snapshot\project\node_modules\tsyringe\dist\cjs\dependency-container.js:324:23 at Array.map () at C:\snapshot\project\node_modules\tsyringe\dist\cjs\dependency-container.js:295:38 at InternalDependencyContainer.construct (C:\snapshot\project\node_modules\tsyringe\dist\cjs\dependency-container.js:297:11) at InternalDependencyContainer.resolveRegistration (C:\snapshot\project\node_modules\tsyringe\dist\cjs\dependency-container.js:166:51) at InternalDependencyContainer.resolve (C:\snapshot\project\node_modules\tsyringe\dist\cjs\dependency-container.js:109:33) at Program.start (C:\snapshot\src\Program.ts:25:46) at Object. (C:\snapshot\src\ide\ReleaseEntry.ts:19:9) at Module._compile (pkg/prelude/bootstrap.js:1930:22) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1435:10)[2024-07-08T02:49:31.890Z] debug: Importing configs...
    • Probably something is wrong with your installation. I cannot say for sure without more information

    • just did a fresh install, and fresh mod download and got the same exact error no idea what I could possibly be doing wrong

  • The SVD from WTT aren't contributing towards DMR's skills or Lotus/Scorpion Sniper/DMR kills. Is this mod supposed to fix that ?


    Same thing with M4A1 from painter ( and Core's mod), where M4A1 aren't contributing to Wet Job Part 1, dispite the guns being added to the list when I look at the logs of the mod.

    • This mod does not touch the skills, only quests.
      I haven't played the game in release 3.9 but in 3.8.3 I used the guns you mentioned and they were counted towards the quests.
      Is there anything about the Wet Job quest in the log?

    • I'm still on 3.8.3 by the way.

      This is the related Wet Job log's line. I'm going to try again with the M4A1 flames this time.

    • everything seems correct. make sure the mod is loaded last, otherwise i'm out of ideas

  • Can't wait to see more of my parts in here, very nice work. I was going to implement the changes via my mod but this might just be a recommendation on my mod page.

    Heart 2
  • More weapon mod compatibility means more good!! you are doing God's work.

    Heart 1
  • Is there a way to modify the "mp series shotgun" requirement for setup?

    • yeah, delete it from the BlackListestedQuests from QuestOverrides.jsonc
      it should then process that quest and all 12ga shotguns to it

      Heart 1
    • That's amazing!

  • Does this mod modify any files outside of its own directory? I want to add it but I have quite a few mods installed that I spent a lot of time tweaking so am wary of breaking things lol I do have backups but still would rather not lose progress reverting to a backup down the line if I do run into issues. If I needed to uninstall this mod, would deleting it be sufficient to revert its changes?

    • Nope, it only reads from other directories if it finds the configs related to this mod.
      Any quest changes made are temporarily and does not change anything permanently so deleting it would revert all changes

      Heart 1
  • ayo, i wish my Constituents would come here and download this mod. :kannatiredofthis:


    Good work. animefingerdancing

    Happy 1
  • Couple of questions.

    Does this work for Vanilla quests?

    Do I have to add a weapon list to all of the customer quests in order to make this work for custom quests?

    Is the answer to the above that I have to add the quest ID's to Quest.Overrides.jsonc?

    Is it true that a weapon can be listed as a customer category of M4 without listing it as an assault rifle above in the Overrides section in OverriddenWeapons.jsonc?

    • Additional question, why is setup in the blacklist?

    • all quests are processed by default except for blacklisted ones.
      overridden quest are those that require special rules to prevent adding wrong weapons.


      during early in the development, i blacklisted setup quest because it had very strict conditions

      and the logic at that time was not able to process it correctly. currently there are better ways to handle it, but i have not seen any mods that adds mp series shotguns so i just left it as is.

    • Do you think we could chat on discord and work through the logic with my set of mods? Every tweak I make seems to make it worse.

    • sure thing im in the spt server and have the same nickname. you can message me and chat when we both have time

  • Hello! Thank you very much for your mod, I think the idea is great!


    Could you kindly provide a quick example, of how to make sure your mod picks up one of the custom weapons? Say I have an "M60 LMG" mod. What should I do step by step?


    Thanks a million!

    • it should be automatically categorized as a lmg, if the custom weapon's database entry is correcty configured. you can check the log file inside the mod directory to see if a weapon is categorized under which category.

    • Thanks! What I do not understand fully is how to "activate" the mod for customs weapons. Should I extract this mod folder to every custom weapon mod? Or should I add all custom weapons IDs to this mod config? Please provide an example. Thanks a million!

    • You dont have to do anything. only make sure this mod loads after them. and processes them using default logic.
      the configs/overrides are for when you want different categorization than the default.


      example for "Override" section
      the default way weapons are categorized is by looking their parent id.
      for example MTs-255-12 12ga shotgun revolver (60db29ce99594040e04c4a27)'s parent is Revolver (5422acb9af1c889c16000029). So normally it would be counted as revolver in my default logic. But I wanted it to be count as both shotgun and revolver, so I added it to the config as


      "60db29ce99594040e04c4a27": "Shotgun,Revolver", // MTs-255-12 12ga shotgun



      the "CanBeUsedAs" section is for when you want a weapon to be counted as same weapons.
      so i wanted the WTT-Armory's SVDs to counted as the game's SSVDS 7.62x54R sniper rifle (5c46fbd72e2216398b5a8c9c) :



      "5c46fbd72e2216398b5a8c9c": [ // SVDS 7.62x54R sniper rifle from the vanilla game
                  "6657bc8faeddd6b0a9b40224", <-- from WTT
                  "6657bd4d3a4d6e7c33fd2fdc" <-- from WTT
              ],



      This way when a quest ask you to use SVD rifle, all three of them will be counted as valid.


      the "CustomCategories" sections creates additions custom categories that quests can use. It uses mainly uses regex for matching. For example:

      {
                  "name": "AKM", // Identifier
                  "ids": [], // if a weapon is in this list, it will be considered as this category no matter what
                  "whiteListedKeywords": ["\\b(AKM|AK-1|VPO)\\w*"], // these will be searched in the weapon name and description
                  "blackListedKeywords": [], // weapons with name/description containing these will be removed
                  "allowedCalibres": ["Caliber762x39"], // weapons with only these will be added,
                  "alsoCheckDescription": false // if true, the description will also be checked
      }


      "The Punisher - Part 1" quests exclusively accept kills made with an AKM series weapon.if this custom category did not exist, my mod would default to categorizing the condition as "AssaultRifle," since all AKMs fall under the AssaultRifle category. CustomCategories serve to create more specific weapon categories for such situations

      let me know if it's not clear enough

      Heart 1
    • Thanks! So, to sum up, all I have to do is install the mod (in the mod folder) and make sure it loads last. No other steps needed?

    • exactly

      Heart 1
  • I am not sure I entirely understand what this mod does. I'll have to take a look it it closely.

    • my understanding might be a bit off cause some of the wording is a bit confusing to me. But it seems like lets say you have a mod that adds a weapon. If you use that weapon for a quest and it doesn't count even though it matches the requirements (similar to punisher part 2 where some suppressors dont count because they were new and bsg didn't update the quest). So you add those weapons to the mods .jsonc file and it will then automatically compile everything together and override the quests original weapon requirement list with an updated one that also includes the modded weapons.

      so tl;dr modded weapon doesn't work for quest? add to this mods .jsonc and it will fix the quest requirement so it does work.

      could be slightly wrong though since it sounds a bit confusing to me

    • Sorry for the confusion. I often find it challenging to explain things clearly.


      Currently, the mod does not support attachments, but I am planning to implement this feature and maybe a few more.


      For example, consider the peacekeeping mission that only counts kills made with an M4A1. If I have mods that add new variants of the M4A1, these new weapons are not recognized by the mission and their kills don't count. This mod attempts to address that issue by categorizing weapons based on their patterns and types (or just by using their ids), and then updating the quests accordingly.


      Quest: Peacekeeping Mission (5c0d4c12d09282029f539173)
      Colt M4A1 5.56x45 assault rifle (5447a9cd4bdc2dbd208b4567)
      +++ Colt M4A1 5.56x45 assault rifle (Topographic) (0101_BLACK_LINES_M4A1)
      +++ Colt M4A1 5.56x45 assault rifle (Flames) (0106_FLAMING_M4A1)
      +++ Colt M4A1 5.56x45 assault rifle (Pristine) (0107_PRISTINE_M4A1)

      The +++ ones are added by the mod dynamically. It can also remove weapons the same way.

  • its so so cool

    • hmm what is it)?



    • I found out if, under the conditions of the task, it is worth surrendering or killing from a certain cartridge - everything breaks :)

    • it is more of a warning then error. just skips processing that quest.
      this is a modded quest right? do you know which mod

    • it is required to exclude the addition of packs of ammo and granade M67 Shrapnel (5996f6fc86f7745e585b4de3)

    • yeah it should check if the condition is actually a weapon. currently it just assumes every id in weapon array of a condition is a weapon. does it break anything