diff --git a/src/strategy/values/AttackersValue.cpp b/src/strategy/values/AttackersValue.cpp index 2f223c40..bfb6c5bd 100644 --- a/src/strategy/values/AttackersValue.cpp +++ b/src/strategy/values/AttackersValue.cpp @@ -12,7 +12,7 @@ GuidVector AttackersValue::Calculate() { - std::set targets; + std::unordered_set targets; GuidVector result; if (!botAI->AllowActivity(ALL_ACTIVITY)) @@ -34,7 +34,7 @@ GuidVector AttackersValue::Calculate() return result; } -void AttackersValue::AddAttackersOf(Group* group, std::set& targets) +void AttackersValue::AddAttackersOf(Group* group, std::unordered_set& targets) { Group::MemberSlotList const& groupSlot = group->GetMemberSlots(); for (Group::member_citerator itr = groupSlot.begin(); itr != groupSlot.end(); itr++) @@ -59,7 +59,7 @@ struct AddGuardiansHelper std::vector &units; }; -void AttackersValue::AddAttackersOf(Player* player, std::set& targets) +void AttackersValue::AddAttackersOf(Player* player, std::unordered_set& targets) { if (!player || !player->IsInWorld() || player->IsBeingTeleported()) return; @@ -82,14 +82,14 @@ void AttackersValue::AddAttackersOf(Player* player, std::set& targets) } } -void AttackersValue::RemoveNonThreating(std::set& targets) +void AttackersValue::RemoveNonThreating(std::unordered_set& targets) { - for(std::set::iterator tIter = targets.begin(); tIter != targets.end();) + for(std::unordered_set::iterator tIter = targets.begin(); tIter != targets.end();) { Unit* unit = *tIter; if(bot->GetMapId() != unit->GetMapId() || !hasRealThreat(unit) || !IsValidTarget(unit, bot) || !bot->IsWithinLOSInMap(unit)) { - std::set::iterator tIter2 = tIter; + std::unordered_set::iterator tIter2 = tIter; ++tIter; targets.erase(tIter2); } @@ -99,7 +99,7 @@ void AttackersValue::RemoveNonThreating(std::set& targets) // Unit* unit = *tIter; // if (!IsValidTarget(unit, bot) || !bot->IsWithinLOSInMap(unit)) // { - // std::set::iterator tIter2 = tIter; + // std::unordered_set::iterator tIter2 = tIter; // ++tIter; // targets.erase(tIter2); // }