Doku fuer Hooks
Hook-Funktionen und weitere Libhooks.
Ausserdem ein paar Typos und Klarstellungen in aelteren Manpages zu
Libhooks.
Change-Id: I27de063d852ccb3971379503ab041682d711be9c
diff --git a/doc/libhooks/H_HOOK_DEFEND b/doc/libhooks/H_HOOK_DEFEND
new file mode 100644
index 0000000..6e69c7f
--- /dev/null
+++ b/doc/libhooks/H_HOOK_DEFEND
@@ -0,0 +1,55 @@
+H_HOOK_DEFEND
+=============
+
+HOOK
+----
+
+ H_HOOK_DEFEND
+
+DEFINIERT IN
+------------
+
+ /sys/hook.h
+
+GERUFEN VON
+-----------
+
+ /std/living/combat.c
+
+BESCHREIBUNG
+------------
+
+ Wird im Defend() eines Lebewesens ausgeloest. Es ist moeglich das Defend()
+ abzubrechen oder die Daten zu veraendern.
+ Dieser Hook kommt nach der Auswertung von P_TMP_DEFEND_HOOK zum Zuge, kann
+ also auch die durch diesen modifizierten Daten aendern.
+ Die Daten des Legacy-Hooks stehen, sofern vorhanden, in
+ spell[EINFO_DEFEND][DEFEND_HOOK].
+
+ Insb. wird dieser Hook aber auch erst nach Abfrage der Defender
+ ausgefuehrt. Von diesen sind evtl. bereits Meldungen ausgegeben worden,
+ auch wenn das Defend() an dieser Stelle vom Hook abgebrochen wird.
+
+ Parierwaffen, Ruestungen und Skills kommen erst nach dem Hook zum Zug.
+
+HOOK-DATEN
+----------
+
+ Es wird ein array uebergeben.
+ ({int dam, string* dam_type, mapping spell, object enemy})
+ Die Werte sind bereits normalisiert D.h., eine Ueberpruefung auf korrekte
+ Datentypen ist hier ueberfluessig.
+
+RUECKGABEWERTE
+--------------
+
+ ({ <status>, <daten> })
+ <status> : H_NO_MOD, H_CANCELLED, H_ALTERED
+ <daten> : wie uebergebenes Datenarray
+
+SIEHE AUCH
+----------
+
+ HRegisterToHook(), HUnregisterFromHook(), HookFlow(), Defend()
+
+Letzte Aenderung: 06.10.2022, Bugfix