Auto-erzeugte Manpages aktualisiert.
Change-Id: I56922c76705a17682137843fd743c1f2068b2e42
diff --git a/doc/lfun/Defend b/doc/lfun/Defend
index 1de1f78..e5ee6ea 100644
--- a/doc/lfun/Defend
+++ b/doc/lfun/Defend
@@ -6,8 +6,8 @@
FUNKTION
========
- public int Defend(int dam, string|string* dam_type, int|mapping
- spell,
+ public int Defend(int dam, string|string* dam_types, int|mapping
+ si_spell,
object enemy)
@@ -23,12 +23,12 @@
int dam
Initiale Staerke des Angriffs (10 dam ~ 1 HP)
- string* dam_type
+ string* dam_types
Art des Schadens, der angerichtet werden soll Muss ein Array von
Schadenstypen sein, alte Objekte uebergeben hier manchmal
strings.
- mapping spell
+ mapping si_spell
Mapping mit zusaetzlichen Informationen zum Angriff(Siehe unten)
Alte Objekte uebergeben manchmal einen Integer (0 fuer
Physikalischen Angriff, 1 fuer Zauber.
@@ -61,58 +61,86 @@
diverse Flags, die das Ergebnis manipulieren (in new_skills.h
enthalten). Nichtangabe eines Flags gilt als 0.
- * SP_PHYSICAL_ATTACK ---------- 0/1 1, wenn Ruestungen wirken
- sollen, 0 sonst -> entspricht !spell, wenn dieses Int ist
+ * SP_PHYSICAL_ATTACK (int)
- * SP_NO_ENEMY ----------------- 0/1 1, falls der Angriff nicht
- toedlich ist, es also keinen echten Gegner gibt -> es wird dann
- reduce_hit_points() gerufen statt do_damage()
+ 1, wenn es ein physischer Angriff ist, d.h. Ruestungen wirken
+ sollen, 0 sonst. Dies entspricht dem alten !spell (wenn Spell
+ kein Mapping ist).
- * SP_NO_ACTIVE_DEFENSE -------- 0/1 1, falls aktive Abwehren (wie
- zurueckschlagende Amulette, Karateabwehren oder Ausweichmanoever)
- unterbleiben sollen -> zB bei Kratzen durch Dornen oder Fall aus
- grosser Hoehe ist aktive Abwehr oder Ausweichen unlogisch
+ * SP_NO_ENEMY (int)
- * SP_RECURSIVE ---------------- 0/1 1, falls der Spell aus einem
- Defend gerufen wurde (oder einer DefendFunc) -> verhindert
- Rekursionsprobleme
+ 1, falls der Angriff nicht toedlich ist, es also keinen echten
+ Gegner gibt. Es wird dann reduce_hit_points() gerufen statt
+ do_damage()
- * SP_NAME --------------------- string Name des Spells
+ * SP_NO_ACTIVE_DEFENSE (int)
- * SP_GLOBAL_ATTACK ------------ 0/1 1 bei Flaechenspells
+ 1, falls aktive Abwehren (wie zurueckschlagende Amulette,
+ Karateabwehren oder Ausweichmanoever) unterbleiben sollen, zB
+ bei Kratzen durch Dornen oder Fall aus grosser Hoehe ist
+ aktive Abwehr oder Ausweichen unlogisch
- * SP_REDUCE_ARMOUR ------------ Mapping: keys AT_X/P_BODY, values
- int>=0 Die Schutzwirkung durch P_AC/Magie einer Ruestung wird
- typabhaengig reduziert. Aufbau eines Mappings im Beispiel:
+ * SP_RECURSIVE (int)
- ([AT_BOOTS: 0, // Stiefel schuetzen gar nicht P_BODY: 50, //
- Koerper zu 50% AT_BELT: 600 // Guertel zu 600% ]) -> alle
- 'fehlenden' Eintraege wirken normal
+ 1, falls der Spell aus einem Defend gerufen wurde (oder einer
+ DefendFunc). Dies ist sehr wichtig, um unendliche Rekursionen
+ zu vermeiden, wenn zwei zurueckschlagende Verteidigungen
+ zusammentreffen.
- * SP_SHOW_DAMAGE -------------- 0/1 oder Array von Arrays 0, fuer
- keine Treffermeldung, 1 sonst In einem Array koennen Ersatz-
- Treffermeldungen definiert werden. Format ist:
+ * SP_NAME (string)
- ({ ({ int lphit1, string mess_me, string mess_en, string
- mess_room }), ({ lphit2, mess_me, mess_en, mess_room }), ...
- ({ lphitn, mess_me, mess_en, mess_room }), }) wobei
- lphit1<lphit2<...<lphitn sein muss, d.h. das Array-Array
- aufsteigend sortiert.
+ Name des Spells
- Ist ein Treffer x LP hart, werden die Meldungen des lphit-Arrays
- ausgegeben, dessen Wert am naehesten unter dem Schaden liegt.
+ * SP_GLOBAL_ATTACK (int)
- In den Meldungen mess_me (an den Getroffenen), mess_en (an den
- Feind), mess_room (an die restlichen Umstehenden) koennen
- Ersatzstrings wie folgt verwendet werden:
+ 1 bei Flaechenspells (die mehrere Ziele treffen koennen)
- @WER1/@WESSEN1/@WEM1/@WEN1 - name(casus) des Getroffenen (TO)
- @WER2/@WESSEN2/@WEM2/@WEN2 - name(casus) des Feindes (enemy)
+ * SP_REDUCE_ARMOUR (mapping) ------------ Mapping: keys
+ AT_X/P_BODY, values int>=0
- EINFO_DEFEND ------------ Mapping Dieses Mapping liefert
- erweiterte Informationen zu dem bisherigen Ablauf des aktiven
- Attacks. Die verfuegbaren Informationen sind in der Manpage zu
- DefendInfo festgehalten.
+ 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. Aufbau eines
+ Mappings im Beispiel:
+
+ ([AT_BOOTS: 0, // Stiefel schuetzen gar nicht
+ P_BODY: 50, // Koerper zu 50%
+ AT_BELT: 600 // Guertel zu 600%
+ ])
+ -> alle 'fehlenden' Eintraege wirken normal
+
+ * SP_SHOW_DAMAGE (int or Array von Array)
+
+ 0 fuer keine Treffermeldung, 1 fuer Standardtreffermeldungen.
+ Falls individuelle Treffermeldungen geschwuenscht sind,
+ koennen aber auch in einem Array Ersatz-Treffermeldungen
+ definiert werden. Das Format ist:
+
+ ({
+ ({ int lphit1, string mess_me, string mess_en, string mess_room }),
+ ({ lphit2, mess_me, mess_en, mess_room }),
+ ...
+ ({ lphitn, mess_me, mess_en, mess_room }),
+ })
+ wobei lphit1<lphit2<...<lphitn sein muss, d.h. das Array-Array
+ aufsteigend sortiert.
+
+ Ist ein Treffer x LP hart, werden die Meldungen des lphit-
+ Arrays ausgegeben, dessen Wert am naehesten unter dem Schaden
+ liegt.
+
+ In den Meldungen mess_me (an den Getroffenen), mess_en (an den
+ Feind), mess_room (an die restlichen Umstehenden) koennen
+ Ersatzstrings wie folgt verwendet werden:
+
+ @WER1/@WESSEN1/@WEM1/@WEN1 - name(casus) des Getroffenen (TO)
+ @WER2/@WESSEN2/@WEM2/@WEN2 - name(casus) des Feindes (enemy)
+
+ * EINFO_DEFEND (mapping)
+
+ Dieses Mapping liefert erweiterte Informationen zu dem
+ bisherigen Ablauf des aktiven Attacks. Die verfuegbaren
+ Informationen sind in der Manpage zu DefendInfo festgehalten.
Reihenfolgen in Defend
@@ -192,6 +220,6 @@
Resistenz: P_RESISTANCE_STRENGTHS, CheckResistance()
Sonstiges: CheckSensitiveAttack(), InternalModifyDefend(),
- UseSkill(), DefendInfo()
+ normalize_defend_args() UseSkill(), DefendInfo()
-Letzte Aenderung: 29.12.2017, Bugfix
+Letzte Aenderung: 20.01.2019, Zesstra