… | |
… | |
194 | }, |
194 | }, |
195 | on_move => sub { |
195 | on_move => sub { |
196 | my ($pl, $dir) = @_; |
196 | my ($pl, $dir) = @_; |
197 | |
197 | |
198 | # must delay a bit :/ |
198 | # must delay a bit :/ |
199 | Event->timer (after => 0, cb => sub { |
199 | my $delay; $delay = EV::timer 0, 0, sub { |
200 | $_[0]->w->cancel; |
200 | undef $delay; |
201 | |
201 | |
202 | if (my $dialog = $pl->{npc_dialog}) { |
202 | if (my $dialog = $pl->{npc_dialog}) { |
203 | my (undef, $dx, $dy) = $pl->ob->rangevector ($dialog->{npc}); |
203 | my (undef, $dx, $dy) = $pl->ob->rangevector ($dialog->{npc}); |
204 | |
204 | |
205 | return if (abs $dx) <= 2 && (abs $dy) <= 2; |
205 | return if (abs $dx) <= 2 && (abs $dy) <= 2; |