#pragma once #include "proxy.h" #include #include #include #include #include "dbdcrypt.h" struct SpooferConfig { bool spoofCharacterOwnership = false; bool spoofInventory = true; bool spoofCustomization = true; std::string accessKey = ACCESS_KEY; std::string keyId = KEY_ID; }; class Spoofer { public: void init(Proxy* proxy); private: void registerListeners(Proxy* proxy); void loadData(); void loadConfig(); bool parseStackable(std::string data, std::unordered_set* camperSet, std::unordered_set* slasherSet, std::unordered_set* globalSet); bool parseCustomizations(std::string data); std::string getRandomItem(); int getRandomQuantity(); void generateBloodweb(nlohmann::json& data); void modifyCharacterData(nlohmann::json& js); void onGetAllClient(std::string& body); void onGetAll(std::string& body); void onInventoryAll(std::string& body); void onMessageList(std::string& body); void onBloodwebClient(std::string& body); void onBloodweb(std::string& body, std::string& respHeaders); void serverResponseHandler(const std::string& url, std::string& body, std::string& respHeaders); void clientRequestHandler(const std::string& url, std::string& body, std::string& reqHeaders); SpooferConfig _config; std::unordered_set _camperItemIds; std::unordered_set _camperOfferingIds; std::unordered_set _slasherOfferingIds; std::unordered_set _globalOfferingIds; std::unordered_set _camperAddonIds; std::unordered_set _slasherAddonIds; std::unordered_set _camperPerkIds; std::unordered_set _slasherPerkIds; std::unordered_set _catalogOutfitIds; std::unordered_set _catalogItemIds; std::unordered_set _unownedCharacters; std::unordered_set _characterList; std::string _lastBloodWebChar = ""; std::mutex _mtx; };