mirror of
https://github.com/OpenFusionProject/OpenFusion.git
synced 2024-12-23 03:40:05 +00:00
revised getRarity set logic
This commit is contained in:
parent
80b11b4364
commit
527ca817d5
@ -133,16 +133,15 @@ static int getRarity(int crateId, int itemSetId) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
std::vector<int> relevantWeights;
|
||||
for (int index : rarityIndices)
|
||||
relevantWeights.push_back(rarityWeights[index]);
|
||||
std::vector<int> relevantWeights(rarityWeights.size(), 0);
|
||||
for (int index : rarityIndices) {
|
||||
// sanity check
|
||||
if (index >= 0 && index < rarityWeights.size())
|
||||
relevantWeights[index] = rarityWeights[index];
|
||||
}
|
||||
|
||||
// now return a random rarity number (starting from 1)
|
||||
int rarityChoice = Rand::randWeighted(relevantWeights);
|
||||
|
||||
auto it = rarityIndices.begin();
|
||||
std::advance(it, rarityChoice);
|
||||
return *it + 1;
|
||||
return Rand::randWeighted(relevantWeights) + 1;
|
||||
}
|
||||
|
||||
static int getCrateItem(sItemBase* result, int itemSetId, int rarity, int playerGender) {
|
||||
|
Loading…
Reference in New Issue
Block a user