$Group->CastGroupSpell Can cast spells on a group, and I never said that duration didn't have to do with level, just that the quest::selfcast had nothing to do with it, and it doesn't, the spell itself is influenced once cast, not by the quest::selfcast itself. You can also do something like the below.
Code:
sub EVENT_SAY
{
my $Group = $client->GetGroup();
if($text=~/Hail/i)
{
if($Group)
{
$Group->CastGroupSpell(6428);
}
else
{
quest::selfcast(6428);
}
}
}
The functionality of this would be to buff a whole group IF there is one, where as, if they're alone, they would receive the buffs in a singular form, rather than a MGB, 6428 is a Gamemaster 3M HP Buff and was just used as an example, if cast using quest::selfcast it has a singular target, where as with $Group->CastGroupSpell makes it have multiple targets, and makes it buff other people, or bots, within your party.