diff --git a/src/MaaCore/Config/Miscellaneous/InfrastConfig.cpp b/src/MaaCore/Config/Miscellaneous/InfrastConfig.cpp index 8c766db149..48e2435e13 100644 --- a/src/MaaCore/Config/Miscellaneous/InfrastConfig.cpp +++ b/src/MaaCore/Config/Miscellaneous/InfrastConfig.cpp @@ -26,7 +26,10 @@ bool asst::InfrastConfig::parse(const json::value& json) infrast::Skill skill; std::string templ_name = skill_json.at("template").as_string(); skill.templ_name = templ_name; - m_templ_required.emplace(skill.templ_name); + if (!templ_name.starts_with("Bskill_dorm_")) { + // 宿舍技能跳过,没有图片 + m_templ_required.emplace(skill.templ_name); + } skill.id = id; for (const json::value& skill_names : skill_json.at("name").as_array()) { skill.names.emplace_back(skill_names.as_string()); diff --git a/src/MaaCore/Config/ResourceLoader.cpp b/src/MaaCore/Config/ResourceLoader.cpp index 08783a2fb5..495a96ae69 100644 --- a/src/MaaCore/Config/ResourceLoader.cpp +++ b/src/MaaCore/Config/ResourceLoader.cpp @@ -153,6 +153,7 @@ bool asst::ResourceLoader::load(const std::filesystem::path& path) // 重要的资源,实时加载(图片还是惰性的) LoadResourceWithTemplAndCheckRet(TaskData, "tasks.json"_p, "template"_p); + // 基建技能路径,无法变更(基于热更屎山) LoadResourceWithTemplAndCheckRet(InfrastConfig, "infrast.json"_p, "template"_p / "infrast"_p); LoadResourceWithTemplAndCheckRet(ItemConfig, "item_index.json"_p, "template"_p / "items"_p); diff --git a/src/MaaCore/Config/TemplResource.cpp b/src/MaaCore/Config/TemplResource.cpp index 5646c1b50d..716ced217f 100644 --- a/src/MaaCore/Config/TemplResource.cpp +++ b/src/MaaCore/Config/TemplResource.cpp @@ -34,7 +34,7 @@ bool asst::TemplResource::load(const std::filesystem::path& path) m_templ_paths.insert_or_assign(name, filepath); } } - else if (m_loaded) { + else if (m_loaded && m_templ_paths.contains(name)) { continue; } else {