From 895987a1112100a209b345eab002366fee39d7aa Mon Sep 17 00:00:00 2001 From: Mattes D Date: Fri, 21 Jul 2017 12:06:21 +0200 Subject: FastRandom: Remove discrepancy between arg and return value type. (#3846) --- src/MobSpawner.cpp | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'src/MobSpawner.cpp') diff --git a/src/MobSpawner.cpp b/src/MobSpawner.cpp index 2ddf60bbd..e3f5298e4 100644 --- a/src/MobSpawner.cpp +++ b/src/MobSpawner.cpp @@ -45,12 +45,12 @@ bool cMobSpawner::CheckPackCenter(BLOCKTYPE a_BlockType) -void cMobSpawner::addIfAllowed(eMonsterType toAdd, std::set& toAddIn) +void cMobSpawner::addIfAllowed(eMonsterType toAdd, std::vector & toAddIn) { std::set::iterator itr = m_AllowedTypes.find(toAdd); if (itr != m_AllowedTypes.end()) { - toAddIn.insert(toAdd); + toAddIn.push_back(toAdd); } } @@ -60,7 +60,7 @@ void cMobSpawner::addIfAllowed(eMonsterType toAdd, std::set& toAdd eMonsterType cMobSpawner::ChooseMobType(EMCSBiome a_Biome) { - std::set allowedMobs; + std::vector allowedMobs; if ((a_Biome == biMushroomIsland) || (a_Biome == biMushroomShore)) { @@ -107,15 +107,11 @@ eMonsterType cMobSpawner::ChooseMobType(EMCSBiome a_Biome) } } + // Pick a random mob from the options: size_t allowedMobsSize = allowedMobs.size(); if (allowedMobsSize > 0) { - std::set::iterator itr = allowedMobs.begin(); - - using DiffType = decltype(itr)::difference_type; - std::advance(itr, GetRandomProvider().RandInt(allowedMobsSize - 1)); - - return *itr; + return allowedMobs[GetRandomProvider().RandInt(allowedMobsSize - 1)]; } return mtInvalidType; } -- cgit v1.2.3