… | |
… | |
24 | sub map2abs { |
24 | sub map2abs { |
25 | my ($dest, $mape) = @_; |
25 | my ($dest, $mape) = @_; |
26 | |
26 | |
27 | my $dir; |
27 | my $dir; |
28 | if (File::Spec->file_name_is_absolute($dest)) { |
28 | if (File::Spec->file_name_is_absolute($dest)) { |
29 | $dir = catdir ($Crossfire::LIB, 'maps', $dest); |
29 | $dir = catdir ($CFG->{MAPDIR}, $dest); |
30 | } else { |
30 | } else { |
31 | my ($v, $p, $f) = File::Spec->splitpath ($mape->{path}); |
31 | my ($v, $p, $f) = File::Spec->splitpath ($mape->{path}); |
32 | $dir = File::Spec->rel2abs ($dest, File::Spec->catpath ($v, $p)); |
32 | $dir = File::Spec->rel2abs ($dest, File::Spec->catpath ($v, $p)); |
33 | } |
33 | } |
34 | return $dir; |
34 | return $dir; |
… | |
… | |
108 | return $type eq '66' || $type eq '41'; |
108 | return $type eq '66' || $type eq '41'; |
109 | } |
109 | } |
110 | |
110 | |
111 | sub arch_is_floor { |
111 | sub arch_is_floor { |
112 | my ($a) = @_; |
112 | my ($a) = @_; |
|
|
113 | my $ar = Crossfire::arch_attr $a; |
|
|
114 | return $ar->{name} eq 'Floor'; |
113 | return $Crossfire::ARCH{$a->{_name}}->{is_floor}; |
115 | #return $Crossfire::ARCH{$a->{_name}}->{is_floor}; |
114 | } |
116 | } |
115 | |
117 | |
116 | sub arch_is_wall { |
118 | sub arch_is_wall { |
117 | my ($a) = @_; |
119 | my ($a) = @_; |
|
|
120 | my $ar = Crossfire::arch_attr $a; |
|
|
121 | return $ar->{name} eq 'Wall'; |
118 | return $Crossfire::ARCH{$a->{_name}}->{no_pass}; |
122 | #return $Crossfire::ARCH{$a->{_name}}->{no_pass}; |
119 | } |
123 | } |
120 | |
124 | |
121 | sub arch_is_monster { |
125 | sub arch_is_monster { |
122 | my ($a) = @_; |
126 | my ($a) = @_; |
123 | my $arch = $Crossfire::ARCH{$a->{_name}}; |
127 | my $arch = $Crossfire::ARCH{$a->{_name}}; |