--- deliantra/Deliantra/Deliantra.pm 2006/05/03 19:34:31 1.65 +++ deliantra/Deliantra/Deliantra.pm 2006/06/14 19:23:32 1.66 @@ -201,22 +201,27 @@ $ob->{move_slow_penalty} = $v; } if (defined (my $v = delete $ob->{walk_on})) { + $ob->{move_on} = MOVE_ALL unless exists $ob->{move_on}; $ob->{move_on} = $v ? $ob->{move_on} | MOVE_WALK : $ob->{move_on} & ~MOVE_WALK; } if (defined (my $v = delete $ob->{walk_off})) { + $ob->{move_off} = MOVE_ALL unless exists $ob->{move_off}; $ob->{move_off} = $v ? $ob->{move_off} | MOVE_WALK : $ob->{move_off} & ~MOVE_WALK; } if (defined (my $v = delete $ob->{fly_on})) { + $ob->{move_on} = MOVE_ALL unless exists $ob->{move_on}; $ob->{move_on} = $v ? $ob->{move_on} | MOVE_FLY_LOW : $ob->{move_on} & ~MOVE_FLY_LOW; } if (defined (my $v = delete $ob->{fly_off})) { + $ob->{move_off} = MOVE_ALL unless exists $ob->{move_off}; $ob->{move_off} = $v ? $ob->{move_off} | MOVE_FLY_LOW : $ob->{move_off} & ~MOVE_FLY_LOW; } if (defined (my $v = delete $ob->{flying})) { + $ob->{move_type} = MOVE_ALL unless exists $ob->{move_type}; $ob->{move_type} = $v ? $ob->{move_type} | MOVE_FLY_LOW : $ob->{move_type} & ~MOVE_FLY_LOW; }