diff --git a/DumpCleaner/Helpers/TraderSellCategories.cs b/DumpCleaner/Helpers/TraderSellCategories.cs index 0b25444..9c9e0be 100644 --- a/DumpCleaner/Helpers/TraderSellCategories.cs +++ b/DumpCleaner/Helpers/TraderSellCategories.cs @@ -140,6 +140,7 @@ public static class TraderSellCategories "5b5f757486f774093e6cb507", "5b5f78e986f77447ed5636b1", "5b5f78fc86f77409407a7f90"} }, + {"638f541a29ffd1183d187f57", new List { } } }; public static List GetCategoriesByTraderId(string id) diff --git a/DumpCleaner/Models/Trader.cs b/DumpCleaner/Models/Trader.cs index bc26e85..9ae161b 100644 --- a/DumpCleaner/Models/Trader.cs +++ b/DumpCleaner/Models/Trader.cs @@ -2,6 +2,7 @@ public class Trader { public string _id { get; set; } + public bool availableInRaid { get; set; } public bool customization_seller { get; set; } public string name { get; set; } public string surname { get; set; } @@ -12,7 +13,7 @@ public class Trader public int balance_dol { get; set; } public int balance_eur { get; set; } public bool unlockedByDefault { get; set; } - public string discount { get; set; } + public object discount { get; set; } public int discount_end { get; set; } public bool buyer_up { get; set; } public string currency { get; set; } @@ -23,4 +24,12 @@ public class Trader public int gridHeight { get; set; } public List loyaltyLevels { get; set; } public List sell_category { get; set; } + public ItemsBuy items_buy { get; set; } + public ItemsBuy items_buy_prohibited { get; set; } +} + +public class ItemsBuy +{ + public string[] category { get; set; } + public string[] id_list { get; set; } } diff --git a/DumpCleaner/Program.cs b/DumpCleaner/Program.cs index b6caf18..6c87ad7 100644 --- a/DumpCleaner/Program.cs +++ b/DumpCleaner/Program.cs @@ -72,12 +72,12 @@ void HandleLocationsFile(DumpData names, Dump dumpFile) continue; } - if (new string[] { "bigmap", "interchange", "lighthouse", "rezervbase", "shoreline", "woods" }.Contains(mapName)) + if (new string[] { "bigmap", "interchange", "lighthouse", "rezervbase", "shoreline", "woods", "tarkovstreets" }.Contains(mapName)) { // TODO: add back airdrop chance } - JsonWriter.WriteJson(locationData, $"{names.OutputFolder}/{locationData.Id.ToLower()}", Directory.GetCurrentDirectory(), "base"); + JsonWriter.WriteJson(location.Value.ToString(), $"{names.OutputFolder}/{locationData.Id.ToLower()}", Directory.GetCurrentDirectory(), "base"); LoggingHelpers.LogToConsole($"Found map file: {locationData.Id} wrote file to output folder"); } } diff --git a/GenerateQuestFile/Program.cs b/GenerateQuestFile/Program.cs index 1a7461c..3379f53 100644 --- a/GenerateQuestFile/Program.cs +++ b/GenerateQuestFile/Program.cs @@ -33,7 +33,7 @@ namespace GenerateQuestFile var mergedLiveData = QuestHelper.MergeLiveQuestFiles(liveQuestData); - //JsonWriter.WriteJson(mergedLiveData, "merged", Directory.GetCurrentDirectory(), "mergedlivejson"); + JsonWriter.WriteJson(mergedLiveData, "output", Directory.GetCurrentDirectory(), "mergedlivejson"); // Find the quests that are missing from the live file from existing quest data var missingQuests = GetMissingQuestsNotInLiveFile(existingQuestData, mergedLiveData); @@ -60,7 +60,7 @@ namespace GenerateQuestFile questsToOutputToFile.Add(missingQuest._id, missingQuest); } - // Now old + new qeusts have been merged, check qeust list to see if any quests are missing + // Now old + new quests have been merged, check quest list to see if any quests are missing foreach (var missingQuest in QuestNames.GetQuests()) { if (!questsToOutputToFile.Any(x => x.Key == missingQuest.Value)) diff --git a/QuestValidator.Common/Helpers/QuestHelper.cs b/QuestValidator.Common/Helpers/QuestHelper.cs index 60b01bc..30ab0e6 100644 --- a/QuestValidator.Common/Helpers/QuestHelper.cs +++ b/QuestValidator.Common/Helpers/QuestHelper.cs @@ -1,7 +1,6 @@ using QuestValidator.Common.Helpers; using QuestValidator.Models; using QuestValidator.Models.Other; -using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -56,7 +55,7 @@ namespace AssortGenerator.Common.Helpers continue; } - LoggingHelpers.LogWarning($"missing quest {quest._id} found in second live quest dump"); + LoggingHelpers.LogWarning($"missing quest {quest._id} {QuestNames.GetNameById(quest._id)} found in subsequent live quest dump"); mergedResult.data.Add(quest); } } @@ -80,8 +79,6 @@ namespace AssortGenerator.Common.Helpers var questDataJson = File.ReadAllText(questFilepath); _liveQuestData.Add(JsonSerializer.Deserialize(questDataJson)); } - - } return _liveQuestData; diff --git a/QuestValidator.Common/Helpers/QuestNames.cs b/QuestValidator.Common/Helpers/QuestNames.cs index e66243c..0cd9159 100644 --- a/QuestValidator.Common/Helpers/QuestNames.cs +++ b/QuestValidator.Common/Helpers/QuestNames.cs @@ -1,5 +1,6 @@ using QuestValidator.Common.Models; using System.Collections.Generic; + namespace QuestValidator.Common.Helpers { public static class QuestNames @@ -83,9 +84,9 @@ namespace QuestValidator.Common.Helpers { Quest.GunsmithP1, "5ac23c6186f7741247042bad"}, { Quest.GunsmithP2, "5ac2426c86f774138762edfe"}, { Quest.GunsmithP3, "5ac2428686f77412450b42bf"}, - { Quest.GunsmithP5, "5ac242ab86f77412464f68b4"}, - { Quest.GunsmithP6, "5ac244c486f77413e12cf945"}, - { Quest.GunsmithP4, "5ac244eb86f7741356335af1"}, + { Quest.GunsmithP4, "639872f9decada40426d3447"}, + { Quest.GunsmithP5, "5ae3267986f7742a413592fe"}, + { Quest.GunsmithP6, "5ae3270f86f77445ba41d4dd"}, { Quest.FarmingP1, "5ac345dc86f774288030817f"}, { Quest.FarmingP2, "5ac3460c86f7742880308185"}, { Quest.FarmingP3, "5ac3462b86f7741d6118b983"}, @@ -97,11 +98,11 @@ namespace QuestValidator.Common.Helpers { Quest.BadHabit, "5ac3475486f7741d6224abd3"}, { Quest.Scout, "5ac3477486f7741d651d6885"}, { Quest.Insider, "5ac3479086f7742880308199"}, - { Quest.GunsmithP7, "5ae3267986f7742a413592fe"}, - { Quest.GunsmithP8, "5ae3270f86f77445ba41d4dd"}, - { Quest.GunsmithP9, "5ae3277186f7745973054106"}, + { Quest.GunsmithP7, "5ac244eb86f7741356335af1"}, + { Quest.GunsmithP8, "5ae3277186f7745973054106"}, + { Quest.GunsmithP9, "639872fa9b4fb827b200d8e5"}, { Quest.GunsmithP10, "5ae327c886f7745c7b3f2f3f"}, - { Quest.GunsmithP11, "5ae3280386f7742a41359364"}, + { Quest.GunsmithP11, "639872fc93ae507d5858c3a6"}, { Quest.OnlyBusiness, "5ae448a386f7744d3730fff0"}, { Quest.MakeUltraGreatAgain, "5ae448bf86f7744d733e55ee"}, { Quest.BigSale, "5ae448e586f7744dcf0c2a67"}, @@ -119,11 +120,17 @@ namespace QuestValidator.Common.Helpers { Quest.Gratitude, "5ae449b386f77446d8741719"}, { Quest.SalesNight, "5ae449c386f7744bde357697"}, { Quest.Supervisor, "5ae449d986f774453a54a7e1"}, - { Quest.GunsmithP12, "5b47749f86f7746c5d6a5fd4"}, - { Quest.GunsmithP13, "5b47799d86f7746c5d6a5fd8"}, - { Quest.GunsmithP14, "5b477b6f86f7747290681823"}, - { Quest.GunsmithP15, "5b477f7686f7744d1b23c4d2"}, - { Quest.GunsmithP16, "5b47825886f77468074618d3"}, + { Quest.GunsmithP12, "5b47799d86f7746c5d6a5fd8"}, + { Quest.GunsmithP13, "5ac244c486f77413e12cf945"}, + { Quest.GunsmithP14, "639872fe8871e1272b10ccf6"}, + { Quest.GunsmithP15, "5ae3280386f7742a41359364"}, + { Quest.GunsmithP16, "5ac242ab86f77412464f68b4"}, + { Quest.GunsmithP17, "5b47749f86f7746c5d6a5fd4"}, + { Quest.GunsmithP18, "5b477b6f86f7747290681823"}, + { Quest.GunsmithP19, "639873003693c63d86328f25"}, + { Quest.GunsmithP20, "5b477f7686f7744d1b23c4d2"}, + { Quest.GunsmithP21, "63987301e11ec11ff5504036"}, + { Quest.GunsmithP22, "5b47825886f77468074618d3"}, { Quest.TheBloodOfWarP2, "5b47876e86f7744d1c353205"}, { Quest.LivingHighIsNotACrime, "5b47891f86f7744d1b23c571"}, { Quest.HotDelivery, "5b478b1886f7744d1b23c57d"}, @@ -145,6 +152,7 @@ namespace QuestValidator.Common.Helpers { Quest.SilentCaliber, "5c0bc91486f7746ab41857a2"}, { Quest.Insomnia, "5c0bd01e86f7747cdd799e56"}, { Quest.TestDriveP1, "5c0bd94186f7747a727f09b2"}, + { Quest.TestDriveP2, "63a5cf262964a7488f5243ce"}, { Quest.Flint, "5c0bdb5286f774166e38eed4"}, { Quest.AShooterBornInHeaven, "5c0bde0986f77479cf22c2f8"}, { Quest.PsychoSniper, "5c0be13186f7746f016734aa"}, @@ -267,7 +275,45 @@ namespace QuestValidator.Common.Helpers { Quest.Trophies, "60e71ccb5688f6424c7bfec4" }, { Quest.TheCleaner, "60e71c9ad54b755a3b53eb66" }, { Quest.SpecialEquipment, "60e71ce009d7c801eb0c0ec6" }, - + { Quest.EventLetters, "636a2f5759cb834f8a5825d6" }, + { Quest.PopulationCensus, "639135d89444fb141f4e6eea" }, + { Quest.UrbanMedicine, "639135e0fa894f0a866afde6" }, + { Quest.HouseArrestPart1, "639135c3744e452011470807" }, + { Quest.HouseArrestPart2, "639135cd8ba6894d155e77cb" }, + { Quest.Audiophile, "639135bbc115f907b14700a6" }, + { Quest.GloryToCPSU, "639135b04ed9512be67647d7" }, + { Quest.BalletLover, "639135a7e705511c8a4a1b78" }, + { Quest.YouveGotMail, "6391359b9444fb141f4e6ee6" }, + { Quest.YourCarNeedsAService, "639135534b15ca31f76bc317" }, + { Quest.Audit, "638fcd23dc65553116701d33" }, + { Quest.TheDeliciousSausage, "63a88045abf76d719f42d715"}, + { Quest.BroadcastPart3, "63a511ea30d85e10e375b045"}, + { Quest.Debtor, "639dbaf17c898a131e1cffff"}, + { Quest.CeaseFire, "639136e84ed9512be67647db"}, + { Quest.KingsOfTheRooftops, "639136f086e646067c176a8b"}, + { Quest.WatchingYou, "639136fa9444fb141f4e6eee"}, + { Quest.HarleyForever, "63913703e705511c8a4a1b7c"}, + { Quest.TheHuntsmanPathAdministrator, "639136df4b15ca31f76bc31f"}, + { Quest.GreenCorridor, "639136d68ba6894d155e77cf" }, + { Quest.RevisionStreetsOfTarkov, "639135f286e646067c176a87"}, + { Quest.Surveillance, "639135e8c115f907b14700aa"}, + { Quest.NetworkProviderPart1, "625d6ff5ddc94657c21a1625"}, + { Quest.NetworkProviderPart2, "625d6ffaf7308432be1d44c5"}, + { Quest.AssessmentPart1, "625d6ffcaa168e51321d69d7"}, + { Quest.AssessmentPart2, "625d6fff4149f1149b5b12c9"}, + { Quest.AssessmentPart3, "625d7001c4874104f230c0c5"}, + { Quest.KeyToTheTower, "625d70031ed3bb5bcc5bd9e5"}, + { Quest.KnockKnock, "625d7005a4eb80027c4f2e09"}, + { Quest.GettingAcquainted, "625d700cc48e6c62a440fab5"}, + { Quest.MakeAmendsBuyout, "626148251ed3bb5bcc5bd9ed"}, + { Quest.MakeAmendsEquipment, "6261482fa4eb80027c4f2e11"}, + { Quest.MakeAmendsSecurity, "626148334149f1149b5b12ca"}, + { Quest.MakeAmendsSweepUp, "62614836f7308432be1d44cc"}, + { Quest.MakeAmendsSoftware, "6261483ac48e6c62a440fab7"}, + { Quest.MakeAmendsQuarantine, "6261483dc4874104f230c0cd"}, + { Quest.TotheTree, "61bfa784f4378605ca5598e1"}, + { Quest.BadSanta, "61bb47578d7cac1532300ccd"}, + { Quest.HomeComfort, "61bb4756883b2c16a163870a"} }; private static readonly Dictionary questNames = new Dictionary @@ -349,9 +395,9 @@ namespace QuestValidator.Common.Helpers { "5ac23c6186f7741247042bad", "Gunsmith Part 1"}, { "5ac2426c86f774138762edfe", "Gunsmith Part 2"}, { "5ac2428686f77412450b42bf", "Gunsmith Part 3"}, - { "5ac242ab86f77412464f68b4", "Gunsmith Part 5"}, - { "5ac244c486f77413e12cf945", "Gunsmith Part 6"}, - { "5ac244eb86f7741356335af1", "Gunsmith Part 4"}, + { "5ae3267986f7742a413592fe", "Gunsmith Part 5"}, + { "5ae3277186f7745973054106", "Gunsmith Part 6"}, + { "639872f9decada40426d3447", "Gunsmith Part 4"}, { "5ac345dc86f774288030817f", "Farming Part 1"}, { "5ac3460c86f7742880308185", "Farming Part 2"}, { "5ac3462b86f7741d6118b983", "Farming Part 3"}, @@ -363,11 +409,11 @@ namespace QuestValidator.Common.Helpers { "5ac3475486f7741d6224abd3", "Bad habit"}, { "5ac3477486f7741d651d6885", "Scout"}, { "5ac3479086f7742880308199", "Insider"}, - { "5ae3267986f7742a413592fe", "Gunsmith Part 7"}, + { "5ac244eb86f7741356335af1", "Gunsmith Part 7"}, { "5ae3270f86f77445ba41d4dd", "Gunsmith Part 8"}, - { "5ae3277186f7745973054106", "Gunsmith Part 9"}, + { "639872fa9b4fb827b200d8e5", "Gunsmith Part 9"}, { "5ae327c886f7745c7b3f2f3f", "Gunsmith Part 10"}, - { "5ae3280386f7742a41359364", "Gunsmith Part 11"}, + { "639872fc93ae507d5858c3a6", "Gunsmith Part 11"}, { "5ae448a386f7744d3730fff0", "Only business"}, { "5ae448bf86f7744d733e55ee", "Make ULTRA Great Again"}, { "5ae448e586f7744dcf0c2a67", "Big sale" }, @@ -380,16 +426,24 @@ namespace QuestValidator.Common.Helpers { "5ae4496986f774459e77beb6", "Sew it good Part 3"}, { "5ae4497b86f7744cf402ed00", "Sew it good Part 4"}, { "5ae4498786f7744bde357695", "The key to success"}, - { "5ae4499a86f77449783815db", "Charisma brings success" }, - { "5ae449a586f7744bde357696", "No fuss needed" }, + { "5ae4499a86f77449783815db", "Charisma brings success"}, + { "5ae449a586f7744bde357696", "No Fuss Needed"}, { "5ae449b386f77446d8741719", "Gratitude" }, { "5ae449c386f7744bde357697", "Sales Night" }, { "5ae449d986f774453a54a7e1", "Supervisor" }, - { "5b47749f86f7746c5d6a5fd4", "Gunsmith Part 12" }, - { "5b47799d86f7746c5d6a5fd8", "Gunsmith Part 13" }, - { "5b477b6f86f7747290681823", "Gunsmith Part 14" }, - { "5b477f7686f7744d1b23c4d2", "Gunsmith Part 15" }, - { "5b47825886f77468074618d3", "Gunsmith Part 16" }, + { "5b47799d86f7746c5d6a5fd8", "Gunsmith Part 12" }, + { "5ac244c486f77413e12cf945", "Gunsmith Part 13" }, + { "639872fe8871e1272b10ccf6", "Gunsmith Part 14" }, + { "5ae3280386f7742a41359364", "Gunsmith Part 15" }, + { "5ac242ab86f77412464f68b4", "Gunsmith Part 16" }, + { "5b47749f86f7746c5d6a5fd4", "Gunsmith Part 17"}, + + { "5b477b6f86f7747290681823", "Gunsmith Part 18"}, + { "639873003693c63d86328f25", "Gunsmith Part 19"}, + { "5b477f7686f7744d1b23c4d2", "Gunsmith Part 20"}, + { "63987301e11ec11ff5504036", "Gunsmith Part 21"}, + { "5b47825886f77468074618d3", "Gunsmith Part 22"}, + { "5b47876e86f7744d1c353205", "The Blood of War Part 2" }, { "5b47891f86f7744d1b23c571", "Living high is not a crime" }, { "5b478b1886f7744d1b23c57d", "Hot delivery"}, @@ -533,8 +587,47 @@ namespace QuestValidator.Common.Helpers { "60e71ccb5688f6424c7bfec4", "Trophies" }, { "60e71c9ad54b755a3b53eb66", "The Cleaner" }, { "60e71ce009d7c801eb0c0ec6", "Special Equipment" }, + { "636a2f5759cb834f8a5825d6", "EVENT - Letters"}, + { "639135d89444fb141f4e6eea", "Population Census"}, + { "639135e0fa894f0a866afde6", "Urban Medicine"}, + { "639135c3744e452011470807", "House Arrest - Part 1"}, + { "639135cd8ba6894d155e77cb", "House Arrest - Part 2"}, + { "639135bbc115f907b14700a6", "Audiophile"}, + { "639135b04ed9512be67647d7", "Glory to CPSU"}, + { "639135a7e705511c8a4a1b78", "Ballet Lover"}, + { "6391359b9444fb141f4e6ee6", "You've Got Mail"}, + { "639135534b15ca31f76bc317", "Your Car Needs a Service"}, + { "638fcd23dc65553116701d33", "Audit"}, + { "63a5cf262964a7488f5243ce", "Test Drive - Part 2"}, + { "63a511ea30d85e10e375b045", "Broadcast - Part 3"}, + { "639dbaf17c898a131e1cffff", "Debtor"}, + { "63a88045abf76d719f42d715", "The Delicious Sausage" }, + { "639136e84ed9512be67647db", "CeaseFire"}, + { "639136f086e646067c176a8b", "Kings Of The Rooftops"}, + { "639136fa9444fb141f4e6eee", "Watching You"}, + { "63913703e705511c8a4a1b7c", "Harley Forever"}, + { "639136df4b15ca31f76bc31f", "The Huntsman Path Administrator"}, + { "639136d68ba6894d155e77cf", "Green Corridor"}, + { "639135f286e646067c176a87", "Revision - Streets Of Tarkov"}, + { "639135e8c115f907b14700aa", "Surveillance"}, + { "625d6ff5ddc94657c21a1625", "Network Provider - Part 1"}, + { "625d6ffaf7308432be1d44c5", "Network Provider - Part 2"}, + { "625d6ffcaa168e51321d69d7", "Assessment - Part 1" }, + { "625d6fff4149f1149b5b12c9", "Assessment - Part 2"}, + { "625d7001c4874104f230c0c5", "Assessment - Part 3"}, + { "625d70031ed3bb5bcc5bd9e5", "Key to the Tower"}, + { "625d7005a4eb80027c4f2e09", "Knock - Knock"}, + { "625d700cc48e6c62a440fab5", "Getting Acquainted"}, + { "626148251ed3bb5bcc5bd9ed", "Make Amends - Buyout"}, + { "6261482fa4eb80027c4f2e11", "Make Amends - Equipment"}, + { "626148334149f1149b5b12ca", "Make Amends - Security"}, + { "62614836f7308432be1d44cc", "Make Amends - Sweep Up"}, + { "6261483ac48e6c62a440fab7", "Make Amends - Software"}, + { "6261483dc4874104f230c0cd", "Make Amends - Quarantine"}, + { "61bfa784f4378605ca5598e1", "TotheTree"}, + { "61bb47578d7cac1532300ccd", "Bad Santa"}, + { "61bb4756883b2c16a163870a", "Home Comfort"} }; - public static string GetNameById(string id) { if (!questNames.ContainsKey(id)) diff --git a/QuestValidator.Common/Helpers/QuestRequirements.cs b/QuestValidator.Common/Helpers/QuestRequirements.cs index 2817449..5428a9d 100644 --- a/QuestValidator.Common/Helpers/QuestRequirements.cs +++ b/QuestValidator.Common/Helpers/QuestRequirements.cs @@ -210,6 +210,18 @@ namespace QuestValidator.Common.Helpers .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) @@ -331,13 +343,13 @@ namespace QuestValidator.Common.Helpers { Quest.HuntsmanPathWoodsCleaning, GetQuestData(Quest.HuntsmanPathWoodsCleaning).AddPrerequisiteQuest(Quest.HuntsmanPathSecuredPerimeter, QuestStatus.Success) }, { Quest.HuntsmanPathController, GetQuestData(Quest.HuntsmanPathController).AddPrerequisiteQuest(Quest.HuntsmanPathWoodsCleaning, QuestStatus.Success) }, { Quest.HuntsmanPathSellOut, GetQuestData(Quest.HuntsmanPathSellOut).AddPrerequisiteQuest(Quest.HuntsmanPathTheTrophy, QuestStatus.Success) }, - { Quest.HuntsmanPathWoodsKeeper, GetQuestData(Quest.HuntsmanPathWoodsKeeper).AddPrerequisiteQuest(Quest.HuntsmanPathSecuredPerimeter, 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.HuntsmanPathWoodsCleaning, QuestStatus.Success) }, { Quest.HuntsmanPathFactoryChief, GetQuestData(Quest.HuntsmanPathFactoryChief) .AddPrerequisiteQuest(Quest.HuntsmanPathSecuredPerimeter, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.Scout, QuestStatus.Success) - .AddPrerequisiteQuest(Quest.HuntsmanPathWoodsKeeper, QuestStatus.Success)}, + .AddPrerequisiteQuest(Quest.Scout, QuestStatus.Success)}, { Quest.HuntsmanPathEraser, GetQuestData(Quest.HuntsmanPathEraser) .AddPrerequisiteQuest(Quest.BunkerP2, QuestStatus.Success) .AddPrerequisiteQuest(Quest.HuntsmanPathSecuredPerimeter, QuestStatus.Success) @@ -477,7 +489,10 @@ namespace QuestValidator.Common.Helpers { Quest.SpecialEquipment, GetQuestData(Quest.SpecialEquipment) .AddPrerequisiteQuest(Quest.Trophies, QuestStatus.Success)}, { Quest.TheCourier, GetQuestData(Quest.TheCourier) - .AddPrerequisiteQuest(Quest.Calibration, QuestStatus.Success)} + .AddPrerequisiteQuest(Quest.Calibration, QuestStatus.Success)}, + { Quest.EventLetters, GetQuestData(Quest.EventLetters) }, + { Quest.TheDeliciousSausage, GetQuestData(Quest.TheDeliciousSausage) + .AddPrerequisiteQuest(Quest.TheSurvivalistPathThrifty, QuestStatus.Success)}, }; private static QuestData GetQuestData(Quest quest) diff --git a/QuestValidator.Common/Models/Quest.cs b/QuestValidator.Common/Models/Quest.cs index 7bd8023..3ae4d87 100644 --- a/QuestValidator.Common/Models/Quest.cs +++ b/QuestValidator.Common/Models/Quest.cs @@ -264,6 +264,52 @@ Trophies = 259, TheCleaner = 260, SpecialEquipment = 261, - TheCourier = 262 + TheCourier = 262, + EventLetters = 263, + PopulationCensus = 264, + UrbanMedicine = 265, + HouseArrestPart1 = 266, + HouseArrestPart2 = 267, + Audiophile = 268, + GloryToCPSU = 269, + BalletLover = 270, + YouveGotMail = 271, + YourCarNeedsAService = 272, + Audit = 273, + TestDriveP2 = 274, + TheDeliciousSausage = 275, + BroadcastPart3 = 276, + Debtor = 277, + GunsmithP17 = 278, + GunsmithP18 = 279, + GunsmithP19 = 280, + GunsmithP20 = 281, + GunsmithP21 = 282, + GunsmithP22 = 283, + CeaseFire = 284, + KingsOfTheRooftops = 285, + WatchingYou = 286, + HarleyForever = 287, + TheHuntsmanPathAdministrator = 288, + GreenCorridor = 289, + RevisionStreetsOfTarkov = 290, + Surveillance = 291, + NetworkProviderPart1 = 292, + NetworkProviderPart2 = 293, + AssessmentPart1 = 294, + AssessmentPart2 = 295, + AssessmentPart3 = 296, + KeyToTheTower = 297, + KnockKnock = 298, + GettingAcquainted = 299, + MakeAmendsBuyout = 300, + MakeAmendsEquipment = 301, + MakeAmendsSecurity = 302, + MakeAmendsSweepUp = 303, + MakeAmendsSoftware = 304, + MakeAmendsQuarantine = 305, + TotheTree = 306, + BadSanta = 307, + HomeComfort = 308 } } diff --git a/QuestValidator.Models/Input/Quest.cs b/QuestValidator.Models/Input/Quest.cs index 5b3f6f6..68f2c96 100644 --- a/QuestValidator.Models/Input/Quest.cs +++ b/QuestValidator.Models/Input/Quest.cs @@ -20,6 +20,7 @@ namespace QuestValidator.Models public string failMessageText { get; set; } public string name { get; set; } public string note { get; set; } + public object? questStatus { get;set; } public string traderId { get; set; } public string location { get; set; } public string image { get; set; } @@ -84,6 +85,7 @@ namespace QuestValidator.Models public int? minDurability { get; set; } public string parentId { get; set; } public bool? resetOnSessionEnd { get; set; } + public bool? isEncoded { get;set; } public bool? onlyFoundInRaid { get; set; } public bool? oneSessionOnly { get; set; } public bool dynamicLocale { get;set;} @@ -91,6 +93,7 @@ namespace QuestValidator.Models public string zoneId { get; set; } public object target { get; set; } public string type { get;set;} + public bool? countInRaid { get;set;} public object status { get; set;} public bool? unknown { get; set; } public bool? doNotResetIfCounterCompleted { get; set; }