I haven't looked at the code yet, but maybe the cast spell commands could just have a bool option added that would make them ignore LoS. Or, if it is an NPC casting from it's own spell list and not from a script, then maybe a new NPC special attack code could be added for unavoidable AEs. It would definitely be a great thing to have both of these options for creating good boss encounters.
Until that happens, maybe you could just have it use the GetRandomClient() quest object to get a random nearby client and then have them actually cast the AE, so it will hit anyone near them. It would probably be hard for a whole raid to hide behind walls from everyone in the raid at all times lol.
I think you just use it like:
Code:
my $MyX = GetX();
my $MyY = GetY();
my $MyZ = GetZ();
my $RandClient = $entity_list->GetRandomClient($MyX, $MyY, $MyY, 100);
Then, use the $RandClient to cast a spell on a timer or something with something like this:
Code:
if ($RandClient){
my $ClientID = $RandClient->GetID();
$RandClient->CastSpell(spell_id, $ClientID);
}
I haven't tested that, but I think that would make them cast the spell on themself, which should effect both them and anyone within range/LoS of them.