Argument spell zu si_spell umbenannt.
Besser sperechender name.
Ausserdem Whitespace-Aenderungen
Change-Id: I06b76dfeab6d4a1e34f54bfa0ee85ac2797aa92a
diff --git a/doc/sphinx/lfun/DefendOther.rst b/doc/sphinx/lfun/DefendOther.rst
index e18c9c7..363ff24 100644
--- a/doc/sphinx/lfun/DefendOther.rst
+++ b/doc/sphinx/lfun/DefendOther.rst
@@ -5,37 +5,41 @@
--------
::
- public <int|string*|mapping>* DefendOther(int dam, string|string* dam_type,
- int|mapping spell, object enemy)
+ public <int|string*|mapping>* DefendOther(int dam, string* dam_type,
+ int|mapping si_spell, object enemy)
DEFINIERT IN
------------
::
- /std/living/combat.c
+ /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.
+ int dam
+ Der Schaden, der voraussichtlich beim zu verteidigenden Lebewesen
+ verursacht werden soll.
+
+ string* dam_type
+ Der Schadenstyp (oder die Schadenstypen), der beim zu
+ verteidigenden Lebewesen verursacht werden sollen.
+
+ mapping si_spell
+ Mapping mit zusaetzlichen Informationen zum Angriff
+ Alte Objekte uebergeben manchmal einen Integer (0 fuer
+ physikalischen Angriff, 1 fuer Zauber.
+
+ object enemy
+ Der Feind, der ein zu verteidigendes Lebewesen angegriffen hat.
RUeCKGABEWERT
-------------
::
- Array mit den Eintraegen der gegebenenfalls veraenderten
- uebergebenen Parameter:
+ Array mit den Eintraegen der gegebenenfalls veraenderten
+ uebergebenen Parameter:
(1) dam [Typ int],
(2) dam_type [Typ string*],
(3) spell [Typ mapping].
@@ -44,66 +48,78 @@
------------
::
- 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.
+ 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.
+
+ Des weiteren 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.
+ 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
+ void 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
+ public <int|string*|mapping>* DefendOther(int dam,
+ string|string* dt, int|mapping spell, object enemy) {
+ if (sizeof(dt) && member(dt, DT_FIRE) != -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
+ Funktionen:
+ :doc:`../lfun/AddDefender`, :doc:`../lfun/RemoveDefender`, :doc:`../lfun/InformDefend`, :doc:`../lfun/Kill`, :doc:`../lfun/IsEnemy`, :doc:`../lfun/Defend`
+ Properties
+ :doc:`../props/P_DEFENDERS`
+ Objekte:
+ /std/living/combat.c, /sys/new_skills.h
-
-Last modified: Fri Feb 25 14:45:00 2000 by Paracelsus
-
+Last modified: 2019-Aug-26, Arathorn