… | |
… | |
27 | ) { |
27 | ) { |
28 | @$mine = @$his; |
28 | @$mine = @$his; |
29 | @$his = ($map, $x, $y); |
29 | @$his = ($map, $x, $y); |
30 | } |
30 | } |
31 | |
31 | |
|
|
32 | if (my $map = cf::map::find $mine->[0]) { |
32 | my $map; |
33 | $map->load; |
33 | |
34 | |
34 | if ($map = cf::map::find $mine->[0] |
|
|
35 | and $map =~ /^\// # short-gap fix |
35 | if ($map =~ /^\// # short-gap fix |
36 | and !grep +($_->flag (cf::FLAG_UNIQUE) || $_->type == cf::SHOP_FLOOR) && $_->flag (cf::FLAG_IS_FLOOR), |
36 | and !grep +($_->flag (cf::FLAG_UNIQUE) || $_->type == cf::SHOP_FLOOR) && $_->flag (cf::FLAG_IS_FLOOR), |
37 | $map->at ($mine->[1], $mine->[2])) { |
37 | $map->at ($mine->[1], $mine->[2]) |
|
|
38 | ) { |
38 | $who->ob->goto (@$mine); |
39 | $who->ob->goto (@$mine) |
|
|
40 | unless $who->ob->blocked ($map, $mine->[1], $mine->[2]) |
39 | } else { |
41 | } else { |
40 | delete $follow{$name}; |
42 | delete $follow{$name}; |
41 | $who->ob->message ("You can't follow $target anymore!"); |
43 | $who->ob->message ("You can't follow $target anymore!"); |
|
|
44 | } |
42 | } |
45 | } |
43 | } else { |
46 | } else { |
44 | delete $follow{$name}; |
47 | delete $follow{$name}; |
45 | $who->ob->message ("$target is gone...") |
48 | $who->ob->message ("$target is gone...") |
46 | if $who; |
49 | if $who; |