… | |
… | |
305 | if (defined (my $v = delete $ob->{slow_move})) { |
305 | if (defined (my $v = delete $ob->{slow_move})) { |
306 | $ob->{move_slow} |= MOVE_WALK; |
306 | $ob->{move_slow} |= MOVE_WALK; |
307 | $ob->{move_slow_penalty} = $v; |
307 | $ob->{move_slow_penalty} = $v; |
308 | } |
308 | } |
309 | if (defined (my $v = delete $ob->{walk_on})) { |
309 | if (defined (my $v = delete $ob->{walk_on})) { |
310 | $ob->{move_on} = MOVE_NONE unless exists $ob->{move_on}; |
310 | $ob->{move_on} = 0 unless exists $ob->{move_on}; |
311 | $ob->{move_on} = $v ? $ob->{move_on} | MOVE_WALK |
311 | $ob->{move_on} = $v ? $ob->{move_on} | MOVE_WALK |
312 | : $ob->{move_on} & ~MOVE_WALK; |
312 | : $ob->{move_on} & ~MOVE_WALK; |
313 | } |
313 | } |
314 | if (defined (my $v = delete $ob->{walk_off})) { |
314 | if (defined (my $v = delete $ob->{walk_off})) { |
315 | $ob->{move_off} = MOVE_NONE unless exists $ob->{move_off}; |
315 | $ob->{move_off} = 0 unless exists $ob->{move_off}; |
316 | $ob->{move_off} = $v ? $ob->{move_off} | MOVE_WALK |
316 | $ob->{move_off} = $v ? $ob->{move_off} | MOVE_WALK |
317 | : $ob->{move_off} & ~MOVE_WALK; |
317 | : $ob->{move_off} & ~MOVE_WALK; |
318 | } |
318 | } |
319 | if (defined (my $v = delete $ob->{fly_on})) { |
319 | if (defined (my $v = delete $ob->{fly_on})) { |
320 | $ob->{move_on} = MOVE_NONE unless exists $ob->{move_on}; |
320 | $ob->{move_on} = 0 unless exists $ob->{move_on}; |
321 | $ob->{move_on} = $v ? $ob->{move_on} | MOVE_FLY_LOW |
321 | $ob->{move_on} = $v ? $ob->{move_on} | MOVE_FLY_LOW |
322 | : $ob->{move_on} & ~MOVE_FLY_LOW; |
322 | : $ob->{move_on} & ~MOVE_FLY_LOW; |
323 | } |
323 | } |
324 | if (defined (my $v = delete $ob->{fly_off})) { |
324 | if (defined (my $v = delete $ob->{fly_off})) { |
325 | $ob->{move_off} = MOVE_NONE unless exists $ob->{move_off}; |
325 | $ob->{move_off} = 0 unless exists $ob->{move_off}; |
326 | $ob->{move_off} = $v ? $ob->{move_off} | MOVE_FLY_LOW |
326 | $ob->{move_off} = $v ? $ob->{move_off} | MOVE_FLY_LOW |
327 | : $ob->{move_off} & ~MOVE_FLY_LOW; |
327 | : $ob->{move_off} & ~MOVE_FLY_LOW; |
328 | } |
328 | } |
329 | if (defined (my $v = delete $ob->{flying})) { |
329 | if (defined (my $v = delete $ob->{flying})) { |
330 | $ob->{move_type} = MOVE_NONE unless exists $ob->{move_type}; |
330 | $ob->{move_type} = 0 unless exists $ob->{move_type}; |
331 | $ob->{move_type} = $v ? $ob->{move_type} | MOVE_FLY_LOW |
331 | $ob->{move_type} = $v ? $ob->{move_type} | MOVE_FLY_LOW |
332 | : $ob->{move_type} & ~MOVE_FLY_LOW; |
332 | : $ob->{move_type} & ~MOVE_FLY_LOW; |
333 | } |
333 | } |
334 | |
334 | |
335 | # convert idiotic event_xxx things into objects |
335 | # convert idiotic event_xxx things into objects |