diff --git a/doc/lfun/gilde/AddSkill b/doc/lfun/gilde/AddSkill
index 21db504..6be310b 100644
--- a/doc/lfun/gilde/AddSkill
+++ b/doc/lfun/gilde/AddSkill
@@ -1,33 +1,57 @@
+
 AddSkill()
-FUNKTION:
-    varargs int AddSkill(string sname, mapping ski)
+**********
 
-DEFINIERT IN:
-    /std/gilden_ob.c
 
-ARGUMENTE:
-    string sname       Name des Skills
-    mapping ski        Skill-Mapping
+FUNKTION
+========
 
-BESCHREIBUNG:
-    Fuegt den Skill zur Liste der in dieser Gilde lernbaren Skills
-    hinzu. Das Mapping enthaelt Informationen, die der Gildenraum
-    bzw. das Gildenobjekt zum Skill herausgeben und die das Lernen
-    des Skills beeinflussen.
+   varargs int AddSkill(string sname, mapping ski)
 
-RUECKGABWERT:
-    1 fuer Erfolg
 
-BEISPIEL:
-    AddSkill( FIGHT(WT_CLUB), ([ OFFSET(SI_SKILLLEARN) : 1 ]) );
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-    GObj Lernen:    LearnSkill, LearnSpell, InitialSkillAbility
-    * Anzeigen:     SkillListe
-    * Verwalten:    AddSpell (gilde), QuerySpell, QuerySkill
-    * Nutzen:       UseSpell (gilde)
-    * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
-    Gildenfkt.:     GuildRating
-    * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
+   /std/gilden_ob.c
 
-3. Okt 2011 Gloinson
\ No newline at end of file
+
+ARGUMENTE
+=========
+
+   string sname       Name des Skills
+   mapping ski        Skill-Mapping
+
+
+BESCHREIBUNG
+============
+
+   Fuegt den Skill zur Liste der in dieser Gilde lernbaren Skills
+   hinzu. Das Mapping enthaelt Informationen, die der Gildenraum
+   bzw. das Gildenobjekt zum Skill herausgeben und die das Lernen
+   des Skills beeinflussen.
+
+
+RUECKGABWERT
+============
+
+   1 fuer Erfolg
+
+
+BEISPIEL
+========
+
+   AddSkill( FIGHT(WT_CLUB), ([ OFFSET(SI_SKILLLEARN) : 1 ]) );
+
+
+SIEHE AUCH
+==========
+
+   GObj Lernen:    LearnSkill, LearnSpell, InitialSkillAbility
+   * Anzeigen:     SkillListe
+   * Verwalten:    AddSpell (gilde), QuerySpell, QuerySkill
+   * Nutzen:       UseSpell (gilde)
+   * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
+   Gildenfkt.:     GuildRating
+   * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
+
+3. Okt 2011 Gloinson
diff --git a/doc/lfun/gilde/AddSpell b/doc/lfun/gilde/AddSpell
index c0ca935..027b4d6 100644
--- a/doc/lfun/gilde/AddSpell
+++ b/doc/lfun/gilde/AddSpell
@@ -1,47 +1,74 @@
+
 AddSpell()
-FUNKTION:
-    varargs int AddSpell(string verb, mapping ski)
+**********
 
-DEFINIERT IN:
-    /std/gilden_ob.c
 
-ARGUMENTE:
-    string verb        Name des Spells
-    mapping ski        Skill-Mapping
+FUNKTION
+========
 
-BESCHREIBUNG:
-    Fuegt den Spell zur Liste der in dieser Gilde lernbaren Spells
-    hinzu. Das Mapping enthaelt Informationen, die der Gildenraum
-    bzw. das Gildenobjekt zum Spell herausgeben und die das Lernen
-    des Spells beeinflussen.
+   varargs int AddSpell(string verb, mapping ski)
 
-RUECKGABWERT:
-    1 fuer Erfolg
 
-BEMERKUNGEN:
-    Siehe das Verhalten von QuerySpell (gilde) zum Zusammenfuegen
-    der AddSpell-Informationen aus Gilde und Spellbook. Relevant
-    zB fuer Lernrestriktionen.
+DEFINIERT IN
+============
 
-BEISPIEL:
-    AddSpell("entfluche",
-      ([SI_SKILLRESTR_LEARN :
-        ([P_GUILD_LEVEL: LVL_WANDER,
-          SR_FUN:        #'glaubensTest]),
-        SI_DIFFICULTY: 100,
-        SI_SKILLINFO:  "Wanderprediger ab Stufe 7",
-        SI_SKILLINFO_LONG: break_string(
-          "Um jemanden von einem laestigen Sprachfluch zu befreien, "
-          "sollte man diese Anrufung benutzen [...]", 78),
-        SI_GOD:        LEMBOLD]));
+   /std/gilden_ob.c
 
-SIEHE AUCH:
-    GObj Lernen:    LearnSkill, LearnSpell, InitialSkillAbility
-    * Anzeigen:     SkillListe
-    * Verwalten:    AddSkill, QuerySpell, QuerySkill, QuerySkill
-    * Nutzen:       UseSpell (gilde)
-    * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
-    Gildenfkt.:     GuildRating
-    * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
+
+ARGUMENTE
+=========
+
+   string verb        Name des Spells
+   mapping ski        Skill-Mapping
+
+
+BESCHREIBUNG
+============
+
+   Fuegt den Spell zur Liste der in dieser Gilde lernbaren Spells
+   hinzu. Das Mapping enthaelt Informationen, die der Gildenraum
+   bzw. das Gildenobjekt zum Spell herausgeben und die das Lernen
+   des Spells beeinflussen.
+
+
+RUECKGABWERT
+============
+
+   1 fuer Erfolg
+
+
+BEMERKUNGEN
+===========
+
+   Siehe das Verhalten von QuerySpell (gilde) zum Zusammenfuegen
+   der AddSpell-Informationen aus Gilde und Spellbook. Relevant
+   zB fuer Lernrestriktionen.
+
+
+BEISPIEL
+========
+
+   AddSpell("entfluche",
+     ([SI_SKILLRESTR_LEARN :
+       ([P_GUILD_LEVEL: LVL_WANDER,
+         SR_FUN:        #'glaubensTest]),
+       SI_DIFFICULTY: 100,
+       SI_SKILLINFO:  "Wanderprediger ab Stufe 7",
+       SI_SKILLINFO_LONG: break_string(
+         "Um jemanden von einem laestigen Sprachfluch zu befreien, "
+         "sollte man diese Anrufung benutzen [...]", 78),
+       SI_GOD:        LEMBOLD]));
+
+
+SIEHE AUCH
+==========
+
+   GObj Lernen:    LearnSkill, LearnSpell, InitialSkillAbility
+   * Anzeigen:     SkillListe
+   * Verwalten:    AddSkill, QuerySpell, QuerySkill, QuerySkill
+   * Nutzen:       UseSpell (gilde)
+   * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
+   Gildenfkt.:     GuildRating
+   * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
 
 3. Okt 2011 Gloinson
diff --git a/doc/lfun/gilde/GuildRating b/doc/lfun/gilde/GuildRating
index 7bfb6b2..ca4ec1b 100644
--- a/doc/lfun/gilde/GuildRating
+++ b/doc/lfun/gilde/GuildRating
@@ -1,27 +1,47 @@
+
 GuildRating()
-FUNKTION:
-    int GuildRating(object pl)
+*************
 
-DEFINIERT IN:
-    /std/gilden_ob.c
 
-ARGUMENTE:
-    object pl          Spieler, der geratet werden soll
+FUNKTION
+========
 
-BESCHREIBUNG:
-    Gibt das Guild-Rating des Spielers im Bereich 0-MAX_ABILITY zurueck
-    und schreibt sie in P_GUILD_RATING. Wichtig fuer Levelbestimmung!
-    
-    Normalerweise ist das der Mittelwert der Skill-Abilities aller Skills
-    und Spells, das Verhalten kann aber ueberschrieben werden.
+   int GuildRating(object pl)
 
-SIEHE AUCH:
-    GObj Lernen:    LearnSkill, LearnSpell, InitialSkillAbility
-    * Anzeigen:     SkillListe
-    * Verwalten:    AddSpell (gilde), AddSkill, QuerySpell, QuerySkill
-    * Nutzen:       UseSpell (gilde)
-    * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS, P_GUILD_RATING
-    Gildenfkt.:
-    * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
 
-10. Okt 2011 Gloinson
\ No newline at end of file
+DEFINIERT IN
+============
+
+   /std/gilden_ob.c
+
+
+ARGUMENTE
+=========
+
+   object pl          Spieler, der geratet werden soll
+
+
+BESCHREIBUNG
+============
+
+   Gibt das Guild-Rating des Spielers im Bereich 0-MAX_ABILITY zurueck
+   und schreibt sie in P_GUILD_RATING. Wichtig fuer Levelbestimmung!
+
+
+
+   Normalerweise ist das der Mittelwert der Skill-Abilities aller Skills
+   und Spells, das Verhalten kann aber ueberschrieben werden.
+
+
+SIEHE AUCH
+==========
+
+   GObj Lernen:    LearnSkill, LearnSpell, InitialSkillAbility
+   * Anzeigen:     SkillListe
+   * Verwalten:    AddSpell (gilde), AddSkill, QuerySpell, QuerySkill
+   * Nutzen:       UseSpell (gilde)
+   * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS, P_GUILD_RATING
+   Gildenfkt.:
+   * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
+
+10. Okt 2011 Gloinson
diff --git a/doc/lfun/gilde/InitialSkillAbility b/doc/lfun/gilde/InitialSkillAbility
index 28a2689..afea3e9 100644
--- a/doc/lfun/gilde/InitialSkillAbility
+++ b/doc/lfun/gilde/InitialSkillAbility
@@ -1,31 +1,52 @@
+
 InitialSkillAbility()
-FUNKTION:
-    static int InitialSkillAbility(mapping ski, object pl)
+*********************
 
-DEFINIERT IN:
-    /std/gilden_ob.c
 
-ARGUMENTE:
-    mapping ski     Der zu lernende Skill
-    object  pl      Spieler
+FUNKTION
+========
 
-BESCHREIBUNG:
-    Gibt den initialen Ability-Wert fuer einen neu zu lernenden Skill (Spell)
-    zurueck. Die Standardformel benutzt nur Intelligenz und SI_SKILLLEARN und
-    kann in der Gilde ueberschrieben werden.
+   static int InitialSkillAbility(mapping ski, object pl)
 
-BEMERKUNGEN:
-    Der zurueckgegebene Wert wird noch in das Spieler-Skillsystem eingegeben
-    und daher kann der real gelernte Wert abweichen
 
-SIEHE AUCH:
-    Skills:         LimitAbility, ModifySkill
-    GObj Lernen:    LearnSkill, LearnSpell
-    * Anzeigen:     SkillListe
-    * Verwalten:    AddSpell (gilde), AddSkill, QuerySpell, QuerySkill
-    * Nutzen:       UseSpell (gilde)
-    * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
-    Gildenfkt.:     GuildRating
-    * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
+DEFINIERT IN
+============
 
-3. Okt 2011 Gloinson
\ No newline at end of file
+   /std/gilden_ob.c
+
+
+ARGUMENTE
+=========
+
+   mapping ski     Der zu lernende Skill
+   object  pl      Spieler
+
+
+BESCHREIBUNG
+============
+
+   Gibt den initialen Ability-Wert fuer einen neu zu lernenden Skill (Spell)
+   zurueck. Die Standardformel benutzt nur Intelligenz und SI_SKILLLEARN und
+   kann in der Gilde ueberschrieben werden.
+
+
+BEMERKUNGEN
+===========
+
+   Der zurueckgegebene Wert wird noch in das Spieler-Skillsystem eingegeben
+   und daher kann der real gelernte Wert abweichen
+
+
+SIEHE AUCH
+==========
+
+   Skills:         LimitAbility, ModifySkill
+   GObj Lernen:    LearnSkill, LearnSpell
+   * Anzeigen:     SkillListe
+   * Verwalten:    AddSpell (gilde), AddSkill, QuerySpell, QuerySkill
+   * Nutzen:       UseSpell (gilde)
+   * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
+   Gildenfkt.:     GuildRating
+   * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
+
+3. Okt 2011 Gloinson
diff --git a/doc/lfun/gilde/LearnSkill b/doc/lfun/gilde/LearnSkill
index c381959..07a4dc9 100644
--- a/doc/lfun/gilde/LearnSkill
+++ b/doc/lfun/gilde/LearnSkill
@@ -1,35 +1,59 @@
+
 LearnSkill()
-FUNKTION:
-    int LearnSkill(string skill)
+************
 
-DEFINIERT IN:
-    /std/gilden_ob.c
 
-ARGUMENTE:
-    string skill     Der zu lernende Skill
+FUNKTION
+========
 
-BESCHREIBUNG:
-    Diese Funktion ueberprueft den Spieler auf Gildenzugehoerigkeit
-    und ruft, falls kein 'skill' angegeben ist die SkillListe()
-    fuer Skills auf.
+   int LearnSkill(string skill)
 
-    Falls ein Argument angegeben wird, wird bei dem Spieler dieser Skill
-    initialisiert, sofern er die notwendigen Anforderungen erfuellt hat.
 
-RUECKGABEWERT:
-    0 bei Fehler, 1 bei Erfolg.
+DEFINIERT IN
+============
 
-BEMERKUNGEN:
-    Fuer die Lebewesen-Skills gibt es eine gleichnamige Funktion.
-    Siehe dafuer LearnSkill.
+   /std/gilden_ob.c
 
-SIEHE AUCH:
-    GObj Lernen:    LearnSpell, InitialSkillAbility
-    * Anzeigen:     SkillListe
-    * Verwalten:    AddSpell (gilde), AddSkill, QuerySpell, QuerySkill
-    * Nutzen:       UseSpell (gilde)
-    * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
-    Gildenfkt.:     GuildRating
-    * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
 
-3. Okt 2011 Gloinson
\ No newline at end of file
+ARGUMENTE
+=========
+
+   string skill     Der zu lernende Skill
+
+
+BESCHREIBUNG
+============
+
+   Diese Funktion ueberprueft den Spieler auf Gildenzugehoerigkeit
+   und ruft, falls kein 'skill' angegeben ist die SkillListe()
+   fuer Skills auf.
+
+   Falls ein Argument angegeben wird, wird bei dem Spieler dieser Skill
+   initialisiert, sofern er die notwendigen Anforderungen erfuellt hat.
+
+
+RUECKGABEWERT
+=============
+
+   0 bei Fehler, 1 bei Erfolg.
+
+
+BEMERKUNGEN
+===========
+
+   Fuer die Lebewesen-Skills gibt es eine gleichnamige Funktion.
+   Siehe dafuer LearnSkill.
+
+
+SIEHE AUCH
+==========
+
+   GObj Lernen:    LearnSpell, InitialSkillAbility
+   * Anzeigen:     SkillListe
+   * Verwalten:    AddSpell (gilde), AddSkill, QuerySpell, QuerySkill
+   * Nutzen:       UseSpell (gilde)
+   * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
+   Gildenfkt.:     GuildRating
+   * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
+
+3. Okt 2011 Gloinson
diff --git a/doc/lfun/gilde/LearnSpell b/doc/lfun/gilde/LearnSpell
index 55c5840..385da3e 100644
--- a/doc/lfun/gilde/LearnSpell
+++ b/doc/lfun/gilde/LearnSpell
@@ -1,32 +1,53 @@
+
 LearnSpell()
-FUNKTION:
-    varargs int LearnSpell(string spell, object pl)
+************
 
-DEFINIERT IN:
-    /std/gilden_ob.c
 
-ARGUMENTE:
-    string spell     Der zu lernende Spell
-    object pl        lernender Spieler, wenn 0, wird this_player() genommen
+FUNKTION
+========
 
-BESCHREIBUNG:
-    Diese Funktion ueberprueft den Spieler auf Gildenzugehoerigkeit
-    und ruft, falls kein 'spell' angegeben ist die SkillListe()
-    fuer Spells auf.
+   varargs int LearnSpell(string spell, object pl)
 
-    Falls ein Argument angegeben wird, wird bei dem Spieler dieser Spell
-    initialisiert, sofern er die notwendigen Anforderungen erfuellt hat.
 
-RUECKGABEWERT:
-    0 bei Fehler, 1 bei Erfolg.
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-    GObj Lernen:    LearnSkill, InitialSkillAbility
-    * Anzeigen:     SkillListe
-    * Verwalten:    AddSpell (gilde), AddSkill, QuerySpell, QuerySkill
-    * Nutzen:       UseSpell (gilde)
-    * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
-    Gildenfkt.:     GuildRating
-    * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
+   /std/gilden_ob.c
 
-3. Okt 2011 Gloinson
\ No newline at end of file
+
+ARGUMENTE
+=========
+
+   string spell     Der zu lernende Spell
+   object pl        lernender Spieler, wenn 0, wird this_player() genommen
+
+
+BESCHREIBUNG
+============
+
+   Diese Funktion ueberprueft den Spieler auf Gildenzugehoerigkeit
+   und ruft, falls kein 'spell' angegeben ist die SkillListe()
+   fuer Spells auf.
+
+   Falls ein Argument angegeben wird, wird bei dem Spieler dieser Spell
+   initialisiert, sofern er die notwendigen Anforderungen erfuellt hat.
+
+
+RUECKGABEWERT
+=============
+
+   0 bei Fehler, 1 bei Erfolg.
+
+
+SIEHE AUCH
+==========
+
+   GObj Lernen:    LearnSkill, InitialSkillAbility
+   * Anzeigen:     SkillListe
+   * Verwalten:    AddSpell (gilde), AddSkill, QuerySpell, QuerySkill
+   * Nutzen:       UseSpell (gilde)
+   * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
+   Gildenfkt.:     GuildRating
+   * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
+
+3. Okt 2011 Gloinson
diff --git a/doc/lfun/gilde/QuerySkill b/doc/lfun/gilde/QuerySkill
index 59dce12..ee3e68a 100644
--- a/doc/lfun/gilde/QuerySkill
+++ b/doc/lfun/gilde/QuerySkill
@@ -1,33 +1,54 @@
+
 QuerySkill()
-FUNKTION:
-    mapping QuerySkill(string skill)
+************
 
-DEFINIERT IN:
-    /std/gilden_ob.c
 
-ARGUMENTE:
-    string skill       Name des Skills
+FUNKTION
+========
 
-BESCHREIBUNG:
-    Liefert fuer diesen Skill die Gildeninformationen in einem
-    Mapping zurueck.
+   mapping QuerySkill(string skill)
 
-BEISPIEL:
-    // /gilden/klerus->QuerySkill(FIGHT(WT_CLUB)) gibt zB zurueck:
-    ([SI_FUN:                "Fight_club",
-      OFFSET(SI_SKILLLEARN): 1
-      SI_SKILLRESTR_USE:     ([SR_FUN:#'gilden/klerus->spellTest()]),
-      OFFSET(SI_SKILLLEARN): #'gilden/klerus->learnOffset,
-      OFFSET(SI_SPELLCOST):  #'gilden/klerus->costOffset,
-      FACTOR(SI_SPELLCOST):  #'gilden/klerus->costFactor])
 
-SIEHE AUCH:
-    GObj Lernen:    LearnSkill, LearnSpell, InitialSkillAbility
-    * Anzeigen:     SkillListe
-    * Verwalten:    AddSkill, AddSpell, QuerySpell
-    * Nutzen:       UseSpell (gilde)
-    * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
-    Gildenfkt.:     GuildRating
-    * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
+DEFINIERT IN
+============
 
-3. Okt 2011 Gloinson
\ No newline at end of file
+   /std/gilden_ob.c
+
+
+ARGUMENTE
+=========
+
+   string skill       Name des Skills
+
+
+BESCHREIBUNG
+============
+
+   Liefert fuer diesen Skill die Gildeninformationen in einem
+   Mapping zurueck.
+
+
+BEISPIEL
+========
+
+   // /gilden/klerus->QuerySkill(FIGHT(WT_CLUB)) gibt zB zurueck:
+   ([SI_FUN:                "Fight_club",
+     OFFSET(SI_SKILLLEARN): 1
+     SI_SKILLRESTR_USE:     ([SR_FUN:#'gilden/klerus->spellTest()]),
+     OFFSET(SI_SKILLLEARN): #'gilden/klerus->learnOffset,
+     OFFSET(SI_SPELLCOST):  #'gilden/klerus->costOffset,
+     FACTOR(SI_SPELLCOST):  #'gilden/klerus->costFactor])
+
+
+SIEHE AUCH
+==========
+
+   GObj Lernen:    LearnSkill, LearnSpell, InitialSkillAbility
+   * Anzeigen:     SkillListe
+   * Verwalten:    AddSkill, AddSpell, QuerySpell
+   * Nutzen:       UseSpell (gilde)
+   * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
+   Gildenfkt.:     GuildRating
+   * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
+
+3. Okt 2011 Gloinson
diff --git a/doc/lfun/gilde/QuerySpell b/doc/lfun/gilde/QuerySpell
index 22f1965..32eff3a 100644
--- a/doc/lfun/gilde/QuerySpell
+++ b/doc/lfun/gilde/QuerySpell
@@ -1,54 +1,75 @@
+
 QuerySpell()
-FUNKTION:
-    mapping QuerySpell(string spell)
+************
 
-DEFINIERT IN:
-    /std/gilden_ob.c
 
-ARGUMENTE:
-    string spell       Name des Spells
+FUNKTION
+========
 
-BESCHREIBUNG:
-    Liefert fuer diesen Spell die Gilden- und Spellbookinformationen
-    zusammengefasst in ein Mapping zurueck.
-    Die Gildeninformationen haben dabei Vorrang (d.h. eine Lernrestriktion
-    im Spellbook wird benutzt, bei unterschiedlichen Werten fuer das gleiche
-    Attribut geht der Wert in der Gilde vor).
+   mapping QuerySpell(string spell)
 
-BEISPIEL:
-    // /gilden/klerus->QuerySpell("entfluche") gibt zB zurueck:
-    ([SI_SPELLFATIGUE: 2,
-      SI_SP_LOW_MSG:   "Deine Konzentration reicht nicht aus, das Interesse "
-                       "der Goetter zu "wecken.\n",
-      SI_TIME_MSG:     "So schnell koennen sich die Goetter nicht wieder um "
-                       "Dich kuemmern!\n",
-      SI_SKILLLEARN:   5,
-      OFFSET(SI_SKILLLEARN):15
-      SI_SKILLRESTR_LEARN:
-      ([P_LEVEL:       7,
-        P_GUILD_LEVEL: LVL_WANDER,
-        SR_FUN:        #'gilden/klerus->glaubensTest]),
-      SI_DIFFICULTY:   100,
-      SI_SKILLINFO:    "Wanderprediger ab Stufe 7",
-      SI_SKILLINFO_LONG:
-        "Um jemanden von einem laestigen Sprachfluch zu befreien, "
-        "sollte man diese Anrufung benutzen [...]",
-      SP_NAME:         "entfluche",
-      SI_SKILLRESTR_USE: ([ SR_FREE_HANDS : 0 ]),
-      SI_MAGIC_TYPE:   ({MT_SAKRAL})
-      SI_GOD:          LEMBOLD,
-      SI_SKILLRESTR_USE:     ([SR_FUN:#'gilden/klerus->spellTest()]),
-      OFFSET(SI_SKILLLEARN): #'gilden/klerus->learnOffset,
-      OFFSET(SI_SPELLCOST):  #'gilden/klerus->costOffset,
-      FACTOR(SI_SPELLCOST):  #'gilden/klerus->costFactor])
 
-SIEHE AUCH:
-    GObj Lernen:    LearnSkill, LearnSpell, InitialSkillAbility
-    * Anzeigen:     SkillListe
-    * Verwalten:    AddSkill, AddSpell, QuerySkill
-    * Nutzen:       UseSpell (gilde)
-    * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
-    Gildenfkt.:     GuildRating
-    * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
+DEFINIERT IN
+============
+
+   /std/gilden_ob.c
+
+
+ARGUMENTE
+=========
+
+   string spell       Name des Spells
+
+
+BESCHREIBUNG
+============
+
+   Liefert fuer diesen Spell die Gilden- und Spellbookinformationen
+   zusammengefasst in ein Mapping zurueck.
+   Die Gildeninformationen haben dabei Vorrang (d.h. eine Lernrestriktion
+   im Spellbook wird benutzt, bei unterschiedlichen Werten fuer das gleiche
+   Attribut geht der Wert in der Gilde vor).
+
+
+BEISPIEL
+========
+
+   // /gilden/klerus->QuerySpell("entfluche") gibt zB zurueck:
+   ([SI_SPELLFATIGUE: 2,
+     SI_SP_LOW_MSG:   "Deine Konzentration reicht nicht aus, das Interesse "
+                      "der Goetter zu "wecken.\n",
+     SI_TIME_MSG:     "So schnell koennen sich die Goetter nicht wieder um "
+                      "Dich kuemmern!\n",
+     SI_SKILLLEARN:   5,
+     OFFSET(SI_SKILLLEARN):15
+     SI_SKILLRESTR_LEARN:
+     ([P_LEVEL:       7,
+       P_GUILD_LEVEL: LVL_WANDER,
+       SR_FUN:        #'gilden/klerus->glaubensTest]),
+     SI_DIFFICULTY:   100,
+     SI_SKILLINFO:    "Wanderprediger ab Stufe 7",
+     SI_SKILLINFO_LONG:
+       "Um jemanden von einem laestigen Sprachfluch zu befreien, "
+       "sollte man diese Anrufung benutzen [...]",
+     SP_NAME:         "entfluche",
+     SI_SKILLRESTR_USE: ([ SR_FREE_HANDS : 0 ]),
+     SI_MAGIC_TYPE:   ({MT_SAKRAL})
+     SI_GOD:          LEMBOLD,
+     SI_SKILLRESTR_USE:     ([SR_FUN:#'gilden/klerus->spellTest()]),
+     OFFSET(SI_SKILLLEARN): #'gilden/klerus->learnOffset,
+     OFFSET(SI_SPELLCOST):  #'gilden/klerus->costOffset,
+     FACTOR(SI_SPELLCOST):  #'gilden/klerus->costFactor])
+
+
+SIEHE AUCH
+==========
+
+   GObj Lernen:    LearnSkill, LearnSpell, InitialSkillAbility
+   * Anzeigen:     SkillListe
+   * Verwalten:    AddSkill, AddSpell, QuerySkill
+   * Nutzen:       UseSpell (gilde)
+   * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
+   Gildenfkt.:     GuildRating
+   * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
 
 3. Okt 2011 Gloinson
diff --git a/doc/lfun/gilde/SkillListe b/doc/lfun/gilde/SkillListe
index 8cc2b39..200650b 100644
--- a/doc/lfun/gilde/SkillListe
+++ b/doc/lfun/gilde/SkillListe
@@ -1,27 +1,49 @@
+
 SkillListe()
-FUNKTION:
-    int SkillListe(int what)
+************
 
-DEFINIERT IN:
-    /std/gilden_ob.c
 
-ARGUMENTE:
-    int what        Rueckgabeoption:
+FUNKTION
+========
 
-BESCHREIBUNG:
-    Gibt eine Text mit Liste mit lernbaren Skills/Spells zurueck:
-    
-    Fuer 'what': 0 - alle; 1 - Spells; 2 - Skills.
-    
-    Zeigt Eintraege aus SI_SKILLINFO.
+   int SkillListe(int what)
 
-SIEHE AUCH:
-    GObj Lernen:    LearnSkill, LearnSpell, InitialSkillAbility
-    * Verwalten:    AddSpell (gilde), AddSkill, QuerySpell, QuerySkill
-    * Nutzen:       UseSpell (gilde)
-    * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
-    Gildenfkt.:     GuildRating
-    * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
-    Skills:         skill_info_liste
 
-3. Okt 2011 Gloinson
\ No newline at end of file
+DEFINIERT IN
+============
+
+   /std/gilden_ob.c
+
+
+ARGUMENTE
+=========
+
+   int what        Rueckgabeoption:
+
+
+BESCHREIBUNG
+============
+
+   Gibt eine Text mit Liste mit lernbaren Skills/Spells zurueck:
+
+
+
+   Fuer 'what': 0 - alle; 1 - Spells; 2 - Skills.
+
+
+
+   Zeigt Eintraege aus SI_SKILLINFO.
+
+
+SIEHE AUCH
+==========
+
+   GObj Lernen:    LearnSkill, LearnSpell, InitialSkillAbility
+   * Verwalten:    AddSpell (gilde), AddSkill, QuerySpell, QuerySkill
+   * Nutzen:       UseSpell (gilde)
+   * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
+   Gildenfkt.:     GuildRating
+   * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
+   Skills:         skill_info_liste
+
+3. Okt 2011 Gloinson
diff --git a/doc/lfun/gilde/UseSpell b/doc/lfun/gilde/UseSpell
index 96823cc..4f3724c 100644
--- a/doc/lfun/gilde/UseSpell
+++ b/doc/lfun/gilde/UseSpell
@@ -1,32 +1,53 @@
+
 UseSpell()
-FUNKTION:
-    varargs int UseSpell(object caster, string spell, mapping sinfo)
+**********
 
-DEFINIERT IN:
-    /std/gilden_ob.c
 
-ARGUMENTE:
-    object caster      Spieler, der Spell nutzt
-    string spell       Spell-Name
-    mapping sinfo      Spell-Informationen
+FUNKTION
+========
 
-BESCHREIBUNG:
-    Prueft, ob der Spell in der Gilde definiert ist und ruft ihn dann
-    ggf in aus dem Spell-Mapping gelesenen Gilden-SI_SPELLBOOK auf.
+   varargs int UseSpell(object caster, string spell, mapping sinfo)
 
-    Wird von living/skills::UseSpell gerufen, wenn dieses die SI_CLOSURE,
-    also die Funktion eines Spells sucht, fuer den kein SI_SPELLBOOK
-    explizit angegeben wurde.
 
-RUECKGABWERT:
-    Rueckgabewert des Spells aus dem Spellbook oder 0.
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-    GObj Lernen:    LearnSkill, LearnSpell, InitialSkillAbility
-    * Anzeigen:     SkillListe
-    * Verwalten:    AddSpell (gilde), AddSkill, QuerySpell, QuerySkill
-    * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
-    Gildenfkt.:     GuildRating
-    * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
+   /std/gilden_ob.c
 
-3. Okt 2011 Gloinson
\ No newline at end of file
+
+ARGUMENTE
+=========
+
+   object caster      Spieler, der Spell nutzt
+   string spell       Spell-Name
+   mapping sinfo      Spell-Informationen
+
+
+BESCHREIBUNG
+============
+
+   Prueft, ob der Spell in der Gilde definiert ist und ruft ihn dann
+   ggf in aus dem Spell-Mapping gelesenen Gilden-SI_SPELLBOOK auf.
+
+   Wird von living/skills::UseSpell gerufen, wenn dieses die SI_CLOSURE,
+   also die Funktion eines Spells sucht, fuer den kein SI_SPELLBOOK
+   explizit angegeben wurde.
+
+
+RUECKGABWERT
+============
+
+   Rueckgabewert des Spells aus dem Spellbook oder 0.
+
+
+SIEHE AUCH
+==========
+
+   GObj Lernen:    LearnSkill, LearnSpell, InitialSkillAbility
+   * Anzeigen:     SkillListe
+   * Verwalten:    AddSpell (gilde), AddSkill, QuerySpell, QuerySkill
+   * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
+   Gildenfkt.:     GuildRating
+   * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
+
+3. Okt 2011 Gloinson
diff --git a/doc/lfun/gilde/austreten b/doc/lfun/gilde/austreten
index 4770bef..cde77e2 100644
--- a/doc/lfun/gilde/austreten
+++ b/doc/lfun/gilde/austreten
@@ -1,34 +1,52 @@
+
 austreten()
-FUNKTION:
-    varargs int austreten(int loss)
+***********
 
-ARGUMENTE:
-    int loss       Prozentsatz, um den sich die Gildenskills verschlechtern
 
-DEFINIERT IN:
-    /std/gilden_ob.c
+FUNKTION
+========
 
-BESCHREIBUNG:
-    Austrittsfunktion der Gilde. Prueft die Restriktionen der Gilde und
-    laesst this_player() ggf austreten. Das Austreten aus der Standard-
-    gilde ist dabei nicht moeglich.
+   varargs int austreten(int loss)
 
-    Der Gildenmaster loest ggf ein EVT_GUILD_CHANGE aus. Dabei werden
-    E_OBJECT, E_GUILDNAME, E_LAST_GUILDNAME entsprechend gesetzt.
 
-    Der Gildenmaster senkt auch die Skill/Spell-Faehigkeiten um 'loss' bzw.
-    normalerweise mindestens 20%.
+ARGUMENTE
+=========
 
-    Durch Ueberschreiben koennen hier zB Abschiedsmeldungen gesendet werden.
+   int loss       Prozentsatz, um den sich die Gildenskills verschlechtern
 
-SIEHE AUCH:
-    GObj Lernen:    LearnSkill, LearnSpell, InitialSkillAbility
-    * Anzeigen:     SkillListe
-    * Verwalten:    AddSpell (gilde), AddSkill, QuerySpell, QuerySkill
-    * Nutzen:       UseSpell (gilde)
-    * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
-    Gildenfkt.:
-    * Ein/Austritt: beitreten, bei_oder_aus_treten
-    * Props dafuer: P_GUILD_RESTRICTIONS
 
-3. Okt 2011 Gloinson
\ No newline at end of file
+DEFINIERT IN
+============
+
+   /std/gilden_ob.c
+
+
+BESCHREIBUNG
+============
+
+   Austrittsfunktion der Gilde. Prueft die Restriktionen der Gilde und
+   laesst this_player() ggf austreten. Das Austreten aus der Standard-
+   gilde ist dabei nicht moeglich.
+
+   Der Gildenmaster loest ggf ein EVT_GUILD_CHANGE aus. Dabei werden
+   E_OBJECT, E_GUILDNAME, E_LAST_GUILDNAME entsprechend gesetzt.
+
+   Der Gildenmaster senkt auch die Skill/Spell-Faehigkeiten um 'loss' bzw.
+   normalerweise mindestens 20%.
+
+   Durch Ueberschreiben koennen hier zB Abschiedsmeldungen gesendet werden.
+
+
+SIEHE AUCH
+==========
+
+   GObj Lernen:    LearnSkill, LearnSpell, InitialSkillAbility
+   * Anzeigen:     SkillListe
+   * Verwalten:    AddSpell (gilde), AddSkill, QuerySpell, QuerySkill
+   * Nutzen:       UseSpell (gilde)
+   * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
+   Gildenfkt.:
+   * Ein/Austritt: beitreten, bei_oder_aus_treten
+   * Props dafuer: P_GUILD_RESTRICTIONS
+
+3. Okt 2011 Gloinson
diff --git a/doc/lfun/gilde/bei_oder_aus_treten b/doc/lfun/gilde/bei_oder_aus_treten
index 0a5de78..abed024 100644
--- a/doc/lfun/gilde/bei_oder_aus_treten
+++ b/doc/lfun/gilde/bei_oder_aus_treten
@@ -1,25 +1,43 @@
+
 bei_oder_aus_treten()
-FUNKTION:
-    int bei_oder_aus_treten(string str)
+*********************
 
-ARGUMENTE:
-    string str       Spielerparameter
 
-DEFINIERT IN:
-    /std/gilden_ob.c
+FUNKTION
+========
 
-BESCHREIBUNG:
-    Aus- oder Eintrittsfunktion, ruft beitreten() bzw. austreten() auf.
-    Wird im Std-Gildenraum per AddCmd zur Verfuegung gestellt.
+   int bei_oder_aus_treten(string str)
 
-SIEHE AUCH:
-    GObj Lernen:    LearnSkill, LearnSpell, InitialSkillAbility
-    * Anzeigen:     SkillListe
-    * Verwalten:    AddSpell (gilde), AddSkill, QuerySpell, QuerySkill
-    * Nutzen:       UseSpell (gilde)
-    * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
-    Gildenfkt.:
-    * Ein/Austritt: beitreten, austreten
-    * Props dafuer: P_GUILD_RESTRICTIONS
 
-3. Okt 2011 Gloinson
\ No newline at end of file
+ARGUMENTE
+=========
+
+   string str       Spielerparameter
+
+
+DEFINIERT IN
+============
+
+   /std/gilden_ob.c
+
+
+BESCHREIBUNG
+============
+
+   Aus- oder Eintrittsfunktion, ruft beitreten() bzw. austreten() auf.
+   Wird im Std-Gildenraum per AddCmd zur Verfuegung gestellt.
+
+
+SIEHE AUCH
+==========
+
+   GObj Lernen:    LearnSkill, LearnSpell, InitialSkillAbility
+   * Anzeigen:     SkillListe
+   * Verwalten:    AddSpell (gilde), AddSkill, QuerySpell, QuerySkill
+   * Nutzen:       UseSpell (gilde)
+   * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
+   Gildenfkt.:
+   * Ein/Austritt: beitreten, austreten
+   * Props dafuer: P_GUILD_RESTRICTIONS
+
+3. Okt 2011 Gloinson
diff --git a/doc/lfun/gilde/beitreten b/doc/lfun/gilde/beitreten
index 3938f7b..6e5a957 100644
--- a/doc/lfun/gilde/beitreten
+++ b/doc/lfun/gilde/beitreten
@@ -1,28 +1,43 @@
+
 beitreten()
-FUNKTION:
-    int beitreten()
+***********
 
-DEFINIERT IN:
-    /std/gilden_ob.c
 
-BESCHREIBUNG:
-    Beitrittsfunktion der Gilde. Prueft die Gilde selbst im Gildenmaster,
-    dann die Restriktionen der Gilde und laesst this_player() ggf eintreten.
+FUNKTION
+========
 
-    Der Gildenmaster loest ggf ein EVT_GUILD_CHANGE aus. Dabei werden
-    E_OBJECT, E_GUILDNAME, E_LAST_GUILDNAME entsprechend gesetzt.
+   int beitreten()
 
-    Durch Ueberschreiben koennen hier zB Standard-Skills und Spells den
-    Spieler bei Eintritt gelehrt werden.
 
-SIEHE AUCH:
-    GObj Lernen:    LearnSkill, LearnSpell, InitialSkillAbility
-    * Anzeigen:     SkillListe
-    * Verwalten:    AddSpell (gilde), AddSkill, QuerySpell
-    * Nutzen:       UseSpell (gilde)
-    * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
-    Gildenfkt.:
-    * Ein/Austritt: bei_oder_aus_treten, austreten
-    * Props dafuer: P_GUILD_RESTRICTIONS
+DEFINIERT IN
+============
 
-3. Okt 2011 Gloinson
\ No newline at end of file
+   /std/gilden_ob.c
+
+
+BESCHREIBUNG
+============
+
+   Beitrittsfunktion der Gilde. Prueft die Gilde selbst im Gildenmaster,
+   dann die Restriktionen der Gilde und laesst this_player() ggf eintreten.
+
+   Der Gildenmaster loest ggf ein EVT_GUILD_CHANGE aus. Dabei werden
+   E_OBJECT, E_GUILDNAME, E_LAST_GUILDNAME entsprechend gesetzt.
+
+   Durch Ueberschreiben koennen hier zB Standard-Skills und Spells den
+   Spieler bei Eintritt gelehrt werden.
+
+
+SIEHE AUCH
+==========
+
+   GObj Lernen:    LearnSkill, LearnSpell, InitialSkillAbility
+   * Anzeigen:     SkillListe
+   * Verwalten:    AddSpell (gilde), AddSkill, QuerySpell
+   * Nutzen:       UseSpell (gilde)
+   * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
+   Gildenfkt.:
+   * Ein/Austritt: bei_oder_aus_treten, austreten
+   * Props dafuer: P_GUILD_RESTRICTIONS
+
+3. Okt 2011 Gloinson
