I've been noticing that lull/harmony effects do not appear to have the expected effect. In particular, the monk phantom line of disciplines do not appear to reduce assist range. Looking through code, I found this:
Code:
void EntityList::AIYellForHelp(Mob* sender, Mob* attacker) {
_ZP(EntityList_AIYellForHelp);
if(!sender || !attacker)
return;
if (sender->GetPrimaryFaction() == 0 )
return; // well, if we dont have a faction set, we're gonna be indiff to everybody
LinkedListIterator<NPC*> iterator(npc_list);
for(iterator.Reset(); iterator.MoreElements(); iterator.Advance()) {
NPC* mob = iterator.GetData();
if(!mob){
continue;
}
float r = mob->GetAssistRange();
r = r * r;
if(sender == NULL)
return;
if (
mob != sender
&& mob != attacker
// && !mob->IsCorpse()
// && mob->IsAIControlled()
&& mob->GetPrimaryFaction() != 0
&& mob->DistNoRoot(*sender) <= r
&& !mob->IsEngaged()
)
{
//if they are in range, make sure we are not green...
//then jump in if they are our friend
Is there a reason we are squaring the assist range of a mob before deciding to assist?