… | |
… | |
20 | # The authors can be reached via e-mail to <support@deliantra.net> |
20 | # The authors can be reached via e-mail to <support@deliantra.net> |
21 | # |
21 | # |
22 | |
22 | |
23 | package cf; |
23 | package cf; |
24 | |
24 | |
25 | use 5.10.0; |
25 | use common::sense; |
26 | use utf8; |
|
|
27 | use strict qw(vars subs); |
|
|
28 | |
26 | |
29 | use Symbol; |
27 | use Symbol; |
30 | use List::Util; |
28 | use List::Util; |
31 | use Socket; |
29 | use Socket; |
32 | use EV; |
30 | use EV; |
… | |
… | |
1849 | |
1847 | |
1850 | sub register { |
1848 | sub register { |
1851 | my (undef, $regex, $prio) = @_; |
1849 | my (undef, $regex, $prio) = @_; |
1852 | my $pkg = caller; |
1850 | my $pkg = caller; |
1853 | |
1851 | |
1854 | no strict; |
|
|
1855 | push @{"$pkg\::ISA"}, __PACKAGE__; |
1852 | push @{"$pkg\::ISA"}, __PACKAGE__; |
1856 | |
1853 | |
1857 | $EXT_MAP{$pkg} = [$prio, qr<$regex>]; |
1854 | $EXT_MAP{$pkg} = [$prio, qr<$regex>]; |
1858 | } |
1855 | } |
1859 | |
1856 | |
… | |
… | |
3274 | decrease split destroy change_exp value msg lore send_msg)], |
3271 | decrease split destroy change_exp value msg lore send_msg)], |
3275 | ["cf::object::player" => qw(player)], |
3272 | ["cf::object::player" => qw(player)], |
3276 | ["cf::player" => qw(peaceful send_msg)], |
3273 | ["cf::player" => qw(peaceful send_msg)], |
3277 | ["cf::map" => qw(trigger)], |
3274 | ["cf::map" => qw(trigger)], |
3278 | ) { |
3275 | ) { |
3279 | no strict 'refs'; |
|
|
3280 | my ($pkg, @funs) = @$_; |
3276 | my ($pkg, @funs) = @$_; |
3281 | *{"safe::$pkg\::$_"} = $safe_hole->wrap (\&{"$pkg\::$_"}) |
3277 | *{"safe::$pkg\::$_"} = $safe_hole->wrap (\&{"$pkg\::$_"}) |
3282 | for @funs; |
3278 | for @funs; |
3283 | } |
3279 | } |
3284 | |
3280 | |