Manpages als reStructuredText erstellt
Unsere Manpages wurden mit einem LPC-Tool in
reStructuredText konvertiert und liegen jetzt
in diesem Verzeichnis als Quelldaten.
Aus diesen reStructuredText sollen dann per
Script die ASCII-Manpages und per Sphinx HTML u.a.
erzeugt werden.
Change-Id: I75d659a7b3f9863aecb11dbeb0037e6cae227c36
diff --git a/doc/sphinx/lfun/TakeFlaw.rst b/doc/sphinx/lfun/TakeFlaw.rst
new file mode 100644
index 0000000..2ab1916
--- /dev/null
+++ b/doc/sphinx/lfun/TakeFlaw.rst
@@ -0,0 +1,101 @@
+TakeFlaw()
+==========
+
+FUNKTION
+--------
+::
+
+ varargs void TakeFlaw(object enemy); (Waffen)
+ varargs void TakeFlaw(mixed dam_types,mapping einfos) (Ruestungen)
+
+DEFINIERT IN
+------------
+::
+
+ /std/armour/combat.c,
+ /std/weapon/combat.c
+
+ARGUMENTE
+---------
+::
+
+ keine
+
+BESCHREIBUNG
+------------
+::
+
+ Diese Funktion wird in Waffen und Ruestungen waehrend des Kampfes
+ aufgerufen. In einer Waffe erfolgt der Aufruf bei jedem Schlag mit
+ dieser Waffe, bei Ruestungen wird TakeFlaw() in einer zufaellig
+ ausgewaehlten getragenen Ruestung aufgerufen.
+ Waffen bekommen das Gegnerobjekt uebergeben, Ruestungen die erweiterten
+ DefendInfos (s. dort fuer Details). Aufgrund dieser Informationen kann
+ man den Schaden, den ein Gegenstand nimmt, flexibler gestalten (z.B. bei
+ einer Waffe in Abhaengigkeit von P_BODY des Gegners.)
+
+ Soweit man die Funktion nicht ueberlaedt, bewirkt sie nichts weiter als
+ das Erhoehen eines Zaehlers, der mit QueryFlaw() abgefragt werden kann.
+
+RUeCKGABEWERT
+-------------
+::
+
+ keiner
+
+BEMERKUNGEN
+-----------
+::
+
+ Die Waffen-/ Ruestungsklasse wird nicht automatisch reduziert! Wenn
+ eine Waffe oder Ruestung sich abnutzen soll, muss man TakeFlaw()
+ ueberladen und dort entsprechend handeln, oder (fuer einfache
+ Faelle) die Property P_QUALITY setzen.
+
+BEISPIELE
+---------
+::
+
+ Eine Waffe, deren Waffenklasse alle 20 Schlaege um 1 abnimmt:
+
+ inherit "std/weapon";
+
+ #include <properties.h>
+ #include <combat.h>
+
+ create()
+ {
+ /* Das Uebliche... */
+ }
+
+ TakeFlaw()
+ {
+ int flaw;
+
+ /* erst mal den Zaehler erhoehen... */
+ ::TakeFlaw();
+
+ /* jetzt den aktuellen Zaehlerstand abfragen */
+ flaw = QueryFlaw()[0];
+
+ /* Abzug nur jeden 20. Schlag */
+ if (!(flaw % 20)) {
+ /* So, jetzt fuer den Schaden sorgen. Hierfuer benutzt */
+ /* man am sichersten die eingebaute Funktion Damage() */
+ Damage(1);
+ }
+ }
+
+ Dieses einfache Beispiel haette natuerlich auch ueber ein
+ SetProp(P_QUALITY,20); im create() realisiert werden koennen.
+
+SIEHE AUCH
+----------
+::
+
+ QueryFlaw(), Damage(), DefendInfo, P_QUIALITY, /std/armour/combat.c,
+ /std/weapon/combat.c
+
+
+Last modified: Thu May 22 10:30:10 1997 by Paracelsus
+