mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-29 16:43:47 +00:00
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:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -247,7 +247,7 @@ public:
|
||||
[[nodiscard]] Unit* SelectNearestTargetInAttackDistance(float dist) const;
|
||||
|
||||
void DoFleeToGetAssistance();
|
||||
void CallForHelp(float fRadius);
|
||||
void CallForHelp(float fRadius, Unit* target = nullptr);
|
||||
void CallAssistance(Unit* target = nullptr);
|
||||
void SetNoCallAssistance(bool val) { m_AlreadyCallAssistance = val; }
|
||||
void SetNoSearchAssistance(bool val) { m_AlreadySearchedAssistance = val; }
|
||||
|
||||
Reference in New Issue
Block a user