This will fix the bug with ungrouped targets.
Code:
case ST_Group:
case 0x3:
{
Mob* trg = this;
if (IsClient() && CastToClient()->TGB() && target && target != this && target->IsClient())
{
trg = target;
SpellOnTarget(spell_id,this);
}
if (trg->IsClient() && entity_list.GetGroupByClient(trg->CastToClient()) != 0)
entity_list.GetGroupByClient(trg->CastToClient())->CastGroupSpell(this->CastToClient(),spell_id);
else
SpellOnTarget(spell_id,trg);
break;
}