add --multiply option to convert-rare-item-set

This commit is contained in:
Martin Michelsen
2024-03-07 22:51:32 -08:00
parent 70c57e7727
commit 8a7e19757a
3 changed files with 26 additions and 2 deletions
+15
View File
@@ -509,6 +509,21 @@ JSON RareItemSet::json(shared_ptr<const ItemNameIndex> name_index) const {
return modes_dict;
}
void RareItemSet::multiply_all_rates(double factor) {
auto multiply_rates_vec = +[](vector<vector<ExpandedDrop>>& vec, double factor) -> void {
for (auto& vec_it : vec) {
for (auto& z_it : vec_it) {
uint64_t new_probability = z_it.probability * factor;
z_it.probability = min<uint64_t>(new_probability, 0xFFFFFFFF);
}
}
};
for (auto& coll_it : this->collections) {
multiply_rates_vec(coll_it.second.rt_index_to_specs, factor);
multiply_rates_vec(coll_it.second.box_area_to_specs, factor);
}
}
void RareItemSet::print_collection(
FILE* stream,
GameMode mode,