diff --git a/DumpCleaner/DumpFiles.cs b/DumpCleaner/DumpFiles.cs index 719fff5..bb6c250 100644 --- a/DumpCleaner/DumpFiles.cs +++ b/DumpCleaner/DumpFiles.cs @@ -28,6 +28,8 @@ new DumpData{InputName = "resp.client.locale.ch", OutputName = "ch", OutputFolder = "locales\\global"}, new DumpData{InputName = "resp.client.locale.ro", OutputName = "ro", OutputFolder = "locales\\global"}, + new DumpData{InputName = "resp.client.match.local.start", OutputName = "locations", OutputFolder = "locations", SpecialCase = true}, + new DumpData{InputName = "resp.client.menu.locale.en", OutputName = "en", OutputFolder = "locales\\menu"}, new DumpData{InputName = "resp.client.globals", OutputName = "globals", OutputFolder = ""}, diff --git a/DumpCleaner/LocationParser.cs b/DumpCleaner/LocationParser.cs index 03d5a91..2012287 100644 --- a/DumpCleaner/LocationParser.cs +++ b/DumpCleaner/LocationParser.cs @@ -1,4 +1,5 @@ using DumpCleaner; +using DumpCleaner.Models; using QuestValidator.Common; using QuestValidator.Common.Helpers; using System.Text.Json; @@ -6,13 +7,13 @@ using System.Text.Json.Nodes; public class LocationData { - public LocationData(Location location, Dump rawLocation) + public LocationData(Location location, object rawLocation) { Location = location; RawLocation = rawLocation; } public Location Location { get; set; } - public Dump RawLocation { get; set; } + public object RawLocation { get; set; } } public class LocationParser @@ -27,7 +28,8 @@ public class LocationParser internal void AddLocalLootDump(Dump dumpFile, string rawJson) { - var locationData = JsonSerializer.Deserialize(dumpFile.data.ToString()); + var localStart = JsonSerializer.Deserialize(dumpFile.data.ToString()); + var locationData = JsonSerializer.Deserialize(localStart.locationLoot.ToString()); var locationName = locationData.Id; // already parsed, skip @@ -43,11 +45,12 @@ public class LocationParser JsonNode? parsedJson = JsonNode.Parse(rawJson); var data = parsedJson["data"]; - data["Loot"] = new JsonArray(); + var locationLoot = data["locationLoot"]; + locationLoot["Loot"] = new JsonArray(); - var lootFreeJson = parsedJson.ToString(); + var lootFreeJson = locationLoot.ToString(); - locations.Add(locationName, new LocationData(locationData, JsonSerializer.Deserialize(lootFreeJson))); + locations.Add(locationName, new LocationData(locationData, JsonSerializer.Deserialize(locationLoot))); } internal void CreateLocationFile() @@ -60,7 +63,7 @@ public class LocationParser continue; } - JsonWriter.WriteJson(location.Value.RawLocation.data, $"{outputPath}/{location.Value.Location.Id.ToLower()}", Directory.GetCurrentDirectory(), "base"); + JsonWriter.WriteJson(location.Value.RawLocation, $"{outputPath}/{location.Value.Location.Id.ToLower()}", Directory.GetCurrentDirectory(), "base"); LoggingHelpers.LogToConsole($"Found map file: {location.Value.Location.Id} wrote file to output folder"); } } diff --git a/DumpCleaner/Models/Location.cs b/DumpCleaner/Models/Location.cs index d4c7d8f..72c9a35 100644 --- a/DumpCleaner/Models/Location.cs +++ b/DumpCleaner/Models/Location.cs @@ -79,4 +79,5 @@ public class Location public List Banners { get; set; } public bool GenerateLocalLootCache { get; set; } public List AirdropParameters { get; set; } + public bool ForceOnlineRaidInPVE { get; set; } } \ No newline at end of file diff --git a/DumpCleaner/Models/Trader.cs b/DumpCleaner/Models/Trader.cs index 9676ad4..e36428f 100644 --- a/DumpCleaner/Models/Trader.cs +++ b/DumpCleaner/Models/Trader.cs @@ -25,7 +25,10 @@ public class Trader public List loyaltyLevels { get; set; } public List sell_category { get; set; } public ItemsBuy items_buy { get; set; } + public bool isCanTransferItems { get; set; } public ItemsBuy items_buy_prohibited { get; set; } + public object prohibitedTransferableItems { get; set; } + public object transferableItems { get; set; } public int sell_modifier_for_prohibited_items { get; set; } } diff --git a/DumpCleaner/Program.cs b/DumpCleaner/Program.cs index 548fe1e..7cac8a5 100644 --- a/DumpCleaner/Program.cs +++ b/DumpCleaner/Program.cs @@ -46,7 +46,7 @@ locationParser.CreateLocationFile(); void HandleSpecialCase(DumpData names, Dump dumpFile, string rawJson) { - if (names.InputName == "resp.client.location.getLocalloot") + if (names.InputName == "resp.client.match.local.start") { locationParser.AddLocalLootDump(dumpFile, rawJson); @@ -98,7 +98,7 @@ void HandleTraderSettingsFile(DumpData names, Dump dumpFile) foreach (var trader in traders) { var traderData = JsonSerializer.Deserialize(trader.ToString()); - traderData.sell_category = TraderSellCategories.GetCategoriesByTraderId(traderData._id); + //traderData.sell_category = TraderSellCategories.GetCategoriesByTraderId(traderData._id); JsonWriter.WriteJson(traderData, $"{names.OutputFolder}/{traderData._id}", Directory.GetCurrentDirectory(), "base"); LoggingHelpers.LogToConsole($"Found trader file: {traderData._id} wrote file to output folder"); diff --git a/QuestValidator.Common/Helpers/QuestNames.cs b/QuestValidator.Common/Helpers/QuestNames.cs index 2038ebe..5463137 100644 --- a/QuestValidator.Common/Helpers/QuestNames.cs +++ b/QuestValidator.Common/Helpers/QuestNames.cs @@ -1,6 +1,8 @@ using QuestValidator.Common.Models; +using QuestValidator.Models.Other; using System.Collections.Generic; using System.IO; +using System.Reflection.Metadata; namespace QuestValidator.Common.Helpers { @@ -403,7 +405,67 @@ namespace QuestValidator.Common.Helpers { Quest.TheTarkovMystery, "6603fe74e773dcf3b0099f88"}, { Quest.DripOutP1, "6613f3007f6666d56807c929"}, { Quest.DripOutP2, "6613f307fca4f2f386029409" }, - { Quest.TestDriveP4, "6574e0dedc0d635f633a5805" } + { Quest.TestDriveP4, "6574e0dedc0d635f633a5805" }, + { Quest.Hustle2, "6658a15615cbb1b2c6014d5b" }, + + { Quest.EasyMoneyP1, "66058cb22cee99303f1ba067" }, + { Quest.EasyMoneyP2, "66058cb5ae4719735349b9e8" }, + { Quest.BalancingP1, "66058cb7c7f3584787181476" }, + { Quest.BalancingP2, "66058cb9e8e4f17985230805" }, + { Quest.Surprise, "66058cbb06ef1d50a60c1f46" }, + { Quest.CreateADistractionP1, "66058cbd9f59e625462acc8e" }, + { Quest.CreateADistractionP2, "66058cbf2f19c31a5a1337ec" }, + { Quest.ToGreatHeightsP1, "66058cc1da30b620a34e6e86" }, + { Quest.ToGreatHeightsP2, "66058cc208308761cf390993" }, + { Quest.ToGreatHeightsP3, "66058cc5bb83da7ba474aba9" }, + { Quest.ToGreatHeightsP4, "66058cc72cee99303f1ba069" }, + { Quest.ToGreatHeightsP5, "66058cc9ae4719735349b9ea" }, + { Quest.AKeyToSalvation, "6672ec2a2b6f3b71be794cc5" }, + + { Quest.ThirstyHounds, "665eeacf5d86b6c8aa03c79b"}, + { Quest.ThirstyBreadwinner, "665eec1f5e47a79f8605565a"}, + { Quest.ImportControl, "668bcccc167d507eb01a268b" }, + { Quest.DripOutP1Bear, "66151401efb0539ae10875ae"}, + { Quest.DripOutP2Bear, "6615141bfda04449120269a7" }, + { Quest.WhatsYourEvidence, "668bccf963acb16d63707043"}, + { Quest.CaughtRedHanded, "668bcd1b194be70f18427a00"}, + + { Quest.RisksOfSmallBusiness, "668bcd253e2c5f65cc64d7da"}, + { Quest.ProtectionOfInterests, "668bcd367eb38c3c4d58603c"}, + { Quest.TimeTested, "668bcd6c3e2c5f65cc64d7dc"}, + { Quest.WesternQualityStandards, "668bcd7459a35c28386482d0"}, + { Quest.HighCompetition, "668bf47c781d446fdc083711"}, + { Quest.BadFeeling, "66a1a806bd092031693a6e25" }, + { Quest.GunsmithSpecialOrder, "66a74c628410476dd65543be"}, + { Quest.GunConnoisseur, "66a75b44243a6548ff5e5ff9"}, + { Quest.CustomerCommunication, "66a77394243a6548ff5e601d"}, + { Quest.SupplyAndDemand, "66a78dada472ad7f845b71f7"} + //{ "665eec4a4dfc83b0ed0a9dca", "Thirsty - Delivery"}, + //{ "665eeca45d86b6c8aa03c79d", "Thirsty - Echo"}, + //{ "665eeca92f7aedcc900b0437", "Thirsty - Secrets"}, + //{ "66631489acf8442f8b05319f", "Friend Among Strangers"}, + //{ "6663148ca9290f9e0806cca1", "Immunity"}, + //{ "6663148ed7f171c4c20226c1", "Small Business - Part 1"}, + //{ "6663149196a9349baa021baa", "Small Business - Part 2"}, + //{ "66631493312343839d032d22", "Small Business - Part 3"}, + //{ "6663149cfd5ca9577902e037", "The Invisible Hand"}, + //{ "6663149f1d3ec95634095e75", "Circulate"}, + //{ "666314a1920800278d0f6746", "Special Offer"}, + //{ "666314a31cd52e3d040a2e76", "Combat Proven"}, + //{ "666314a50aa5c7436c00908a", "Old Patterns"}, + //{ "666314b0acf8442f8b0531a1", "Hell on Earth - Part 1"}, + //{ "666314b2a9290f9e0806cca3", "Hell on Earth - Part 2"}, + //{ "666314b4d7f171c4c20226c3", "The Good Times - Part 1"}, + //{ "666314b696a9349baa021bac", "Quality Standard"}, + //{ "666314b8312343839d032d24", "Airmail"}, + //{ "666314bafd5ca9577902e03a", "The Good Times - Part 2"}, + //{ "666314bc1d3ec95634095e77", "Minute of Fame"}, + //{ "666314bd920800278d0f6748", "Viewer"}, + //{ "666314bf1cd52e3d040a2e78", "Serious Allegations"}, + //{ "666314c10aa5c7436c00908c", "Camera, Action!"}, + //{ "666314c3acf8442f8b0531a3", "Proper Comeback"}, + //{ "666314c5a9290f9e0806cca5", "Key to the City"}, + //{ "6672d9def1c88688a707d042", "Establish Contact"} }; private static readonly Dictionary questNames = new Dictionary @@ -780,20 +842,20 @@ namespace QuestValidator.Common.Helpers { "64f5e20652fc01298e2c61e3", "Beyond The RedMeat P1"}, { "64f6aafd67e11a7c6206e0d0", "Beyond The RedMeat P2"}, { "64f731ab83cfca080a361e42", "Pets Wont Need It P1"}, - { "64f83bb69878a0569d6ecfbe", "Gunsmith P23"}, - { "64f83bcdde58fc437700d8fa", "Gunsmith P24"}, - { "64f83bd983cfca080a362c82", "Gunsmith P25"}, + { "64f83bb69878a0569d6ecfbe", "Gunsmith Part 23"}, + { "64f83bcdde58fc437700d8fa", "Gunsmith Part 24"}, + { "64f83bd983cfca080a362c82", "Gunsmith Part 25"}, { "655e427b64d09b4122018228", "The Punisher - Harvest - Event"}, { "657315df034d76585f032e01", "Shooting Cans"}, { "657315ddab5a49b71f098853", "First In Line"}, { "657315e270bb0b8dba00cc48", "Burning Rubber"}, { "657315e4a6af4ab4b50f3459", "Saving The Mole"}, - { "65733403eefc2c312a759ddb", "Developers Secrets P1" }, - { "6573382e557ff128bf3da536", "Developers Secrets P2" }, + { "65733403eefc2c312a759ddb", "Developers Secrets Part 1" }, + { "6573382e557ff128bf3da536", "Developers Secrets Part 2" }, { "657315e1dccd301f1301416a", "Luxurious Life"}, { "6572e876dc0d635f633a5714", "Pyramid Scheme" }, - { "6573387d0b26ed4fde798de3", "Pets Wont Need It P2" }, + { "6573387d0b26ed4fde798de3", "Pets Wont Need It Part 2" }, { "6573397ef3f8344c4575cd87", "Properties All Around" }, { "65734c186dc1e402c80dc19e", "Dandies" }, { "6578ec473dbd035d04531a8d", "Steady Signal" }, @@ -802,9 +864,68 @@ namespace QuestValidator.Common.Helpers { "658027799634223183395339", "No Swiping" }, { "65e85198e32da31f2b30978e", "Evil Spirits - Event" }, { "6603fe74e773dcf3b0099f88", "The Tarkov Mystery"}, - { "6613f3007f6666d56807c929", "DripOut P1" }, - { "6613f307fca4f2f386029409", "DripOut P2" }, - { "6574e0dedc0d635f633a5805", "Test Drive - Part 4"} + { "6613f3007f6666d56807c929", "Drip Out Part 1" }, + { "6613f307fca4f2f386029409", "Drip Out Part 2" }, + { "6574e0dedc0d635f633a5805", "Test Drive - Part 4"}, + { "6658a15615cbb1b2c6014d5b", "Hustle2" }, + + { "66058cb22cee99303f1ba067", "EasyMoney Part 1" }, + { "66058cb5ae4719735349b9e8", "EasyMoney Part 2" }, + { "66058cb7c7f3584787181476", "Balancing Part 1" }, + { "66058cb9e8e4f17985230805", "Balancing Part 2" }, + { "66058cbb06ef1d50a60c1f46", "Surprise" }, + { "66058cbd9f59e625462acc8e", "Create A Distraction Part 1" }, + { "66058cbf2f19c31a5a1337ec", "Create A Distraction Part 2" }, + { "66058cc1da30b620a34e6e86", "To Great Heights Part 1" }, + { "66058cc208308761cf390993", "To Great Heights Part 2" }, + { "66058cc5bb83da7ba474aba9", "To Great Heights Part 3" }, + { "66058cc72cee99303f1ba069", "To Great Heights Part 4" }, + { "66058cc9ae4719735349b9ea", "To Great Heights Part 5" }, + { "665eeacf5d86b6c8aa03c79b", "Thirsty - Hounds"}, + { "665eec1f5e47a79f8605565a", "Thirsty - Breadwinner"}, + { "665eec4a4dfc83b0ed0a9dca", "Thirsty - Delivery"}, + { "665eeca45d86b6c8aa03c79d", "Thirsty - Echo"}, + { "665eeca92f7aedcc900b0437", "Thirsty - Secrets"}, + { "66631489acf8442f8b05319f", "Friend Among Strangers"}, + { "6663148ca9290f9e0806cca1", "Immunity"}, + { "6663148ed7f171c4c20226c1", "Small Business - Part 1"}, + { "6663149196a9349baa021baa", "Small Business - Part 2"}, + { "66631493312343839d032d22", "Small Business - Part 3"}, + { "6663149cfd5ca9577902e037", "The Invisible Hand"}, + { "6663149f1d3ec95634095e75", "Circulate"}, + { "666314a1920800278d0f6746", "Special Offer"}, + { "666314a31cd52e3d040a2e76", "Combat Proven"}, + { "666314a50aa5c7436c00908a", "Old Patterns"}, + { "666314b0acf8442f8b0531a1", "Hell on Earth - Part 1"}, + { "666314b2a9290f9e0806cca3", "Hell on Earth - Part 2"}, + { "666314b4d7f171c4c20226c3", "The Good Times - Part 1"}, + { "666314b696a9349baa021bac", "Quality Standard"}, + { "666314b8312343839d032d24", "Airmail"}, + { "666314bafd5ca9577902e03a", "The Good Times - Part 2"}, + { "666314bc1d3ec95634095e77", "Minute of Fame"}, + { "666314bd920800278d0f6748", "Viewer"}, + { "666314bf1cd52e3d040a2e78", "Serious Allegations"}, + { "666314c10aa5c7436c00908c", "Camera, Action!"}, + { "666314c3acf8442f8b0531a3", "Proper Comeback"}, + { "666314c5a9290f9e0806cca5", "Key to the City"}, + { "6672d9def1c88688a707d042", "Establish Contact"}, + { "668bcccc167d507eb01a268b", "Import Control" }, + { "6672ec2a2b6f3b71be794cc5", "A Key to Salvation" }, + { "66151401efb0539ae10875ae", "Drip out - Part 1 BEAR"}, + { "6615141bfda04449120269a7", "Drip out - Part 2 BEAR"}, + { "668bccf963acb16d63707043", "Whats your evidence?"}, + { "668bcd1b194be70f18427a00", "Caught Red-Handed"}, + + { "668bcd253e2c5f65cc64d7da", "Risks Of Small Business - EVENT"}, + { "668bcd367eb38c3c4d58603c", "Protection Of Interests - EVENT"}, + { "668bcd6c3e2c5f65cc64d7dc", "Time Tested - EVENT"}, + { "668bcd7459a35c28386482d0","Western Quality Standards - EVENT"}, + { "668bf47c781d446fdc083711", "High Competition - EVENT"}, + { "66a1a806bd092031693a6e25", "Bad Feeling - EVENT" }, + { "66a74c628410476dd65543be", "Gunsmith Special Order - EVENT"}, + { "66a75b44243a6548ff5e5ff9", "Gun Connoisseur - EVENT"}, + { "66a77394243a6548ff5e601d", "Customer Communication - EVENT"}, + { "66a78dada472ad7f845b71f7", "Supply And Demand - EVENT"} }; public static string GetNameById(string id) { diff --git a/QuestValidator.Common/Helpers/QuestRequirements.cs b/QuestValidator.Common/Helpers/QuestRequirements.cs index 889f633..6ed11d9 100644 --- a/QuestValidator.Common/Helpers/QuestRequirements.cs +++ b/QuestValidator.Common/Helpers/QuestRequirements.cs @@ -55,758 +55,7 @@ namespace QuestValidator.Common.Helpers private static readonly Dictionary questWithPreceedingQuestDict = new Dictionary { - { Quest.Debut, GetQuestData(Quest.Debut) - .AddPrerequisiteQuest(Quest.ShootingCans, QuestStatus.Success)}, - { Quest.LuxuriousLife, GetQuestData(Quest.Debut) - .AddPrerequisiteQuest(Quest.Debut, QuestStatus.Success)}, - { Quest.Checking, GetQuestData(Quest.Checking) - .AddPrerequisiteQuest(Quest.Debut, QuestStatus.Success)}, - { Quest.ShootoutPicnic, GetQuestData(Quest.ShootoutPicnic) - .AddPrerequisiteQuest(Quest.Checking, QuestStatus.Success)}, - { Quest.DeliveryFromThePast, GetQuestData(Quest.DeliveryFromThePast) - .AddPrerequisiteQuest(Quest.Checking, QuestStatus.Success)}, - { Quest.BadRepEvidence, GetQuestData(Quest.BadRepEvidence) - .AddPrerequisiteQuest(Quest.BPDepot, QuestStatus.Success)}, - { Quest.IceCreamCones, GetQuestData(Quest.IceCreamCones) - .AddPrerequisiteQuest(Quest.BadRepEvidence, QuestStatus.Success)}, - { Quest.PostmanPatP1, GetQuestData(Quest.PostmanPatP1) - .AddPrerequisiteQuest(Quest.IceCreamCones, QuestStatus.Success)}, - { Quest.PostmanPatP2, GetQuestData(Quest.PostmanPatP2) - .AddPrerequisiteQuest(Quest.PostmanPatP1, QuestStatus.StartedSuccess)}, - { Quest.ShakingUpTeller, GetQuestData(Quest.ShakingUpTeller) - .AddPrerequisiteQuest(Quest.IceCreamCones, QuestStatus.Success)}, - { Quest.Shortage, GetQuestData(Quest.Shortage) - .AddPrerequisiteQuest(Quest.FirstInLine, QuestStatus.Success)}, - { Quest.SanitaryStandardsP1, GetQuestData(Quest.SanitaryStandardsP1) - .AddPrerequisiteQuest(Quest.Shortage, QuestStatus.Success)}, - { Quest.OperationAquarius, GetQuestData(Quest.OperationAquarius) - .AddPrerequisiteQuest(Quest.Shortage, QuestStatus.Success)}, - { Quest.OperationAquariusP2, GetQuestData(Quest.OperationAquariusP2) - .AddPrerequisiteQuest(Quest.OperationAquarius, QuestStatus.Success)}, - { Quest.Painkiller, GetQuestData(Quest.Painkiller) - .AddPrerequisiteQuest(Quest.SanitaryStandardsP2, QuestStatus.Success)}, - { Quest.Pharmacist, GetQuestData(Quest.Pharmacist) - .AddPrerequisiteQuest(Quest.Painkiller, QuestStatus.Success)}, - { Quest.SupplyPlans, GetQuestData(Quest.SupplyPlans) - .AddPrerequisiteQuest(Quest.Pharmacist, QuestStatus.Success)}, - { Quest.KindOfSabotage, GetQuestData(Quest.KindOfSabotage) - .AddPrerequisiteQuest(Quest.SupplyPlans, QuestStatus.Started)}, - { Quest.GeneralWares, GetQuestData(Quest.GeneralWares) - .AddPrerequisiteQuest(Quest.Pharmacist, QuestStatus.Success)}, - { Quest.SanitaryStandardsP2, GetQuestData(Quest.SanitaryStandardsP2) - .AddPrerequisiteQuest(Quest.SanitaryStandardsP1, QuestStatus.Success)}, - { Quest.CarRepair, GetQuestData(Quest.CarRepair) - .AddPrerequisiteQuest(Quest.Pharmacist, QuestStatus.Success)}, - { Quest.Supplier, GetQuestData(Quest.Supplier) - .AddPrerequisiteQuest(Quest.BurningRubber, QuestStatus.Success)}, - { Quest.TheExtortionist, GetQuestData(Quest.TheExtortionist) - .AddPrerequisiteQuest(Quest.Supplier, QuestStatus.Success)}, - { Quest.Stirrup, GetQuestData(Quest.Stirrup) - .RemovePrerequisiteQuest(Quest.TheExtortionist) - .AddPrerequisiteQuest(Quest.Supplier, QuestStatus.Success)}, - { Quest.WhatsOnTheFlashDrive, GetQuestData(Quest.WhatsOnTheFlashDrive) - .AddPrerequisiteQuest(Quest.TheExtortionist, QuestStatus.Success) }, - { Quest.GoldenSwag, GetQuestData(Quest.GoldenSwag) - .AddPrerequisiteQuest(Quest.WhatsOnTheFlashDrive, QuestStatus.Success) }, - { Quest.PolikhimHobo, GetQuestData(Quest.PolikhimHobo) - .AddPrerequisiteQuest(Quest.ChemicalP1, QuestStatus.Started) }, - { Quest.ChemicalP1, GetQuestData(Quest.ChemicalP1) - .AddPrerequisiteQuest(Quest.GoldenSwag, QuestStatus.Success) }, - { Quest.ChemicalP2, GetQuestData(Quest.ChemicalP2) - .AddPrerequisiteQuest(Quest.ChemicalP1, QuestStatus.Success) }, - { Quest.ChemicalP3, GetQuestData(Quest.ChemicalP3) - .AddPrerequisiteQuest(Quest.ChemicalP2, QuestStatus.Success) }, - { Quest.ChemicalP4, GetQuestData(Quest.ChemicalP4) - .AddPrerequisiteQuest(Quest.ChemicalP3, QuestStatus.Success) }, - { Quest.OutOfCuriosity, GetQuestData(Quest.OutOfCuriosity) - .AddPrerequisiteQuest(Quest.ChemicalP4, QuestStatus.Success) }, - { Quest.BigCustomer, GetQuestData(Quest.BigCustomer) - .AddPrerequisiteQuest(Quest.ChemicalP4, QuestStatus.Started) }, - { Quest.BPDepot, GetQuestData(Quest.BPDepot) - .AddPrerequisiteQuest(Quest.DeliveryFromThePast, QuestStatus.Success) }, - { Quest.ThePunisherP1, GetQuestData(Quest.ThePunisherP1) - .AddPrerequisiteQuest(Quest.ShakingUpTeller, QuestStatus.Success) }, - { Quest.ThePunisherP2, GetQuestData(Quest.ThePunisherP2) - .AddPrerequisiteQuest(Quest.ThePunisherP1, QuestStatus.Success) }, - { Quest.ThePunisherP3, GetQuestData(Quest.ThePunisherP3) - .AddPrerequisiteQuest(Quest.ThePunisherP2, QuestStatus.Success) }, - { Quest.ThePunisherP4, GetQuestData(Quest.ThePunisherP4) - .AddPrerequisiteQuest(Quest.ThePunisherP3, QuestStatus.Success) }, - { Quest.ThePunisherP5, GetQuestData(Quest.ThePunisherP5) - .AddPrerequisiteQuest(Quest.ThePunisherP4, QuestStatus.Success) }, - { Quest.ThePunisherP6, GetQuestData(Quest.ThePunisherP6) - .AddPrerequisiteQuest(Quest.ThePunisherP5, QuestStatus.Success) }, - { Quest.OurOwnLand, GetQuestData(Quest.OurOwnLand) - .AddPrerequisiteQuest(Quest.ThePunisherP5, QuestStatus.StartedSuccess) }, - { Quest.TrustRegain, GetQuestData(Quest.TrustRegain) - .AddPrerequisiteQuest(Quest.OutOfCuriosity, QuestStatus.Fail) }, - { Quest.LoyaltyBuyout, GetQuestData(Quest.LoyaltyBuyout) - .RemovePrerequisiteQuest(Quest.OutOfCuriosity) - .AddPrerequisiteQuest(Quest.ChemicalP4, QuestStatus.Fail) }, - { Quest.NoOffence, GetQuestData(Quest.NoOffence) - .AddPrerequisiteQuest(Quest.BigCustomer, QuestStatus.Fail) }, - { Quest.SpaTourP1, GetQuestData(Quest.SpaTourP1) - .AddPrerequisiteQuest(Quest.HumanitarianSupplies, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.FriendFromTheWestP2, QuestStatus.Success)}, - { Quest.SpaTourP2, GetQuestData(Quest.SpaTourP2) - .AddPrerequisiteQuest(Quest.SpaTourP1, QuestStatus.Success) }, - { Quest.SpaTourP3, GetQuestData(Quest.SpaTourP3) - .AddPrerequisiteQuest(Quest.SpaTourP2, QuestStatus.Success) }, - { Quest.SpaTourP4, GetQuestData(Quest.SpaTourP4) - .AddPrerequisiteQuest(Quest.SpaTourP3, QuestStatus.Success) }, - { Quest.SpaTourP5, GetQuestData(Quest.SpaTourP5) - .AddPrerequisiteQuest(Quest.SpaTourP4, QuestStatus.Success) }, - { Quest.SpaTourP6, GetQuestData(Quest.SpaTourP6) - .AddPrerequisiteQuest(Quest.SpaTourP5, QuestStatus.Success) }, - { Quest.SpaTourP7, GetQuestData(Quest.SpaTourP7) - .AddPrerequisiteQuest(Quest.SpaTourP6, QuestStatus.Success) }, - { Quest.FishingGear, GetQuestData(Quest.FishingGear) - .AddPrerequisiteQuest(Quest.FriendFromTheWestP1, QuestStatus.Success) }, - { Quest.TigrSafari, GetQuestData(Quest.TigrSafari) - .AddPrerequisiteQuest(Quest.FishingGear, QuestStatus.Success) }, - { Quest.ScrapMetal, GetQuestData(Quest.ScrapMetal) - .AddPrerequisiteQuest(Quest.TigrSafari, QuestStatus.Success) }, - { Quest.EagleEye, GetQuestData(Quest.EagleEye) - .AddPrerequisiteQuest(Quest.ScrapMetal, QuestStatus.Success) }, - { Quest.HumanitarianSupplies, GetQuestData(Quest.HumanitarianSupplies) - .AddPrerequisiteQuest(Quest.EagleEye, QuestStatus.Success) }, - { Quest.TheCultP1, GetQuestData(Quest.TheCultP1) - .AddPrerequisiteQuest(Quest.HumanitarianSupplies, QuestStatus.Success) - .RemovePrerequisiteQuest(Quest.EagleEye) - .AddPrerequisiteQuest(Quest.FriendFromTheWestP2, QuestStatus.Success)}, - { Quest.TheCultP2, GetQuestData(Quest.TheCultP2) - .AddPrerequisiteQuest(Quest.TheCultP1, QuestStatus.Success) }, - { Quest.CargoXP1, GetQuestData(Quest.CargoXP1) - .AddPrerequisiteQuest(Quest.SpaTourP7, QuestStatus.Success) }, - { Quest.CargoXP2, GetQuestData(Quest.CargoXP2) - .AddPrerequisiteQuest(Quest.CargoXP1, QuestStatus.Success) }, - { Quest.CargoXP3, GetQuestData(Quest.CargoXP3) - .AddPrerequisiteQuest(Quest.CargoXP2, QuestStatus.Success) }, - { Quest.CargoXP4, GetQuestData(Quest.CargoXP4) - .AddPrerequisiteQuest(Quest.CargoXP3, QuestStatus.Success) }, - { Quest.WetJobP1, GetQuestData(Quest.WetJobP1) - .AddPrerequisiteQuest(Quest.SpaTourP7, QuestStatus.Success) }, - { Quest.WetJobP2, GetQuestData(Quest.WetJobP2) - .AddPrerequisiteQuest(Quest.WetJobP1, QuestStatus.Success) }, - { Quest.WetJobP3, GetQuestData(Quest.WetJobP3) - .AddPrerequisiteQuest(Quest.WetJobP2, QuestStatus.Success) }, - { Quest.WetJobP4, GetQuestData(Quest.WetJobP4) - .AddPrerequisiteQuest(Quest.WetJobP3, QuestStatus.Success) }, - { Quest.WetJobP5, GetQuestData(Quest.WetJobP5) - .AddPrerequisiteQuest(Quest.WetJobP4, QuestStatus.Success) }, - { Quest.WetJobP6, GetQuestData(Quest.WetJobP6) - .AddPrerequisiteQuest(Quest.WetJobP5, QuestStatus.Success) }, - { Quest.FriendFromTheWestP1, GetQuestData(Quest.FriendFromTheWestP1) - .AddPrerequisiteQuest(Quest.Supplier, QuestStatus.Success) }, - { Quest.FriendFromTheWestP2, GetQuestData(Quest.FriendFromTheWestP2) - .AddPrerequisiteQuest(Quest.FriendFromTheWestP1, QuestStatus.Success) }, - { Quest.HippocraticOath, GetQuestData(Quest.HippocraticOath) - .AddPrerequisiteQuest(Quest.CarRepair, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.Stirrup, QuestStatus.Success)}, - { Quest.HealthCarePrivacyP1, GetQuestData(Quest.HealthCarePrivacyP1) - .AddPrerequisiteQuest(Quest.Pharmacist, QuestStatus.Success) }, - { Quest.HealthCarePrivacyP2, GetQuestData(Quest.HealthCarePrivacyP2) - .AddPrerequisiteQuest(Quest.HealthCarePrivacyP1, QuestStatus.Success) }, - { Quest.HealthCarePrivacyP3, GetQuestData(Quest.HealthCarePrivacyP3) - .AddPrerequisiteQuest(Quest.HealthCarePrivacyP2, QuestStatus.Success) }, - { Quest.HealthCarePrivacyP4, GetQuestData(Quest.HealthCarePrivacyP4) - .AddPrerequisiteQuest(Quest.HealthCarePrivacyP3, QuestStatus.Success) }, - { Quest.HealthCarePrivacyP5, GetQuestData(Quest.HealthCarePrivacyP5) - .AddPrerequisiteQuest(Quest.HealthCarePrivacyP4, QuestStatus.Success) }, - { Quest.GunsmithP1, GetQuestData(Quest.GunsmithP1) }, - { Quest.GunsmithP2, GetQuestData(Quest.GunsmithP2) - .AddPrerequisiteQuest(Quest.GunsmithP1, QuestStatus.Success) }, - { Quest.GunsmithP3, GetQuestData(Quest.GunsmithP3) - .AddPrerequisiteQuest(Quest.GunsmithP1, QuestStatus.Success) }, - { Quest.GunsmithP4, GetQuestData(Quest.GunsmithP4) - .AddPrerequisiteQuest(Quest.GunsmithP2, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.GunsmithP3, QuestStatus.Success) }, - { Quest.GunsmithP5, GetQuestData(Quest.GunsmithP5) - .AddPrerequisiteQuest(Quest.GunsmithP4, QuestStatus.Success) }, - { Quest.GunsmithP6, GetQuestData(Quest.GunsmithP6) - .AddPrerequisiteQuest(Quest.GunsmithP5, QuestStatus.Success) }, - { Quest.GunsmithP7, GetQuestData(Quest.GunsmithP7) - .AddPrerequisiteQuest(Quest.GunsmithP6, QuestStatus.Success) }, - { Quest.GunsmithP8, GetQuestData(Quest.GunsmithP8) - .RemovePrerequisiteQuest(Quest.GunsmithP6) - .AddPrerequisiteQuest(Quest.GunsmithP7, QuestStatus.Success) }, - { Quest.GunsmithP9, GetQuestData(Quest.GunsmithP9) - .AddPrerequisiteQuest(Quest.GunsmithP8, QuestStatus.Success) }, - { Quest.GunsmithP10, GetQuestData(Quest.GunsmithP10) - .AddPrerequisiteQuest(Quest.GunsmithP9, QuestStatus.Success) }, - { Quest.GunsmithP11, GetQuestData(Quest.GunsmithP11) - .AddPrerequisiteQuest(Quest.GunsmithP10, QuestStatus.Success) }, - { Quest.GunsmithP12, GetQuestData(Quest.GunsmithP12) - .AddPrerequisiteQuest(Quest.GunsmithP11, QuestStatus.Success) }, - { Quest.GunsmithP13, GetQuestData(Quest.GunsmithP13) - .AddPrerequisiteQuest(Quest.GunsmithP12, QuestStatus.Success) }, - { Quest.GunsmithP14, GetQuestData(Quest.GunsmithP14) - .AddPrerequisiteQuest(Quest.GunsmithP13, QuestStatus.Success) }, - { Quest.GunsmithP15, GetQuestData(Quest.GunsmithP15) - .AddPrerequisiteQuest(Quest.GunsmithP14, QuestStatus.Success) }, - { Quest.GunsmithP16, GetQuestData(Quest.GunsmithP16) - .AddPrerequisiteQuest(Quest.GunsmithP15, QuestStatus.Success) }, - { Quest.GunsmithP17, GetQuestData(Quest.GunsmithP17) - .AddPrerequisiteQuest(Quest.GunsmithP16, QuestStatus.Success) }, - { Quest.GunsmithP18, GetQuestData(Quest.GunsmithP18) - .AddPrerequisiteQuest(Quest.GunsmithP17, QuestStatus.Success) }, - { Quest.GunsmithP19, GetQuestData(Quest.GunsmithP19) - .AddPrerequisiteQuest(Quest.GunsmithP18, QuestStatus.Success) }, - { Quest.GunsmithP20, GetQuestData(Quest.GunsmithP20) - .AddPrerequisiteQuest(Quest.GunsmithP19, QuestStatus.Success) }, - { Quest.GunsmithP21, GetQuestData(Quest.GunsmithP21) - .AddPrerequisiteQuest(Quest.GunsmithP20, QuestStatus.Success) }, - { Quest.GunsmithP22, GetQuestData(Quest.GunsmithP22) - .AddPrerequisiteQuest(Quest.GunsmithP21, QuestStatus.Success) }, - { Quest.FarmingP1, GetQuestData(Quest.FarmingP1) - .AddPrerequisiteQuest(Quest.GunsmithP1, QuestStatus.Success) }, - { Quest.FarmingP2, GetQuestData(Quest.FarmingP2) - .AddPrerequisiteQuest(Quest.FarmingP1, QuestStatus.Success) }, - { Quest.FarmingP3, GetQuestData(Quest.FarmingP3) - .AddPrerequisiteQuest(Quest.FarmingP2, QuestStatus.Success) }, - { Quest.FarmingP4, GetQuestData(Quest.FarmingP4) - .AddPrerequisiteQuest(Quest.FarmingP3, QuestStatus.Success) }, - { Quest.SignalP1, GetQuestData(Quest.SignalP1) - .AddPrerequisiteQuest(Quest.GunsmithP2, QuestStatus.Success) }, - { Quest.SignalP2, GetQuestData(Quest.SignalP2) - .AddPrerequisiteQuest(Quest.SignalP1, QuestStatus.Success) }, - { Quest.SignalP3, GetQuestData(Quest.SignalP3) - .AddPrerequisiteQuest(Quest.SignalP2, QuestStatus.Success) }, - { Quest.SignalP4, GetQuestData(Quest.SignalP4) - .AddPrerequisiteQuest(Quest.SignalP3, QuestStatus.Success) }, - { Quest.BadHabit, GetQuestData(Quest.BadHabit) - .AddPrerequisiteQuest(Quest.FarmingP2, QuestStatus.Success) }, - { Quest.Scout, GetQuestData(Quest.Scout) - .AddPrerequisiteQuest(Quest.SignalP2, QuestStatus.Success) }, - { Quest.Insider, GetQuestData(Quest.Insider) - .AddPrerequisiteQuest(Quest.SignalP1, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.GunsmithP3, QuestStatus.Success) }, - { Quest.OnlyBusiness, GetQuestData(Quest.OnlyBusiness)}, - { Quest.MakeUltraGreatAgain, GetQuestData(Quest.MakeUltraGreatAgain) - .AddPrerequisiteQuest(Quest.OnlyBusiness, QuestStatus.Success) }, - { Quest.BigSale, GetQuestData(Quest.BigSale) - .AddPrerequisiteQuest(Quest.OnlyBusiness, QuestStatus.Success) }, - { Quest.DressedToKill, GetQuestData(Quest.DressedToKill) - .AddPrerequisiteQuest(Quest.TheBloodOfWarP1, QuestStatus.Success) }, - { Quest.DatabaseP1, GetQuestData(Quest.DatabaseP1) - .AddPrerequisiteQuest(Quest.MakeUltraGreatAgain, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.BigSale, QuestStatus.Success) }, - { Quest.DatabaseP2, GetQuestData(Quest.DatabaseP2) - .AddPrerequisiteQuest(Quest.DatabaseP1, QuestStatus.Success) }, - { Quest.SewItGoodP1, GetQuestData(Quest.SewItGoodP1) - .AddPrerequisiteQuest(Quest.DatabaseP2, QuestStatus.Success) }, - { Quest.SewItGoodP2, GetQuestData(Quest.SewItGoodP2) - .AddPrerequisiteQuest(Quest.SewItGoodP1, QuestStatus.Success) }, - { Quest.SewItGoodP3, GetQuestData(Quest.SewItGoodP3) - .AddPrerequisiteQuest(Quest.SewItGoodP2, QuestStatus.Success) }, - { Quest.SewItGoodP4, GetQuestData(Quest.SewItGoodP4) - .AddPrerequisiteQuest(Quest.SewItGoodP3, QuestStatus.Success) }, - { Quest.TheKeyToSuccess, GetQuestData(Quest.TheKeyToSuccess) - .AddPrerequisiteQuest(Quest.SewItGoodP2, QuestStatus.Success) }, - { Quest.CharismaBringsSuccess, GetQuestData(Quest.CharismaBringsSuccess) - .AddPrerequisiteQuest(Quest.SewItGoodP4, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.TheBloodOfWarP1, QuestStatus.Success) - }, - { Quest.NoFussNeeded, GetQuestData(Quest.NoFussNeeded) - .AddPrerequisiteQuest(Quest.TheKeyToSuccess, QuestStatus.Success) }, - { Quest.Gratitude, GetQuestData(Quest.Gratitude) - .AddPrerequisiteQuest(Quest.DressedToKill, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.DatabaseP2, QuestStatus.Success) }, - { Quest.SalesNight, GetQuestData(Quest.SalesNight) - .AddPrerequisiteQuest(Quest.Gratitude, QuestStatus.Success) }, - { Quest.Supervisor, GetQuestData(Quest.Supervisor) - .AddPrerequisiteQuest(Quest.SalesNight, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.TheKeyToSuccess, QuestStatus.Success)}, - { Quest.LivingHighIsNotACrimeP1, GetQuestData(Quest.LivingHighIsNotACrimeP1) - .AddPrerequisiteQuest(Quest.SewItGoodP3, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.TheBloodOfWarP1, QuestStatus.Success) - }, - { Quest.HotDelivery, GetQuestData(Quest.HotDelivery) - .AddPrerequisiteQuest(Quest.Gratitude, QuestStatus.Success) }, - { Quest.Minibus, GetQuestData(Quest.Minibus) - .AddPrerequisiteQuest(Quest.DatabaseP2, QuestStatus.Success) }, - { Quest.VitaminsP1, GetQuestData(Quest.VitaminsP1) - .AddPrerequisiteQuest(Quest.ChemicalP3, QuestStatus.Success) }, - { Quest.VitaminsP2, GetQuestData(Quest.VitaminsP2) - .AddPrerequisiteQuest(Quest.VitaminsP1, QuestStatus.Success) }, - { Quest.InformedMeansArmed, GetQuestData(Quest.InformedMeansArmed) - .AddPrerequisiteQuest(Quest.FriendFromTheWestP2, QuestStatus.Success) }, - { Quest.Chumming, GetQuestData(Quest.Chumming) - .AddPrerequisiteQuest(Quest.InformedMeansArmed, QuestStatus.Success) }, - { Quest.TheTarkovShooterP1, GetQuestData(Quest.TheTarkovShooterP1) - .RemovePrerequisiteQuest(Quest.TheSurvivalistPathUnprotectedButDangerous) - .AddPrerequisiteQuest(Quest.Acquaintance, QuestStatus.Success) }, - { Quest.TheTarkovShooterP2, GetQuestData(Quest.TheTarkovShooterP2) - .AddPrerequisiteQuest(Quest.TheTarkovShooterP1, QuestStatus.StartedSuccess) }, - { Quest.TheTarkovShooterP3, GetQuestData(Quest.TheTarkovShooterP3) - .AddPrerequisiteQuest(Quest.TheTarkovShooterP2, QuestStatus.Success) }, - { Quest.TheTarkovShooterP4, GetQuestData(Quest.TheTarkovShooterP4) - .AddPrerequisiteQuest(Quest.TheTarkovShooterP3, QuestStatus.Success) }, - { Quest.TheTarkovShooterP5, GetQuestData(Quest.TheTarkovShooterP5) - .AddPrerequisiteQuest(Quest.TheTarkovShooterP4, QuestStatus.Success) }, - { Quest.TheTarkovShooterP6, GetQuestData(Quest.TheTarkovShooterP6) - .AddPrerequisiteQuest(Quest.TheTarkovShooterP5, QuestStatus.Success) }, - { Quest.TheTarkovShooterP7, GetQuestData(Quest.TheTarkovShooterP7) - .AddPrerequisiteQuest(Quest.TheTarkovShooterP6, QuestStatus.Success) }, - { Quest.TheTarkovShooterP8, GetQuestData(Quest.TheTarkovShooterP8) - .AddPrerequisiteQuest(Quest.TheTarkovShooterP7, QuestStatus.Success) }, - { Quest.Bullshit, GetQuestData(Quest.Bullshit) - .AddPrerequisiteQuest(Quest.SilentCaliber, QuestStatus.Success) }, - { Quest.SilentCaliber, GetQuestData(Quest.SilentCaliber) - .AddPrerequisiteLevel(30) - .AddPrerequisiteQuest(Quest.Chumming, QuestStatus.Success) }, - { Quest.Insomnia, GetQuestData(Quest.Insomnia) - .AddPrerequisiteQuest(Quest.CargoXP4, QuestStatus.Success) }, - { Quest.TestDriveP1, GetQuestData(Quest.TestDriveP1) - .AddPrerequisiteQuest(Quest.Grenadier, QuestStatus.Success) }, - { Quest.Flint, GetQuestData(Quest.Flint) - .AddPrerequisiteQuest(Quest.Chumming, QuestStatus.Success) }, - { Quest.AShooterBornInHeaven, GetQuestData(Quest.AShooterBornInHeaven) - .AddPrerequisiteQuest(Quest.FarmingP3, QuestStatus.Success) }, - { Quest.PsychoSniper, GetQuestData(Quest.PsychoSniper) - .AddPrerequisiteQuest(Quest.WetJobP6, QuestStatus.Success) }, - { Quest.PrivateClinic, GetQuestData(Quest.PrivateClinic) - .AddPrerequisiteQuest(Quest.HealthCarePrivacyP4, QuestStatus.Success) }, - { Quest.Athlete, GetQuestData(Quest.Athlete) - .AddPrerequisiteQuest(Quest.HealthCarePrivacyP4, QuestStatus.Success) }, - { Quest.LendLeaseP1, GetQuestData(Quest.LendLeaseP1) - .AddPrerequisiteQuest(Quest.FriendFromTheWestP2, QuestStatus.Success) }, - { Quest.LendLeaseP2, GetQuestData(Quest.LendLeaseP2) - .AddPrerequisiteQuest(Quest.LendLeaseP1, QuestStatus.Success) }, - { Quest.Grenadier, GetQuestData(Quest.Grenadier) }, - { Quest.DecontaminationService, GetQuestData(Quest.DecontaminationService) - .AddPrerequisiteQuest(Quest.HealthCarePrivacyP5, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.PrivateClinic, QuestStatus.Success) }, - { Quest.PeacekeepingMission, GetQuestData(Quest.PeacekeepingMission) - .AddPrerequisiteQuest(Quest.LendLeaseP2, QuestStatus.Success) }, - { Quest.TheGuide, GetQuestData(Quest.TheGuide) - .AddPrerequisiteQuest(Quest.WetJobP6, QuestStatus.Success) }, - { Quest.TheBloodOfWarP1, GetQuestData(Quest.TheBloodOfWarP1) - .AddPrerequisiteQuest(Quest.MakeUltraGreatAgain, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.BigSale, QuestStatus.Success) }, - { Quest.TheBloodOfWarP2, GetQuestData(Quest.TheBloodOfWarP2) - .AddPrerequisiteQuest(Quest.TheBloodOfWarP1, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.SewItGoodP1, QuestStatus.Success) - }, - { Quest.TheBloodOfWarP3, GetQuestData(Quest.TheBloodOfWarP3) - .AddPrerequisiteQuest(Quest.TheBloodOfWarP2, QuestStatus.Success) }, - { Quest.Fertilizers, GetQuestData(Quest.Fertilizers) - .AddPrerequisiteQuest(Quest.FarmingP4, QuestStatus.Success) }, - { Quest.Scavenger, GetQuestData(Quest.Scavenger) - .AddPrerequisiteQuest(Quest.HotDelivery, QuestStatus.Success) }, - { Quest.LivingHighIsNotACrimeP2, GetQuestData(Quest.LivingHighIsNotACrimeP2) - .AddPrerequisiteQuest(Quest.TheBloodOfWarP3, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.LivingHighIsNotACrimeP1, QuestStatus.Success)}, - { Quest.Setup, GetQuestData(Quest.Setup) - .AddPrerequisiteQuest(Quest.Bullshit, QuestStatus.Success) }, - { Quest.PerfectMediator, GetQuestData(Quest.PerfectMediator) - .AddPrerequisiteQuest(Quest.ShakingUpTeller, QuestStatus.Success) }, - { Quest.Import, GetQuestData(Quest.Import) - .AddPrerequisiteQuest(Quest.FarmingP4, QuestStatus.Success) }, - { Quest.Introduction, GetQuestData(Quest.Introduction) - .AddPrerequisiteQuest(Quest.GunsmithP1, QuestStatus.Started)}, - { Quest.Acquaintance, GetQuestData(Quest.Acquaintance) - .AddPrerequisiteQuest(Quest.Introduction, QuestStatus.Success) }, - { Quest.TheSurvivalistPathUnprotectedButDangerous, GetQuestData(Quest.TheSurvivalistPathUnprotectedButDangerous) - .AddPrerequisiteQuest(Quest.Acquaintance, QuestStatus.Success) }, - { Quest.TheSurvivalistPathThrifty, GetQuestData(Quest.TheSurvivalistPathThrifty) - .AddPrerequisiteQuest(Quest.TheSurvivalistPathUnprotectedButDangerous, QuestStatus.Success) }, - { Quest.TheSurvivalistPathZhivchik, GetQuestData(Quest.TheSurvivalistPathZhivchik) - .AddPrerequisiteQuest(Quest.TheSurvivalistPathThrifty, QuestStatus.Success) }, - { Quest.TheSurvivalistPathWoundedBeast, GetQuestData(Quest.TheSurvivalistPathWoundedBeast) - .AddPrerequisiteQuest(Quest.TheSurvivalistPathZhivchik, QuestStatus.Success) }, - { Quest.TheSurvivalistPathToughGuy, GetQuestData(Quest.TheSurvivalistPathToughGuy) - .AddPrerequisiteQuest(Quest.TheSurvivalistPathWoundedBeast, QuestStatus.Success) }, - { Quest.TheSurvivalistPathColdBlooded, GetQuestData(Quest.TheSurvivalistPathColdBlooded) - .AddPrerequisiteQuest(Quest.TheSurvivalistPathWoundedBeast, QuestStatus.Success) }, - { Quest.TheSurvivalistPathEagleOwl, GetQuestData(Quest.TheSurvivalistPathEagleOwl) - .AddPrerequisiteQuest(Quest.TheSurvivalistPathToughGuy, QuestStatus.Success) }, - { Quest.TheSurvivalistPathCombatMedic, GetQuestData(Quest.TheSurvivalistPathCombatMedic) - .AddPrerequisiteQuest(Quest.TheSurvivalistPathEagleOwl, QuestStatus.Success) }, - { Quest.TheSurvivalistPathJunkie, GetQuestData(Quest.TheSurvivalistPathJunkie) - .RemovePrerequisiteQuest(Quest.TheSurvivalistPathColdBlooded) - .AddPrerequisiteQuest(Quest.TheSurvivalistPathCombatMedic, QuestStatus.Success) }, - { Quest.HuntsmanPathSecuredPerimeter, GetQuestData(Quest.HuntsmanPathSecuredPerimeter) - .AddPrerequisiteQuest(Quest.TheTarkovShooterP3, QuestStatus.Success) }, - { Quest.HuntsmanPathTheTrophy, GetQuestData(Quest.HuntsmanPathTheTrophy) - .AddPrerequisiteQuest(Quest.HuntsmanPathSecuredPerimeter, QuestStatus.Success) }, - { Quest.HuntsmanPathForestCleaning, GetQuestData(Quest.HuntsmanPathForestCleaning) - .AddPrerequisiteQuest(Quest.HuntsmanPathSecuredPerimeter, QuestStatus.Success) }, - { Quest.HuntsmanPathController, GetQuestData(Quest.HuntsmanPathController) - .AddPrerequisiteQuest(Quest.HuntsmanPathForestCleaning, QuestStatus.Success) }, - { Quest.HuntsmanPathSellOut, GetQuestData(Quest.HuntsmanPathSellOut) - .AddPrerequisiteQuest(Quest.HuntsmanPathForestCleaning, QuestStatus.Success) }, - { Quest.HuntsmanPathWoodsKeeper, GetQuestData(Quest.HuntsmanPathWoodsKeeper) - .AddPrerequisiteQuest(Quest.HuntsmanPathSecuredPerimeter, QuestStatus.Success) }, - { Quest.HuntsmanPathJustice, GetQuestData(Quest.HuntsmanPathJustice) - .AddPrerequisiteQuest(Quest.HuntsmanPathTheTrophy, QuestStatus.Success) }, - { Quest.HuntsmanPathEvilWatchman, GetQuestData(Quest.HuntsmanPathEvilWatchman) - .AddPrerequisiteQuest(Quest.HuntsmanPathForestCleaning, QuestStatus.Success) }, - { Quest.HuntsmanPathFactoryChief, GetQuestData(Quest.HuntsmanPathFactoryChief) - .AddPrerequisiteQuest(Quest.HuntsmanPathForestCleaning, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.Scout, QuestStatus.Success)}, - { Quest.HuntsmanPathEraserP1, GetQuestData(Quest.HuntsmanPathEraserP1) - .AddPrerequisiteQuest(Quest.PestControl, QuestStatus.Success) }, - { Quest.HuntsmanPathEraserP2, GetQuestData(Quest.HuntsmanPathEraserP2) - .AddPrerequisiteQuest(Quest.HuntsmanPathSecuredPerimeter, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.HuntsmanPathEraserP1, QuestStatus.Success) }, - { Quest.HuntsmanPathSadist, GetQuestData(Quest.HuntsmanPathSadist) - .AddPrerequisiteQuest(Quest.ColleaguesP2, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.RiggedGame, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.TheChemistryCloset, QuestStatus.Success) }, - { Quest.HuntsmanPathOutcasts, GetQuestData(Quest.HuntsmanPathOutcasts) - .AddPrerequisiteQuest(Quest.HuntsmanPathForestCleaning, QuestStatus.Success) }, - { Quest.HuntsmanPathRelentless, GetQuestData(Quest.HuntsmanPathRelentless) }, - { Quest.Ambulance, GetQuestData(Quest.Ambulance) - .AddPrerequisiteQuest(Quest.ShadyBusiness, QuestStatus.Success) }, - { Quest.CourtesyVisit, GetQuestData(Quest.CourtesyVisit) - .AddPrerequisiteQuest(Quest.TheSurvivalistPathToughGuy, QuestStatus.Success) }, - { Quest.ShadyBusiness, GetQuestData(Quest.ShadyBusiness) - .AddPrerequisiteQuest(Quest.WhatsOnTheFlashDrive, QuestStatus.Success) }, - { Quest.Nostalgia, GetQuestData(Quest.Nostalgia) - .AddPrerequisiteQuest(Quest.CourtesyVisit, QuestStatus.Success) }, - { Quest.FishingPlace, GetQuestData(Quest.FishingPlace) - .AddPrerequisiteQuest(Quest.Nostalgia, QuestStatus.Success) }, - { Quest.HuntingTrip, GetQuestData(Quest.HuntingTrip) - .AddPrerequisiteQuest(Quest.HuntsmanPathWoodsKeeper, QuestStatus.Success) }, - { Quest.Reserv, GetQuestData(Quest.Reserv) - .AddPrerequisiteQuest(Quest.TheDeliciousSausage, QuestStatus.Success) }, - { Quest.RegulatedMaterials, GetQuestData(Quest.RegulatedMaterials) - .AddPrerequisiteLevel(25) - .AddPrerequisiteQuest(Quest.PolikhimHobo, QuestStatus.Success) }, - { Quest.AnAppleADayKeepsTheDoctorAway, GetQuestData(Quest.AnAppleADayKeepsTheDoctorAway) - .AddPrerequisiteQuest(Quest.HealthCarePrivacyP4, QuestStatus.Success) }, - { Quest.Mentor, GetQuestData(Quest.Mentor) - .AddPrerequisiteQuest(Quest.WetJobP5, QuestStatus.Success) }, - { Quest.TheStylishOne, GetQuestData(Quest.TheStylishOne) - .AddPrerequisiteQuest(Quest.HuntsmanPathSellOut, QuestStatus.StartedSuccess) - .AddPrerequisiteQuest(Quest.TheKeyToSuccess, QuestStatus.Success) }, - { Quest.TextileP1Usec, GetQuestData(Quest.TextileP1Usec) - .RemovePrerequisiteLevel() - .AddPrerequisiteQuest(Quest.SewItGoodP4, QuestStatus.Success) }, - { Quest.TextileP2Usec, GetQuestData(Quest.TextileP2Usec) - .RemovePrerequisiteLevel() - .AddPrerequisiteQuest(Quest.TextileP1Usec, QuestStatus.Success) }, - { Quest.TextileP1Bear, GetQuestData(Quest.TextileP1Bear) - .RemovePrerequisiteLevel() - .AddPrerequisiteQuest(Quest.SewItGoodP4, QuestStatus.Success) }, - { Quest.TextileP2Bear, GetQuestData(Quest.TextileP2Bear) - .RemovePrerequisiteLevel() - .AddPrerequisiteQuest(Quest.TextileP1Bear, QuestStatus.Success) }, - { Quest.BunkerP1, GetQuestData(Quest.BunkerP1) - .AddPrerequisiteLevel(10) - .AddPrerequisiteQuest(Quest.BPDepot, QuestStatus.Success) }, - { Quest.BunkerP2, GetQuestData(Quest.BunkerP2) - .AddPrerequisiteLevel(11) - .AddPrerequisiteQuest(Quest.BunkerP1, QuestStatus.Success) }, - { Quest.Anesthesia, GetQuestData(Quest.Anesthesia) - .AddPrerequisiteLevel(21) - .AddPrerequisiteQuest(Quest.ShakingUpTeller, QuestStatus.Success) }, - { Quest.Samples, GetQuestData(Quest.Samples) - .AddPrerequisiteQuest(Quest.FriendFromTheWestP2, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.FishingGear, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.Anesthesia, QuestStatus.Success) - }, - { Quest.ColleaguesP1, GetQuestData(Quest.ColleaguesP1) - .AddPrerequisiteLevel(21) - .AddPrerequisiteQuest(Quest.GeneralWares, QuestStatus.Success) }, - { Quest.ColleaguesP2, GetQuestData(Quest.ColleaguesP2) - .AddPrerequisiteQuest(Quest.ColleaguesP1, QuestStatus.Success) }, - { Quest.ColleaguesP3, GetQuestData(Quest.ColleaguesP3) - .AddPrerequisiteQuest(Quest.HuntsmanPathSadist, QuestStatus.Started) }, - { Quest.RiggedGame, GetQuestData(Quest.RiggedGame) - .RemovePrerequisiteLevel() - .AddPrerequisiteQuest(Quest.Anesthesia, QuestStatus.Success) }, - { Quest.TerraGroupEmployee, GetQuestData(Quest.TerraGroupEmployee) - .AddPrerequisiteQuest(Quest.ColleaguesP3, QuestStatus.SuccessFail) - .AddPrerequisiteQuest(Quest.Samples, QuestStatus.Success) }, - { Quest.TheChemistryCloset, GetQuestData(Quest.TheChemistryCloset) - .AddPrerequisiteLevel(22) - .AddPrerequisiteQuest(Quest.Anesthesia, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.ColleaguesP1, QuestStatus.Success) - }, - { Quest.SearchMission, GetQuestData(Quest.SearchMission) - .AddPrerequisiteQuest(Quest.Debut, QuestStatus.Success) }, - { Quest.Hunter, GetQuestData(Quest.Hunter) - .AddPrerequisiteQuest(Quest.HuntsmanPathWoodsKeeper, QuestStatus.Success) - }, - { Quest.RevisionReserve, GetQuestData(Quest.RevisionReserve) - .RemovePrerequisiteQuest(Quest.EagleEye) - .AddPrerequisiteQuest(Quest.FriendFromTheWestP2, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.HumanitarianSupplies, QuestStatus.Success) - }, - { Quest.PestControl, GetQuestData(Quest.PestControl) - .AddPrerequisiteQuest(Quest.Reserv, QuestStatus.Success) }, - { Quest.BackDoor, GetQuestData(Quest.BackDoor) - .RemovePrerequisiteQuest(Quest.SurplusGoods) - .AddPrerequisiteQuest(Quest.Scout, QuestStatus.Success) }, - { Quest.SafeCorridor, GetQuestData(Quest.SafeCorridor) - .AddPrerequisiteLevel(15) - .AddPrerequisiteQuest(Quest.ChemicalP4, QuestStatus.Success) }, - { Quest.InventoryCheck, GetQuestData(Quest.InventoryCheck) - .AddPrerequisiteLevel(15) - .AddPrerequisiteQuest(Quest.FuelMatter, QuestStatus.Success) }, - { Quest.FuelMatter, GetQuestData(Quest.FuelMatter) - .AddPrerequisiteLevel(15) - .AddPrerequisiteQuest(Quest.TheBloodOfWarP1, QuestStatus.Success) }, - { Quest.DiseaseHistory, GetQuestData(Quest.DiseaseHistory) - .AddPrerequisiteQuest(Quest.Pharmacist, QuestStatus.Success) }, - { Quest.Documents, GetQuestData(Quest.Documents) - .AddPrerequisiteQuest(Quest.NoPlaceForRenegades, QuestStatus.Success) - .RemovePrerequisiteQuest(Quest.IceCreamCones) }, - { Quest.SurplusGoods, GetQuestData(Quest.SurplusGoods) - .AddPrerequisiteQuest(Quest.BackDoor, QuestStatus.Success) }, - { Quest.ClassifiedTechnologies, GetQuestData(Quest.ClassifiedTechnologies) - .AddPrerequisiteQuest(Quest.RevisionReserve, QuestStatus.Success) }, - { Quest.LongLine, GetQuestData(Quest.LongLine) - .AddPrerequisiteLevel(45) - .AddPrerequisiteQuest(Quest.Supervisor, QuestStatus.Success) }, - { Quest.Booze, GetQuestData(Quest.Booze) - .AddPrerequisiteQuest(Quest.LongLine, QuestStatus.Success) }, - { Quest.SwiftOne, GetQuestData(Quest.SwiftOne) - .AddPrerequisiteQuest(Quest.HuntsmanPathSadist, QuestStatus.Success) }, - { Quest.TheChoice, GetQuestData(Quest.TheChoice) - .AddPrerequisiteLevel(50) - .AddPrerequisiteQuest(Quest.ThePunisherP6, QuestStatus.Success) }, - { Quest.EasyJobPart1, GetQuestData(Quest.EasyJobPart1) - .AddPrerequisiteQuest(Quest.ThePunisherP2, QuestStatus.Success) }, - { Quest.EasyJobPart2, GetQuestData(Quest.EasyJobPart2) - .AddPrerequisiteQuest(Quest.EasyJobPart1, QuestStatus.Success) }, - { Quest.SeasideVacation, GetQuestData(Quest.SeasideVacation) - .AddPrerequisiteLevel(17) - .AddPrerequisiteQuest(Quest.DiseaseHistory, QuestStatus.StartedSuccess) - .RemovePrerequisiteQuest(Quest.Pharmacist) }, - { Quest.LostContact, GetQuestData(Quest.LostContact) - .AddPrerequisiteQuest(Quest.HealthCarePrivacyP2, QuestStatus.Success) }, - { Quest.RevisionLighthouse, GetQuestData(Quest.RevisionLighthouse) - .AddPrerequisiteQuest(Quest.RevisionReserve, QuestStatus.StartedSuccess) - .RemovePrerequisiteQuest(Quest.EagleEye) }, - { Quest.TheHermit, GetQuestData(Quest.TheHermit) - .AddPrerequisiteQuest(Quest.CourtesyVisit, QuestStatus.StartedSuccess)}, - { Quest.LongRoad, GetQuestData(Quest.LongRoad) - .AddPrerequisiteLevel(20) - .AddPrerequisiteQuest(Quest.FriendFromTheWestP2, QuestStatus.Success) }, - { Quest.MissingCargo, GetQuestData(Quest.MissingCargo) - .AddPrerequisiteQuest(Quest.LongRoad, QuestStatus.Success) }, - { Quest.Counteraction, GetQuestData(Quest.Counteraction) - .AddPrerequisiteQuest(Quest.SpaTourP3, QuestStatus.Success) }, - { Quest.Overpopulation, GetQuestData(Quest.Overpopulation) - .AddPrerequisiteQuest(Quest.SpaTourP1, QuestStatus.Success) }, - //{ Quest.CommunicationDifficulties, GetQuestData(Quest.CommunicationDifficulties).AddPrerequisiteQuest(Quest.MakeUltraGreatAgain, QuestStatus.Success) }, - { Quest.EnergyCrisis, GetQuestData(Quest.EnergyCrisis) - .AddPrerequisiteLevel(25) - .AddPrerequisiteQuest(Quest.FarmingP4, QuestStatus.StartedSuccess) - .RemovePrerequisiteQuest(Quest.PostmanPatP2) }, - { Quest.CorporateSecrets, GetQuestData(Quest.CorporateSecrets) - .AddPrerequisiteLevel(17) - .AddPrerequisiteQuest(Quest.FarmingP3, QuestStatus.Success) }, - { Quest.NightSweep, GetQuestData(Quest.NightSweep) - .AddPrerequisiteQuest(Quest.RiggedGame, QuestStatus.Success) }, - { Quest.NoPlaceForRenegades, GetQuestData(Quest.NoPlaceForRenegades) - .AddPrerequisiteQuest(Quest.BunkerP2, QuestStatus.Success) - .RemovePrerequisiteQuest(Quest.IceCreamCones) }, - { Quest.Escort, GetQuestData(Quest.Escort) - .AddPrerequisiteLevel(60) - .AddPrerequisiteQuest(Quest.ThePunisherP6, QuestStatus.Success) }, - { Quest.CapturingOutposts, GetQuestData(Quest.CapturingOutposts) - .AddPrerequisiteLevel(42) - .AddPrerequisiteQuest(Quest.ThePunisherP6, QuestStatus.Success) }, - { Quest.Intimidator, GetQuestData(Quest.Intimidator) - .AddPrerequisiteLevel(45) - .AddPrerequisiteQuest(Quest.ThePunisherP6, QuestStatus.Success) }, - // The wiki says Crisis only depends on level 48, but the dump says both - // Live dump shows level 48 + athlete - { Quest.Crisis, GetQuestData(Quest.Crisis) - .AddPrerequisiteLevel(48) - .AddPrerequisiteQuest(Quest.Athlete, QuestStatus.Success) }, - { Quest.TheCleaner, GetQuestData(Quest.TheCleaner) - .AddPrerequisiteLevel(45) - .AddPrerequisiteQuest(Quest.TheGuide, QuestStatus.Success) }, - { Quest.Calibration, GetQuestData(Quest.Calibration) - .AddPrerequisiteLevel(47) - .AddPrerequisiteQuest(Quest.TheChemistryCloset, QuestStatus.Success)}, - { Quest.CompensationForDamageTrust, GetQuestData(Quest.CompensationForDamageTrust) }, - { Quest.CompensationForDamageWager, GetQuestData(Quest.CompensationForDamageWager) }, - { Quest.CompensationForDamageWergild, GetQuestData(Quest.CompensationForDamageWergild) }, - { Quest.CompensationForDamageCollection, GetQuestData(Quest.CompensationForDamageCollection) }, - { Quest.CompensationForDamageBarkeep, GetQuestData(Quest.CompensationForDamageBarkeep) }, - { Quest.DrugTrafficking, GetQuestData(Quest.DrugTrafficking) - .AddPrerequisiteQuest(Quest.LostContact, QuestStatus.Success)}, - { Quest.Reconnaissance, GetQuestData(Quest.Reconnaissance) - .AddPrerequisiteQuest(Quest.EasyJobPart1, QuestStatus.Success)}, - { Quest.TopSecret, GetQuestData(Quest.TopSecret) - .AddPrerequisiteQuest(Quest.MissingCargo, QuestStatus.Success)}, - { Quest.BroadcastPart1, GetQuestData(Quest.BroadcastPart1) - .AddPrerequisiteQuest(Quest.FarmingP2, QuestStatus.Success)}, - { Quest.StrayDogs, GetQuestData(Quest.StrayDogs) - .AddPrerequisiteQuest(Quest.HuntsmanPathTheTrophy, QuestStatus.Success)}, - { Quest.Trophies, GetQuestData(Quest.Trophies) - .AddPrerequisiteLevel(55) - .AddPrerequisiteQuest(Quest.HuntsmanPathForestCleaning, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.FishingGear, QuestStatus.Success) - }, - { Quest.SpecialEquipment, GetQuestData(Quest.SpecialEquipment) - .AddPrerequisiteLevel(60) - .AddPrerequisiteQuest(Quest.Trophies, QuestStatus.Success)}, - { Quest.TheCourier, GetQuestData(Quest.TheCourier) - .AddPrerequisiteLevel(52) - .AddPrerequisiteQuest(Quest.Calibration, QuestStatus.Success)}, - { Quest.EventLetters, GetQuestData(Quest.EventLetters) }, - { Quest.TheDeliciousSausage, GetQuestData(Quest.TheDeliciousSausage) - .AddPrerequisiteQuest(Quest.TheSurvivalistPathThrifty, QuestStatus.Success)}, - { Quest.TestDriveP2, GetQuestData(Quest.TestDriveP2) - .AddPrerequisiteQuest(Quest.TestDriveP1, QuestStatus.Success)}, - { Quest.PopulationCensus, GetQuestData(Quest.PopulationCensus) - .AddPrerequisiteQuest(Quest.Pharmacist, QuestStatus.Success)}, - { Quest.UrbanMedicine, GetQuestData(Quest.UrbanMedicine) - .AddPrerequisiteQuest(Quest.PopulationCensus, QuestStatus.Success)}, - { Quest.HouseArrestPart1, GetQuestData(Quest.HouseArrestPart1) - .AddPrerequisiteQuest(Quest.Debtor, QuestStatus.Success)}, - { Quest.HouseArrestPart2, GetQuestData(Quest.HouseArrestPart2) - .AddPrerequisiteQuest(Quest.HouseArrestPart1, QuestStatus.Success)}, - { Quest.Audiophile, GetQuestData(Quest.Audiophile) - .AddPrerequisiteQuest(Quest.BalletLover, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.Minibus, QuestStatus.Success) }, - { Quest.GloryToCPSUP1, GetQuestData(Quest.GloryToCPSUP1) - .AddPrerequisiteQuest(Quest.YouveGotMail, QuestStatus.Success)}, - { Quest.BalletLover, GetQuestData(Quest.BalletLover) - .AddPrerequisiteQuest(Quest.Audit, QuestStatus.Success)}, - { Quest.YouveGotMail, GetQuestData(Quest.YouveGotMail) - .AddPrerequisiteQuest(Quest.PostmanPatP1, QuestStatus.Success)}, - { Quest.YourCarNeedsAService, GetQuestData(Quest.YourCarNeedsAService) - .AddPrerequisiteQuest(Quest.CargoXP4, QuestStatus.Success)}, - { Quest.Audit, GetQuestData(Quest.Audit) - .AddPrerequisiteQuest(Quest.OnlyBusiness, QuestStatus.Success)}, - { Quest.BroadcastPart3, GetQuestData(Quest.BroadcastPart3) - .AddPrerequisiteQuest(Quest.BroadcastPart2, QuestStatus.Success)}, - { Quest.Debtor, GetQuestData(Quest.Debtor) - .AddPrerequisiteQuest(Quest.Chumming, QuestStatus.Success)}, - { Quest.BroadcastPart2, GetQuestData(Quest.BroadcastPart2) - .AddPrerequisiteQuest(Quest.BroadcastPart1, QuestStatus.Success)}, - { Quest.CeaseFire, GetQuestData(Quest.CeaseFire) - .AddPrerequisiteQuest(Quest.TheDeliciousSausage, QuestStatus.Success)}, - { Quest.KingsOfTheRooftops, GetQuestData(Quest.KingsOfTheRooftops) - .AddPrerequisiteQuest(Quest.ThePunisherP4, QuestStatus.Success)}, - { Quest.WatchingYou, GetQuestData(Quest.WatchingYou) - .AddPrerequisiteQuest(Quest.BroadcastPart2, QuestStatus.Success)}, - { Quest.HarleyForever, GetQuestData(Quest.HarleyForever) - .AddPrerequisiteQuest(Quest.Audiophile, QuestStatus.Success)}, - { Quest.TheHuntsmanPathAdministrator, GetQuestData(Quest.TheHuntsmanPathAdministrator) - .AddPrerequisiteQuest(Quest.HuntsmanPathForestCleaning, QuestStatus.Success) }, - { Quest.GreenCorridor, GetQuestData(Quest.GreenCorridor) - .AddPrerequisiteLevel(20) - .AddPrerequisiteQuest(Quest.SpaTourP7, QuestStatus.Success)}, - { Quest.RevisionStreetsOfTarkov, GetQuestData(Quest.RevisionStreetsOfTarkov) - .AddPrerequisiteQuest(Quest.RevisionReserve, QuestStatus.Success) }, - { Quest.Surveillance, GetQuestData(Quest.Surveillance) - .AddPrerequisiteQuest(Quest.BroadcastPart2, QuestStatus.Success) }, - { Quest.CocktailTasting, GetQuestData(Quest.CocktailTasting)}, - { Quest.NetworkProviderPart1, GetQuestData(Quest.NetworkProviderPart1) - .AddPrerequisiteQuest(Quest.ThePunisherP5, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.Bullshit, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.HouseArrestPart1, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.CargoXP4, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.PeacekeepingMission, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.LivingHighIsNotACrimeP2, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.TheBloodOfWarP3, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.GunsmithP15, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.BroadcastPart2, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.DecontaminationService, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.DrugTrafficking, QuestStatus.Success) }, - { Quest.NetworkProviderPart2, GetQuestData(Quest.NetworkProviderPart2) - .AddPrerequisiteQuest(Quest.NetworkProviderPart1, QuestStatus.Success)}, - { Quest.Bloodhounds, GetQuestData(Quest.Bloodhounds)}, - { Quest.Hint, GetQuestData(Quest.Hint)}, - { Quest.ImportantPatient, GetQuestData(Quest.ImportantPatient)}, - { Quest.AssessmentPart1, GetQuestData(Quest.AssessmentPart1) - .AddPrerequisiteQuest(Quest.NetworkProviderPart2, QuestStatus.Success)}, - // { Quest.AssessmentPart2, GetQuestData(Quest.AssessmentPart2) - // .AddPrerequisiteQuest(Quest., QuestStatus.Success)}, // NO DATA YET - // { Quest.AssessmentPart3, GetQuestData(Quest.AssessmentPart3) - // .AddPrerequisiteQuest(Quest., QuestStatus.Success)}, // NO DATA YET - // { Quest.KeyToTheTower, GetQuestData(Quest.KeyToTheTower) - // .AddPrerequisiteQuest(Quest., QuestStatus.Success)}, // NO DATA YET - { Quest.KnockKnock, GetQuestData(Quest.KnockKnock) - .AddPrerequisiteQuest(Quest.KeyToTheTower, QuestStatus.Success)}, - { Quest.GettingAcquainted, GetQuestData(Quest.GettingAcquainted) - .AddPrerequisiteQuest(Quest.KnockKnock, QuestStatus.Success)}, - // { Quest.MakeAmendsBuyout, GetQuestData(Quest.MakeAmendsBuyout) - // .AddPrerequisiteQuest(Quest., QuestStatus.Success)},// NO DATA YET - // { Quest.MakeAmendsEquipment, GetQuestData(Quest.MakeAmendsEquipment) - // .AddPrerequisiteQuest(Quest., QuestStatus.Success)},// NO DATA YET - // { Quest.MakeAmendsSecurity, GetQuestData(Quest.MakeAmendsSecurity) - // .AddPrerequisiteQuest(Quest., QuestStatus.Success)},// NO DATA YET - // { Quest.MakeAmendsSoftware, GetQuestData(Quest.MakeAmendsSoftware) - // .AddPrerequisiteQuest(Quest., QuestStatus.Success)},// NO DATA YET - // { Quest.MakeAmendsQuarantine, GetQuestData(Quest.MakeAmendsQuarantine) - // .AddPrerequisiteQuest(Quest., QuestStatus.Success)},// NO DATA YET - // { Quest.HomeComfort, GetQuestData(Quest.HomeComfort) - // .AddPrerequisiteQuest(Quest., QuestStatus.Success)},// NO DATA YET - { Quest.Slaughterhouse, GetQuestData(Quest.Slaughterhouse) - .AddPrerequisiteQuest(Quest.TheHuntsmanPathAdministrator, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.BroadcastPart4, QuestStatus.Success)}, - { Quest.DangerousRoad, GetQuestData(Quest.DangerousRoad) - .AddPrerequisiteQuest(Quest.SupplyPlans, QuestStatus.SuccessFail)}, - { Quest.WorstJobInTheWorld, GetQuestData(Quest.WorstJobInTheWorld) - .AddPrerequisiteQuest(Quest.RevisionStreetsOfTarkov, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.WetJobP5, QuestStatus.Success)}, - { Quest.BestJobInTheWorld, GetQuestData(Quest.BestJobInTheWorld) - .AddPrerequisiteQuest(Quest.ThePunisherP6, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.KingsOfTheRooftops, QuestStatus.Success)}, - { Quest.BroadcastPart4, GetQuestData(Quest.BroadcastPart4) - .AddPrerequisiteQuest(Quest.BroadcastPart3, QuestStatus.Success)}, - { Quest.RoadClosed, GetQuestData(Quest.RoadClosed) - .AddPrerequisiteQuest(Quest.SpaTourP7, QuestStatus.Success)}, - // { Quest.MakeAmends, GetQuestData(Quest.MakeAmends) - // .AddPrerequisiteQuest(Quest., QuestStatus.Success)}// NO DATA YET - { Quest.InformationSource, GetQuestData(Quest.InformationSource) - .AddPrerequisiteQuest(Quest.KnockKnock, QuestStatus.Success)}, - { Quest.MissingInformant, GetQuestData(Quest.MissingInformant) - .AddPrerequisiteQuest(Quest.InformationSource, QuestStatus.Success)}, - { Quest.Snatch, GetQuestData(Quest.Snatch) - .AddPrerequisiteQuest(Quest.MissingInformant, QuestStatus.Success)}, - // { Quest.Payback, GetQuestData(Quest.Payback) - // .AddPrerequisiteQuest(Quest., QuestStatus.Success)}, - { Quest.ReturnTheFavor, GetQuestData(Quest.ReturnTheFavor) - .AddPrerequisiteQuest(Quest.Snatch, QuestStatus.Success)}, - // { Quest.Provocation, GetQuestData(Quest.Provocation) - // .AddPrerequisiteQuest(Quest., QuestStatus.Success)}, - // { Quest.FollowingTheBreadCrumbs, GetQuestData(Quest.FollowingTheBreadCrumbs) - // .AddPrerequisiteQuest(Quest., QuestStatus.Success)}, - // { Quest.Spotter, GetQuestData(Quest.Spotter) - // .AddPrerequisiteQuest(Quest., QuestStatus.Success)}, - // { Quest.MakeAnImpression, GetQuestData(Quest.MakeAnImpression) - // .AddPrerequisiteQuest(Quest., QuestStatus.Success)}, - { Quest.TroubleInTheBigCity, GetQuestData(Quest.TroubleInTheBigCity) - .AddPrerequisiteQuest(Quest.MakeAnImpression, QuestStatus.Success)}, - { Quest.Tourist, GetQuestData(Quest.Tourist)}, - { Quest.Hustle, GetQuestData(Quest.Hustle)}, - { Quest.FailedSetup, GetQuestData(Quest.FailedSetup)}, - { Quest.TerraGroupTrailP2, GetQuestData(Quest.TerraGroupTrailP2).AddPrerequisiteQuest(Quest.TerraGroupTrailP1, QuestStatus.Success)}, - { Quest.TerraGroupTrailP3, GetQuestData(Quest.TerraGroupTrailP3).AddPrerequisiteQuest(Quest.TerraGroupTrailP2, QuestStatus.Success)}, - { Quest.TerraGroupTrailP4, GetQuestData(Quest.TerraGroupTrailP4).AddPrerequisiteQuest(Quest.TerraGroupTrailP3, QuestStatus.Success)}, - { Quest.TerraGroupTrailP5, GetQuestData(Quest.TerraGroupTrailP5).AddPrerequisiteQuest(Quest.TerraGroupTrailP4, QuestStatus.Success)}, - { Quest.TerraGroupTrailP6, GetQuestData(Quest.TerraGroupTrailP6).AddPrerequisiteQuest(Quest.TerraGroupTrailP5, QuestStatus.Success)}, - { Quest.TerraGroupTrailP7, GetQuestData(Quest.TerraGroupTrailP7).AddPrerequisiteQuest(Quest.TerraGroupTrailP6, QuestStatus.Success)}, - { Quest.TerraGroupTrailP8, GetQuestData(Quest.TerraGroupTrailP8).AddPrerequisiteQuest(Quest.TerraGroupTrailP7, QuestStatus.Started)}, - { Quest.TerraGroupTrailP9, GetQuestData(Quest.TerraGroupTrailP9).AddPrerequisiteQuest(Quest.TerraGroupTrailP8, QuestStatus.Success)}, - { Quest.TerraGroupTrailP10, GetQuestData(Quest.TerraGroupTrailP10).AddPrerequisiteQuest(Quest.TerraGroupTrailP9, QuestStatus.Success)}, - { Quest.TerraGroupTrailP11, GetQuestData(Quest.TerraGroupTrailP11).AddPrerequisiteQuest(Quest.TerraGroupTrailP6, QuestStatus.Success)}, - { Quest.TerraGroupTrailP12, GetQuestData(Quest.TerraGroupTrailP12).AddPrerequisiteQuest(Quest.TerraGroupTrailP11, QuestStatus.Success)}, - { Quest.TerraGroupTrailP13, GetQuestData(Quest.TerraGroupTrailP13).AddPrerequisiteQuest(Quest.TerraGroupTrailP12, QuestStatus.Success)}, - { Quest.TerraGroupTrailP14, GetQuestData(Quest.TerraGroupTrailP14).AddPrerequisiteQuest(Quest.TerraGroupTrailP6, QuestStatus.Success)}, - { Quest.TerraGroupTrailP15, GetQuestData(Quest.TerraGroupTrailP15) - .AddPrerequisiteQuest(Quest.TerraGroupTrailP14, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.TerraGroupTrailP10, QuestStatus.Success)}, - { Quest.TerraGroupTrailP16, GetQuestData(Quest.TerraGroupTrailP16).AddPrerequisiteQuest(Quest.TerraGroupTrailP15, QuestStatus.Success)}, - { Quest.TerraGroupTrailP17, GetQuestData(Quest.TerraGroupTrailP17).AddPrerequisiteQuest(Quest.TerraGroupTrailP15, QuestStatus.Success)}, - { Quest.TerraGroupTrailP18, GetQuestData(Quest.TerraGroupTrailP18).AddPrerequisiteQuest(Quest.TerraGroupTrailP15, QuestStatus.Success)}, - { Quest.TerraGroupTrailP19, GetQuestData(Quest.TerraGroupTrailP19) - .AddPrerequisiteQuest(Quest.TerraGroupTrailP16, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.TerraGroupTrailP17, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.TerraGroupTrailP18, QuestStatus.Success)}, - - { Quest.ThePunisherHarvest, GetQuestData(Quest.ThePunisherHarvest) }, + // Collector requires a large amount of requisite tasks, so it's at the end { Quest.Collector, GetQuestData(Quest.Collector) .AddPrerequisiteQuest(Quest.Athlete, QuestStatus.Success) diff --git a/QuestValidator.Common/Models/Quest.cs b/QuestValidator.Common/Models/Quest.cs index 7b43d63..f9e3fa8 100644 --- a/QuestValidator.Common/Models/Quest.cs +++ b/QuestValidator.Common/Models/Quest.cs @@ -398,6 +398,37 @@ TheTarkovMystery = 393, DripOutP1 = 394, DripOutP2 = 395, - TestDriveP4 = 396 + TestDriveP4 = 396, + Hustle2 = 397, + EasyMoneyP1 = 398, + EasyMoneyP2 = 399, + BalancingP1 = 400, + BalancingP2 = 401, + Surprise = 402, + CreateADistractionP1 = 403, + CreateADistractionP2 = 404, + ToGreatHeightsP1 = 405, + ToGreatHeightsP2 = 406, + ToGreatHeightsP3 = 407, + ToGreatHeightsP4 = 408, + ToGreatHeightsP5 = 409, + AKeyToSalvation = 410, + ThirstyHounds = 411, + ThirstyBreadwinner = 412, + ImportControl = 413, + DripOutP1Bear = 414, + DripOutP2Bear = 415, + WhatsYourEvidence = 416, + CaughtRedHanded = 417, + RisksOfSmallBusiness, + ProtectionOfInterests, + TimeTested, + WesternQualityStandards, + HighCompetition, + BadFeeling, + GunsmithSpecialOrder, + GunConnoisseur, + CustomerCommunication, + SupplyAndDemand } }