示例#1
0
            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);
            }
示例#2
0
            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);
            }
示例#3
0
            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;
            }