--- deliantra/server/pod/events.pod 2008/07/14 10:26:43 1.26
+++ deliantra/server/pod/events.pod 2010/04/06 23:34:57 1.37
@@ -1,3 +1,27 @@
+=begin comment
+
+ This file is part of Deliantra, the Roguelike Realtime MMORPG.
+
+ Copyright (©) 2005,2006,2007,2008,2009 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
+
+=end comment
+
=head1 DELIANTRA PLUG-IN EVENTS
This document briefly describes each plug-in event. It is also used to
@@ -6,18 +30,22 @@
=head2 NOTATION
-the event description below uses a variant of the forth stack notation -
+The event description below uses a variant of the forth stack notation -
an opening parenthesis followed by the type of each parameter, optionally
-followed by two dashes and the returning parameters. If the latter is
+followed by two dashes and the returning parameters. If the latter part is
missing, the event will be invoked but cannot change wether the event gets
processed.
-If it is specified (even if no return values are supported), a plug-in
-can override (e.g. using C in Perl) event processing,
-basically short-circuiting it. For example, if you override from within a
-player BIRTH event, nothing much will happen with respect to the built-in
-processing, but if you override from within a player TELL event, the tell
-will be ignored (presumably your plug-in took care of it).
+Return values are given by overriding (in Perl by calling C)
+with the return values, which will both stop further event processing and
+tell the caller that it wants to override normal processing.
+
+Even if no return values are supported, a plug-in can override (e.g. using
+C in Perl) event processing, basically short-circuiting
+it. For example, if you override from within a player BIRTH event,
+nothing much will happen with respect to the built-in processing, but if
+you override from within a player TELL event, the tell will be ignored
+(presumably your plug-in took care of it).
=head2 ATTACHABLE EVENTS
@@ -102,12 +130,6 @@
Invoked whenever the object is being applied in some way. The applytype is one of:
-=head3 auto_apply (object)
-
-Invoked whenever the object is automatically applied (as for example shop tiles
-are on map instantiation). See also the 'auto_apply' flag to enforce auto apply on
-any object.
-
=over 4
=item B<0> player or monster can't apply objects of that type
@@ -118,6 +140,11 @@
=back
+=head3 reset (object)
+
+Invoked whenever the object is initialised on a map after it was
+loaded. This can be used to emulate shop-floor behaviour for example.
+
=head3 throw (object thrower)
Invoked when an B