feat(Core/SmartScripts): SMART_ACTION_CALL_FOR_HELP should properly call assistance in case of polymorphed creature. (#9231)

Updates #9120
This commit is contained in:
UltraNix
2021-11-19 19:53:59 +01:00
committed by GitHub
parent 0d345c5a50
commit e747716230
3 changed files with 14 additions and 6 deletions

View File

@@ -2237,14 +2237,20 @@ void Creature::CallAssistance(Unit* target /*= nullptr*/)
}
}
void Creature::CallForHelp(float radius)
void Creature::CallForHelp(float radius, Unit* target /*= nullptr*/)
{
if (radius <= 0.0f || !GetVictim() || IsPet() || IsCharmed())
if (radius <= 0.0f || IsPet() || IsCharmed())
{
return;
}
Acore::CallOfHelpCreatureInRangeDo u_do(this, GetVictim(), radius);
if (!target)
{
target = GetVictim();
}
Acore::CallOfHelpCreatureInRangeDo u_do(this, target, radius);
Acore::CreatureWorker<Acore::CallOfHelpCreatureInRangeDo> worker(this, u_do);
Cell::VisitGridObjects(this, worker, radius);
}