… | |
… | |
201 | my ($k, $v) = @$_; |
201 | my ($k, $v) = @$_; |
202 | |
202 | |
203 | if (my $end = $Crossfire::FIELD_MULTILINE{$k}) { |
203 | if (my $end = $Crossfire::FIELD_MULTILINE{$k}) { |
204 | $v =~ s/\n$//; |
204 | $v =~ s/\n$//; |
205 | $str .= "$k\n$v\n$end\n"; |
205 | $str .= "$k\n$v\n$end\n"; |
|
|
206 | } elsif (exists $Crossfire::FIELD_MOVEMENT{$k}) { |
|
|
207 | if ($v & ~Crossfire::MOVE_ALL or !$v) { |
|
|
208 | $str .= "$k $v\n"; |
|
|
209 | |
|
|
210 | } elsif ($v & Crossfire::MOVE_ALLBIT) { |
|
|
211 | $str .= "$k all"; |
|
|
212 | |
|
|
213 | $str .= " -walk" unless $v & Crossfire::MOVE_WALK; |
|
|
214 | $str .= " -fly_low" unless $v & Crossfire::MOVE_FLY_LOW; |
|
|
215 | $str .= " -fly_high" unless $v & Crossfire::MOVE_FLY_HIGH; |
|
|
216 | $str .= " -swim" unless $v & Crossfire::MOVE_SWIM; |
|
|
217 | $str .= " -boat" unless $v & Crossfire::MOVE_BOAT; |
|
|
218 | |
|
|
219 | $str .= "\n"; |
|
|
220 | |
|
|
221 | } else { |
|
|
222 | $str .= $k; |
|
|
223 | |
|
|
224 | $str .= " walk" if $v & Crossfire::MOVE_WALK; |
|
|
225 | $str .= " fly_low" if $v & Crossfire::MOVE_FLY_LOW; |
|
|
226 | $str .= " fly_high" if $v & Crossfire::MOVE_FLY_HIGH; |
|
|
227 | $str .= " swim" if $v & Crossfire::MOVE_SWIM; |
|
|
228 | $str .= " boat" if $v & Crossfire::MOVE_BOAT; |
|
|
229 | |
|
|
230 | $str .= "\n"; |
|
|
231 | } |
206 | } else { |
232 | } else { |
207 | $str .= "$k $v\n"; |
233 | $str .= "$k $v\n"; |
208 | } |
234 | } |
209 | } |
235 | } |
210 | |
236 | |