diff --git a/doc/lfun/UseSpell b/doc/lfun/UseSpell
index ddf1c4d..b5cfbf7 100644
--- a/doc/lfun/UseSpell
+++ b/doc/lfun/UseSpell
@@ -1,77 +1,105 @@
+
 UseSpell()
-FUNKTION:
-    public varargs int UseSpell(string str, string spell)
+**********
 
-DEFINIERT IN:
-    /std/living/skills.c
 
-ARGUMENTE:
-    string str       Spell-Optionen
-    string spell     optionaler Spellname
+FUNKTION
+========
 
-BESCHREIBUNG:
-    Benutzt einen Spell, dessen Spellname 'spell' ggf ueber query_verb()
-    ermittelt wird. Dieser Spell sollte (als kleingeschriebener
-    Skill/Spell) im Living vorliegen.
-    
-    Die Argumente 'str' werden als SI_SKILLARG temporaer in das
-    Skillmapping eingetragen (also nur fuer diesen Aufruf gueltig).
-    
-    Eine ausfuehrbare Spell-Funktion zum Spell wird in folgender
-    Reihenfolge bestimmt:
-    - eine gesetzte SI_CLOSURE nutzen
-    - "UseSpell" an einem gesetzten SI_SPELLBOOK nutzen
-    - "UseSpell" an der gesetzten P_GUILD nutzen
-      - [UseSpell der Gilde sucht iA ebenfalls nur den Spell am Spellbook]
-    - eine Closure mit Rueckgabewert 0 erstellen
-    Die so bestimmte Spell-Funktion wird dann als SI_CLOSURE im Spieler
-    gesetzt und ist bis zur Zerstoerung der entsprechenden Objekte gueltig.
-    Die Methode wird dann gerufen (der Spell also angewandt).
+   public varargs int UseSpell(string str, string spell)
 
-    Standardmaessig gibt ein UseSpell() also 0 zurueck, es sei denn, eine
-    Funktion wurde fuer den Spell an einer der oben genannten Stellen
-    implementiert.
 
-    SI_INHERIT ist fuer Spells beim Aufruf wirkungslos (gilt aber bei
-    LearnSkill normal).
+DEFINIERT IN
+============
 
-    Ein Durchlauf von UseSpell durch den Spieler sieht in etwa so aus:
-      1) Die Methode wird als Empfaenger fuer Kommandos bekannt gemacht.
-         Das passiert mit der Anweisung
-         'add_action("UseSpell", "", 1);' in den Dateien player/base.c und
-         in living/npc.c.
+   /std/living/skills.c
 
-      2) /std/living/skills::UseSpell wird durch Kommando oder Heartbeat
-         gerufen.
-      
-      3) UseSpell() ermittelt eine SI_CLOSURE oder delegiert diesen Aufruf
-         an die gueltige Gilde/das Spellbook weiter.
-      
-      4) Eine gueltige Closure wird ausgefuehrt. UseSpell() uebergibt dabei
-         die Spell/Skill-Informationen und SI_SKILLARG.
-      
-      4.1.) Im Normalfall einer Gilde/Spellbook landet der Aufruf ueber
-            /std/gilden_ob::UseSpell() in /std/spellbook::UseSpell() und
-            dieses ruft eine Spellfunktion im Spellbook auf.
-            Die Spellfunktion arbeitet mit den Spell-Informationen und
-            gibt ein ERFOLG, MISSERFOLG oder 0 dafuer zurueck, ob das
-            Spellbook Lernen/Fehlermeldung oder nichts machen soll.
-            Dementsprechend werden P_SP, P_ATTACK_BUSY und
-            P_NEXT_SPELL_TIME im Spellbook geaendert.
 
-      5.) Der Aufruf der Closure kehrt zurueck und wird zurueckgegeben.
-          Damit ist der 0-Rueckgabewert der Spellfunktion im Spellbook
-          aequivalent einem nicht ausgefuehrten Kommando.
+ARGUMENTE
+=========
 
-SIEHE AUCH:
-    Skills Lernen:  LearnSkill, ModifySkill, LimitAbility
-    * Nutzung:      UseSkill
-    * Abfragen:     QuerySkill, QuerySkillAbility
-    * Modifikation: ModifySkillAttribute, QuerySkillAttribute,
-                    QuerySkillAttributeModifier, RemoveSkillAttributeModifier
-      * Properties: P_SKILL_ATTRIBUTES, P_SKILL_ATTRIBUTE_OFFSETS
-    * sonstig:      spruchermuedung, skill_info_liste
-    * Properties:   P_NEWSKILLS
-    Spellbook:      UseSpell (spellbook), Learn, SpellSuccess
+   string str       Spell-Optionen
+   string spell     optionaler Spellname
 
-5. Okt 2011 Gloinson
\ No newline at end of file
+
+BESCHREIBUNG
+============
+
+   Benutzt einen Spell, dessen Spellname 'spell' ggf ueber query_verb()
+   ermittelt wird. Dieser Spell sollte (als kleingeschriebener
+   Skill/Spell) im Living vorliegen.
+
+
+
+   Die Argumente 'str' werden als SI_SKILLARG temporaer in das
+   Skillmapping eingetragen (also nur fuer diesen Aufruf gueltig).
+
+
+
+   Eine ausfuehrbare Spell-Funktion zum Spell wird in folgender
+   Reihenfolge bestimmt:
+   - eine gesetzte SI_CLOSURE nutzen
+   - "UseSpell" an einem gesetzten SI_SPELLBOOK nutzen
+   - "UseSpell" an der gesetzten P_GUILD nutzen
+     - [UseSpell der Gilde sucht iA ebenfalls nur den Spell am Spellbook]
+   - eine Closure mit Rueckgabewert 0 erstellen
+   Die so bestimmte Spell-Funktion wird dann als SI_CLOSURE im Spieler
+   gesetzt und ist bis zur Zerstoerung der entsprechenden Objekte gueltig.
+   Die Methode wird dann gerufen (der Spell also angewandt).
+
+   Standardmaessig gibt ein UseSpell() also 0 zurueck, es sei denn, eine
+   Funktion wurde fuer den Spell an einer der oben genannten Stellen
+   implementiert.
+
+   SI_INHERIT ist fuer Spells beim Aufruf wirkungslos (gilt aber bei
+   LearnSkill normal).
+
+   Ein Durchlauf von UseSpell durch den Spieler sieht in etwa so aus:
+     1) Die Methode wird als Empfaenger fuer Kommandos bekannt gemacht.
+        Das passiert mit der Anweisung
+        'add_action("UseSpell", "", 1);' in den Dateien player/base.c und
+        in living/npc.c.
+
+     2) /std/living/skills::UseSpell wird durch Kommando oder Heartbeat
+        gerufen.
+
+
+
+     3) UseSpell() ermittelt eine SI_CLOSURE oder delegiert diesen Aufruf
+        an die gueltige Gilde/das Spellbook weiter.
+
+
+
+     4) Eine gueltige Closure wird ausgefuehrt. UseSpell() uebergibt dabei
+        die Spell/Skill-Informationen und SI_SKILLARG.
+
+
+
+     4.1.) Im Normalfall einer Gilde/Spellbook landet der Aufruf ueber
+           /std/gilden_ob::UseSpell() in /std/spellbook::UseSpell() und
+           dieses ruft eine Spellfunktion im Spellbook auf.
+           Die Spellfunktion arbeitet mit den Spell-Informationen und
+           gibt ein ERFOLG, MISSERFOLG oder 0 dafuer zurueck, ob das
+           Spellbook Lernen/Fehlermeldung oder nichts machen soll.
+           Dementsprechend werden P_SP, P_ATTACK_BUSY und
+           P_NEXT_SPELL_TIME im Spellbook geaendert.
+
+     5.) Der Aufruf der Closure kehrt zurueck und wird zurueckgegeben.
+         Damit ist der 0-Rueckgabewert der Spellfunktion im Spellbook
+         aequivalent einem nicht ausgefuehrten Kommando.
+
+
+SIEHE AUCH
+==========
+
+   Skills Lernen:  LearnSkill, ModifySkill, LimitAbility
+   * Nutzung:      UseSkill
+   * Abfragen:     QuerySkill, QuerySkillAbility
+   * Modifikation: ModifySkillAttribute, QuerySkillAttribute,
+                   QuerySkillAttributeModifier, RemoveSkillAttributeModifier
+     * Properties: P_SKILL_ATTRIBUTES, P_SKILL_ATTRIBUTE_OFFSETS
+   * sonstig:      spruchermuedung, skill_info_liste
+   * Properties:   P_NEWSKILLS
+   Spellbook:      UseSpell (spellbook), Learn, SpellSuccess
+
+5. Okt 2011 Gloinson
