Revert "rft: 重构battle_data"

This reverts commit 8743aa6ebd.
This commit is contained in:
status102
2026-03-27 15:26:42 +08:00
parent 8743aa6ebd
commit 011bae3caf
3 changed files with 10 additions and 44 deletions

View File

@@ -375,7 +375,6 @@ struct OperProps
std::string name_jp;
std::string name_kr;
std::string name_tw;
std::string name_display;
Role role = Role::Unknown;
std::array<std::string, 3> ranges;
int rarity = 0; // 稀有度 1-6

View File

@@ -8,20 +8,20 @@ bool asst::BattleDataConfig::parse(const json::value& json)
{
LogTraceFunction;
m_drones_confusing.clear();
m_opers.clear();
m_chars.clear();
m_ranges.clear();
for (const auto& [id, char_data_json] : json.at("chars").as_object()) {
battle::OperProps data;
data.id = id;
std::string name = char_data_json.get("name", "");
std::string name = char_data_json.at("name").as_string();
std::string name_en = char_data_json.at("name_en").as_string();
std::string name_jp = char_data_json.at("name_jp").as_string();
std::string name_kr = char_data_json.at("name_kr").as_string();
std::string name_tw = char_data_json.at("name_tw").as_string();
data.name = name;
data.name_en = char_data_json.get("name_en", "");
data.name_jp = char_data_json.get("name_jp", "");
data.name_kr = char_data_json.get("name_kr", "");
data.name_tw = char_data_json.get("name_tw", "");
data.name_display = char_data_json.get("name_display", "");
data.name_en = name_en;
data.name_jp = name_jp;
data.name_kr = name_kr;
data.name_tw = name_tw;
static const std::unordered_map<std::string, battle::Role> RoleMap = {
{ "CASTER", battle::Role::Caster }, { "MEDIC", battle::Role::Medic },
{ "PIONEER", battle::Role::Pioneer }, { "SNIPER", battle::Role::Sniper },

View File

@@ -929,14 +929,11 @@ bool update_battle_chars_info(const fs::path& official_dir, const fs::path& over
json::value char_new_data;
for (auto& [data, name] : chars_json) {
if (data.get(id, "name", "_unavailable_") != "_unavailable_") {
char_new_data[name] = data.get(id, "name", char_data["name"].as_string());
}
else {
if (data.get(id, "name", "_unavailable_") == "_unavailable_") {
char_new_data[name + "_unavailable"] = true;
}
}
char_new_data["name_display"] = char_new_data["name"];
char_new_data["profession"] = char_data["profession"];
const std::string& default_range = char_data.get("phases", 0, "rangeId", "0-1");
@@ -977,7 +974,6 @@ bool update_battle_chars_info(const fs::path& official_dir, const fs::path& over
Amiya_data["name_jp"] = "アーミヤ-WARRIOR";
Amiya_data["name_kr"] = "아미야-WARRIOR";
Amiya_data["name_tw"] = "阿米婭-WARRIOR";
Amiya_data["name_display"] = "阿米娅-WARRIOR";
Amiya_data["profession"] = "WARRIOR";
Amiya_data["rangeId"] = json::array { "1-1", "1-1", "1-1" };
Amiya_data["rarity"] = 5;
@@ -990,7 +986,6 @@ bool update_battle_chars_info(const fs::path& official_dir, const fs::path& over
Amiya_data3["name_jp"] = "アーミヤ-MEDIC";
Amiya_data3["name_kr"] = "아미야-MEDIC";
Amiya_data3["name_tw"] = "阿米婭-MEDIC";
Amiya_data3["name_display"] = "阿米娅-MEDIC";
Amiya_data3["profession"] = "MEDIC";
Amiya_data3["rangeId"] = json::array { "3-1", "3-3", "3-3" };
Amiya_data3["rarity"] = 5;
@@ -1002,34 +997,6 @@ bool update_battle_chars_info(const fs::path& official_dir, const fs::path& over
ofs << result.format() << '\n';
ofs.close();
std::vector<std::pair<std::string, std::string>> overseas_paths = {
{ "name_en", "global/YoStarEN/resource/battle_data.json" },
{ "name_jp", "global/YoStarJP/resource/battle_data.json" },
{ "name_kr", "global/YoStarKR/resource/battle_data.json" },
{ "name_tw", "global/txwy/resource/battle_data.json" },
};
for (const auto& [client_name, path] : overseas_paths) {
json::value overseas_result;
overseas_result["ranges"] = result["ranges"];
auto& overseas_chars = overseas_result["chars"];
for (auto& [id, char_data] : chars.as_object()) {
auto name_opt = char_data.find<std::string>(client_name);
if (!name_opt) {
continue;
}
auto data = char_data;
data.emplace("name_display", *name_opt);
overseas_chars.emplace(id, std::move(data));
}
const auto& overseas_file = output_dir / path;
std::ofstream overseas_ofs(overseas_file, std::ios::out);
overseas_ofs << overseas_result.format() << '\n';
overseas_ofs.close();
}
return true;
}