void FilterTargets(std::list<WorldObject*>& targets) { targets.remove_if(BombTargetSelector(GetCaster()->ToCreature(), GetCaster()->getVictim())); if (targets.empty()) return; _target = SkyMistCore::Containers::SelectRandomContainerElement(targets); targets.clear(); targets.push_back(_target); }
void FilterTargets(std::list<Unit*>& unitList) { unitList.remove_if(BombTargetSelector(GetCaster()->ToCreature(), GetCaster()->getVictim())); if (unitList.empty()) return; _target = SelectRandomContainerElement(unitList); unitList.clear(); unitList.push_back(_target); }
void FilterTargetsInitial(std::list<Unit*>& targetList) { targetList.remove_if(BombTargetSelector(GetCaster()->ToCreature(), GetCaster()->getVictim())); if (targetList.empty()) return; std::list<Unit*>::iterator itr = targetList.begin(); std::advance(itr, urand(0, targetList.size() - 1)); Unit* target = *itr; targetList.clear(); targetList.push_back(target); _target = target; }