--- deliantra/server/lib/cf/mapscript.pm 2009/07/16 21:42:56 1.5
+++ deliantra/server/lib/cf/mapscript.pm 2011/04/23 04:56:52 1.10
@@ -1,4 +1,24 @@
-#! perl
+#
+# This file is part of Deliantra, the Roguelike Realtime MMORPG.
+#
+# Copyright (©) 2008,2009,2010,2011 Marc Alexander Lehmann / Robin Redeker / the Deliantra team
+#
+# Deliantra is free software: you can redistribute it and/or modify it under
+# the terms of the Affero GNU General Public License as published by the
+# Free Software Foundation, either version 3 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the Affero GNU General Public License
+# and the GNU General Public License along with this program. If not, see
+# .
+#
+# The authors can be reached via e-mail to
+#
=head1 NAME
@@ -20,13 +40,13 @@
=cut
-package safe::mapscript;
+package cf::mapscript::eval;
-use strict qw(subs vars);
+use common::sense;
=item $self
-The mapscript object itself
+The mapscript object itself.
=item $state
@@ -44,7 +64,7 @@
=cut
-our ($self, $state, $activator, $originator);
+use vars qw($self $state $activator $originator);
=item @obs = find $id_or_object
@@ -61,7 +81,7 @@
=item trigger $id_or_object[, $state]
Triggers the linked chain with the given I id, or the connected
-chain associated with the given object (if an objetc reference is passed),
+chain associated with the given object (if an object reference is passed),
and passes the given state (or C<1>, if missing) to it.
=cut
@@ -72,7 +92,7 @@
=item timer $id_or_object, $seconds
-Starts the timer on the given mapscript object (usually, $id_or_object is
+Starts the timer on the given mapscript object (usually, C<$id_or_object> is
C<$self>). When the timer expires on the mapscript object, it will trigger
the script with C<$activator == $self> and C<$originator == undef>.
@@ -86,16 +106,20 @@
package cf::mapscript;
-use strict qw(subs vars);
+use common::sense;
+
+*{"main::safe::cf::mapscript::eval::"} = \%{"main::cf::mapscript::eval::"};
our %CACHE;
sub activate($$$) {
+ package cf::mapscript::eval;
+
($self, $state, $activator, $originator) = @_;
(
$CACHE{$self->msg} ||= cf::safe_eval
- "package mapscript; sub {\n"
+ "package cf::mapscript::eval; sub {\n"
. "#line 1 '" . ($self->debug_desc) . "'\n"
. $self->msg
. "\n}"