ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/lib/cf/mapscript.pm
(Generate patch)

Comparing deliantra/server/lib/cf/mapscript.pm (file contents):
Revision 1.1 by root, Thu Jan 8 03:03:24 2009 UTC vs.
Revision 1.3 by root, Thu Jan 8 19:23:44 2009 UTC

4 4
5package safe::mapscript; 5package safe::mapscript;
6 6
7use strict qw(subs vars); 7use strict qw(subs vars);
8 8
9our ($self, $activator, $state); 9our ($self, $state, $activator, $originator);
10
11sub find($) {
12 ref $_[0] ? $_[0]
13 : $self->map->find_link ($_[0])
14}
15
16sub get($) {
17 (&find)[0]->value
18}
19
20sub trigger($;$) {
21 $self->map->trigger ($_[0], $#_ ? $_[1] : 1, $self);
22}
23
24sub timer($$) {
25 my $ob = (&find)[0];
26 $ob->speed_left ($_[1] / -cf::TICK);
27 $ob->set_speed (1);
28}
10 29
11package cf::mapscript; 30package cf::mapscript;
12 31
13use strict qw(subs vars); 32use strict qw(subs vars);
14 33
34our %CACHE;
35
15sub activate($$$) { 36sub activate($$$) {
16 ($self, $activator, $state) = @_; 37 ($self, $state, $activator, $originator) = @_;
17
18 warn "$self->{msg} $self->{on_activate}\n";#d#
19 38
20 ( 39 (
21 $self->{on_activate} ||= cf::safe_eval 40 $CACHE{$self->msg} ||= cf::safe_eval
22 "package mapscript; sub {\n" 41 "package mapscript; sub {\n"
23 . "#line 1 '" . ($self->debug_desc) . "'\n" 42 . "#line 1 '" . ($self->debug_desc) . "'\n"
24 . $self->msg 43 . $self->msg
25 . "\n}" 44 . "\n}"
26 or sub { } 45 or sub { }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines