From 9ca8681ca5f134d65eaa4b5ae68d57ba67fe98d6 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sat, 9 Aug 2025 11:51:20 -0400 Subject: Added support for masteries Also assigned IDs for the_butterfly, as well as already configured letters. --- tools/assign_ids/main.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'tools/assign_ids/main.cpp') diff --git a/tools/assign_ids/main.cpp b/tools/assign_ids/main.cpp index f10a21c..eba4fd6 100644 --- a/tools/assign_ids/main.cpp +++ b/tools/assign_ids/main.cpp @@ -9,6 +9,7 @@ #include #include "proto/human.pb.h" +#include "util/naming.h" namespace com::fourisland::lingo2_archipelago { namespace { @@ -155,6 +156,35 @@ class AssignIds { panels[h_panel.name()] = next_id_++; } } + + for (const HumanLetter& h_letter : h_room.letters()) { + std::string lettername = + GetLetterName(h_letter.key(), h_letter.double_()); + + if (!id_mappings_.letters().contains(lettername)) { + auto& letters = *id_mappings_.mutable_letters(); + letters[lettername] = next_id_++; + } + } + + for (const HumanMastery& h_mastery : h_room.masteries()) { + if (!id_mappings_.maps().contains(current_map_name) || + !id_mappings_.maps() + .at(current_map_name) + .rooms() + .contains(h_room.name()) || + !id_mappings_.maps() + .at(current_map_name) + .rooms() + .at(h_room.name()) + .masteries() + .contains(h_mastery.name())) { + auto& maps = *id_mappings_.mutable_maps(); + auto& rooms = *maps[current_map_name].mutable_rooms(); + auto& masteries = *rooms[h_room.name()].mutable_masteries(); + masteries[h_mastery.name()] = next_id_++; + } + } } private: -- cgit 1.4.1