From afb4a9c157f901ac4ae80a9499349e5278ffbddc Mon Sep 17 00:00:00 2001 From: neru Date: Tue, 7 Apr 2026 01:33:02 -0300 Subject: [PATCH] feat: give random item per req --- src/unlocker/spoofing.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/unlocker/spoofing.cpp b/src/unlocker/spoofing.cpp index aa096f6..a26818d 100644 --- a/src/unlocker/spoofing.cpp +++ b/src/unlocker/spoofing.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include @@ -219,6 +220,21 @@ void Spoofer::modifyCharacterData(json& js) if (js.contains("bloodWebData")) { + static std::random_device rd; + static std::mt19937 rng(rd()); + + std::unordered_set stackableIds; + stackableIds.insert(_camperItemIds.begin(), _camperItemIds.end()); + stackableIds.insert(_camperOfferingIds.begin(), _camperOfferingIds.end()); + stackableIds.insert(_camperAddonIds.begin(), _camperAddonIds.end()); + stackableIds.insert(_slasherAddonIds.begin(), _slasherAddonIds.end()); + stackableIds.insert(_slasherOfferingIds.begin(), _slasherOfferingIds.end()); + + std::string selectedContentId = "Spring2024Offering"; + auto it = stackableIds.begin(); + std::advance(it, std::uniform_int_distribution<>(0, static_cast(_camperOfferingIds.size()) - 1)(rng)); + selectedContentId = *it; + std::vector paths; json ringDataArray = json::array(); @@ -246,7 +262,7 @@ void Spoofer::modifyCharacterData(json& js) paths.push_back(parentId + "_" + childId); nodeDataArray.push_back( - {{"nodeId", childId}, {"state", "Collected"}, {"contentId", "ADDON_toolbox_socketswivels"}}); + {{"nodeId", childId}, {"state", "Collected"}, {"contentId", selectedContentId}}); } ringDataArray.push_back({{"nodeData", nodeDataArray}});