Auto-erzeugte Manpages aktualisiert.

Change-Id: I56922c76705a17682137843fd743c1f2068b2e42
diff --git a/doc/lfun/normalize_defend_args b/doc/lfun/normalize_defend_args
new file mode 100644
index 0000000..7b41e74
--- /dev/null
+++ b/doc/lfun/normalize_defend_args
@@ -0,0 +1,89 @@
+
+normalize_defend_args()
+***********************
+
+
+FUNKTION
+========
+
+   protected nomask void normalize_defend_args(int dam,
+      string|string* dam_types, int|mapping si_spell, object enemy)
+
+
+DEFINIERT IN
+============
+
+   /std/living/combat.c
+
+
+ARGUMENTE
+=========
+
+   Die Argumente sind die Argumente, welche Defend() uebergeben
+   bekommt (siehe dort!)
+
+
+BESCHREIBUNG
+============
+
+   Defend bekommt aus historischem Code haeufig Argumente uebergeben,
+   die nicht der aktuellen Konvention entsprechen (z.B. si_spell als 0
+   oder 1 statt eines Mappings). Damit nun nicht jedes Objekt seine
+   eigene Anpassung vornehmen muss und dabei evtl. noch etwas
+   vergessen wird, kann man mit dieser Funktion die Argumente genauso
+   "normieren", wie es in der Standardlib in Defend() auch gemacht
+   wuerde.
+
+   Dieses wird ganz dringend empfohlen statt diese Normierung selber
+   vorzunehmen. Und sollte es hier Aenderungen geben, bekommt man
+   diese automatisch mit.
+
+   Nach dem Aufruf dieser Funktion (Argumente als Referenz
+   uebergeben!) liegen die Argumente dann wie folgt vor:
+
+   dam
+      ein Integer (unveraendert)
+
+   dam_types
+      ein Array von Schadenstypen
+
+   si_spell
+      ein Mapping - wenn es neu angelegt wurde, enthaelt es die
+      Eintraege SP_PHYSICAL_ATTACK, SP_SHOW_DAMAGE, SP_REDUCE_ARMOUR
+      und EINFO_DEFEND. SP_PHYSICAL_ATTACK und SP_SHOW_DAMAGE sind 1,
+      wenn si_spell 0 wahr, sonst 1.
+
+   enemy
+      ist das Objekt des Gegners oder this_player()
+
+   Alternativ zum Ueberschreiben von Defend() und Nutzung dieser
+   Funktion ist haeufig auch InternalModifyDefend() gut geeignet. Dort
+   muss *keine* eigene Normierung der uebergebenen Argumente mehr
+   vorgenommen werden!
+
+
+BEISPIELE
+=========
+
+   // Ein eigenes Defend soll Dinge tun, bevor das geerbte Defend() gerufen
+   // wird. Um den Code zu vereinfachen, sollen die Typen der Argumente aber
+   // schon sicher in einem "normierten Zustand" sein.
+   public int Defend(int dam, string|string* dam_types, int|mapping spell,
+                     object enemy)
+   {
+     // Uebergabe per Referenz noetig!
+     normalize_defend_args(&dam, &dam_type, &spell, &enemy);
+     if (member(dam_types, DT_FIRE) > -1
+         && si_spell[SP_NAME] == "Drachenfeuer")
+       dam *= 2; // Schaden verdoppeln
+     return ::Defend(dam, dam_types, si_spell, enemy);
+   }
+
+
+SIEHE AUCH
+==========
+
+   Verwandt:
+      InternalModifyDefend(), Defend(), DefendInfo()
+
+16.01.2019 Zesstra