… | |
… | |
2462 | (async { |
2462 | (async { |
2463 | # *tag paths override both path and x|y |
2463 | # *tag paths override both path and x|y |
2464 | if ($path =~ /^\*(.*)$/) { |
2464 | if ($path =~ /^\*(.*)$/) { |
2465 | if (my @obs = grep $_->map, ext::map_tags::find $1) { |
2465 | if (my @obs = grep $_->map, ext::map_tags::find $1) { |
2466 | my $ob = $obs[rand @obs]; |
2466 | my $ob = $obs[rand @obs]; |
|
|
2467 | |
|
|
2468 | # todo: use ob_blocked to check all tiles of the destination "object" |
|
|
2469 | # for suitability. |
|
|
2470 | |
2467 | ($path, $x, $y) = ($ob->map, $ob->x, $ob->y); |
2471 | ($path, $x, $y) = ($ob->map, $ob->x, $ob->y); |
2468 | } |
2472 | } |
2469 | } |
2473 | } |
2470 | |
2474 | |
2471 | my $map = eval { |
2475 | my $map = eval { |