--- deliantra/gde/GCE/Util.pm 2006/03/10 20:32:47 1.2 +++ deliantra/gde/GCE/Util.pm 2006/03/12 12:18:55 1.3 @@ -18,7 +18,7 @@ use Crossfire; use Crossfire::MapWidget; -our @EXPORT = qw(insert_arch_stack_layer replace_arch_stack_layer new_arch_pb fill_pb_from_arch arch_is_floor stack_find_floor stack_find_wall stack_find arch_is_wall); +our @EXPORT = qw(insert_arch_stack_layer replace_arch_stack_layer new_arch_pb fill_pb_from_arch arch_is_floor stack_find_floor stack_find_wall stack_find arch_is_wall arch_is_monster); sub new_arch_pb { # this is awful, is this really the best way? @@ -65,6 +65,12 @@ return $Crossfire::ARCH{$a->{_name}}->{no_pass}; } +sub arch_is_monster { + my ($a) = @_; + my $arch = $Crossfire::ARCH{$a->{_name}}; + return $arch->{alive} and ($arch->{monster} or $arch->{generator}); +} + sub stack_find { my ($stack, $dir, $pred) = @_;