Manpages als reStructuredText erstellt
Unsere Manpages wurden mit einem LPC-Tool in
reStructuredText konvertiert und liegen jetzt
in diesem Verzeichnis als Quelldaten.
Aus diesen reStructuredText sollen dann per
Script die ASCII-Manpages und per Sphinx HTML u.a.
erzeugt werden.
Change-Id: I75d659a7b3f9863aecb11dbeb0037e6cae227c36
diff --git a/doc/sphinx/lfun/DefendOther.rst b/doc/sphinx/lfun/DefendOther.rst
new file mode 100644
index 0000000..855d2b8
--- /dev/null
+++ b/doc/sphinx/lfun/DefendOther.rst
@@ -0,0 +1,108 @@
+DefendOther()
+=============
+
+FUNKTION
+--------
+::
+
+ mixed DefendOther(int dam,mixed dam_type,mixed spell,object enemy);
+
+DEFINIERT IN
+------------
+::
+
+ /std/living/combat.c
+
+ARGUMENTE
+---------
+::
+
+ dam
+ Der Schaden, der voraussichtlich beim zu verteidigenden Lebewesen
+ verursacht werden soll.
+ dam_type
+ Der Schadenstyp (oder die Schadenstypen), der beim zu
+ verteidigenden Lebewesen verursacht werden sollen.
+ spell
+ Wenn das zu verteidigende Lebewesen mit Spells angegriffen wurde,
+ so koennte man hier mehr Infos entnehmen.
+ enemy
+ Der Feind, der ein zu verteidigendes Lebewesen angegriffen hat.
+
+RUeCKGABEWERT
+-------------
+::
+
+ Array mit den Eintraegen der gegebenenfalls veraenderten
+ uebergebenen Parameter:
+ (1) dam [Typ int],
+ (2) dam_type [Typ string*],
+ (3) spell [Typ mapping].
+
+BESCHREIBUNG
+------------
+::
+
+ Es ist moeglich, dass Objekte Angriffe auf Lebewesen abwehren oder
+ umwandeln, sofern diese Objekte bei dem angegriffenen Lebewesen
+ mittels AddDefender() angemeldet wurden und sich der selben Umgebung
+ befinden.
+ Zumeist wird es sich bei den Objekten natuerlich ebenfalls um
+ andere Lebewesen handeln, die das Lebewesen, bei dem sie angemeldet
+ sind, verteidigen sollen.
+ Bei einem Angriff auf das Lebewesen koennen alle Objekte per Aufruf
+ von DefendOther() in einen Angriff eingreifen, wobei die
+ Schadensstaerke, der Schadenstyp (die Schadenstypen),
+ Zusatzinformationen fuer Angriffsspells und der Angreifer als
+ Parameter uebergeben werden.
+ Desweiteren ist zu beachten, dass bei als physikalisch markierten
+ Angriffen in einem Team nur Verteidiger aus der ersten Reihe
+ beruecksichtigt werden und dass bei einem Angriff zufaellig aus
+ allen moeglichen Verteidigern ausgewaehlt wird.
+ Standardmaessig ist diese Funktion in Lebewesen bereits definiert,
+ wobei der Skill SK_DEFEND_OTHER, sofern vorhanden, aufgerufen wird.
+
+BEISPIEL
+--------
+::
+
+ Sehr beliebt sind in Gilden NPCs, die den Beschwoerer begleiten und
+ verteidigen, z.B. beschworene Daemonen:
+ inherit "std/npc";
+ include <properties.h>
+ object owner;
+ void create()
+ { ::create();
+ SetProp(P_NAME,"Daemon");
+ ...
+ }
+ // nach Clonen des Daemons folgende Funktion mit Beschwoerer als
+ // Parameter aufrufen
+ Identify(object caster)
+ { if(!objectp(caster))
+ call_out(#'remove,0);
+ owner=caster;
+ owner->AddDefender(this_object());
+ }
+ // der Daemon wehrt jeden Angriff mit Feuer voll ab, man muss zuerst
+ // den Verteidiger umbringen, um den Beschwoerer toeten zu koennen
+ mixed DefendOther(int dam,mixed dam_type,mixed spell,object enemy)
+ { if(sizeof(dam_type)&&member_array(DT_FIRE,dam_type)!=-1)
+ dam=0;
+ return({dam,dam_type,spell});
+ }
+ Soll der Daemon sich auch in ein Team einordnen, in welchem sich der
+ Beschwoerer eventuell befindet, so ist zusaetzlich AssocMember() in
+ diesem Beschwoerer aufzurufen, wobei der Daemon als Parameter
+ uebergeben wird.
+
+SIEHE AUCH
+----------
+::
+
+ AddDefender(), RemoveDefender(), InformDefend(), Kill(), IsEnemy(),
+ P_DEFENDERS, /std/living/combat.c, /sys/new_skills.h
+
+
+Last modified: Fri Feb 25 14:45:00 2000 by Paracelsus
+