diff --git a/zone/groups.cpp b/zone/groups.cpp index 3a0d8bc5f..34bd267ab 100644 --- a/zone/groups.cpp +++ b/zone/groups.cpp @@ -793,7 +793,6 @@ bool Group::DelMember(Mob* oldmember, bool ignoresender) return true; } -// does the caster + group void Group::CastGroupSpell(Mob* caster, uint16 spell_id) { uint32 z; float range, distance; @@ -807,8 +806,6 @@ void Group::CastGroupSpell(Mob* caster, uint16 spell_id) { float range2 = range*range; float min_range2 = spells[spell_id].min_range * spells[spell_id].min_range; -// caster->SpellOnTarget(spell_id, caster); - for(z=0; z < MAX_GROUP_MEMBERS; z++) { if(members[z] == caster) { diff --git a/zone/spells.cpp b/zone/spells.cpp index 8ae167348..ce40a9e46 100644 --- a/zone/spells.cpp +++ b/zone/spells.cpp @@ -2669,7 +2669,7 @@ bool Mob::SpellFinished(uint16 spell_id, Mob *spell_target, CastingSlot slot, in Group *target_group = entity_list.GetGroupByMob(spell_target); if (target_group) { target_group->CastGroupSpell(this, spell_id); - if (GetClass() != Class::Bard) { + if (target_group != GetGroup() && GetClass() != Class::Bard) { SpellOnTarget(spell_id, this); } }