--- deliantra/gde/GCE/Util.pm 2006/04/04 11:29:54 1.17 +++ deliantra/gde/GCE/Util.pm 2006/06/01 14:33:14 1.18 @@ -20,7 +20,10 @@ use File::Spec::Functions; use Cwd 'abs_path'; -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 add_table_widget quick_msg def arch_is_exit map2abs exit_paths pseudohtml2txt); +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 add_table_widget quick_msg + def arch_is_exit map2abs exit_paths pseudohtml2txt arch_is_connector); sub pseudohtml2txt { my ($html) = @_; @@ -156,7 +159,29 @@ my ($a) = @_; my $ar = Crossfire::arch_attr $a; return (substr $ar->{name}, 0, 5) eq 'Floor'; -#return $Crossfire::ARCH{$a->{_name}}->{is_floor}; +} + +sub arch_is_connector { + my ($a) = @_; + my $ar = Crossfire::arch_attr $a; + my $has_connect_field = 0; + + TOP: for (@{$ar->{section}}) { + my $name = shift @$_; + my @r = @$_; + if ($name eq 'general') { + for (@r) { + my ($k, $s) = ($_->[0], $_->[1]); + if ($k eq 'connected' && $s->{name} eq 'connection') { + $has_connect_field = 1; + last TOP; + } + } + last TOP; + } + } + + return $has_connect_field; } sub arch_is_wall {