Core/Pools: Attempt to workaround pools being broken since 2015 (#24949)

* Core/Pools: Attempt to workaround pools being broken since 2015

Attempt n°2

* Fix warning
This commit is contained in:
Giacomo Pozzoni
2020-07-06 19:05:43 +00:00
committed by GitHub
parent e20e51a385
commit 8c0a315734

View File

@@ -278,7 +278,7 @@ void PoolGroup<T>::SpawnObject(ActivePoolData& spawns, uint32 limit, uint32 trig
roll -= obj.chance;
// Triggering object is marked as spawned at this time and can be also rolled (respawn case)
// so this need explicit check for this case
if (roll < 0 && (obj.guid == triggerFrom || !spawns.IsActiveObject<T>(obj.guid)))
if (roll < 0 && (/*obj.guid == triggerFrom ||*/ !spawns.IsActiveObject<T>(obj.guid)))
{
rolledObjects.push_back(obj);
break;
@@ -288,9 +288,9 @@ void PoolGroup<T>::SpawnObject(ActivePoolData& spawns, uint32 limit, uint32 trig
if (!EqualChanced.empty() && rolledObjects.empty())
{
std::copy_if(EqualChanced.begin(), EqualChanced.end(), std::back_inserter(rolledObjects), [triggerFrom, &spawns](PoolObject const& object)
std::copy_if(EqualChanced.begin(), EqualChanced.end(), std::back_inserter(rolledObjects), [/*triggerFrom, */&spawns](PoolObject const& object)
{
return object.guid == triggerFrom || !spawns.IsActiveObject<T>(object.guid);
return /*object.guid == triggerFrom ||*/ !spawns.IsActiveObject<T>(object.guid);
});
Trinity::Containers::RandomResize(rolledObjects, count);