fix(Scripts/Spells): Druid ability Starfall now will no longer try to hit outside line of sight targets (#22422)
Co-authored-by: Tereneckla <Tereneckla@pm.me>
This commit is contained in:
@@ -923,6 +923,21 @@ class spell_dru_starfall_dummy : public SpellScript
|
|||||||
|
|
||||||
void FilterTargets(std::list<WorldObject*>& targets)
|
void FilterTargets(std::list<WorldObject*>& targets)
|
||||||
{
|
{
|
||||||
|
// Get caster object
|
||||||
|
Unit* caster = GetCaster();
|
||||||
|
|
||||||
|
// Remove targets if they are outside line of sight with respect to caster
|
||||||
|
targets.remove_if([caster](WorldObject const* target)
|
||||||
|
{
|
||||||
|
if (target)
|
||||||
|
{
|
||||||
|
if (!caster->IsWithinLOS(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ()))
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
// Take 2 random targets from remaining within line of sight targets
|
||||||
Acore::Containers::RandomResize(targets, 2);
|
Acore::Containers::RandomResize(targets, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user