groups.cpp doesn't matter, the problem is in spells.cpp, that's where the final above all be all check is. The code looks like:
Code:
#ifdef GROUP_BUFF_PETS
if (GetPet())
GetPet()->BardPulse(spell_id, this);
#endif
}
}
}
else {
mlog(SPELLS__BARDS, "Bard Song Pulse: spell %d, Group target without group. Affecting caster.", spell_id);
BardPulse(spell_id, this);
#ifdef GROUP_BUFF_PETS
if (GetPet())
GetPet()->BardPulse(spell_id, this);
#endif
}
break;
}
}
Meaning all songs will land on every pet all the time. I'm going to add a check for charmed pets, but not for Pet Affinity for now. If somebody knows otherwise, please let me know.