Argument spell zu si_spell umbenannt.
Besser sperechender name.
Ausserdem Whitespace-Aenderungen
Change-Id: I06b76dfeab6d4a1e34f54bfa0ee85ac2797aa92a
diff --git a/doc/sphinx/lfun/Defend.rst b/doc/sphinx/lfun/Defend.rst
index f0d80cf..70dc9d2 100644
--- a/doc/sphinx/lfun/Defend.rst
+++ b/doc/sphinx/lfun/Defend.rst
@@ -4,8 +4,8 @@
FUNKTION
--------
- public int Defend(int dam, string|string* dam_types, int|mapping si_spell,
- object enemy)
+ public int Defend(int dam, string|string* dam_types,
+ int|mapping si_spell, object enemy)
DEFINIERT IN
------------
@@ -42,11 +42,11 @@
(dam-Summe(Ruestungsstaerken)-random(P_BODY+A_DEX))*CheckResistance/10
aber nicht unter 0.
-Der Parameter 'spell'
-+++++++++++++++++++++
+Der Parameter 'si_spell'
+++++++++++++++++++++++++
- Ist 'spell' 0, dann gilt der Angriff als normale physische Attacke
- Uebergibt man als 'spell'-Parameter ein Mapping, so gibt es dafuer
+ Ist 'si_spell' 0, dann gilt der Angriff als normale physische Attacke
+ Uebergibt man als 'si_spell'-Parameter ein Mapping, so gibt es dafuer
diverse Flags, die das Ergebnis manipulieren (in new_skills.h
enthalten). Nichtangabe eines Flags gilt als 0.
@@ -70,7 +70,8 @@
Name des Spells
- SP_GLOBAL_ATTACK (int)
1 bei Flaechenspells (die mehrere Ziele treffen koennen)
- - SP_REDUCE_ARMOUR (mapping) ------------ Mapping: keys AT_X/P_BODY, values int>=0
+ - SP_REDUCE_ARMOUR (mapping) ------------
+ Mapping: keys AT_X/P_BODY, values int>=0
Die Schutzwirkung durch P_AC/Magie einer Ruestung wird typabhaengig
reduziert. Als Keys sind P_BODY und die AT_* erlaubt, die Werte
muessen ints > 0 sein.
@@ -157,37 +158,31 @@
enem->Defend(100, ({DT_BLUDGEON}), ([SP_PHYSICAL_ATTACK:1]), this_object());
// ein magischer Angriff (ohne Treffermeldung):
- enem->Defend(100, ({DT_BLUDGEON, DT_FIRE}), ([SP_PHYSICAL_ATTACK:0]), this_object());
+ enem->Defend(100, ({DT_BLUDGEON, DT_FIRE}), ([SP_PHYSICAL_ATTACK:0]),
+ this_object());
// ein magischer Angriff mit Treffermeldung:
enem->Defend(100, ({DT_BLUDGEON, DT_FIRE}), ([SP_SHOW_DAMAGE:1]),
- this_object());
+ this_object());
SIEHE AUCH
----------
- Angriff: :doc:`Attack`, :doc:`../props/P_NO_ATTACK`, :doc:`InsertEnemy`
+ Angriff:
+ :doc:`Attack`, :doc:`../props/P_NO_ATTACK`, :doc:`InsertEnemy`
- Schaden: :doc:`../props/P_ENABLE_IN_ATTACK_OUT`,
- :doc:`../props/P_LAST_MOVE`, :doc:`do_damage`,
- :doc:`reduce_hit_points`
+ Schaden:
+ :doc:`../props/P_ENABLE_IN_ATTACK_OUT`, :doc:`../props/P_LAST_MOVE`, :doc:`do_damage`, :doc:`reduce_hit_points`
- Schutz: :doc:`../props/P_DEFENDERS`, :doc:`InformDefend`,
- :doc:`DefendOther`, :doc:`../props/P_ARMOURS`,
- :doc:`../props/P_AC`, :doc:`../props/P_DEFEND_FUNC`,
- :doc:`QueryDefend`, :doc:`../props/P_BODY`
+ Schutz:
+ :doc:`../props/P_DEFENDERS`, :doc:`InformDefend`, :doc:`DefendOther`, :doc:`../props/P_ARMOURS`, :doc:`../props/P_AC`, :doc:`../props/P_DEFEND_FUNC`, :doc:`QueryDefend`, :doc:`../props/P_BODY`
- Daten: :doc:`../props/P_LAST_COMBAT_TIME`,
- :doc:`../props/P_LAST_DAMTYPES`,
- :doc:`../props/P_LAST_DAMTIME`, :doc:`../props/P_LAST_DAMAGE`,
- :doc:`../props/P_DAMAGE_MSG`
+ Daten:
+ :doc:`../props/P_LAST_COMBAT_TIME`, :doc:`../props/P_LAST_DAMTYPES`, :doc:`../props/P_LAST_DAMTIME`, :doc:`../props/P_LAST_DAMAGE`, :doc:`../props/P_DAMAGE_MSG`
+ Resistenz:
+ :doc:`../props/P_RESISTANCE_STRENGTHS`, :doc:`CheckResistance`
- Resistenz: :doc:`../props/P_RESISTANCE_STRENGTHS`,
- :doc:`CheckResistance`
-
- Sonstiges: :doc:`CheckSensitiveAttack`,
- :doc:`InternalModifyDefend`, :doc:`normalize_defend_args`
- :doc:`UseSkill`,
- :doc:`DefendInfo`
+ Sonstiges:
+ :doc:`CheckSensitiveAttack`, :doc:`InternalModifyDefend`, :doc:`normalize_defend_args`, :doc:`UseSkill`, :doc:`DefendInfo`
Letzte Aenderung: 20.01.2019, Zesstra
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