From ac12ba153ea08952ccd272fc5b2bd0018cb147c0 Mon Sep 17 00:00:00 2001 From: Paul Coene Date: Mon, 15 Apr 2024 06:07:24 -0400 Subject: [PATCH] [Spells] Normal Group Spells (non-raid) landed twice on caster (#4240) --- zone/groups.cpp | 3 --- zone/spells.cpp | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) 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); } }