… | |
… | |
16 | use List::Util qw(min max); |
16 | use List::Util qw(min max); |
17 | |
17 | |
18 | use Crossfire; |
18 | use Crossfire; |
19 | use Crossfire::MapWidget; |
19 | use Crossfire::MapWidget; |
20 | |
20 | |
21 | 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); |
21 | 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); |
22 | |
22 | |
23 | sub def($$) { |
23 | sub def($$) { |
24 | return defined ($_[0]) ? $_[0] : $_[1]; |
24 | return defined ($_[0]) ? $_[0] : $_[1]; |
25 | } |
25 | } |
26 | |
26 | |
… | |
… | |
84 | |
84 | |
85 | } else { # $arch->{is_floor} and all other arches are 'between' monsters and floor |
85 | } else { # $arch->{is_floor} and all other arches are 'between' monsters and floor |
86 | |
86 | |
87 | return 'between'; |
87 | return 'between'; |
88 | } |
88 | } |
|
|
89 | } |
|
|
90 | |
|
|
91 | sub arch_is_exit { |
|
|
92 | my ($a) = @_; |
|
|
93 | my $type = $Crossfire::ARCH{$a->{_name}}->{type}; |
|
|
94 | return $type eq '66' || $type eq '41'; |
89 | } |
95 | } |
90 | |
96 | |
91 | sub arch_is_floor { |
97 | sub arch_is_floor { |
92 | my ($a) = @_; |
98 | my ($a) = @_; |
93 | return $Crossfire::ARCH{$a->{_name}}->{is_floor}; |
99 | return $Crossfire::ARCH{$a->{_name}}->{is_floor}; |