Baoulettes

D_EL_Tr

Mar 5th, 2020
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.11 KB | None | 0 0
  1. #include <unidokkan/log.h>
  2. #include <unidokkan/hook.h>
  3. #include <string>
  4. #include <dokkan/crypto.h>
  5. #include <nlohmann/json.hpp>
  6. #include <unidokkan/database.h>
  7. #include <parallel_hashmap/phmap.h>
  8.  
  9.  
  10. bool ShowEventsBanners(NetworkResponse *response) {
  11.     using namespace std::string_view_literals;
  12.     using json = nlohmann::json;
  13.     UD_LOGI("Event List Translator : In functions");
  14.     constexpr std::string_view kGetQuests = R"SQL(SELECT
  15.         quests.id,
  16.         quests.name
  17.     FROM
  18.         quests)SQL"sv;
  19.     json quests_list = UniDokkan::Database::select(kGetQuests);
  20.     phmap::parallel_flat_hash_map<int, json> quests_list_keyed = UniDokkan::Database::selectKeyedInt(kGetQuests, 0);
  21.     for (auto &event0 : response->jsonBody["eventkagi_events"]) {
  22.         std::string current_id2     =   to_string(event0["id"]);
  23.         std::string current_id      =   current_id2.substr(0, 3);
  24.         for (auto &quest0 : event0["quests"]) {
  25.             std::string current_quest_id    =   to_string(quest0["id"]);
  26.             int current_quest_id_INT        =   std::stoi(current_quest_id);
  27.             std::string current_quest_name  =   quests_list_keyed[current_quest_id_INT]["name"].get<std::string>();
  28.             quest0["name"]  =   current_quest_name;
  29.         }
  30.         event0["banner_image"]      =   "https://www.baoulettes.fr/DokkanEvent/image/quest_list_banner_" + current_id + ".png";
  31.         event0["event_image"]       =   "https://www.baoulettes.fr/DokkanEvent/image/quest_top_banner_" + current_id + ".png";
  32.         event0["minibanner_image"]  =   "https://www.baoulettes.fr/DokkanEvent/image/quest_event_banner_" + current_id + ".png";
  33.     }
  34.     for (auto &event1 : response->jsonBody["eventkagi_z_battle_stages"]) {
  35.         std::string current_id      =   to_string(event1["id"]);
  36.         event1["banner_image"]      =   "https://www.baoulettes.fr/DokkanEvent/image/zbattle_list_banner_" + current_id + ".png";
  37.     }
  38.     for (auto &event2 : response->jsonBody["events"]) {
  39.         std::string current_id2     =   to_string(event2["id"]);
  40.         std::string current_id      =   current_id2.substr(0, 3);
  41.         for (auto &quest2 : event2["quests"]) {
  42.             std::string current_quest_id    =   to_string(quest2["id"]);
  43.             int current_quest_id_INT        =   std::stoi(current_quest_id);
  44.             std::string current_quest_name  =   quests_list_keyed[current_quest_id_INT]["name"].get<std::string>();
  45.             quest2["name"]  =   current_quest_name;
  46.         }
  47.         event2["banner_image"]      =   "https://www.baoulettes.fr/DokkanEvent/image/quest_list_banner_" + current_id + ".png";
  48.         event2["event_image"]       =   "https://www.baoulettes.fr/DokkanEvent/image/quest_top_banner_" + current_id + ".png";
  49.         event2["minibanner_image"]  =   "https://www.baoulettes.fr/DokkanEvent/image/quest_event_banner_" + current_id + ".png";
  50.     }
  51.     for (auto &event3 : response->jsonBody["z_battle_stages"]) {
  52.         std::string current_id      =   to_string(event3["id"]);
  53.         event3["banner_image"]      =   "https://www.baoulettes.fr/DokkanEvent/image/zbattle_list_banner_" + current_id + ".png";
  54.     }
  55.     return true;
  56. }
  57. extern "C" {
  58.     int unidokkan_init_v2(HookLib* hook_lib) {
  59.         hook_lib->addResponseHook("^/events$", ShowEventsBanners);
  60.         if (!hook_lib) {
  61.             UD_LOGI("Event List Translator : Crashed");
  62.             return 1;
  63.         }
  64.         UD_LOGI("Event List Translator : Loaded");
  65.         return 0;
  66.     }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment