improve error message for missing quest common/rare item sets
This commit is contained in:
+12
-2
@@ -506,7 +506,12 @@ ItemData ServerState::parse_item_description(Version version, const string& desc
|
||||
|
||||
shared_ptr<const CommonItemSet> ServerState::common_item_set(Version logic_version, shared_ptr<const Quest> q) const {
|
||||
if (q && !q->meta.common_item_set_name.empty()) {
|
||||
return this->common_item_sets.at(q->meta.common_item_set_name);
|
||||
try {
|
||||
return this->common_item_sets.at(q->meta.common_item_set_name);
|
||||
} catch (const std::out_of_range&) {
|
||||
throw runtime_error(std::format("common item set {} for quest {} does not exist",
|
||||
q->meta.common_item_set_name, q->meta.name));
|
||||
}
|
||||
} else if (is_v1_or_v2(logic_version) && (logic_version != Version::GC_NTE)) {
|
||||
// TODO: We should probably have a v1 common item set at some point too
|
||||
return this->common_item_sets.at("common-table-v1-v2");
|
||||
@@ -520,7 +525,12 @@ shared_ptr<const CommonItemSet> ServerState::common_item_set(Version logic_versi
|
||||
|
||||
shared_ptr<const RareItemSet> ServerState::rare_item_set(Version logic_version, shared_ptr<const Quest> q) const {
|
||||
if (q && !q->meta.rare_item_set_name.empty()) {
|
||||
return this->rare_item_sets.at(q->meta.rare_item_set_name);
|
||||
try {
|
||||
return this->rare_item_sets.at(q->meta.rare_item_set_name);
|
||||
} catch (const std::out_of_range&) {
|
||||
throw runtime_error(std::format("rare item set {} for quest {} does not exist",
|
||||
q->meta.rare_item_set_name, q->meta.name));
|
||||
}
|
||||
} else if (is_v1(logic_version)) {
|
||||
return this->rare_item_sets.at("rare-table-v1");
|
||||
} else if (is_v2(logic_version) && (logic_version != Version::GC_NTE)) {
|
||||
|
||||
Reference in New Issue
Block a user