Refactor Item tpl generator to handle multiple generators + add quest tpl generator (#493)

This commit is contained in:
Cj
2025-07-20 14:17:29 -04:00
committed by GitHub
parent cbcfa370bc
commit 1d1f872875
15 changed files with 4490 additions and 10649 deletions
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,550 @@
using SPTarkov.Server.Core.Models.Common;
// This is an auto generated file, do not modify. Re-generate by running MongoIdTplGenerator.exe
public static class QuestTpl
{
public static readonly MongoId DEBUT = new MongoId("5936d90786f7742b1420ba5b");
public static readonly MongoId BACKGROUND_CHECK = new MongoId("5936da9e86f7742d65037edf");
public static readonly MongoId SHOOTOUT_PICNIC = new MongoId("59674cd986f7744ab26e32f2");
public static readonly MongoId DELIVERY_FROM_THE_PAST = new MongoId("59674eb386f774539f14813a");
public static readonly MongoId BAD_REP_EVIDENCE = new MongoId("5967530a86f77462ba22226b");
public static readonly MongoId ICE_CREAM_CONES = new MongoId("59675d6c86f7740a842fc482");
public static readonly MongoId POSTMAN_PAT_PART_1 = new MongoId("59675ea386f77414b32bded2");
public static readonly MongoId POSTMAN_PAT_PART_2 = new MongoId("596760e186f7741e11214d58");
public static readonly MongoId SHAKING_UP_THE_TELLER = new MongoId("5967725e86f774601a446662");
public static readonly MongoId SHORTAGE = new MongoId("5967733e86f774602332fc84");
public static readonly MongoId SANITARY_STANDARDS_PART_1 = new MongoId("59689ee586f7740d1570bbd5");
public static readonly MongoId OPERATION_AQUARIUS_PART_1 = new MongoId("59689fbd86f7740d137ebfc4");
public static readonly MongoId OPERATION_AQUARIUS_PART_2 = new MongoId("5968eb3186f7741dde183a4d");
public static readonly MongoId PAINKILLER = new MongoId("5969f90786f77420d2328015");
public static readonly MongoId PHARMACIST = new MongoId("5969f9e986f7741dde183a50");
public static readonly MongoId SUPPLY_PLANS = new MongoId("596a0e1686f7741ddf17dbee");
public static readonly MongoId KIND_OF_SABOTAGE = new MongoId("596a101f86f7741ddb481582");
public static readonly MongoId GENERAL_WARES = new MongoId("596a1e6c86f7741ddc2d3206");
public static readonly MongoId SANITARY_STANDARDS_PART_2 = new MongoId("596a204686f774576d4c95de");
public static readonly MongoId CAR_REPAIR = new MongoId("596a218586f77420d232807c");
public static readonly MongoId SUPPLIER = new MongoId("596b36c586f77450d6045ad2");
public static readonly MongoId THE_EXTORTIONIST = new MongoId("596b43fb86f77457ca186186");
public static readonly MongoId STIRRUP = new MongoId("596b455186f77457cb50eccb");
public static readonly MongoId WHATS_ON_THE_FLASH_DRIVE = new MongoId("5979ed3886f77431307dc512");
public static readonly MongoId GOLDEN_SWAG = new MongoId("5979eee086f774311955e614");
public static readonly MongoId POLIKHIM_HOBO = new MongoId("5979f8bb86f7743ec214c7a6");
public static readonly MongoId CHEMICAL_PART_1 = new MongoId("5979f9ba86f7740f6c3fe9f2");
public static readonly MongoId CHEMICAL_PART_2 = new MongoId("597a0b2986f77426d66c0633");
public static readonly MongoId CHEMICAL_PART_3 = new MongoId("597a0e5786f77426d66c0636");
public static readonly MongoId CHEMICAL_PART_4 = new MongoId("597a0f5686f774273b74f676");
public static readonly MongoId OUT_OF_CURIOSITY = new MongoId("597a160786f77477531d39d2");
public static readonly MongoId BIG_CUSTOMER = new MongoId("597a171586f77405ba6887d3");
public static readonly MongoId BP_DEPOT = new MongoId("59c124d686f774189b3c843f");
public static readonly MongoId THE_PUNISHER_PART_1 = new MongoId("59c50a9e86f7745fef66f4ff");
public static readonly MongoId THE_PUNISHER_PART_2 = new MongoId("59c50c8886f7745fed3193bf");
public static readonly MongoId THE_PUNISHER_PART_3 = new MongoId("59c512ad86f7741f0d09de9b");
public static readonly MongoId TRUST_REGAIN = new MongoId("59c9392986f7742f6923add2");
public static readonly MongoId LOYALTY_BUYOUT = new MongoId("59c93e8e86f7742a406989c4");
public static readonly MongoId NO_OFFENCE = new MongoId("59ca1a6286f774509a270942");
public static readonly MongoId THE_PUNISHER_PART_4 = new MongoId("59ca264786f77445a80ed044");
public static readonly MongoId THE_PUNISHER_PART_5 = new MongoId("59ca29fb86f77445ab465c87");
public static readonly MongoId THE_PUNISHER_PART_6 = new MongoId("59ca2eb686f77445a80ed049");
public static readonly MongoId SPA_TOUR_PART_1 = new MongoId("5a03153686f77442d90e2171");
public static readonly MongoId SPA_TOUR_PART_2 = new MongoId("5a03173786f77451cb427172");
public static readonly MongoId SPA_TOUR_PART_3 = new MongoId("5a0327ba86f77456b9154236");
public static readonly MongoId SPA_TOUR_PART_4 = new MongoId("5a03296886f774569778596a");
public static readonly MongoId SPA_TOUR_PART_5 = new MongoId("5a0449d586f77474e66227b7");
public static readonly MongoId FISHING_GEAR = new MongoId("5a27b75b86f7742e97191958");
public static readonly MongoId TIGR_SAFARI = new MongoId("5a27b7a786f774579c3eb376");
public static readonly MongoId SCRAP_METAL = new MongoId("5a27b7d686f77460d847e6a6");
public static readonly MongoId EAGLE_EYE = new MongoId("5a27b80086f774429a5d7e20");
public static readonly MongoId HUMANITARIAN_SUPPLIES = new MongoId("5a27b87686f77460de0252a8");
public static readonly MongoId THE_CULT_PART_1 = new MongoId("5a27b9de86f77464e5044585");
public static readonly MongoId THE_CULT_PART_2 = new MongoId("5a27ba1c86f77461ea5a3c56");
public static readonly MongoId SPA_TOUR_PART_6 = new MongoId("5a27ba9586f7741b543d8e85");
public static readonly MongoId SPA_TOUR_PART_7 = new MongoId("5a27bafb86f7741c73584017");
public static readonly MongoId CARGO_X_PART_1 = new MongoId("5a27bb1e86f7741f27621b7e");
public static readonly MongoId CARGO_X_PART_2 = new MongoId("5a27bb3d86f77411ea361a21");
public static readonly MongoId CARGO_X_PART_3 = new MongoId("5a27bb5986f7741dfb660900");
public static readonly MongoId WET_JOB_PART_1 = new MongoId("5a27bb8386f7741c770d2d0a");
public static readonly MongoId WET_JOB_PART_2 = new MongoId("5a27bbf886f774333a418eeb");
public static readonly MongoId WET_JOB_PART_3 = new MongoId("5a27bc1586f7741f6d40fa2f");
public static readonly MongoId WET_JOB_PART_4 = new MongoId("5a27bc3686f7741c73584026");
public static readonly MongoId WET_JOB_PART_5 = new MongoId("5a27bc6986f7741c7358402b");
public static readonly MongoId WET_JOB_PART_6 = new MongoId("5a27bc8586f7741b543d8ea4");
public static readonly MongoId FRIEND_FROM_THE_WEST_PART_1 = new MongoId("5a27c99a86f7747d2c6bdd8e");
public static readonly MongoId FRIEND_FROM_THE_WEST_PART_2 = new MongoId("5a27d2af86f7744e1115b323");
public static readonly MongoId HEALTH_CARE_PRIVACY_PART_1 = new MongoId("5a68661a86f774500f48afb0");
public static readonly MongoId HEALTH_CARE_PRIVACY_PART_2 = new MongoId("5a68663e86f774501078f78a");
public static readonly MongoId HEALTH_CARE_PRIVACY_PART_3 = new MongoId("5a68665c86f774255929b4c7");
public static readonly MongoId HEALTH_CARE_PRIVACY_PART_4 = new MongoId("5a68667486f7742607157d28");
public static readonly MongoId HEALTH_CARE_PRIVACY_PART_5 = new MongoId("5a68669a86f774255929b4d4");
public static readonly MongoId GUNSMITH_PART_1 = new MongoId("5ac23c6186f7741247042bad");
public static readonly MongoId GUNSMITH_PART_2 = new MongoId("5ac2426c86f774138762edfe");
public static readonly MongoId GUNSMITH_PART_3 = new MongoId("5ac2428686f77412450b42bf");
public static readonly MongoId GUNSMITH_PART_16 = new MongoId("5ac242ab86f77412464f68b4");
public static readonly MongoId GUNSMITH_PART_13 = new MongoId("5ac244c486f77413e12cf945");
public static readonly MongoId GUNSMITH_PART_7 = new MongoId("5ac244eb86f7741356335af1");
public static readonly MongoId FARMING_PART_1 = new MongoId("5ac345dc86f774288030817f");
public static readonly MongoId FARMING_PART_2 = new MongoId("5ac3460c86f7742880308185");
public static readonly MongoId FARMING_PART_3 = new MongoId("5ac3462b86f7741d6118b983");
public static readonly MongoId FARMING_PART_4 = new MongoId("5ac3464c86f7741d651d6877");
public static readonly MongoId SIGNAL_PART_1 = new MongoId("5ac3467986f7741d6224abc2");
public static readonly MongoId SIGNAL_PART_2 = new MongoId("5ac346a886f7744e1b083d67");
public static readonly MongoId SIGNAL_PART_3 = new MongoId("5ac346cf86f7741d63233a02");
public static readonly MongoId SIGNAL_PART_4 = new MongoId("5ac346e886f7741d6118b99b");
public static readonly MongoId BAD_HABIT = new MongoId("5ac3475486f7741d6224abd3");
public static readonly MongoId SCOUT = new MongoId("5ac3477486f7741d651d6885");
public static readonly MongoId INSIDER = new MongoId("5ac3479086f7742880308199");
public static readonly MongoId GUNSMITH_PART_5 = new MongoId("5ae3267986f7742a413592fe");
public static readonly MongoId GUNSMITH_PART_6 = new MongoId("5ae3270f86f77445ba41d4dd");
public static readonly MongoId GUNSMITH_PART_8 = new MongoId("5ae3277186f7745973054106");
public static readonly MongoId GUNSMITH_PART_10 = new MongoId("5ae327c886f7745c7b3f2f3f");
public static readonly MongoId GUNSMITH_PART_15 = new MongoId("5ae3280386f7742a41359364");
public static readonly MongoId ONLY_BUSINESS = new MongoId("5ae448a386f7744d3730fff0");
public static readonly MongoId MAKE_ULTRA_GREAT_AGAIN = new MongoId("5ae448bf86f7744d733e55ee");
public static readonly MongoId BIG_SALE = new MongoId("5ae448e586f7744dcf0c2a67");
public static readonly MongoId THE_BLOOD_OF_WAR_PART_1 = new MongoId("5ae448f286f77448d73c0131");
public static readonly MongoId DRESSED_TO_KILL = new MongoId("5ae4490786f7744ca822adcc");
public static readonly MongoId DATABASE_PART_1 = new MongoId("5ae4493486f7744efa289417");
public static readonly MongoId DATABASE_PART_2 = new MongoId("5ae4493d86f7744b8e15aa8f");
public static readonly MongoId SEW_IT_GOOD_PART_1 = new MongoId("5ae4495086f77443c122bc40");
public static readonly MongoId SEW_IT_GOOD_PART_2 = new MongoId("5ae4495c86f7744e87761355");
public static readonly MongoId SEW_IT_GOOD_PART_3 = new MongoId("5ae4496986f774459e77beb6");
public static readonly MongoId SEW_IT_GOOD_PART_4 = new MongoId("5ae4497b86f7744cf402ed00");
public static readonly MongoId THE_KEY_TO_SUCCESS = new MongoId("5ae4498786f7744bde357695");
public static readonly MongoId CHARISMA_BRINGS_SUCCESS = new MongoId("5ae4499a86f77449783815db");
public static readonly MongoId NO_FUSS_NEEDED = new MongoId("5ae449a586f7744bde357696");
public static readonly MongoId GRATITUDE = new MongoId("5ae449b386f77446d8741719");
public static readonly MongoId SALES_NIGHT = new MongoId("5ae449c386f7744bde357697");
public static readonly MongoId SUPERVISOR = new MongoId("5ae449d986f774453a54a7e1");
public static readonly MongoId GUNSMITH_PART_17 = new MongoId("5b47749f86f7746c5d6a5fd4");
public static readonly MongoId GUNSMITH_PART_12 = new MongoId("5b47799d86f7746c5d6a5fd8");
public static readonly MongoId GUNSMITH_PART_18 = new MongoId("5b477b6f86f7747290681823");
public static readonly MongoId GUNSMITH_PART_20 = new MongoId("5b477f7686f7744d1b23c4d2");
public static readonly MongoId GUNSMITH_PART_22 = new MongoId("5b47825886f77468074618d3");
public static readonly MongoId THE_BLOOD_OF_WAR_PART_2 = new MongoId("5b47876e86f7744d1c353205");
public static readonly MongoId LIVING_HIGH_IS_NOT_A_CRIME_PART_1 = new MongoId("5b47891f86f7744d1b23c571");
public static readonly MongoId HOT_DELIVERY = new MongoId("5b478b1886f7744d1b23c57d");
public static readonly MongoId MINIBUS = new MongoId("5b478d0f86f7744d190d91b5");
public static readonly MongoId VITAMINS_PART_1 = new MongoId("5b478eca86f7744642012254");
public static readonly MongoId VITAMINS_PART_2 = new MongoId("5b478ff486f7744d184ecbbf");
public static readonly MongoId INFORMED_MEANS_ARMED = new MongoId("5b47926a86f7747ccc057c15");
public static readonly MongoId LEND_LEASE_PART_1 = new MongoId("5b4794cb86f774598100d5d4");
public static readonly MongoId CHUMMING = new MongoId("5b4795fb86f7745876267770");
public static readonly MongoId THE_TARKOV_SHOOTER_PART_1 = new MongoId("5bc4776586f774512d07cf05");
public static readonly MongoId THE_TARKOV_SHOOTER_PART_2 = new MongoId("5bc479e586f7747f376c7da3");
public static readonly MongoId THE_TARKOV_SHOOTER_PART_3 = new MongoId("5bc47dbf86f7741ee74e93b9");
public static readonly MongoId THE_TARKOV_SHOOTER_PART_4 = new MongoId("5bc480a686f7741af0342e29");
public static readonly MongoId THE_TARKOV_SHOOTER_PART_5 = new MongoId("5bc4826c86f774106d22d88b");
public static readonly MongoId THE_TARKOV_SHOOTER_PART_6 = new MongoId("5bc4836986f7740c0152911c");
public static readonly MongoId THE_TARKOV_SHOOTER_PART_7 = new MongoId("5bc4856986f77454c317bea7");
public static readonly MongoId THE_TARKOV_SHOOTER_PART_8 = new MongoId("5bc4893c86f774626f5ebf3e");
public static readonly MongoId BULLSHIT = new MongoId("5c0bbaa886f7746941031d82");
public static readonly MongoId SILENT_CALIBER = new MongoId("5c0bc91486f7746ab41857a2");
public static readonly MongoId INSOMNIA = new MongoId("5c0bd01e86f7747cdd799e56");
public static readonly MongoId TEST_DRIVE_PART_1 = new MongoId("5c0bd94186f7747a727f09b2");
public static readonly MongoId FLINT = new MongoId("5c0bdb5286f774166e38eed4");
public static readonly MongoId A_SHOOTER_BORN_IN_HEAVEN = new MongoId("5c0bde0986f77479cf22c2f8");
public static readonly MongoId PSYCHO_SNIPER = new MongoId("5c0be13186f7746f016734aa");
public static readonly MongoId PRIVATE_CLINIC = new MongoId("5c0be5fc86f774467a116593");
public static readonly MongoId ATHLETE = new MongoId("5c0d0d5086f774363760aef2");
public static readonly MongoId LEND_LEASE_PART_2 = new MongoId("5c0d0f1886f77457b8210226");
public static readonly MongoId GRENADIER = new MongoId("5c0d190cd09282029f5390d8");
public static readonly MongoId DECONTAMINATION_SERVICE = new MongoId("5c0d1c4cd0928202a02a6f5c");
public static readonly MongoId PEACEKEEPING_MISSION = new MongoId("5c0d4c12d09282029f539173");
public static readonly MongoId THE_GUIDE = new MongoId("5c0d4e61d09282029f53920e");
public static readonly MongoId THE_BLOOD_OF_WAR_PART_3 = new MongoId("5c10f94386f774227172c572");
public static readonly MongoId FERTILIZERS = new MongoId("5c1128e386f7746565181106");
public static readonly MongoId SCAVENGER = new MongoId("5c112d7e86f7740d6f647486");
public static readonly MongoId LIVING_HIGH_IS_NOT_A_CRIME_PART_2 = new MongoId("5c1141f386f77430ff393792");
public static readonly MongoId SETUP = new MongoId("5c1234c286f77406fa13baeb");
public static readonly MongoId PERFECT_MEDIATOR = new MongoId("5c12452c86f7744b83469073");
public static readonly MongoId IMPORT = new MongoId("5c139eb686f7747878361a6f");
public static readonly MongoId COLLECTOR = new MongoId("5c51aac186f77432ea65c552");
public static readonly MongoId INTRODUCTION = new MongoId("5d2495a886f77425cd51e403");
public static readonly MongoId ACQUAINTANCE = new MongoId("5d24b81486f77439c92d6ba8");
public static readonly MongoId THE_SURVIVALIST_PATH_UNPROTECTED_BUT_DANGEROUS = new MongoId("5d25aed386f77442734d25d2");
public static readonly MongoId THE_SURVIVALIST_PATH_THRIFTY = new MongoId("5d25b6be86f77444001e1b89");
public static readonly MongoId THE_SURVIVALIST_PATH_ZHIVCHIK = new MongoId("5d25bfd086f77442734d3007");
public static readonly MongoId THE_SURVIVALIST_PATH_WOUNDED_BEAST = new MongoId("5d25c81b86f77443e625dd71");
public static readonly MongoId THE_SURVIVALIST_PATH_TOUGH_GUY = new MongoId("5d25cf2686f77443e75488d4");
public static readonly MongoId THE_SURVIVALIST_PATH_COLD_BLOODED = new MongoId("5d25d2c186f77443e35162e5");
public static readonly MongoId THE_SURVIVALIST_PATH_EAGLE_OWL = new MongoId("5d25e29d86f7740a22516326");
public static readonly MongoId THE_SURVIVALIST_PATH_COMBAT_MEDIC = new MongoId("5d25e2a986f77409dd5cdf2a");
public static readonly MongoId THE_HUNTSMAN_PATH_SECURED_PERIMETER = new MongoId("5d25e2b486f77409de05bba0");
public static readonly MongoId THE_HUNTSMAN_PATH_TROPHY = new MongoId("5d25e2c386f77443e7549029");
public static readonly MongoId THE_HUNTSMAN_PATH_FOREST_CLEANING = new MongoId("5d25e2cc86f77443e47ae019");
public static readonly MongoId THE_HUNTSMAN_PATH_CONTROLLER = new MongoId("5d25e2d886f77442734d335e");
public static readonly MongoId THE_HUNTSMAN_PATH_SELLOUT = new MongoId("5d25e2e286f77444001e2e48");
public static readonly MongoId THE_HUNTSMAN_PATH_WOODS_KEEPER = new MongoId("5d25e2ee86f77443e35162ea");
public static readonly MongoId THE_HUNTSMAN_PATH_JUSTICE = new MongoId("5d25e43786f7740a212217fa");
public static readonly MongoId THE_HUNTSMAN_PATH_EVIL_WATCHMAN = new MongoId("5d25e44386f77409453bce7b");
public static readonly MongoId THE_HUNTSMAN_PATH_ERASER_PART_1 = new MongoId("5d25e44f86f77443e625e385");
public static readonly MongoId THE_HUNTSMAN_PATH_ERASER_PART_2 = new MongoId("5d25e45e86f77408251c4bfa");
public static readonly MongoId AMBULANCE = new MongoId("5d25e46e86f77409453bce7c");
public static readonly MongoId COURTESY_VISIT = new MongoId("5d25e48186f77443e625e386");
public static readonly MongoId SHADY_BUSINESS = new MongoId("5d25e48d86f77408251c4bfb");
public static readonly MongoId NOSTALGIA = new MongoId("5d25e4ad86f77443e625e387");
public static readonly MongoId FISHING_PLACE = new MongoId("5d25e4b786f77408251c4bfc");
public static readonly MongoId HUNTING_TRIP = new MongoId("5d25e4ca86f77409dd5cdf2c");
public static readonly MongoId RESERVE = new MongoId("5d25e4d586f77443e625e388");
public static readonly MongoId REGULATED_MATERIALS = new MongoId("5d4bec3486f7743cac246665");
public static readonly MongoId AN_APPLE_A_DAY_KEEPS_THE_DOCTOR_AWAY = new MongoId("5d6fb2c086f77449da599c24");
public static readonly MongoId MENTOR = new MongoId("5d6fbc2886f77449d825f9d3");
public static readonly MongoId THE_STYLISH_ONE = new MongoId("5dc53acb86f77469c740c893");
public static readonly MongoId TEXTILE_PART_1_BEAR = new MongoId("5e381b0286f77420e3417a74");
public static readonly MongoId TEXTILE_PART_1_USEC = new MongoId("5e383a6386f77465910ce1f3");
public static readonly MongoId TEXTILE_PART_2_BEAR = new MongoId("5e4d4ac186f774264f758336");
public static readonly MongoId TEXTILE_PART_2_USEC = new MongoId("5e4d515e86f77438b2195244");
public static readonly MongoId THE_SURVIVALIST_PATH_JUNKIE = new MongoId("5eaaaa7c93afa0558f3b5a1c");
public static readonly MongoId ANESTHESIA = new MongoId("5eda19f0edce541157209cee");
public static readonly MongoId THE_HUNTSMAN_PATH_SADIST = new MongoId("5edab4b1218d181e29451435");
public static readonly MongoId COLLEAGUES_PART_1 = new MongoId("5edab736cc183c769d778bc2");
public static readonly MongoId COLLEAGUES_PART_2 = new MongoId("5edaba7c0c502106f869bc02");
public static readonly MongoId RIGGED_GAME = new MongoId("5edabd13218d181e29451442");
public static readonly MongoId SAMPLES = new MongoId("5edac020218d181e29451446");
public static readonly MongoId COLLEAGUES_PART_3 = new MongoId("5edac34d0bb72a50635c2bfa");
public static readonly MongoId TERRAGROUP_EMPLOYEE = new MongoId("5edac63b930f5454f51e128b");
public static readonly MongoId THE_BUNKER_PART_1 = new MongoId("5ede55112c95834b583f052a");
public static readonly MongoId THE_BUNKER_PART_2 = new MongoId("5ede567cfa6dc072ce15d6e3");
public static readonly MongoId CHEMISTRY_CLOSET = new MongoId("5f04886a3937dc337a6b8238");
public static readonly MongoId SEARCH_MISSION = new MongoId("5fd9fad9c1ce6b1a3b486d00");
public static readonly MongoId HUNTER = new MongoId("600302d73b897b11364cd161");
public static readonly MongoId REVISION_RESERVE = new MongoId("6086c852c945025d41566124");
public static readonly MongoId CLASSIFIED_TECHNOLOGIES = new MongoId("60896888e4a85c72ef3fa300");
public static readonly MongoId DOCUMENTS = new MongoId("60896b7bfa70fc097863b8f5");
public static readonly MongoId NO_PLACE_FOR_RENEGADES = new MongoId("60896bca6ee58f38c417d4f2");
public static readonly MongoId DISEASE_HISTORY = new MongoId("60896e28e4a85c72ef3fa301");
public static readonly MongoId SURPLUS_GOODS = new MongoId("6089732b59b92115597ad789");
public static readonly MongoId BACK_DOOR = new MongoId("6089736efa70fc097863b8f6");
public static readonly MongoId SAFE_CORRIDOR = new MongoId("6089743983426423753cd58a");
public static readonly MongoId INVENTORY_CHECK = new MongoId("608974af4b05530f55550c21");
public static readonly MongoId A_FUEL_MATTER = new MongoId("608974d01a66564e74191fc0");
public static readonly MongoId PEST_CONTROL = new MongoId("608a768d82e40b3c727fd17d");
public static readonly MongoId THE_HUNTSMAN_PATH_FACTORY_CHIEF = new MongoId("60c0c018f7afb4354815096a");
public static readonly MongoId ESCORT = new MongoId("60e71b62a0beca400d69efc4");
public static readonly MongoId CAPTURING_OUTPOSTS = new MongoId("60e71b9bbd90872cb85440f3");
public static readonly MongoId INTIMIDATOR = new MongoId("60e71bb4e456d449cd47ca75");
public static readonly MongoId NIGHT_SWEEP = new MongoId("60e71c11d54b755a3b53eb65");
public static readonly MongoId CRISIS = new MongoId("60e71c48c1bfa3050473b8e5");
public static readonly MongoId THE_CLEANER = new MongoId("60e71c9ad54b755a3b53eb66");
public static readonly MongoId TROPHIES = new MongoId("60e71ccb5688f6424c7bfec4");
public static readonly MongoId SPECIAL_EQUIPMENT = new MongoId("60e71ce009d7c801eb0c0ec6");
public static readonly MongoId CALIBRATION = new MongoId("60e71d23c1bfa3050473b8e6");
public static readonly MongoId THE_COURIER = new MongoId("60e71d6d7fcf9c556f325055");
public static readonly MongoId LONG_LINE = new MongoId("60e71dc0a94be721b065bbfc");
public static readonly MongoId BOOZE = new MongoId("60e71dc67fcf9c556f325056");
public static readonly MongoId THE_HUNTSMAN_PATH_RELENTLESS = new MongoId("60e71e8ed54b755a3b53eb67");
public static readonly MongoId SWIFT_ONE = new MongoId("60e729cf5698ee7b05057439");
public static readonly MongoId THE_CHOICE = new MongoId("60effd818b669d08a35bfad5");
public static readonly MongoId EASY_JOB_PART_1 = new MongoId("6179ac7511973d018217d0b9");
public static readonly MongoId EASY_JOB_PART_2 = new MongoId("6179acbdc760af5ad2053585");
public static readonly MongoId THE_HUNTSMAN_PATH_OUTCASTS = new MongoId("6179ad0a6e9dd54ac275e3f2");
public static readonly MongoId SEASIDE_VACATION = new MongoId("6179ad56c760af5ad2053587");
public static readonly MongoId LOST_CONTACT = new MongoId("6179afd0bca27a099552e040");
public static readonly MongoId OVERPOPULATION = new MongoId("6179aff8f57fb279792c60a1");
public static readonly MongoId ENERGY_CRISIS = new MongoId("6179b3a12153c15e937d52bc");
public static readonly MongoId CORPORATE_SECRETS = new MongoId("6179b3bdc7560e13d23eeb8d");
public static readonly MongoId REVISION_LIGHTHOUSE = new MongoId("6179b4d1bca27a099552e04e");
public static readonly MongoId MISSING_CARGO = new MongoId("6179b4f16e9dd54ac275e407");
public static readonly MongoId OUR_OWN_LAND = new MongoId("6179b5b06e9dd54ac275e409");
public static readonly MongoId COUNTERACTION = new MongoId("6179b5eabca27a099552e052");
public static readonly MongoId THE_HERMIT = new MongoId("61904daa7d0d857927447b9c");
public static readonly MongoId LONG_ROAD = new MongoId("6193850f60b34236ee0483de");
public static readonly MongoId CARGO_X_PART_4 = new MongoId("61958c366726521dd96828ec");
public static readonly MongoId COMPENSATION_FOR_DAMAGE_TRUST = new MongoId("61e6e5e0f5b9633f6719ed95");
public static readonly MongoId COMPENSATION_FOR_DAMAGE_WAGER = new MongoId("61e6e60223374d168a4576a6");
public static readonly MongoId COMPENSATION_FOR_DAMAGE_BARKEEP = new MongoId("61e6e615eea2935bc018a2c5");
public static readonly MongoId COMPENSATION_FOR_DAMAGE_COLLECTION = new MongoId("61e6e621bfeab00251576265");
public static readonly MongoId NETWORK_PROVIDER_PART_1 = new MongoId("625d6ff5ddc94657c21a1625");
public static readonly MongoId NETWORK_PROVIDER_PART_2 = new MongoId("625d6ffaf7308432be1d44c5");
public static readonly MongoId ASSESSMENT_PART_1 = new MongoId("625d6ffcaa168e51321d69d7");
public static readonly MongoId ASSESSMENT_PART_2 = new MongoId("625d6fff4149f1149b5b12c9");
public static readonly MongoId ASSESSMENT_PART_3 = new MongoId("625d7001c4874104f230c0c5");
public static readonly MongoId KEY_TO_THE_TOWER = new MongoId("625d70031ed3bb5bcc5bd9e5");
public static readonly MongoId KNOCK_KNOCK = new MongoId("625d7005a4eb80027c4f2e09");
public static readonly MongoId GETTING_ACQUAINTED = new MongoId("625d700cc48e6c62a440fab5");
public static readonly MongoId MAKE_AMENDS_BUYOUT = new MongoId("626148251ed3bb5bcc5bd9ed");
public static readonly MongoId MAKE_AMENDS_EQUIPMENT = new MongoId("6261482fa4eb80027c4f2e11");
public static readonly MongoId DRUG_TRAFFICKING = new MongoId("626bd75b05f287031503c7f6");
public static readonly MongoId RECONNAISSANCE = new MongoId("626bd75c71bd851e971b82a5");
public static readonly MongoId TOP_SECRET = new MongoId("626bd75d5bef5d7d590bd415");
public static readonly MongoId BROADCAST_PART_1 = new MongoId("626bd75e47ea7f506e5493c5");
public static readonly MongoId STRAY_DOGS = new MongoId("626bdcc3a371ee3a7a3514c5");
public static readonly MongoId AUDIT = new MongoId("638fcd23dc65553116701d33");
public static readonly MongoId YOUR_CAR_NEEDS_A_SERVICE = new MongoId("639135534b15ca31f76bc317");
public static readonly MongoId YOUVE_GOT_MAIL = new MongoId("6391359b9444fb141f4e6ee6");
public static readonly MongoId BALLET_LOVER = new MongoId("639135a7e705511c8a4a1b78");
public static readonly MongoId GLORY_TO_CPSU_PART_1 = new MongoId("639135b04ed9512be67647d7");
public static readonly MongoId AUDIOPHILE = new MongoId("639135bbc115f907b14700a6");
public static readonly MongoId HOUSE_ARREST_PART_1 = new MongoId("639135c3744e452011470807");
public static readonly MongoId HOUSE_ARREST_PART_2 = new MongoId("639135cd8ba6894d155e77cb");
public static readonly MongoId POPULATION_CENSUS = new MongoId("639135d89444fb141f4e6eea");
public static readonly MongoId URBAN_MEDICINE = new MongoId("639135e0fa894f0a866afde6");
public static readonly MongoId SURVEILLANCE = new MongoId("639135e8c115f907b14700aa");
public static readonly MongoId REVISION_STREETS_OF_TARKOV = new MongoId("639135f286e646067c176a87");
public static readonly MongoId GREEN_CORRIDOR = new MongoId("639136d68ba6894d155e77cf");
public static readonly MongoId THE_HUNTSMAN_PATH_ADMINISTRATOR = new MongoId("639136df4b15ca31f76bc31f");
public static readonly MongoId CEASE_FIRE = new MongoId("639136e84ed9512be67647db");
public static readonly MongoId KINGS_OF_THE_ROOFTOPS = new MongoId("639136f086e646067c176a8b");
public static readonly MongoId WATCHING_YOU = new MongoId("639136fa9444fb141f4e6eee");
public static readonly MongoId BROADCAST_PART_2 = new MongoId("63913715f8e5dd32bf4e3aaa");
public static readonly MongoId BROADCAST_PART_4 = new MongoId("6391372c8ba6894d155e77d7");
public static readonly MongoId MAKE_AMENDS = new MongoId("6391d90f4ed9512be67647df");
public static readonly MongoId ROAD_CLOSED = new MongoId("639282134ed9512be67647ed");
public static readonly MongoId INFORMATION_SOURCE = new MongoId("63966faeea19ac7ed845db2c");
public static readonly MongoId MISSING_INFORMANT = new MongoId("63966fbeea19ac7ed845db2e");
public static readonly MongoId SNATCH = new MongoId("63966fccac6f8f3c677b9d89");
public static readonly MongoId PAYBACK = new MongoId("63966fd9ea19ac7ed845db30");
public static readonly MongoId RETURN_THE_FAVOR = new MongoId("63966fe7ea74a47c2d3fc0e6");
public static readonly MongoId PROVOCATION = new MongoId("63966ff54c3ef01b6f3ffad8");
public static readonly MongoId FOLLOWING_THE_BREAD_CRUMBS = new MongoId("639670029113f06a7c3b2377");
public static readonly MongoId SPOTTER = new MongoId("6396700fea19ac7ed845db32");
public static readonly MongoId MAKE_AN_IMPRESSION = new MongoId("6396701b9113f06a7c3b2379");
public static readonly MongoId TROUBLE_IN_THE_BIG_CITY = new MongoId("63967028c4a91c5cb76abd81");
public static readonly MongoId GUNSMITH_PART_4 = new MongoId("639872f9decada40426d3447");
public static readonly MongoId GUNSMITH_PART_9 = new MongoId("639872fa9b4fb827b200d8e5");
public static readonly MongoId GUNSMITH_PART_11 = new MongoId("639872fc93ae507d5858c3a6");
public static readonly MongoId GUNSMITH_PART_14 = new MongoId("639872fe8871e1272b10ccf6");
public static readonly MongoId GUNSMITH_PART_19 = new MongoId("639873003693c63d86328f25");
public static readonly MongoId GUNSMITH_PART_21 = new MongoId("63987301e11ec11ff5504036");
public static readonly MongoId DEBTOR = new MongoId("639dbaf17c898a131e1cffff");
public static readonly MongoId BROADCAST_PART_3 = new MongoId("63a511ea30d85e10e375b045");
public static readonly MongoId TEST_DRIVE_PART_2 = new MongoId("63a5cf262964a7488f5243ce");
public static readonly MongoId THE_DELICIOUS_SAUSAGE = new MongoId("63a88045abf76d719f42d715");
public static readonly MongoId BEST_JOB_IN_THE_WORLD = new MongoId("63a9ae24009ffc6a551631a5");
public static readonly MongoId WORST_JOB_IN_THE_WORLD = new MongoId("63a9b229813bba58a50c9ee5");
public static readonly MongoId SLAUGHTERHOUSE = new MongoId("63a9b36cc31b00242d28a99f");
public static readonly MongoId DANGEROUS_ROAD = new MongoId("63ab180c87413d64ae0ac20a");
public static readonly MongoId IMPORTANT_PATIENT = new MongoId("641dbfd7f43eda9d810d7137");
public static readonly MongoId BLOODHOUNDS = new MongoId("64764abcd125ab430a14ccb5");
public static readonly MongoId HINT = new MongoId("647710905320c660d91c15a5");
public static readonly MongoId FAILED_SETUP = new MongoId("64916da7ad4e722c106f2345");
public static readonly MongoId HUSTLE = new MongoId("649567f359eab30d1b7c9585");
public static readonly MongoId TOURISTS = new MongoId("649570491bb4d158bc4d0168");
public static readonly MongoId COCKTAIL_TASTING = new MongoId("649af47d717cb30e7e4b5e26");
public static readonly MongoId THE_HUNTSMAN_PATH_BIG_GAME = new MongoId("64e7b971f9d6fa49d6769b44");
public static readonly MongoId GENDARMERIE_MALL_COP = new MongoId("64e7b99017ab941a6f7bf9d7");
public static readonly MongoId GENDARMERIE_TICKETS_PLEASE = new MongoId("64e7b9a4aac4cd0a726562cb");
public static readonly MongoId GENDARMERIE_DISTRICT_PATROL = new MongoId("64e7b9bffd30422ed03dad38");
public static readonly MongoId BROADCAST_PART_5 = new MongoId("64ee99639878a0569d6ec8c9");
public static readonly MongoId THE_DOOR = new MongoId("64ee9df4496db64f9b7a4432");
public static readonly MongoId OVERSEAS_TRUST_PART_1 = new MongoId("64f1cc571a5f313cb144bf90");
public static readonly MongoId OVERSEAS_TRUST_PART_2 = new MongoId("64f1d6e732bed22c3e0c7423");
public static readonly MongoId AMBULANCES_AGAIN = new MongoId("64f3176921045e77405d63b5");
public static readonly MongoId GLORY_TO_CPSU_PART_2 = new MongoId("64f5aac4b63b74469b6c14c2");
public static readonly MongoId TEST_DRIVE_PART_3 = new MongoId("64f5deac39e45b527a7c4232");
public static readonly MongoId BEYOND_THE_RED_MEAT_PART_1 = new MongoId("64f5e20652fc01298e2c61e3");
public static readonly MongoId BEYOND_THE_RED_MEAT_PART_2 = new MongoId("64f6aafd67e11a7c6206e0d0");
public static readonly MongoId PETS_WONT_NEED_IT_PART_1 = new MongoId("64f731ab83cfca080a361e42");
public static readonly MongoId GUNSMITH_PART_23 = new MongoId("64f83bb69878a0569d6ecfbe");
public static readonly MongoId GUNSMITH_PART_24 = new MongoId("64f83bcdde58fc437700d8fa");
public static readonly MongoId GUNSMITH_PART_25 = new MongoId("64f83bd983cfca080a362c82");
public static readonly MongoId THE_PUNISHER_HARVEST = new MongoId("655e427b64d09b4122018228");
public static readonly MongoId PYRAMID_SCHEME = new MongoId("6572e876dc0d635f633a5714");
public static readonly MongoId FIRST_IN_LINE = new MongoId("657315ddab5a49b71f098853");
public static readonly MongoId SHOOTING_CANS = new MongoId("657315df034d76585f032e01");
public static readonly MongoId LUXURIOUS_LIFE = new MongoId("657315e1dccd301f1301416a");
public static readonly MongoId BURNING_RUBBER = new MongoId("657315e270bb0b8dba00cc48");
public static readonly MongoId SAVING_THE_MOLE = new MongoId("657315e4a6af4ab4b50f3459");
public static readonly MongoId DEVELOPERS_SECRETS_PART_1 = new MongoId("65733403eefc2c312a759ddb");
public static readonly MongoId DEVELOPERS_SECRETS_PART_2 = new MongoId("6573382e557ff128bf3da536");
public static readonly MongoId PETS_WONT_NEED_IT_PART_2 = new MongoId("6573387d0b26ed4fde798de3");
public static readonly MongoId PROPERTIES_ALL_AROUND = new MongoId("6573397ef3f8344c4575cd87");
public static readonly MongoId DANDIES = new MongoId("65734c186dc1e402c80dc19e");
public static readonly MongoId TEST_DRIVE_PART_4 = new MongoId("6574e0dedc0d635f633a5805");
public static readonly MongoId THE_HUNTSMAN_PATH_CROOKED_COP = new MongoId("6578eb36e5020875d64645cd");
public static readonly MongoId STEADY_SIGNAL = new MongoId("6578ec473dbd035d04531a8d");
public static readonly MongoId NO_SWIPING = new MongoId("658027799634223183395339");
public static readonly MongoId NOTHING_FISHY_ABOUT_THIS = new MongoId("65802b627b44fa5e14638899");
public static readonly MongoId THE_TARKOV_MYSTERY = new MongoId("6603fe74e773dcf3b0099f88");
public static readonly MongoId EASY_MONEY_PART_1 = new MongoId("66058cb22cee99303f1ba067");
public static readonly MongoId EASY_MONEY_PART_2 = new MongoId("66058cb5ae4719735349b9e8");
public static readonly MongoId BALANCING_PART_1 = new MongoId("66058cb7c7f3584787181476");
public static readonly MongoId BALANCING_PART_2 = new MongoId("66058cb9e8e4f17985230805");
public static readonly MongoId SURPRISE = new MongoId("66058cbb06ef1d50a60c1f46");
public static readonly MongoId CREATE_A_DISTRACTION_PART_1 = new MongoId("66058cbd9f59e625462acc8e");
public static readonly MongoId CREATE_A_DISTRACTION_PART_2 = new MongoId("66058cbf2f19c31a5a1337ec");
public static readonly MongoId TO_GREAT_HEIGHTS_PART_1 = new MongoId("66058cc1da30b620a34e6e86");
public static readonly MongoId TO_GREAT_HEIGHTS_PART_2 = new MongoId("66058cc208308761cf390993");
public static readonly MongoId TO_GREAT_HEIGHTS_PART_3 = new MongoId("66058cc5bb83da7ba474aba9");
public static readonly MongoId TO_GREAT_HEIGHTS_PART_4 = new MongoId("66058cc72cee99303f1ba069");
public static readonly MongoId TO_GREAT_HEIGHTS_PART_5 = new MongoId("66058cc9ae4719735349b9ea");
public static readonly MongoId AGAINST_THE_CONSCIENCE_PART_1 = new MongoId("66058ccbc7f3584787181478");
public static readonly MongoId AGAINST_THE_CONSCIENCE_PART_2 = new MongoId("66058ccde8e4f17985230807");
public static readonly MongoId BETWEEN_TWO_FIRES = new MongoId("66058ccf06ef1d50a60c1f48");
public static readonly MongoId DECISIONS_DECISIONS = new MongoId("66058cd19f59e625462acc90");
public static readonly MongoId DRIP_OUT_PART_1_BEAR = new MongoId("6613f3007f6666d56807c929");
public static readonly MongoId DRIP_OUT_PART_2_BEAR = new MongoId("6613f307fca4f2f386029409");
public static readonly MongoId DRIP_OUT_PART_1_USEC = new MongoId("66151401efb0539ae10875ae");
public static readonly MongoId DRIP_OUT_PART_2_USEC = new MongoId("6615141bfda04449120269a7");
public static readonly MongoId HUSTLE_2 = new MongoId("6658a15615cbb1b2c6014d5b");
public static readonly MongoId THIRSTY_HOUNDS = new MongoId("665eeacf5d86b6c8aa03c79b");
public static readonly MongoId THIRSTY_BREADWINNER = new MongoId("665eec1f5e47a79f8605565a");
public static readonly MongoId THIRSTY_DELIVERY = new MongoId("665eec4a4dfc83b0ed0a9dca");
public static readonly MongoId THIRSTY_ECHO = new MongoId("665eeca45d86b6c8aa03c79d");
public static readonly MongoId THIRSTY_SECRETS = new MongoId("665eeca92f7aedcc900b0437");
public static readonly MongoId FRIEND_AMONG_STRANGERS = new MongoId("66631489acf8442f8b05319f");
public static readonly MongoId IMMUNITY = new MongoId("6663148ca9290f9e0806cca1");
public static readonly MongoId SMALL_BUSINESS_PART_1 = new MongoId("6663148ed7f171c4c20226c1");
public static readonly MongoId SMALL_BUSINESS_PART_2 = new MongoId("6663149196a9349baa021baa");
public static readonly MongoId SMALL_BUSINESS_PART_3 = new MongoId("66631493312343839d032d22");
public static readonly MongoId THE_INVISIBLE_HAND = new MongoId("6663149cfd5ca9577902e037");
public static readonly MongoId CIRCULATE = new MongoId("6663149f1d3ec95634095e75");
public static readonly MongoId SPECIAL_OFFER = new MongoId("666314a1920800278d0f6746");
public static readonly MongoId COMBAT_PROVEN = new MongoId("666314a31cd52e3d040a2e76");
public static readonly MongoId OLD_PATTERNS = new MongoId("666314a50aa5c7436c00908a");
public static readonly MongoId HELL_ON_EARTH_PART_1 = new MongoId("666314b0acf8442f8b0531a1");
public static readonly MongoId HELL_ON_EARTH_PART_2 = new MongoId("666314b2a9290f9e0806cca3");
public static readonly MongoId THE_GOOD_TIMES_PART_1 = new MongoId("666314b4d7f171c4c20226c3");
public static readonly MongoId QUALITY_STANDARD = new MongoId("666314b696a9349baa021bac");
public static readonly MongoId AIRMAIL = new MongoId("666314b8312343839d032d24");
public static readonly MongoId THE_GOOD_TIMES_PART_2 = new MongoId("666314bafd5ca9577902e03a");
public static readonly MongoId MINUTE_OF_FAME = new MongoId("666314bc1d3ec95634095e77");
public static readonly MongoId VIEWER = new MongoId("666314bd920800278d0f6748");
public static readonly MongoId SERIOUS_ALLEGATIONS = new MongoId("666314bf1cd52e3d040a2e78");
public static readonly MongoId CAMERA_ACTION = new MongoId("666314c10aa5c7436c00908c");
public static readonly MongoId PROPER_COMEBACK = new MongoId("666314c3acf8442f8b0531a3");
public static readonly MongoId KEY_TO_THE_CITY = new MongoId("666314c5a9290f9e0806cca5");
public static readonly MongoId ESTABLISH_CONTACT = new MongoId("6672d9def1c88688a707d042");
public static readonly MongoId A_KEY_TO_SALVATION = new MongoId("6672ec2a2b6f3b71be794cc5");
public static readonly MongoId IMPORT_ONTROL = new MongoId("668bcccc167d507eb01a268b");
public static readonly MongoId WHATS_YOUR_EVIDENCE = new MongoId("668bccf963acb16d63707043");
public static readonly MongoId CAUGHT_RED_HANDED = new MongoId("668bcd1b194be70f18427a00");
public static readonly MongoId ONE_LESS_LOOSE_END = new MongoId("669fa38fad7f1eac2607ed46");
public static readonly MongoId A_HEALTHY_ALTERNATIVE = new MongoId("669fa3910c828825de06d69f");
public static readonly MongoId FORKLIFT_CERTIFIED = new MongoId("669fa394e0c9f9fafa082897");
public static readonly MongoId EXIT_HERE = new MongoId("669fa395c4c5c04798002497");
public static readonly MongoId CLAUSTROPHOBIA = new MongoId("669fa3979b0ce3feae01a130");
public static readonly MongoId POSSESSOR = new MongoId("669fa399033a3ce9870338a8");
public static readonly MongoId BLACK_SWAN = new MongoId("669fa39b91b0a8c9680fc467");
public static readonly MongoId THE_WALLS_HAVE_EYES = new MongoId("669fa39c64ea11e84c0642a6");
public static readonly MongoId ALL_IS_REVEALED = new MongoId("669fa39ee749756c920d02c8");
public static readonly MongoId DRAGNET = new MongoId("669fa3a08b4a64b332041ff7");
public static readonly MongoId CAPACITY_CHECK = new MongoId("669fa3a1c26f13bd04030f37");
public static readonly MongoId HEALTH_CARE_PRIVACY_PART_6 = new MongoId("669fa3a3ad7f1eac2607ed48");
public static readonly MongoId TEST_DRIVE_PART_5 = new MongoId("669fa3a40c828825de06d6a1");
public static readonly MongoId GUNSMITH_SPECIAL_ORDER = new MongoId("66a74c628410476dd65543be");
public static readonly MongoId GUN_CONNOISSEUR = new MongoId("66a75b44243a6548ff5e5ff9");
public static readonly MongoId CUSTOMER_COMMUNICATION = new MongoId("66a77394243a6548ff5e601d");
public static readonly MongoId SUPPLY_AND_DEMAND = new MongoId("66a78dada472ad7f845b71f7");
public static readonly MongoId NEW_DAY_NEW_PATHS = new MongoId("66aa58245ab22944110db6e9");
public static readonly MongoId KNOW_YOUR_PLACE = new MongoId("66aa61663aa37705c5024277");
public static readonly MongoId SECRETS_OF_POLIKHIM = new MongoId("66aa74571e5e199ecd094f18");
public static readonly MongoId SPECIAL_COMMS = new MongoId("66ab970848ddbe9d4a0c49a8");
public static readonly MongoId FORESTERS_DUTY = new MongoId("66ab9da7eb102b9bcd08591c");
public static readonly MongoId BENEATH_THE_STREETS = new MongoId("66aba85403e0ee3101042877");
public static readonly MongoId ROUGH_TARKOV = new MongoId("66b38c7bf85b8bf7250f9cb6");
public static readonly MongoId EVERY_HUNTER_KNOWS_THIS = new MongoId("66b38e144f2ab7cc530c3fe7");
public static readonly MongoId IS_THIS_A_REFERENCE = new MongoId("66d9cbb67b491f9d5304f6e6");
public static readonly MongoId INTO_THE_INFERNO = new MongoId("66e01aca214f88109006a4b5");
public static readonly MongoId IN_AND_OUT = new MongoId("66e01ad15a8890455a0d9eea");
public static readonly MongoId OURS_BY_RIGHT = new MongoId("66e01ad6835f78499f049180");
public static readonly MongoId PROVIDE_COVER = new MongoId("66e01adbd3d014f3ae061c12");
public static readonly MongoId CREAM_OF_THE_CROP = new MongoId("66e01ae0c391e4c94903d220");
public static readonly MongoId BEFORE_THE_RAIN = new MongoId("66e01c4c475acf7e0102d296");
public static readonly MongoId NIGHT_OF_THE_CULT = new MongoId("66e3e2ee2136472d220bcb36");
public static readonly MongoId THE_GRAVEN_IMAGE = new MongoId("66e3e2fcb26de0e0790d3fe6");
public static readonly MongoId DONT_BELIEVE_YOUR_EYES = new MongoId("670404a2ea1caa8f2e0be106");
public static readonly MongoId DIRTY_BLOOD = new MongoId("67040b3d10b18d153a08f636");
public static readonly MongoId BURN_IT_DOWN = new MongoId("67040b6c45eaf70db10dbec6");
public static readonly MongoId THE_ROOT_CAUSE = new MongoId("67040ba4578a46e44a05c0a8");
public static readonly MongoId MATTER_OF_TECHNIQUE = new MongoId("67040c22cc1f3752720376e9");
public static readonly MongoId FIND_THE_SOURCE = new MongoId("67040c43ce929d6ee506c7c7");
public static readonly MongoId GLOVES_OFF = new MongoId("67040c5b4ac6d9c18c0ade26");
public static readonly MongoId SAMPLE_IV_A_NEW_HOPE = new MongoId("67040c78bf4be8a4ef041a65");
public static readonly MongoId DARKEST_HOUR_IS_JUST_BEFORE_DAWN = new MongoId("67040c92bf4be8a4ef041a6c");
public static readonly MongoId RADICAL_TREATMENT = new MongoId("67040cae4ac6d9c18c0ade2c");
public static readonly MongoId FORGOTTEN_OATHS = new MongoId("67040ccdcc1f3752720376ef");
public static readonly MongoId GLOBAL_THREAT = new MongoId("67190f6c1b3f4964d90d71e9");
public static readonly MongoId WATCH_THE_WATCHER = new MongoId("67190f9c7b0991dc22064766");
public static readonly MongoId NOT_A_STEP_BACK = new MongoId("67190febcce4a5fdf605d4f8");
public static readonly MongoId PRESSURED_BY_CIRCUMSTANCES = new MongoId("67191048eddf081d340d4c6e");
public static readonly MongoId CONSERVATION_AREA = new MongoId("671910d5dbd4354ac10e9784");
public static readonly MongoId IRRESISTIBLE = new MongoId("671a49f77d49aea42c029b5f");
public static readonly MongoId DANGEROUS_PROPS = new MongoId("671a59e43d73dac1360765cc");
public static readonly MongoId CONTAGIOUS_BEAST = new MongoId("6727ef2c6015b7cc540ea754");
public static readonly MongoId SHIPPING_DELAY_PART_2 = new MongoId("673f2cd5d3346c2167020484");
public static readonly MongoId SHIPPING_DELAY_PART_1 = new MongoId("673f348dd3346c21670217e7");
public static readonly MongoId HOT_WHEELS = new MongoId("673f4e956f1b89c7bc0f56ef");
public static readonly MongoId HOT_WHEELS_LETS_TRY_AGAIN = new MongoId("673f5a4976553f78350bdac1");
public static readonly MongoId INEVITABLE_RESPONSE = new MongoId("673f6027352b4da8e00322d2");
public static readonly MongoId ORDER_FROM_OUTSIDE = new MongoId("673f61a066e6a521aa04b62b");
public static readonly MongoId BUILDING_FOUNDATIONS = new MongoId("673f629c5b555b53460cf827");
public static readonly MongoId NATURAL_EXCHANGE = new MongoId("6740a02a69a58fceba0ff399");
public static readonly MongoId FORGE_A_FRIENDSHIP = new MongoId("6740a15566e6a521aa051b15");
public static readonly MongoId HALF_EMPTY = new MongoId("6740a2c17e3818d5bb0648b6");
public static readonly MongoId STICK_IN_THE_WHEEL = new MongoId("6740a3f4eca8acb2d2055159");
public static readonly MongoId ANOTHER_SHIPPING_DELAY = new MongoId("6740b60c60a98cad1b0e0aa0");
public static readonly MongoId ASK_FOR_DIRECTIONS = new MongoId("674492b6909d2013670a347a");
public static readonly MongoId STABILIZE_BUSINESS = new MongoId("6744a4717e3818d5bb0680bb");
public static readonly MongoId BATTERY_CHANGE = new MongoId("6744a728352b4da8e003eda9");
public static readonly MongoId BATTERY_CHANGE_2 = new MongoId("6744a9dfef61d56e020b5c4a");
public static readonly MongoId PROTECT_THE_SKY = new MongoId("6744ab1def61d56e020b5c56");
public static readonly MongoId DISCOMBOBULATE = new MongoId("6744aca8d3346c216702c583");
public static readonly MongoId THE_PRICE_OF_INDEPENDENCE = new MongoId("6744af0969a58fceba101fed");
public static readonly MongoId THE_PRICE_OF_INDEPENDENCE_2 = new MongoId("6745cbee909d2013670a4a55");
public static readonly MongoId THE_HIGHER_THEY_FLY = new MongoId("6745fae369a58fceba10343d");
public static readonly MongoId SWIFT_RETRIBUTION = new MongoId("6745fcded0fbbc74ca0f721d");
public static readonly MongoId SIMPLE_SIDE_JOB = new MongoId("6745fdddd3346c216702e0bf");
public static readonly MongoId ROUTE_DEVIATION = new MongoId("674600a366e6a521aa05eb66");
public static readonly MongoId HINDSIGHT_2020 = new MongoId("674602307e3818d5bb069489");
public static readonly MongoId KEY_PARTNER = new MongoId("6746053b5b555b53460d9896");
public static readonly MongoId KILLER_ARGUMENT = new MongoId("674605df60a98cad1b0ec799");
public static readonly MongoId CHOOSE_YOUR_FRIENDS_WISELY = new MongoId("67460662d0fbbc74ca0f7229");
public static readonly MongoId CHRISTMAS_DINNER = new MongoId("675031be899713ccad00060c");
public static readonly MongoId CHILLY = new MongoId("675031d3884e1da4a90b3bc9");
public static readonly MongoId HIDE_IN_PLAIN_SIGHT = new MongoId("675031e1f300496cc4104450");
public static readonly MongoId CHEER_UP = new MongoId("675031f57775aada6b0f96a1");
public static readonly MongoId HOLIDAY_BEYOND_THE_MEANS = new MongoId("6750320e23fc8fd9cc087d14");
public static readonly MongoId ILLEGAL_LOGGING = new MongoId("67503219527c9a38e80496ae");
public static readonly MongoId KHOROVOD = new MongoId("67503247622398376d0b57cd");
public static readonly MongoId ENOUGH_DRINKS_FOR_THAT_ONE = new MongoId("67503260899713ccad00060e");
public static readonly MongoId A_HELPING_HAND = new MongoId("6752f6d83038f7df520c83e8");
public static readonly MongoId ABANDONED_CARGO = new MongoId("675c03d1f7da9792a405549a");
public static readonly MongoId SHIPMENT_TRACKING = new MongoId("675c047fa46173572a0bd878");
public static readonly MongoId CLOSER_TO_THE_PEOPLE = new MongoId("675c04f4db8807b75d0f38e8");
public static readonly MongoId BREAK_THE_DEAL = new MongoId("675c085d59b0575973005f52");
public static readonly MongoId PASSION_FOR_ERGONOMICS = new MongoId("675c1570526ff496850895d9");
public static readonly MongoId PROVIDE_VIEWERSHIP = new MongoId("675c15fbf7da9792a4059871");
public static readonly MongoId WORK_SMARTER = new MongoId("675c1cf4a757ddd00404f0a3");
public static readonly MongoId SEIZING_THE_INITIATIVE = new MongoId("675c1d6d59b0575973008fc7");
public static readonly MongoId RITE_OF_PASSAGE = new MongoId("675c1ec7a46173572a0bf20a");
public static readonly MongoId TEST_DRIVE_PART_6 = new MongoId("675c1ff1a757ddd00404f0aa");
public static readonly MongoId BELKA_AND_STRELKA = new MongoId("675c3507a06634b5110e3c18");
public static readonly MongoId PRIVATE_CLUB = new MongoId("675c3582f6ddc329a90f9c6d");
public static readonly MongoId CONNECTIONS_UP_NORTH = new MongoId("6764174c86addd02bc033d68");
public static readonly MongoId GUNSMITH_OLD_FRIENDS_REQUEST = new MongoId("676529af9c90953d090882e7");
public static readonly MongoId THE_PRICE_OF_CELEBRATION = new MongoId("676c243577f0257dd50239e6");
public static readonly MongoId THIS_IS_MY_PARTY = new MongoId("676c243fb16f4b14b905e7f4");
public static readonly MongoId SHADY_CONTRACTOR = new MongoId("67a09636b8725511260bc421");
public static readonly MongoId NEEDLE_IN_A_HAYSTACK = new MongoId("67a0964e972c11a3f507731b");
public static readonly MongoId HIDDEN_LAYER = new MongoId("67a096577e86e067eb045733");
public static readonly MongoId FORCED_ALLIANCE = new MongoId("67a0966817e34930e500754c");
public static readonly MongoId THE_TARKOV_BUTCHER = new MongoId("67a09673972c11a3f507731d");
public static readonly MongoId SENSORY_ANALYSIS_PART_1 = new MongoId("67a0967c003a9986cb0f5ac1");
public static readonly MongoId SENSORY_ANALYSIS_PART_2 = new MongoId("67a096ed77dd677f600804ba");
public static readonly MongoId HOT_ZONE = new MongoId("67a096f605d1611ed90be75a");
public static readonly MongoId OFFENSIVE_RECONNAISSANCE = new MongoId("67a0970744893b9f3f0d9b68");
public static readonly MongoId HYPOTHESES_TESTING = new MongoId("67a0970f05d1611ed90be75d");
public static readonly MongoId CONFIDENTIAL_INFO = new MongoId("67a09724972c11a3f5077324");
public static readonly MongoId THIS_TAPE_SUCKS = new MongoId("67a0972e77dd677f600804bd");
public static readonly MongoId INDISPUTABLE_AUTHORITY = new MongoId("67a097379f2068e74603c6ac");
public static readonly MongoId KEEPERS_WORD = new MongoId("67a09761e720611a6a01f288");
public static readonly MongoId PROFITABLE_VENTURE = new MongoId("67af4c1405c58dc6f7056667");
public static readonly MongoId SAFETY_GUARANTEE = new MongoId("67af4c169d95ad16e004fd86");
public static readonly MongoId NEVER_TOO_LATE_TO_LEARN = new MongoId("67af4c17f4f1fb58a907f8f6");
public static readonly MongoId GET_A_FOOTHOLD = new MongoId("67af4c1991ee75c6d7060a16");
public static readonly MongoId PROFIT_RETENTION = new MongoId("67af4c1a6c3ebfd8e6034916");
public static readonly MongoId A_LIFE_LESSON = new MongoId("67af4c1cc0e59d55e2010b97");
public static readonly MongoId CONSOLATION_PRIZE = new MongoId("67af4c1d8c9482eca103e477");
public static readonly MongoId THE_ART_OF_EXPLOSION = new MongoId("67b45467814ab0ffa000c7e7");
public static readonly MongoId VACATE_THE_PREMISES = new MongoId("67d03be712fb5f8fd2096332");
public static readonly MongoId SURPRISE_GIFT = new MongoId("67e993b1ac26bf29380a320b");
public static readonly MongoId FIGHT_BACK = new MongoId("67f3ea581cd4c15d3d040305");
public static readonly MongoId SECRET_BENEFACTOR = new MongoId("67f3ea78c54fde6cc2004855");
public static readonly MongoId AN_ALTERNATIVE = new MongoId("67f3ea873daf3aaf3e0e7ff5");
public static readonly MongoId PREEMPTIVE_STRIKE = new MongoId("67f3eaa3a7799274d50a8b66");
public static readonly MongoId STAFF_SHORTAGE = new MongoId("67f3eab9a33cd296b20ee695");
public static readonly MongoId FEARLESS_BEAST = new MongoId("67f3eacef649e7bceb0bb455");
public static readonly MongoId HOBBY_CLUB = new MongoId("684009026ceedc792c09b2a7");
public static readonly MongoId FAIR_PRICE_PART_1 = new MongoId("68400926706e0a55e90b0007");
public static readonly MongoId FAIR_PRICE_PART_2 = new MongoId("68400953506db3b4db0700e7");
}
@@ -1,266 +1,104 @@
using SPTarkov.Server.Core.Models.Common;
// This is an auto generated file, do not modify. Re-generate by running ItemTplGenerator.exe
// This is an auto generated file, do not modify. Re-generate by running MongoIdTplGenerator.exe
public static class Weapons
{
public static readonly MongoId ASSAULTCARBINE_762X39_OP_SKS = new MongoId(
"587e02ff24597743df3deaeb"
);
public static readonly MongoId ASSAULTCARBINE_762X39_SKS = new MongoId(
"574d967124597745970e7c94"
);
public static readonly MongoId ASSAULTCARBINE_762X51_VPO_101_VEPR_HUNTER = new MongoId(
"5c501a4d2e221602b412b540"
);
public static readonly MongoId ASSAULTCARBINE_762X54R_AVT_40 = new MongoId(
"6410733d5dd49d77bd07847e"
);
public static readonly MongoId ASSAULTCARBINE_762X54R_SVT_40 = new MongoId(
"643ea5b23db6f9f57107d9fd"
);
public static readonly MongoId ASSAULTCARBINE_9X39_9A_91 = new MongoId(
"644674a13d52156624001fbc"
);
public static readonly MongoId ASSAULTCARBINE_9X39_AS_VAL = new MongoId(
"57c44b372459772d2b39b8ce"
);
public static readonly MongoId ASSAULTCARBINE_9X39_SR_3M = new MongoId(
"651450ce0e00edc794068371"
);
public static readonly MongoId ASSAULTCARBINE_9X39_VSK_94 = new MongoId(
"645e0c6b3b381ede770e1cc9"
);
public static readonly MongoId ASSAULTRIFLE_127X55_ASH_12 = new MongoId(
"5cadfbf7ae92152ac412eeef"
);
public static readonly MongoId ASSAULTRIFLE_366TKM_VPO_209 = new MongoId(
"59e6687d86f77411d949b251"
);
public static readonly MongoId ASSAULTRIFLE_545X39_AK_105 = new MongoId(
"5ac66d9b5acfc4001633997a"
);
public static readonly MongoId ASSAULTRIFLE_545X39_AK_12 = new MongoId(
"6499849fc93611967b034949"
);
public static readonly MongoId ASSAULTRIFLE_545X39_AK_545 = new MongoId(
"628b5638ad252a16da6dd245"
);
public static readonly MongoId ASSAULTRIFLE_545X39_AK_545_SHORT = new MongoId(
"628b9c37a733087d0d7fe84b"
);
public static readonly MongoId ASSAULTRIFLE_545X39_AK_74 = new MongoId(
"5bf3e03b0db834001d2c4a9c"
);
public static readonly MongoId ASSAULTRIFLE_545X39_AK_74M = new MongoId(
"5ac4cd105acfc40016339859"
);
public static readonly MongoId ASSAULTRIFLE_545X39_AK_74N = new MongoId(
"5644bd2b4bdc2d3b4c8b4572"
);
public static readonly MongoId ASSAULTRIFLE_545X39_AKS_74 = new MongoId(
"5bf3e0490db83400196199af"
);
public static readonly MongoId ASSAULTRIFLE_545X39_AKS_74N = new MongoId(
"5ab8e9fcd8ce870019439434"
);
public static readonly MongoId ASSAULTRIFLE_545X39_AKS_74U = new MongoId(
"57dc2fa62459775949412633"
);
public static readonly MongoId ASSAULTRIFLE_545X39_AKS_74UB = new MongoId(
"5839a40f24597726f856b511"
);
public static readonly MongoId ASSAULTRIFLE_545X39_AKS_74UN = new MongoId(
"583990e32459771419544dd2"
);
public static readonly MongoId ASSAULTRIFLE_556X45_ADAR_2_15 = new MongoId(
"5c07c60e0db834002330051f"
);
public static readonly MongoId ASSAULTRIFLE_556X45_AK_101 = new MongoId(
"5ac66cb05acfc40198510a10"
);
public static readonly MongoId ASSAULTRIFLE_556X45_AK_102 = new MongoId(
"5ac66d015acfc400180ae6e4"
);
public static readonly MongoId ASSAULTRIFLE_556X45_AUG_A1 = new MongoId(
"62e7c4fba689e8c9c50dfc38"
);
public static readonly MongoId ASSAULTRIFLE_556X45_AUG_A3 = new MongoId(
"63171672192e68c5460cebc5"
);
public static readonly MongoId ASSAULTRIFLE_556X45_AUG_A3_BLACK = new MongoId(
"6718817435e3cfd9550d2c27"
);
public static readonly MongoId ASSAULTRIFLE_556X45_G36 = new MongoId(
"623063e994fc3f7b302a9696"
);
public static readonly MongoId ASSAULTRIFLE_556X45_HK_416A5 = new MongoId(
"5bb2475ed4351e00853264e3"
);
public static readonly MongoId ASSAULTRIFLE_556X45_M4A1 = new MongoId(
"5447a9cd4bdc2dbd208b4567"
);
public static readonly MongoId ASSAULTRIFLE_556X45_MDR = new MongoId(
"5c488a752e221602b412af63"
);
public static readonly MongoId ASSAULTRIFLE_556X45_MK_16 = new MongoId(
"6184055050224f204c1da540"
);
public static readonly MongoId ASSAULTRIFLE_556X45_MK_16_FDE = new MongoId(
"618428466ef05c2ce828f218"
);
public static readonly MongoId ASSAULTRIFLE_556X45_TX_15_DML = new MongoId(
"5d43021ca4b9362eab4b5e25"
);
public static readonly MongoId ASSAULTRIFLE_68X51_SPEAR_68 = new MongoId(
"65290f395ae2ae97b80fdf2d"
);
public static readonly MongoId ASSAULTRIFLE_762X35_MCX_300_BLK = new MongoId(
"5fbcc1d9016cce60e8341ab3"
);
public static readonly MongoId ASSAULTRIFLE_762X35_VELOCIRAPTOR_300_BLK = new MongoId(
"674d6121c09f69dfb201a888"
);
public static readonly MongoId ASSAULTRIFLE_762X39_AK_103 = new MongoId(
"5ac66d2e5acfc43b321d4b53"
);
public static readonly MongoId ASSAULTRIFLE_762X39_AK_104 = new MongoId(
"5ac66d725acfc43b321d4b60"
);
public static readonly MongoId ASSAULTRIFLE_762X39_AKM = new MongoId(
"59d6088586f774275f37482f"
);
public static readonly MongoId ASSAULTRIFLE_762X39_AKMN = new MongoId(
"5a0ec13bfcdbcb00165aa685"
);
public static readonly MongoId ASSAULTRIFLE_762X39_AKMS = new MongoId(
"59ff346386f77477562ff5e2"
);
public static readonly MongoId ASSAULTRIFLE_762X39_AKMSN = new MongoId(
"5abcbc27d8ce8700182eceeb"
);
public static readonly MongoId ASSAULTRIFLE_762X39_MK47 = new MongoId(
"606587252535c57a13424cfd"
);
public static readonly MongoId ASSAULTRIFLE_762X39_RD_704 = new MongoId(
"628a60ae6b1d481ff772e9c8"
);
public static readonly MongoId ASSAULTRIFLE_762X39_VPO_136_VEPR_KM = new MongoId(
"59e6152586f77473dc057aa1"
);
public static readonly MongoId ASSAULTRIFLE_762X51_MDR = new MongoId(
"5dcbd56fdbd3d91b3e5468d5"
);
public static readonly MongoId ASSAULTRIFLE_762X51_MK_17 = new MongoId(
"6183afd850224f204c1da514"
);
public static readonly MongoId ASSAULTRIFLE_762X51_MK_17_FDE = new MongoId(
"6165ac306ef05c2ce828ef74"
);
public static readonly MongoId ASSAULTRIFLE_762X51_SA58 = new MongoId(
"5b0bbe4e5acfc40dc528a72d"
);
public static readonly MongoId ASSAULTRIFLE_762X51_X_17 = new MongoId(
"676176d362e0497044079f4c"
);
public static readonly MongoId ASSAULTRIFLE_9X18PM_MASTER_HAND = new MongoId(
"5ae083b25acfc4001a5fc702"
);
public static readonly MongoId ASSAULTCARBINE_762X39_OP_SKS = new MongoId("587e02ff24597743df3deaeb");
public static readonly MongoId ASSAULTCARBINE_762X39_SKS = new MongoId("574d967124597745970e7c94");
public static readonly MongoId ASSAULTCARBINE_762X51_VPO_101_VEPR_HUNTER = new MongoId("5c501a4d2e221602b412b540");
public static readonly MongoId ASSAULTCARBINE_762X54R_AVT_40 = new MongoId("6410733d5dd49d77bd07847e");
public static readonly MongoId ASSAULTCARBINE_762X54R_SVT_40 = new MongoId("643ea5b23db6f9f57107d9fd");
public static readonly MongoId ASSAULTCARBINE_9X39_9A_91 = new MongoId("644674a13d52156624001fbc");
public static readonly MongoId ASSAULTCARBINE_9X39_AS_VAL = new MongoId("57c44b372459772d2b39b8ce");
public static readonly MongoId ASSAULTCARBINE_9X39_SR_3M = new MongoId("651450ce0e00edc794068371");
public static readonly MongoId ASSAULTCARBINE_9X39_VSK_94 = new MongoId("645e0c6b3b381ede770e1cc9");
public static readonly MongoId ASSAULTRIFLE_127X55_ASH_12 = new MongoId("5cadfbf7ae92152ac412eeef");
public static readonly MongoId ASSAULTRIFLE_366TKM_VPO_209 = new MongoId("59e6687d86f77411d949b251");
public static readonly MongoId ASSAULTRIFLE_545X39_AK_105 = new MongoId("5ac66d9b5acfc4001633997a");
public static readonly MongoId ASSAULTRIFLE_545X39_AK_12 = new MongoId("6499849fc93611967b034949");
public static readonly MongoId ASSAULTRIFLE_545X39_AK_545 = new MongoId("628b5638ad252a16da6dd245");
public static readonly MongoId ASSAULTRIFLE_545X39_AK_545_SHORT = new MongoId("628b9c37a733087d0d7fe84b");
public static readonly MongoId ASSAULTRIFLE_545X39_AK_74 = new MongoId("5bf3e03b0db834001d2c4a9c");
public static readonly MongoId ASSAULTRIFLE_545X39_AK_74M = new MongoId("5ac4cd105acfc40016339859");
public static readonly MongoId ASSAULTRIFLE_545X39_AK_74N = new MongoId("5644bd2b4bdc2d3b4c8b4572");
public static readonly MongoId ASSAULTRIFLE_545X39_AKS_74 = new MongoId("5bf3e0490db83400196199af");
public static readonly MongoId ASSAULTRIFLE_545X39_AKS_74N = new MongoId("5ab8e9fcd8ce870019439434");
public static readonly MongoId ASSAULTRIFLE_545X39_AKS_74U = new MongoId("57dc2fa62459775949412633");
public static readonly MongoId ASSAULTRIFLE_545X39_AKS_74UB = new MongoId("5839a40f24597726f856b511");
public static readonly MongoId ASSAULTRIFLE_545X39_AKS_74UN = new MongoId("583990e32459771419544dd2");
public static readonly MongoId ASSAULTRIFLE_556X45_ADAR_2_15 = new MongoId("5c07c60e0db834002330051f");
public static readonly MongoId ASSAULTRIFLE_556X45_AK_101 = new MongoId("5ac66cb05acfc40198510a10");
public static readonly MongoId ASSAULTRIFLE_556X45_AK_102 = new MongoId("5ac66d015acfc400180ae6e4");
public static readonly MongoId ASSAULTRIFLE_556X45_AUG_A1 = new MongoId("62e7c4fba689e8c9c50dfc38");
public static readonly MongoId ASSAULTRIFLE_556X45_AUG_A3 = new MongoId("63171672192e68c5460cebc5");
public static readonly MongoId ASSAULTRIFLE_556X45_AUG_A3_BLACK = new MongoId("6718817435e3cfd9550d2c27");
public static readonly MongoId ASSAULTRIFLE_556X45_G36 = new MongoId("623063e994fc3f7b302a9696");
public static readonly MongoId ASSAULTRIFLE_556X45_HK_416A5 = new MongoId("5bb2475ed4351e00853264e3");
public static readonly MongoId ASSAULTRIFLE_556X45_M4A1 = new MongoId("5447a9cd4bdc2dbd208b4567");
public static readonly MongoId ASSAULTRIFLE_556X45_MDR = new MongoId("5c488a752e221602b412af63");
public static readonly MongoId ASSAULTRIFLE_556X45_MK_16 = new MongoId("6184055050224f204c1da540");
public static readonly MongoId ASSAULTRIFLE_556X45_MK_16_FDE = new MongoId("618428466ef05c2ce828f218");
public static readonly MongoId ASSAULTRIFLE_556X45_TX_15_DML = new MongoId("5d43021ca4b9362eab4b5e25");
public static readonly MongoId ASSAULTRIFLE_68X51_SPEAR_68 = new MongoId("65290f395ae2ae97b80fdf2d");
public static readonly MongoId ASSAULTRIFLE_762X35_MCX_300_BLK = new MongoId("5fbcc1d9016cce60e8341ab3");
public static readonly MongoId ASSAULTRIFLE_762X35_VELOCIRAPTOR_300_BLK = new MongoId("674d6121c09f69dfb201a888");
public static readonly MongoId ASSAULTRIFLE_762X39_AK_103 = new MongoId("5ac66d2e5acfc43b321d4b53");
public static readonly MongoId ASSAULTRIFLE_762X39_AK_104 = new MongoId("5ac66d725acfc43b321d4b60");
public static readonly MongoId ASSAULTRIFLE_762X39_AKM = new MongoId("59d6088586f774275f37482f");
public static readonly MongoId ASSAULTRIFLE_762X39_AKMN = new MongoId("5a0ec13bfcdbcb00165aa685");
public static readonly MongoId ASSAULTRIFLE_762X39_AKMS = new MongoId("59ff346386f77477562ff5e2");
public static readonly MongoId ASSAULTRIFLE_762X39_AKMSN = new MongoId("5abcbc27d8ce8700182eceeb");
public static readonly MongoId ASSAULTRIFLE_762X39_MK47 = new MongoId("606587252535c57a13424cfd");
public static readonly MongoId ASSAULTRIFLE_762X39_RD_704 = new MongoId("628a60ae6b1d481ff772e9c8");
public static readonly MongoId ASSAULTRIFLE_762X39_VPO_136_VEPR_KM = new MongoId("59e6152586f77473dc057aa1");
public static readonly MongoId ASSAULTRIFLE_762X51_MDR = new MongoId("5dcbd56fdbd3d91b3e5468d5");
public static readonly MongoId ASSAULTRIFLE_762X51_MK_17 = new MongoId("6183afd850224f204c1da514");
public static readonly MongoId ASSAULTRIFLE_762X51_MK_17_FDE = new MongoId("6165ac306ef05c2ce828ef74");
public static readonly MongoId ASSAULTRIFLE_762X51_SA58 = new MongoId("5b0bbe4e5acfc40dc528a72d");
public static readonly MongoId ASSAULTRIFLE_762X51_X_17 = new MongoId("676176d362e0497044079f4c");
public static readonly MongoId ASSAULTRIFLE_9X18PM_MASTER_HAND = new MongoId("5ae083b25acfc4001a5fc702");
public static readonly MongoId FLARE_26X75_BLUE = new MongoId("66d98233302686954b0c6f81");
public static readonly MongoId FLARE_26X75_FIREWORK = new MongoId("675ea3d6312c0a5c4e04e317");
public static readonly MongoId FLARE_26X75_FLARE_WHITE = new MongoId(
"62178be9d0050232da3485d9"
);
public static readonly MongoId FLARE_26X75_FLARE_WHITE = new MongoId("62178be9d0050232da3485d9");
public static readonly MongoId FLARE_26X75_GREEN = new MongoId("6217726288ed9f0845317459");
public static readonly MongoId FLARE_26X75_RED = new MongoId("62178c4d4ecf221597654e3d");
public static readonly MongoId FLARE_26X75_S_YELLOW_SPECIAL_YELLOW = new MongoId(
"66d9f1abb16d9aacf5068468"
);
public static readonly MongoId FLARE_26X75_S_YELLOW_SPECIAL_YELLOW = new MongoId("66d9f1abb16d9aacf5068468");
public static readonly MongoId FLARE_26X75_YELLOW = new MongoId("624c0b3340357b5f566e8766");
public static readonly MongoId GRENADELAUNCHER_40MMRU_FN40GL = new MongoId(
"639af924d0446708ee62294e"
);
public static readonly MongoId GRENADELAUNCHER_40X46_FN40GL = new MongoId(
"5e81ebcd8e146c7080625e15"
);
public static readonly MongoId GRENADELAUNCHER_40X46_FN40GL_2 = new MongoId(
"639c3fbbd0446708ee622ee9"
);
public static readonly MongoId MACHINEGUN_30X29_AGS_30 = new MongoId(
"5d52cc5ba4b9367408500062"
);
public static readonly MongoId MACHINEGUN_545X39_NSV_UTYOS = new MongoId(
"5cdeb229d7f00c000e7ce174"
);
public static readonly MongoId MACHINEGUN_545X39_RPK_16 = new MongoId(
"5beed0f50db834001c062b12"
);
public static readonly MongoId GRENADELAUNCHER_40MMRU_FN40GL = new MongoId("639af924d0446708ee62294e");
public static readonly MongoId GRENADELAUNCHER_40X46_FN40GL = new MongoId("5e81ebcd8e146c7080625e15");
public static readonly MongoId GRENADELAUNCHER_40X46_FN40GL_2 = new MongoId("639c3fbbd0446708ee622ee9");
public static readonly MongoId MACHINEGUN_30X29_AGS_30 = new MongoId("5d52cc5ba4b9367408500062");
public static readonly MongoId MACHINEGUN_545X39_NSV_UTYOS = new MongoId("5cdeb229d7f00c000e7ce174");
public static readonly MongoId MACHINEGUN_545X39_RPK_16 = new MongoId("5beed0f50db834001c062b12");
public static readonly MongoId MACHINEGUN_762X39_RPD = new MongoId("6513ef33e06849f06c0957ca");
public static readonly MongoId MACHINEGUN_762X39_RPDN = new MongoId("65268d8ecb944ff1e90ea385");
public static readonly MongoId MACHINEGUN_762X51_M60E6 = new MongoId(
"661ceb1b9311543c7104149b"
);
public static readonly MongoId MACHINEGUN_762X51_M60E6_FDE = new MongoId(
"661cec09b2c6356b4d0c7a36"
);
public static readonly MongoId MACHINEGUN_762X51_MK_43_MOD_1 = new MongoId(
"65fb023261d5829b2d090755"
);
public static readonly MongoId MACHINEGUN_762X51_M60E6 = new MongoId("661ceb1b9311543c7104149b");
public static readonly MongoId MACHINEGUN_762X51_M60E6_FDE = new MongoId("661cec09b2c6356b4d0c7a36");
public static readonly MongoId MACHINEGUN_762X51_MK_43_MOD_1 = new MongoId("65fb023261d5829b2d090755");
public static readonly MongoId MACHINEGUN_762X54R_PKM = new MongoId("64637076203536ad5600c990");
public static readonly MongoId MACHINEGUN_762X54R_PKP = new MongoId("64ca3d3954fc657e230529cc");
public static readonly MongoId MACHINEGUN_762X54R_PKTM = new MongoId(
"657857faeff4c850222dff1b"
);
public static readonly MongoId MARKSMANRIFLE_127X99_AK_50 = new MongoId(
"67d0576f29f580ebc10efd08"
);
public static readonly MongoId MARKSMANRIFLE_762X51_G28 = new MongoId(
"6176aca650224f204c1da3fb"
);
public static readonly MongoId MARKSMANRIFLE_762X51_M1A = new MongoId(
"5aafa857e5b5b00018480968"
);
public static readonly MongoId MARKSMANRIFLE_762X51_RFB = new MongoId(
"5f2a9575926fd9352339381f"
);
public static readonly MongoId MARKSMANRIFLE_762X51_RSASS = new MongoId(
"5a367e5dc4a282000e49738f"
);
public static readonly MongoId MARKSMANRIFLE_762X51_SR_25 = new MongoId(
"5df8ce05b11454561e39243b"
);
public static readonly MongoId MARKSMANRIFLE_762X54R_SVDS = new MongoId(
"5c46fbd72e2216398b5a8c9c"
);
public static readonly MongoId MARKSMANRIFLE_86X70_MK_18_MJLNIR = new MongoId(
"5fc22d7c187fea44d52eda44"
);
public static readonly MongoId MARKSMANRIFLE_9X39_VSS_VINTOREZ = new MongoId(
"57838ad32459774a17445cd2"
);
public static readonly MongoId PISTOL_127X33_DESERT_EAGLE_L5 = new MongoId(
"669fa3f88abd2662d80eee77"
);
public static readonly MongoId PISTOL_127X33_DESERT_EAGLE_L6 = new MongoId(
"669fa39b48fc9f8db6035a0c"
);
public static readonly MongoId PISTOL_127X33_DESERT_EAGLE_L6_WTS = new MongoId(
"669fa3d876116c89840b1217"
);
public static readonly MongoId PISTOL_127X33_DESERT_EAGLE_MK_XIX = new MongoId(
"668fe5a998b5ad715703ddd6"
);
public static readonly MongoId MACHINEGUN_762X54R_PKTM = new MongoId("657857faeff4c850222dff1b");
public static readonly MongoId MARKSMANRIFLE_127X99_AK_50 = new MongoId("67d0576f29f580ebc10efd08");
public static readonly MongoId MARKSMANRIFLE_762X51_G28 = new MongoId("6176aca650224f204c1da3fb");
public static readonly MongoId MARKSMANRIFLE_762X51_M1A = new MongoId("5aafa857e5b5b00018480968");
public static readonly MongoId MARKSMANRIFLE_762X51_RFB = new MongoId("5f2a9575926fd9352339381f");
public static readonly MongoId MARKSMANRIFLE_762X51_RSASS = new MongoId("5a367e5dc4a282000e49738f");
public static readonly MongoId MARKSMANRIFLE_762X51_SR_25 = new MongoId("5df8ce05b11454561e39243b");
public static readonly MongoId MARKSMANRIFLE_762X54R_SVDS = new MongoId("5c46fbd72e2216398b5a8c9c");
public static readonly MongoId MARKSMANRIFLE_86X70_MK_18_MJLNIR = new MongoId("5fc22d7c187fea44d52eda44");
public static readonly MongoId MARKSMANRIFLE_9X39_VSS_VINTOREZ = new MongoId("57838ad32459774a17445cd2");
public static readonly MongoId PISTOL_127X33_DESERT_EAGLE_L5 = new MongoId("669fa3f88abd2662d80eee77");
public static readonly MongoId PISTOL_127X33_DESERT_EAGLE_L6 = new MongoId("669fa39b48fc9f8db6035a0c");
public static readonly MongoId PISTOL_127X33_DESERT_EAGLE_L6_WTS = new MongoId("669fa3d876116c89840b1217");
public static readonly MongoId PISTOL_127X33_DESERT_EAGLE_MK_XIX = new MongoId("668fe5a998b5ad715703ddd6");
public static readonly MongoId PISTOL_20X1MM_BLICKY = new MongoId("66015072e9f84d5680039678");
public static readonly MongoId PISTOL_45ACP_M1911A1 = new MongoId("5e81c3cbac2bb513793cdc75");
public static readonly MongoId PISTOL_45ACP_M45A1 = new MongoId("5f36a0e5fbf956000b716b65");
public static readonly MongoId PISTOL_45ACP_USP_45 = new MongoId("6193a720f8ee7e52e42109ed");
public static readonly MongoId PISTOL_57X28_FN_5_7 = new MongoId("5d3eb3b0a4b93615055e84d2");
public static readonly MongoId PISTOL_57X28_FN_5_7_FDE = new MongoId(
"5d67abc1a4b93614ec50137f"
);
public static readonly MongoId PISTOL_57X28_FN_5_7_FDE = new MongoId("5d67abc1a4b93614ec50137f");
public static readonly MongoId PISTOL_762X25TT_TT = new MongoId("571a12c42459771f627b58a0");
public static readonly MongoId PISTOL_762X25TT_TT_GOLD_GOLDEN = new MongoId(
"5b3b713c5acfc4330140bd8d"
);
public static readonly MongoId PISTOL_762X25TT_TT_GOLD_GOLDEN = new MongoId("5b3b713c5acfc4330140bd8d");
public static readonly MongoId PISTOL_9X18PM_APB = new MongoId("5abccb7dd8ce87001773e277");
public static readonly MongoId PISTOL_9X18PM_APS = new MongoId("5a17f98cfcdbcb0980087290");
public static readonly MongoId PISTOL_9X18PM_PB = new MongoId("56e0598dd2720bb5668b45a6");
@@ -270,65 +108,43 @@ public static class Weapons
public static readonly MongoId PISTOL_9X19_GLOCK_18C = new MongoId("5b1fa9b25acfc40018633c01");
public static readonly MongoId PISTOL_9X19_GLOCK_19X = new MongoId("63088377b5cd696784087147");
public static readonly MongoId PISTOL_9X19_M9A3 = new MongoId("5cadc190ae921500103bb3b6");
public static readonly MongoId PISTOL_9X19_MP_443_GRACH = new MongoId(
"576a581d2459771e7b1bc4f1"
);
public static readonly MongoId PISTOL_9X19_MP_443_GRACH = new MongoId("576a581d2459771e7b1bc4f1");
public static readonly MongoId PISTOL_9X19_P226R = new MongoId("56d59856d2720bd8418b456a");
public static readonly MongoId PISTOL_9X19_PL_15 = new MongoId("602a9740da11d6478d5a06dc");
public static readonly MongoId PISTOL_9X21_SR_1MP = new MongoId("59f98b4986f7746f546d2cef");
public static readonly MongoId PISTOL_9X33R_DESERT_EAGLE_L5 = new MongoId(
"669fa409933e898cce0c2166"
);
public static readonly MongoId PISTOL_9X33R_DESERT_EAGLE_L5 = new MongoId("669fa409933e898cce0c2166");
public static readonly MongoId REVOLVER_127X55_RSH_12 = new MongoId("633ec7c2a6918cb895019c6c");
public static readonly MongoId REVOLVER_12G_MTS_255_12 = new MongoId(
"60db29ce99594040e04c4a27"
);
public static readonly MongoId REVOLVER_12G_MTS_255_12 = new MongoId("60db29ce99594040e04c4a27");
public static readonly MongoId REVOLVER_40X46_MSGL = new MongoId("6275303a9f372d6ea97f9ec7");
public static readonly MongoId REVOLVER_9X19_CR_200DS = new MongoId("624c2e8614da335f1e034d8c");
public static readonly MongoId REVOLVER_9X33R_CR_50DS = new MongoId("61a4c8884f95bc3b2c5dc96f");
public static readonly MongoId ROCKETLAUNCHER_725_RSHG_2 = new MongoId(
"676bf44c5539167c3603e869"
);
public static readonly MongoId ROCKETLAUNCHER_725_RSHG_2 = new MongoId("676bf44c5539167c3603e869");
public static readonly MongoId SHOTGUN_12G_590A1 = new MongoId("5e870397991fd70db46995c8");
public static readonly MongoId SHOTGUN_12G_AA_12_GEN_1 = new MongoId(
"66ffa9b66e19cc902401c5e8"
);
public static readonly MongoId SHOTGUN_12G_AA_12_GEN_2 = new MongoId(
"67124dcfa3541f2a1f0e788b"
);
public static readonly MongoId SHOTGUN_12G_M3_SUPER_90 = new MongoId(
"6259b864ebedf17603599e88"
);
public static readonly MongoId SHOTGUN_12G_AA_12_GEN_1 = new MongoId("66ffa9b66e19cc902401c5e8");
public static readonly MongoId SHOTGUN_12G_AA_12_GEN_2 = new MongoId("67124dcfa3541f2a1f0e788b");
public static readonly MongoId SHOTGUN_12G_M3_SUPER_90 = new MongoId("6259b864ebedf17603599e88");
public static readonly MongoId SHOTGUN_12G_M870 = new MongoId("5a7828548dc32e5a9c28b516");
public static readonly MongoId SHOTGUN_12G_MP_133 = new MongoId("54491c4f4bdc2db1078b4568");
public static readonly MongoId SHOTGUN_12G_MP_153 = new MongoId("56dee2bdd2720bc8328b4567");
public static readonly MongoId SHOTGUN_12G_MP_155 = new MongoId("606dae0ab0e443224b421bb7");
public static readonly MongoId SHOTGUN_12G_MP_43_1C = new MongoId("5580223e4bdc2d1c128b457f");
public static readonly MongoId SHOTGUN_12G_SAIGA_12K = new MongoId("576165642459773c7a400233");
public static readonly MongoId SHOTGUN_12G_SAIGA_12K_FA = new MongoId(
"674fe9a75e51f1c47c04ec23"
);
public static readonly MongoId SHOTGUN_12G_SAIGA_12K_FA = new MongoId("674fe9a75e51f1c47c04ec23");
public static readonly MongoId SHOTGUN_12G_SAWED_OFF = new MongoId("64748cb8de82c85eaf0a273a");
public static readonly MongoId SHOTGUN_20G_TOZ_106 = new MongoId("5a38e6bac4a2826c6e06d79b");
public static readonly MongoId SHOTGUN_23X75_KS_23M = new MongoId("5e848cc2988a8701445df1e8");
public static readonly MongoId SHOTGUN_762X54R_MP_18 = new MongoId("61f7c9e189e6fb1a5e3ea78d");
public static readonly MongoId SIGNALPISTOL_26X75_SP_81 = new MongoId(
"620109578d82e67e7911abf2"
);
public static readonly MongoId SIGNALPISTOL_26X75_SP_81 = new MongoId("620109578d82e67e7911abf2");
public static readonly MongoId SMG_45ACP_UMP_45 = new MongoId("5fc3e272f8b6a877a729eac5");
public static readonly MongoId SMG_45ACP_VECTOR_45ACP = new MongoId("5fb64bc92b1b027b1f50bcf2");
public static readonly MongoId SMG_46X30_MP7A1 = new MongoId("5ba26383d4351e00334c93d9");
public static readonly MongoId SMG_46X30_MP7A2 = new MongoId("5bd70322209c4d00d7167b8f");
public static readonly MongoId SMG_57X28_P90 = new MongoId("5cc82d76e24e8d00134b4b83");
public static readonly MongoId SMG_762X25TT_PPSH41 = new MongoId("5ea03f7400685063ec28bfa8");
public static readonly MongoId SMG_9X18PM_PP_91_01_KEDR_B = new MongoId(
"57f3c6bd24597738e730fa2f"
);
public static readonly MongoId SMG_9X18PM_PP_91_01_KEDR_B = new MongoId("57f3c6bd24597738e730fa2f");
public static readonly MongoId SMG_9X18PM_PP_91_KEDR = new MongoId("57d14d2524597714373db789");
public static readonly MongoId SMG_9X18PMM_PP_9_KLIN = new MongoId("57f4c844245977379d5c14d1");
public static readonly MongoId SMG_9X19_MP5_NAVY_3_ROUND_BURST = new MongoId(
"5926bb2186f7744b1c6c6e60"
);
public static readonly MongoId SMG_9X19_MP5_NAVY_3_ROUND_BURST = new MongoId("5926bb2186f7744b1c6c6e60");
public static readonly MongoId SMG_9X19_MP5K_N = new MongoId("5d2f0d8048f0356c925bc3b0");
public static readonly MongoId SMG_9X19_MP9 = new MongoId("5e00903ae9dc277128008b87");
public static readonly MongoId SMG_9X19_MP9_N = new MongoId("5de7bd7bfd6b4e6e2276dc25");
@@ -337,35 +153,17 @@ public static class Weapons
public static readonly MongoId SMG_9X19_SAIGA_9 = new MongoId("59f9cabd86f7743a10721f46");
public static readonly MongoId SMG_9X19_STM_9 = new MongoId("60339954d62c9b14ed777c06");
public static readonly MongoId SMG_9X19_UZI = new MongoId("66992b349950f5f4cd06029f");
public static readonly MongoId SMG_9X19_UZI_PRO_PISTOL = new MongoId(
"6680304edadb7aa61d00cef0"
);
public static readonly MongoId SMG_9X19_UZI_PRO_PISTOL = new MongoId("6680304edadb7aa61d00cef0");
public static readonly MongoId SMG_9X19_UZI_PRO_SMG = new MongoId("668e71a8dadf42204c032ce1");
public static readonly MongoId SMG_9X19_VECTOR_9X19 = new MongoId("5fc3f2d5900b1d5091531e57");
public static readonly MongoId SMG_9X21_SR_2M = new MongoId("62e14904c2699c0ec93adc47");
public static readonly MongoId SNIPERRIFLE_366TKM_VPO_215_GORNOSTAY = new MongoId(
"5de652c31b7e3716273428be"
);
public static readonly MongoId SNIPERRIFLE_762X51_DVL_10 = new MongoId(
"588892092459774ac91d4b11"
);
public static readonly MongoId SNIPERRIFLE_762X51_M700 = new MongoId(
"5bfea6e90db834001b7347f3"
);
public static readonly MongoId SNIPERRIFLE_762X51_T_5000M = new MongoId(
"5df24cf80dee1b22f862e9bc"
);
public static readonly MongoId SNIPERRIFLE_762X54R_MOSIN_INFANTRY = new MongoId(
"5bfd297f0db834001a669119"
);
public static readonly MongoId SNIPERRIFLE_762X54R_MOSIN_SNIPER = new MongoId(
"5ae08f0a5acfc408fb1398a1"
);
public static readonly MongoId SNIPERRIFLE_762X54R_SV_98 = new MongoId(
"55801eed4bdc2d89578b4588"
);
public static readonly MongoId SNIPERRIFLE_366TKM_VPO_215_GORNOSTAY = new MongoId("5de652c31b7e3716273428be");
public static readonly MongoId SNIPERRIFLE_762X51_DVL_10 = new MongoId("588892092459774ac91d4b11");
public static readonly MongoId SNIPERRIFLE_762X51_M700 = new MongoId("5bfea6e90db834001b7347f3");
public static readonly MongoId SNIPERRIFLE_762X51_T_5000M = new MongoId("5df24cf80dee1b22f862e9bc");
public static readonly MongoId SNIPERRIFLE_762X54R_MOSIN_INFANTRY = new MongoId("5bfd297f0db834001a669119");
public static readonly MongoId SNIPERRIFLE_762X54R_MOSIN_SNIPER = new MongoId("5ae08f0a5acfc408fb1398a1");
public static readonly MongoId SNIPERRIFLE_762X54R_SV_98 = new MongoId("55801eed4bdc2d89578b4588");
public static readonly MongoId SNIPERRIFLE_86X70_AXMC = new MongoId("627e14b21713922ded6f2c15");
public static readonly MongoId SNIPERRIFLE_86X70_TRG_M10 = new MongoId(
"673cab3e03c6a20581028bc1"
);
public static readonly MongoId SNIPERRIFLE_86X70_TRG_M10 = new MongoId("673cab3e03c6a20581028bc1");
}
+34
View File
@@ -0,0 +1,34 @@
using MongoIdTplGenerator.Generators;
using SPTarkov.DI.Annotations;
using SPTarkov.Server.Core.DI;
using SPTarkov.Server.Core.Models.Utils;
namespace MongoIdTplGenerator;
[Injectable(InjectionType.Singleton)]
public class Application(
ISptLogger<Application> logger,
IEnumerable<IOnLoad> onloadComponents,
IEnumerable<IMongoIdGenerator> generators
)
{
public async Task Run()
{
foreach (var onLoad in onloadComponents)
{
await onLoad.OnLoad();
}
try
{
foreach (var generator in generators)
{
await generator.Run();
}
}
catch (Exception e)
{
logger.Critical("Error running generator(s)", e);
}
}
}
@@ -0,0 +1,6 @@
namespace MongoIdTplGenerator.Generators;
public interface IMongoIdGenerator
{
Task Run();
}
@@ -1,6 +1,6 @@
using MongoIdTplGenerator.Utils;
using SPTarkov.Common.Extensions;
using SPTarkov.DI.Annotations;
using SPTarkov.Server.Core.Callbacks;
using SPTarkov.Server.Core.DI;
using SPTarkov.Server.Core.Helpers;
using SPTarkov.Server.Core.Models.Common;
@@ -12,31 +12,26 @@ using SPTarkov.Server.Core.Services;
using SPTarkov.Server.Core.Utils;
using Path = System.IO.Path;
namespace ItemTplGenerator;
namespace MongoIdTplGenerator.Generators;
[Injectable]
public class ItemTplGenerator(
ISptLogger<ItemTplGenerator> _logger,
DatabaseServer _databaseServer,
LocaleService _localeService,
ItemHelper _itemHelper,
FileUtil _fileUtil,
IEnumerable<IOnLoad> _onLoadComponents
)
public class ItemTplMongoIdGenerator(
ISptLogger<ItemTplMongoIdGenerator> logger,
DatabaseServer databaseServer,
LocaleService localeService,
ItemHelper itemHelper,
FileUtil fileUtil,
LocaleUtil localeUtil
) : IMongoIdGenerator
{
private readonly HashSet<string> collidedEnumKeys = [];
private string _enumDir;
private IDictionary<string, string> _itemOverrides;
private Dictionary<MongoId, TemplateItem> _items;
public async Task Run()
public Task Run()
{
_itemOverrides = ItemOverrides.ItemOverridesDictionary;
// Load all onload components, this gives us access to most of SPTs injections
foreach (var onLoad in _onLoadComponents)
{
await onLoad.OnLoad();
}
// Figure out our source and target directories
var projectDir = Directory.GetParent("./").Parent.Parent.Parent.Parent.Parent;
@@ -47,7 +42,7 @@ public class ItemTplGenerator(
"Models",
"Enums"
);
_items = _databaseServer.GetTables().Templates.Items;
_items = databaseServer.GetTables().Templates.Items;
// Generate an object containing all item name to ID associations
var orderedItemsObject = GenerateItemsObject();
@@ -75,7 +70,9 @@ public class ItemTplGenerator(
}
);
_logger.Info("Generating items finished");
logger.Info("Generating items finished");
return Task.CompletedTask;
}
/// <summary>
@@ -129,7 +126,7 @@ public class ItemTplGenerator(
var itemKey = $"{itemParentName}{itemPrefix}{itemName}{itemSuffix}";
// Strip out any remaining special characters
itemKey = SanitizeEnumKey(itemKey);
itemKey = localeUtil.SanitizeEnumKey(itemKey);
// If the key already exists, see if we can add a suffix to both this, and the existing conflicting item
if (itemsObject.ContainsKey(itemKey) || collidedEnumKeys.Contains(itemKey))
@@ -147,18 +144,20 @@ public class ItemTplGenerator(
var oldItemNameSuffix = GetItemNameSuffix(_items[oldItemId]);
if (!string.IsNullOrEmpty(oldItemNameSuffix))
{
var oldItemNewKey = SanitizeEnumKey($"{itemKey}_{oldItemNameSuffix}");
var oldItemNewKey = localeUtil.SanitizeEnumKey(
$"{itemKey}_{oldItemNameSuffix}"
);
itemsObject.Remove(itemKey);
itemsObject[oldItemNewKey] = oldItemId;
}
}
itemKey = SanitizeEnumKey($"{itemKey}_{itemNameSuffix}");
itemKey = localeUtil.SanitizeEnumKey($"{itemKey}_{itemNameSuffix}");
// If we still collide, log an error
if (itemsObject.TryGetValue(itemKey, out var value))
{
_logger.Error(
logger.Error(
$"After rename, itemsObject already contains {itemKey} {value} => {item.Id}"
);
}
@@ -166,7 +165,7 @@ public class ItemTplGenerator(
else
{
var val = itemsObject.GetValueOrDefault(itemKey, itemKey);
_logger.Error(
logger.Error(
$"New itemOverride entry required: itemsObject already contains {itemKey} {val} => {item.Id}"
);
continue;
@@ -191,13 +190,13 @@ public class ItemTplGenerator(
in _items
)
{
if (!_itemHelper.IsOfBaseclass(kv.Key, BaseClasses.WEAPON))
if (!itemHelper.IsOfBaseclass(kv.Key, BaseClasses.WEAPON))
{
continue;
}
var caliber = CleanCaliber(kv.Value.Properties.AmmoCaliber.ToUpper());
var weaponShortName = _localeService.GetLocaleDb()[$"{kv.Key} ShortName"]?.ToUpper();
var weaponShortName = localeService.GetLocaleDb()[$"{kv.Key} ShortName"]?.ToUpper();
// Special case for the weird duplicated grenade launcher
if (kv.Key == "639c3fbbd0446708ee622ee9")
@@ -206,7 +205,7 @@ public class ItemTplGenerator(
}
// Include any bracketed suffixes that exist, handles the case of colored gun variants
var weaponFullName = _localeService.GetLocaleDb()[$"{kv.Key} Name"]?.ToUpper();
var weaponFullName = localeService.GetLocaleDb()[$"{kv.Key} Name"]?.ToUpper();
if (
weaponFullName.RegexMatch(@"\((.+?)\)$", out var itemNameBracketSuffix)
&& !weaponShortName.EndsWith(itemNameBracketSuffix.Groups[1].Value)
@@ -225,7 +224,7 @@ public class ItemTplGenerator(
if (weaponsObject.ContainsKey(weaponName))
{
_logger.Error($"weapon {weaponName} already exists");
logger.Error($"weapon {weaponName} already exists");
continue;
}
@@ -239,16 +238,6 @@ public class ItemTplGenerator(
return orderedWeaponsObject;
}
/// <summary>
/// Clear any non-alpha numeric characters, and fix multiple underscores
/// </summary>
/// <param name="enumKey">The enum key to sanitize</param>
/// <returns>The sanitized enum key</returns>
private string SanitizeEnumKey(string enumKey)
{
return enumKey.ToUpper().RegexReplace("[^A-Z0-9_]", "").RegexReplace("_+", "_");
}
private string GetParentName(TemplateItem item)
{
if (item.Properties?.QuestItem is true)
@@ -256,42 +245,42 @@ public class ItemTplGenerator(
return "QUEST";
}
if (_itemHelper.IsOfBaseclass(item.Id, BaseClasses.BARTER_ITEM))
if (itemHelper.IsOfBaseclass(item.Id, BaseClasses.BARTER_ITEM))
{
return "BARTER";
}
if (_itemHelper.IsOfBaseclass(item.Id, BaseClasses.THROW_WEAPON))
if (itemHelper.IsOfBaseclass(item.Id, BaseClasses.THROW_WEAPON))
{
return "GRENADE";
}
if (_itemHelper.IsOfBaseclass(item.Id, BaseClasses.STIMULATOR))
if (itemHelper.IsOfBaseclass(item.Id, BaseClasses.STIMULATOR))
{
return "STIM";
}
if (_itemHelper.IsOfBaseclass(item.Id, BaseClasses.MAGAZINE))
if (itemHelper.IsOfBaseclass(item.Id, BaseClasses.MAGAZINE))
{
return "MAGAZINE";
}
if (_itemHelper.IsOfBaseclass(item.Id, BaseClasses.KEY_MECHANICAL))
if (itemHelper.IsOfBaseclass(item.Id, BaseClasses.KEY_MECHANICAL))
{
return "KEY";
}
if (_itemHelper.IsOfBaseclass(item.Id, BaseClasses.MOB_CONTAINER))
if (itemHelper.IsOfBaseclass(item.Id, BaseClasses.MOB_CONTAINER))
{
return "SECURE";
}
if (_itemHelper.IsOfBaseclass(item.Id, BaseClasses.SIMPLE_CONTAINER))
if (itemHelper.IsOfBaseclass(item.Id, BaseClasses.SIMPLE_CONTAINER))
{
return "CONTAINER";
}
if (_itemHelper.IsOfBaseclass(item.Id, BaseClasses.PORTABLE_RANGE_FINDER))
if (itemHelper.IsOfBaseclass(item.Id, BaseClasses.PORTABLE_RANGE_FINDER))
{
return "RANGEFINDER";
}
@@ -339,17 +328,17 @@ public class ItemTplGenerator(
var prefix = "";
// Prefix ammo with its caliber
if (_itemHelper.IsOfBaseclass(item.Id, BaseClasses.AMMO))
if (itemHelper.IsOfBaseclass(item.Id, BaseClasses.AMMO))
{
prefix = GetAmmoPrefix(item);
}
// Prefix ammo boxes with their caliber
else if (_itemHelper.IsOfBaseclass(item.Id, BaseClasses.AMMO_BOX))
else if (itemHelper.IsOfBaseclass(item.Id, BaseClasses.AMMO_BOX))
{
prefix = GetAmmoBoxPrefix(item);
}
// Prefix magazines with their caliber
else if (_itemHelper.IsOfBaseclass(item.Id, BaseClasses.MAGAZINE))
else if (itemHelper.IsOfBaseclass(item.Id, BaseClasses.MAGAZINE))
{
prefix = GetMagazinePrefix(item);
}
@@ -368,12 +357,12 @@ public class ItemTplGenerator(
var suffix = "";
// Add mag size for magazines
if (_itemHelper.IsOfBaseclass(item.Id, BaseClasses.MAGAZINE))
if (itemHelper.IsOfBaseclass(item.Id, BaseClasses.MAGAZINE))
{
suffix = $"{item.Properties?.Cartridges?[0].MaxCount?.ToString()}RND";
}
// Add pack size for ammo boxes
else if (_itemHelper.IsOfBaseclass(item.Id, BaseClasses.AMMO_BOX))
else if (itemHelper.IsOfBaseclass(item.Id, BaseClasses.AMMO_BOX))
{
suffix = $"{item.Properties.StackSlots[0]?.MaxCount.ToString()}RND";
}
@@ -436,7 +425,7 @@ public class ItemTplGenerator(
private string GetItemName(TemplateItem item)
{
string? itemName = null;
var localeDb = _localeService.GetLocaleDb();
var localeDb = localeService.GetLocaleDb();
// Manual item name overrides
if (_itemOverrides.TryGetValue(item.Id, out var itemNameOverride))
@@ -445,7 +434,7 @@ public class ItemTplGenerator(
}
// For the listed types, user the item's _name property
else if (
_itemHelper.IsOfBaseclasses(
itemHelper.IsOfBaseclasses(
item.Id,
[BaseClasses.RANDOM_LOOT_CONTAINER, BaseClasses.BUILT_IN_INSERTS, BaseClasses.STASH]
)
@@ -455,7 +444,7 @@ public class ItemTplGenerator(
}
// For the listed types, use the short name
else if (
_itemHelper.IsOfBaseclasses(
itemHelper.IsOfBaseclasses(
item.Id,
[BaseClasses.AMMO, BaseClasses.AMMO_BOX, BaseClasses.MAGAZINE]
)
@@ -503,17 +492,17 @@ public class ItemTplGenerator(
private string? GetItemNameSuffix(TemplateItem item)
{
var localeDb = _localeService.GetLocaleDb();
var localeDb = localeService.GetLocaleDb();
localeDb.TryGetValue($"{item.Id} Name", out var itemName);
// Add grid size for lootable containers
if (_itemHelper.IsOfBaseclass(item.Id, BaseClasses.LOOT_CONTAINER))
if (itemHelper.IsOfBaseclass(item.Id, BaseClasses.LOOT_CONTAINER))
{
return $"{item.Properties.Grids[0]?.Props.CellsH}X{item.Properties.Grids[0]?.Props.CellsV}";
}
// Add ammo caliber to conflicting weapons
if (_itemHelper.IsOfBaseclass(item.Id, BaseClasses.WEAPON))
if (itemHelper.IsOfBaseclass(item.Id, BaseClasses.WEAPON))
{
var caliber = CleanCaliber(item.Properties.AmmoCaliber.ToUpper());
@@ -565,7 +554,7 @@ public class ItemTplGenerator(
{
if (originalEnumValues.ContainsKey(kv.Value) && originalEnumValues[kv.Value] != kv.Key)
{
_logger.Warning(
logger.Warning(
$"Enum {enumName} key has changed for {kv.Value}, {originalEnumValues[kv.Value]} => {kv.Key}"
);
}
@@ -579,7 +568,7 @@ public class ItemTplGenerator(
{
var enumFileData =
"using SPTarkov.Server.Core.Models.Common;\n\n"
+ "// This is an auto generated file, do not modify. Re-generate by running ItemTplGenerator.exe";
+ "// This is an auto generated file, do not modify. Re-generate by running MongoIdTplGenerator.exe";
foreach (var (enumName, data) in enumEntries)
{
@@ -594,6 +583,6 @@ public class ItemTplGenerator(
enumFileData += "}\n";
}
_fileUtil.WriteFile(outputPath, enumFileData);
fileUtil.WriteFile(outputPath, enumFileData);
}
}
@@ -0,0 +1,99 @@
using MongoIdTplGenerator.Utils;
using SPTarkov.DI.Annotations;
using SPTarkov.Server.Core.Models.Eft.Common.Tables;
using SPTarkov.Server.Core.Models.Utils;
using SPTarkov.Server.Core.Servers;
using SPTarkov.Server.Core.Services;
using SPTarkov.Server.Core.Utils;
using Path = System.IO.Path;
namespace MongoIdTplGenerator.Generators;
[Injectable]
public class QuestTplMongoIdGenerator(
ISptLogger<QuestTplMongoIdGenerator> logger,
DatabaseServer databaseServer,
LocaleService localeService,
FileUtil fileUtil,
LocaleUtil localeUtil
) : IMongoIdGenerator
{
private string? _enumDir;
private Dictionary<string, Quest>? _quests;
public Task Run()
{
// Figure out our source and target directories
var projectDir = Directory.GetParent("./").Parent.Parent.Parent.Parent.Parent;
_enumDir = Path.Combine(
projectDir.FullName,
"Libraries",
"SPTarkov.Server.Core",
"Models",
"Enums"
);
_quests = databaseServer.GetTables().Templates.Quests;
var questTplObject = GenerateQuestTplObject();
var questTplOutPath = Path.Combine(_enumDir, "QuestTpl.cs");
WriteEnumToFile(questTplOutPath, questTplObject);
return Task.CompletedTask;
}
private Dictionary<string, string> GenerateQuestTplObject()
{
var result = new Dictionary<string, string>();
foreach (var quest in _quests)
{
var id = quest.Key;
if (QuestOverrides.NameOverridesDictionary.TryGetValue(id, out var nameOverride))
{
if (!result.TryAdd(nameOverride, id))
{
logger.Warning(
$"Duplicate locale name: {nameOverride} with id: {id} in quest list"
);
}
continue;
}
var locale = localeService
.GetLocaleDb()[$"{id} name"]
.Replace(" ", "_")
.Replace("-", "_");
locale = localeUtil.SanitizeEnumKey(locale);
if (!result.TryAdd(locale, id))
{
logger.Warning($"Duplicate locale name: {locale} with id: {id} in quest list");
}
}
return result;
}
private void WriteEnumToFile(string outputPath, Dictionary<string, string> enumEntries)
{
var enumFileData =
"using SPTarkov.Server.Core.Models.Common;\n\n"
+ "// This is an auto generated file, do not modify. Re-generate by running MongoIdTplGenerator.exe";
enumFileData += $"\npublic static class QuestTpl\n{{\n";
foreach (var (enumName, data) in enumEntries)
{
enumFileData +=
$" public static readonly MongoId {enumName} = new MongoId(\"{data}\");\n";
}
enumFileData += "}\n";
fileUtil.WriteFile(outputPath, enumFileData);
}
}
@@ -4,11 +4,11 @@ using SPTarkov.DI;
using SPTarkov.Server.Core.Models.Spt.Mod;
using SPTarkov.Server.Core.Utils;
namespace ItemTplGenerator;
namespace MongoIdTplGenerator;
public class ItemTplGeneratorLauncher
public class Program
{
public static void Main(string[] args)
public static async Task Main(string[] args)
{
try
{
@@ -19,12 +19,13 @@ public class ItemTplGeneratorLauncher
serviceCollection.AddSingleton<IReadOnlyList<SptMod>>([]);
var diHandler = new DependencyInjectionHandler(serviceCollection);
diHandler.AddInjectableTypesFromTypeAssembly(typeof(ItemTplGeneratorLauncher));
diHandler.AddInjectableTypesFromTypeAssembly(typeof(Program));
diHandler.AddInjectableTypesFromTypeAssembly(typeof(App));
diHandler.InjectAll();
var serviceProvider = serviceCollection.BuildServiceProvider();
serviceProvider.GetService<ItemTplGenerator>().Run().Wait();
await serviceProvider.GetService<Application>()?.Run()!;
}
catch (Exception e)
{
@@ -1,6 +1,6 @@
using System.Collections.ObjectModel;
namespace ItemTplGenerator;
namespace MongoIdTplGenerator.Utils;
public class ItemOverrides
{
@@ -0,0 +1,18 @@
using SPTarkov.Common.Extensions;
using SPTarkov.DI.Annotations;
namespace MongoIdTplGenerator.Utils;
[Injectable]
public class LocaleUtil
{
/// <summary>
/// Clear any non-alpha numeric characters, and fix multiple underscores
/// </summary>
/// <param name="enumKey">The enum key to sanitize</param>
/// <returns>The sanitized enum key</returns>
public string SanitizeEnumKey(string enumKey)
{
return enumKey.ToUpper().RegexReplace("[^A-Z0-9_]", "").RegexReplace("_+", "_");
}
}
@@ -0,0 +1,26 @@
using System.Collections.ObjectModel;
namespace MongoIdTplGenerator.Utils;
public class QuestOverrides
{
public static readonly ReadOnlyDictionary<string, string> NameOverridesDictionary = new(
new Dictionary<string, string>
{
// Bear duplicates
{ "5e381b0286f77420e3417a74", "TEXTILE_PART_1_BEAR" },
{ "5e4d4ac186f774264f758336", "TEXTILE_PART_2_BEAR" },
{ "6613f3007f6666d56807c929", "DRIP_OUT_PART_1_BEAR" },
{ "6613f307fca4f2f386029409", "DRIP_OUT_PART_2_BEAR" },
// Usec duplicates
{ "5e383a6386f77465910ce1f3", "TEXTILE_PART_1_USEC" },
{ "5e4d515e86f77438b2195244", "TEXTILE_PART_2_USEC" },
{ "66151401efb0539ae10875ae", "DRIP_OUT_PART_1_USEC" },
{ "6615141bfda04449120269a7", "DRIP_OUT_PART_2_USEC" },
// Generic duplicates
{ "6658a15615cbb1b2c6014d5b", "HUSTLE_2" },
{ "6744a9dfef61d56e020b5c4a", "BATTERY_CHANGE_2" },
{ "6745cbee909d2013670a4a55", "THE_PRICE_OF_INDEPENDENCE_2" },
}
);
}
@@ -3,7 +3,7 @@ using SPTarkov.Server.Core.Models.Logging;
using SPTarkov.Server.Core.Models.Spt.Logging;
using SPTarkov.Server.Core.Models.Utils;
namespace ItemTplGenerator;
namespace MongoIdTplGenerator.Utils;
[Injectable]
public class SptBasicLogger<T> : ISptLogger<T>
+1 -1
View File
@@ -18,7 +18,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{587959C2
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SPTarkov.DI", "Libraries\SPTarkov.DI\SPTarkov.DI.csproj", "{4B4AF50D-B2C6-47D1-B567-EA4560D8CBA1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ItemTplGenerator", "Tools\ItemTplGenerator\ItemTplGenerator.csproj", "{00897F10-1AB3-4DC7-8DF9-5EA1D0289ACF}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MongoIdTplGenerator", "Tools\MongoIdTplGenerator\MongoIdTplGenerator.csproj", "{00897F10-1AB3-4DC7-8DF9-5EA1D0289ACF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SPTarkov.Common", "Libraries\SPTarkov.Common\SPTarkov.Common.csproj", "{DB049C81-DEC0-490D-AC06-7AF4DC8C0571}"
EndProject