diff options
20 files changed, 32 insertions, 32 deletions
diff --git a/src/common/Utilities/Containers.h b/src/common/Utilities/Containers.h index dc0f4d7c244..0a437b0e4d8 100644 --- a/src/common/Utilities/Containers.h +++ b/src/common/Utilities/Containers.h @@ -54,7 +54,7 @@ namespace Trinity } template<class C> - void RandomResizeList(C& container, std::size_t requestedSize) + void RandomResize(C& container, std::size_t requestedSize) { uint32 currentSize = uint32(Size(container)); while (currentSize > requestedSize) @@ -67,7 +67,7 @@ namespace Trinity } template<class C, class Predicate> - void RandomResizeList(C& container, Predicate&& predicate, std::size_t requestedSize) + void RandomResize(C& container, Predicate&& predicate, std::size_t requestedSize) { //! First use predicate filter C containerCopy; @@ -75,7 +75,7 @@ namespace Trinity if (requestedSize) { std::copy_if(std::begin(container), std::end(container), std::inserter(containerCopy, std::end(containerCopy)), predicate); - RandomResizeList(containerCopy, requestedSize); + RandomResize(containerCopy, requestedSize); } container = std::move(containerCopy); @@ -87,7 +87,7 @@ namespace Trinity * Note: container cannot be empty */ template<class C> - inline auto SelectRandomContainerElement(C const& container) -> decltype(*std::begin(container)) const& + inline auto SelectRandomContainerElement(C const& container) -> typename std::add_const<decltype(*std::begin(container))>::type& { auto it = std::begin(container); std::advance(it, urand(0, uint32(Size(container)) - 1)); @@ -104,7 +104,7 @@ namespace Trinity * Note: container cannot be empty */ template<class C> - auto SelectRandomWeightedContainerElement(C const& container, std::vector<double> weights) -> decltype(std::begin(container)) + inline auto SelectRandomWeightedContainerElement(C const& container, std::vector<double> weights) -> decltype(std::begin(container)) { auto it = std::begin(container); std::advance(it, urandweighted(weights.size(), weights.data())); diff --git a/src/server/game/AI/CoreAI/UnitAI.h b/src/server/game/AI/CoreAI/UnitAI.h index 0aab01e4a6e..bbd2e7de74c 100644 --- a/src/server/game/AI/CoreAI/UnitAI.h +++ b/src/server/game/AI/CoreAI/UnitAI.h @@ -256,7 +256,7 @@ class TC_GAME_API UnitAI targetList.reverse(); if (targetType == SELECT_TARGET_RANDOM) - Trinity::Containers::RandomResizeList(targetList, maxTargets); + Trinity::Containers::RandomResize(targetList, maxTargets); else targetList.resize(maxTargets); } diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.h b/src/server/game/AI/ScriptedAI/ScriptedCreature.h index f1b25cd505d..b4db664a980 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedCreature.h +++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.h @@ -107,11 +107,11 @@ public: } template <class Predicate> - void DoAction(int32 info, Predicate& predicate, uint16 max = 0) + void DoAction(int32 info, Predicate&& predicate, uint16 max = 0) { // We need to use a copy of SummonList here, otherwise original SummonList would be modified StorageType listCopy = storage_; - Trinity::Containers::RandomResizeList<ObjectGuid, Predicate>(listCopy, predicate, max); + Trinity::Containers::RandomResize<StorageType, Predicate>(listCopy, std::forward<Predicate>(predicate), max); for (StorageType::iterator i = listCopy.begin(); i != listCopy.end(); ) { Creature* summon = ObjectAccessor::GetCreature(*me, *i++); diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 146a7fd45d0..585f789ec24 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -1155,7 +1155,7 @@ void Spell::SelectImplicitConeTargets(SpellEffIndex effIndex, SpellImplicitTarge if (uint32 maxTargets = m_spellValue->MaxAffectedTargets) { maxTargets += m_caster->GetTotalAuraModifierByAffectMask(SPELL_AURA_MOD_MAX_AFFECTED_TARGETS, m_spellInfo); - Trinity::Containers::RandomResizeList(targets, maxTargets); + Trinity::Containers::RandomResize(targets, maxTargets); } for (std::list<WorldObject*>::iterator itr = targets.begin(); itr != targets.end(); ++itr) @@ -1238,7 +1238,7 @@ void Spell::SelectImplicitAreaTargets(SpellEffIndex effIndex, SpellImplicitTarge if (uint32 maxTargets = m_spellValue->MaxAffectedTargets) { maxTargets += m_caster->GetTotalAuraModifierByAffectMask(SPELL_AURA_MOD_MAX_AFFECTED_TARGETS, m_spellInfo); - Trinity::Containers::RandomResizeList(targets, maxTargets); + Trinity::Containers::RandomResize(targets, maxTargets); } for (std::list<WorldObject*>::iterator itr = targets.begin(); itr != targets.end(); ++itr) diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp index 41194939b51..1adbbec120f 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp @@ -190,7 +190,7 @@ public: for (uint8 i = 0; i < 6; ++i) AddList.push_back(Adds[i]); - Trinity::Containers::RandomResizeList(AddList, 4); + Trinity::Containers::RandomResize(AddList, 4); uint8 i = 0; for (std::list<uint32>::const_iterator itr = AddList.begin(); itr != AddList.end() && i < 4; ++itr, ++i) diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp index 0e640ed4f1a..95600a06d36 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp @@ -335,7 +335,7 @@ class boss_hexlord_malacrass : public CreatureScript void SelectAddEntry() { std::list<uint32> addList(&AddEntryList[0], &AddEntryList[AddCount]); - Trinity::Containers::RandomResizeList(addList, 4); + Trinity::Containers::RandomResize(addList, 4); uint8 i = 0; for (auto itr = addList.begin(); itr != addList.end(); ++itr, ++i) diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp index 164d0c49d86..9f214eb5e12 100644 --- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp +++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp @@ -154,7 +154,7 @@ class boss_moam : public CreatureScript targetList.push_back((*itr)->getTarget()); } - Trinity::Containers::RandomResizeList(targetList, 5); + Trinity::Containers::RandomResize(targetList, 5); for (std::list<Unit*>::iterator itr = targetList.begin(); itr != targetList.end(); ++itr) DoCast(*itr, SPELL_DRAIN_MANA); diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp index 0b179b1e252..63e39a33c35 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp @@ -1856,7 +1856,7 @@ class spell_halion_spawn_living_embers : public SpellScriptLoader void SelectMeteorFlames(std::list<WorldObject*>& unitList) { if (!unitList.empty()) - Trinity::Containers::RandomResizeList(unitList, 10); + Trinity::Containers::RandomResize(unitList, 10); } void HandleScript(SpellEffIndex /* effIndex */) diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp index fd28bb5d6d3..96d64012489 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp @@ -240,7 +240,7 @@ class spell_saviana_conflagration_init : public SpellScriptLoader targets.remove_if(ConflagrationTargetSelector()); uint8 maxSize = uint8(GetCaster()->GetMap()->GetSpawnMode() & 1 ? 6 : 3); if (targets.size() > maxSize) - Trinity::Containers::RandomResizeList(targets, maxSize); + Trinity::Containers::RandomResize(targets, maxSize); } void HandleDummy(SpellEffIndex effIndex) diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp index 5c1a01c1706..694ef000ed1 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp @@ -554,9 +554,9 @@ class instance_halls_of_reflection : public InstanceMapScript ObjectGuid bossGuid = i <= 3 ? FalricGUID : MarwynGUID; if (!i) - Trinity::Containers::RandomResizeList(tempList, 3); + Trinity::Containers::RandomResize(tempList, 3); else if (i < 6 && i != 3) - Trinity::Containers::RandomResizeList(tempList, 4); + Trinity::Containers::RandomResize(tempList, 4); for (uint32 entry : tempList) { diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp index ea722083f88..e070829ea16 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp @@ -409,7 +409,7 @@ class boss_blood_queen_lana_thel : public CreatureScript { std::list<Player*> targets; SelectRandomTarget(false, &targets); - Trinity::Containers::RandomResizeList(targets, Is25ManRaid() ? 3 : 2); + Trinity::Containers::RandomResize(targets, Is25ManRaid() ? 3 : 2); if (targets.size() > 1) { Talk(SAY_PACT_OF_THE_DARKFALLEN); @@ -432,7 +432,7 @@ class boss_blood_queen_lana_thel : public CreatureScript { std::list<Player*> targets; SelectRandomTarget(false, &targets); - Trinity::Containers::RandomResizeList<Player*>(targets, uint32(Is25ManRaid() ? 4 : 2)); + Trinity::Containers::RandomResize(targets, uint32(Is25ManRaid() ? 4 : 2)); for (std::list<Player*>::iterator itr = targets.begin(); itr != targets.end(); ++itr) DoCast(*itr, SPELL_TWILIGHT_BLOODBOLT); DoCast(me, SPELL_TWILIGHT_BLOODBOLT_TARGET); @@ -685,7 +685,7 @@ class spell_blood_queen_bloodbolt : public SpellScriptLoader { uint32 targetCount = (targets.size() + 2) / 3; targets.remove_if(BloodboltHitCheck(static_cast<LanaThelAI*>(GetCaster()->GetAI()))); - Trinity::Containers::RandomResizeList(targets, targetCount); + Trinity::Containers::RandomResize(targets, targetCount); // mark targets now, effect hook has missile travel time delay (might cast next in that time) for (std::list<WorldObject*>::const_iterator itr = targets.begin(); itr != targets.end(); ++itr) GetCaster()->GetAI()->SetGUID((*itr)->GetGUID(), GUID_BLOODBOLT); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp index 4dfa7d2cd23..e92b66f358f 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp @@ -221,7 +221,7 @@ class boss_festergut : public CreatureScript if (!ranged.empty()) { - Trinity::Containers::RandomResizeList(ranged, RAID_MODE<uint32>(1, 3, 1, 3)); + Trinity::Containers::RandomResize(ranged, RAID_MODE<uint32>(1, 3, 1, 3)); for (std::list<Unit*>::iterator itr = ranged.begin(); itr != ranged.end(); ++itr) DoCast(*itr, SPELL_VILE_GAS); } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp index 8b738d73801..95996143209 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp @@ -1204,7 +1204,7 @@ class spell_putricide_unbound_plague : public SpellScriptLoader targets.remove_if(Trinity::UnitAuraCheck(true, sSpellMgr->GetSpellIdForDifficulty(SPELL_UNBOUND_PLAGUE, GetCaster()))); - Trinity::Containers::RandomResizeList(targets, 1); + Trinity::Containers::RandomResize(targets, 1); } void HandleScript(SpellEffIndex /*effIndex*/) diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp index ce7e062b551..21cb420cc5a 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp @@ -848,7 +848,7 @@ class spell_rotface_vile_gas_trigger : public SpellScriptLoader } if (!ranged.empty()) - Trinity::Containers::RandomResizeList(ranged, GetCaster()->GetMap()->Is25ManRaid() ? 3 : 1); + Trinity::Containers::RandomResize(ranged, GetCaster()->GetMap()->Is25ManRaid() ? 3 : 1); targets.swap(ranged); } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp index ce3b2732003..7ae563f8341 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp @@ -1169,7 +1169,7 @@ class spell_sindragosa_unchained_magic : public SpellScriptLoader unitList.remove_if(UnchainedMagicTargetSelector()); uint32 maxSize = uint32(GetCaster()->GetMap()->GetSpawnMode() & 1 ? 6 : 2); if (unitList.size() > maxSize) - Trinity::Containers::RandomResizeList(unitList, maxSize); + Trinity::Containers::RandomResize(unitList, maxSize); } void Register() override diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp index ad0a46cbf84..c05029fb29e 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp @@ -2018,7 +2018,7 @@ class spell_svalna_revive_champion : public SpellScriptLoader void RemoveAliveTarget(std::list<WorldObject*>& targets) { targets.remove_if(AliveCheck()); - Trinity::Containers::RandomResizeList(targets, 2); + Trinity::Containers::RandomResize(targets, 2); } void Land(SpellEffIndex /*effIndex*/) diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp index 95c10a54c90..7994c5b640d 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp @@ -1739,10 +1739,10 @@ class spell_malygos_arcane_storm : public SpellScriptLoader { // Resize list only to objects that are vehicles. IsCreatureVehicleCheck check(true); - Trinity::Containers::RandomResizeList(targets, check, (malygos->GetMap()->GetDifficulty() == RAID_DIFFICULTY_10MAN_NORMAL ? 4 : 10)); + Trinity::Containers::RandomResize(targets, check, (malygos->GetMap()->GetDifficulty() == RAID_DIFFICULTY_10MAN_NORMAL ? 4 : 10)); } else - Trinity::Containers::RandomResizeList(targets, (malygos->GetMap()->GetDifficulty() == RAID_DIFFICULTY_10MAN_NORMAL ? 4 : 10)); + Trinity::Containers::RandomResize(targets, (malygos->GetMap()->GetDifficulty() == RAID_DIFFICULTY_10MAN_NORMAL ? 4 : 10)); } void HandleVisual(SpellEffIndex /*effIndex*/) @@ -2020,7 +2020,7 @@ class spell_scion_of_eternity_arcane_barrage : public SpellScriptLoader if (!targets.empty()) { if (targets.size() > 1) - Trinity::Containers::RandomResizeList(targets, 1); + Trinity::Containers::RandomResize(targets, 1); if (WorldObject* filteredTarget = targets.front()) if (malygos) @@ -2270,7 +2270,7 @@ class spell_malygos_surge_of_power_warning_selector_25 : public SpellScriptLoade std::list<WorldObject*> selectedTargets = targets; uint8 guidDataSlot = DATA_FIRST_SURGE_TARGET_GUID; // SetGuid in Malygos AI is reserved for 14th, 15th and 16th Id for the three targets - Trinity::Containers::RandomResizeList(selectedTargets, 3); + Trinity::Containers::RandomResize(selectedTargets, 3); for (std::list<WorldObject*>::const_iterator itr = selectedTargets.begin(); itr != selectedTargets.end(); ++itr) { Creature* target = (*itr)->ToCreature(); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp index 0856f1a4579..e63f8ca49d3 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp @@ -856,7 +856,7 @@ class boss_thorim : public CreatureScript triggerList.push_back(bunny); } else - Trinity::Containers::RandomResizeList(triggerList, count); + Trinity::Containers::RandomResize(triggerList, count); } void SummonWave() diff --git a/src/server/scripts/Spells/spell_druid.cpp b/src/server/scripts/Spells/spell_druid.cpp index 59ccf7a8bda..11a47b025d8 100644 --- a/src/server/scripts/Spells/spell_druid.cpp +++ b/src/server/scripts/Spells/spell_druid.cpp @@ -1543,7 +1543,7 @@ class spell_dru_starfall_dummy : public SpellScriptLoader void FilterTargets(std::list<WorldObject*>& targets) { - Trinity::Containers::RandomResizeList(targets, 2); + Trinity::Containers::RandomResize(targets, 2); } void HandleDummy(SpellEffIndex /*effIndex*/) diff --git a/src/server/scripts/Spells/spell_item.cpp b/src/server/scripts/Spells/spell_item.cpp index 6fb323074f5..01f3efb0e33 100644 --- a/src/server/scripts/Spells/spell_item.cpp +++ b/src/server/scripts/Spells/spell_item.cpp @@ -4329,7 +4329,7 @@ class spell_item_taunt_flag_targeting : public SpellScriptLoader return; } - Trinity::Containers::RandomResizeList(targets, 1); + Trinity::Containers::RandomResize(targets, 1); } void HandleDummy(SpellEffIndex /*effIndex*/) |