diff --git a/doc/WIZRULES b/doc/WIZRULES
new file mode 100644
index 0000000..652d2c1
--- /dev/null
+++ b/doc/WIZRULES
@@ -0,0 +1,158 @@
+
+Magiervertrag
+*************
+
+Herzlich willkommen im Kreis der Magier!
+
+Ab jetzt kannst Du hinter die Kulisse des MorgenGrauens schauen. Diese
+Faehigkeit birgt Verantwortung.
+
+Deshalb gelten ab jetzt zusaetzlich zu den bisherigen Regeln folgende
+Magierregeln fuer Dich:
+
+
+Hilfe durch Magier
+==================
+
+Man darf Spielern keine Hilfen geben, es sei denn, es liegt ein
+*offensichtlicher* Fehler vor. Dabei zaehlt auch ein Zweitspieler, mit
+dem ein Magier spielt, zu den Spielern! Haelt der Sheriff einen Extra-
+Charakter eines Magiers nicht fuer einen echten Zweitie, kann er ihn
+jederzeit zum Testspieler erklaeren.
+
+Beispiele fuer nicht erlaubte Hilfen:
+
+   * Stats von Monstern mitteilen.
+
+   * Objekte clonen, und Spielern geben.
+
+   * Objekte schreiben, die den Spielern zu sehr helfen, oder
+     umgekehrt die Spieler schaedigen.
+
+   * Spieler teleportieren.
+
+   * Explizite Kommandos angeben, die ein Spieler eingeben muss.
+
+   * Selber (oder mit Zweitcharakteren) mitspielen oder -kaempfen,
+     sobald Insiderwissen in Anwendung kommt. Hier ist der gesunde
+     Menschenverstand bei der Entscheidung gefragt, ab wann dies der
+     Fall ist.
+
+   * Raeume resetten, damit die Spieler Objekte bekommen.
+     (Insbesondere kann das Nebeneffekte haben, die man als normaler
+     Magier nicht ueberschauen kann, ausserdem koennen die Spieler
+     auch mal warten.)
+
+   * Weitergabe von Objektinformationen, die der Spieler nicht
+     einsehen kann.
+
+In den folgenden Faellen darf natuerlich geholfen werden:
+
+   * Spielern aus fehlerhaften Raeumen oder der 'void' heraushelfen.
+
+   * Man sieht, dass der Spieler weiss, was er zu tun hat, aber ihm
+     die abwegige(!) Formulierung nicht einfaellt. (Hier sollte man
+     aber zusaetzlich dem Magier, der das entsprechende Objekt
+     'verbrochen' hat, eine Mitteilung geben, auf dass er es
+     verbessert.)
+
+Selber spielen soll man nur dann, wenn man den Spielern dabei nicht
+hilft oder ihnen ein Abenteuer vor der Nase wegloest.
+
+
+Privatsphaere / Snoopen
+=======================
+
+*Generell muss die Privatsphaere von Spielern geachtet werden.*
+
+Snoopen von Spielern ist nur dann erlaubt, wenn es darum geht, Fehler
+im Mud zu finden oder Ideen zu sammeln, um seinen _eigenen_ Gebiete,
+bzw. Regionen fuer die man verantwortlich ist, zu verbessern und
+anzupassen. Es darf auf keinen Fall dafuer benutzt werden, Spieler
+ohne besonderen Grund zu beobachten, sich ueber sie lustig zu machen,
+oder sie auszuspionieren. Wenn Spieler Post schreiben oder lesen ist
+snoopen strengstens untersagt (Briefgeheimnis). Generell ist es
+angebracht Spieler darauf hinzuweisen, dass sie gesnoopt werden.
+
+Es ist ebenso unzulaessig, andere Moeglichkeiten auszunutzen, die dazu
+dienen Spieler zu beobachten, bzw. auszuspionieren (zB verfolgen).
+
+Insbesondere ist es STRIKT untersagt, Objekte zu schreiben, die in
+irgendeiner Weise (zB add_action(...,"",1)) 'teile mit', 'fluester'
+und aehnliche Kommunikationsbefehle abfangen, um Gespraeche von
+anderen abzuhoeren. Dies stellt einen schweren Eingriff in die
+Intimsphaere der anderen Teilnehmer dar und wird dementsprechend
+geahndet!
+
+Jegliche Art von Belaestigung von Spielern ist untersagt. Dazu gehoert
+das Verfluchen, Monster auf sie hetzen, oder ihnen auf irgendeine Art
+boeswillig Schaden zuzufuegen.
+
+
+Zu dem, was Du hier so programmierst:
+=====================================
+
+Alles was Du hier an Daten ablegst ist natuerlich Dein eigenes,
+geistiges Eigentum. Trotzdem gehen wir davon aus, das alles, was hier
+im Mudverzeichnis landet, auch fuer das MorgenGrauen entwickelt worden
+ist, also alles was Du schreibst, auch vom Mud genutzt werden darf.
+Dies fuehrt zu folgender Regelung:
+
+Fuer das MorgenGrauen gilt uneingeschraenktes Nutzungsrecht fuer alle
+Monster, Objekte oder Raeume die Du hier programmierst. Dies gilt
+insbesondere fuer alle Sachen, die bereits an die Regionen des MGs
+angeschlossen sind. Das bedeutet fuer Dich, dass unter Umstaenden von
+Dir geschriebene Objekte auch gegen Deinen Willen angeschlossen
+bleiben, und vielleicht sogar ggf. aus einem Backup wieder eingespielt
+werden. Mit dieser Regel soll verhindert werden, das unglueckselige
+Magier aus- steigen und beim Verlassen des MG riesige Loecher in der
+Landschaft und im allgemeinen Gleichgewicht hinterlassen.
+
+
+Beendigung Deiner Magierzeit
+============================
+
+Sollte Deine Magierzeit beendet sein, verpflichtest Du Dich, ueber
+etwaige waehrend Deiner Magierzeit gewonnene, nicht-oeffentliche
+Interna - insb. nicht-oeffentlichen Code - auch weiterhin
+Stillschweigen zu bewahren. Dies gilt unabhaengig von dem Grund oder
+der Art und Weise, Deine Magierzeit zu beenden (z.B. Loeschung).
+
+Wenn Du diesen Vertrag unterschreibst, erkennst Du die Regeln an. Die
+Regeln in /etc/WIZRULES sind immer verbindlich, unabhaengig davon, wie
+sie zum Zeitpunkt deines Magierwerdens aussahen.
+
+Nun genug der strengen Regeln ;).
+
+
+Nun zu dem, was Du jeden Moment wirst; und zu dem, was danach kommt:
+====================================================================
+
+1.) Wenn Du diesen Vertrag unterschrieben hast, und Dein Sponsor (das
+ist
+   der, der Dir den Vertrag gegeben hat) Merlin gebeten hat, Dich zum
+   Magier zu machen, bekommst Du die magischen Faehigkeiten der
+   Magier. Du wirst Dich unsichtbar machen koennen, andere Wesen
+   teleportieren koennen (siehe jedoch Regeln), Objekte clonen und so
+   weiter und so weiter. Dein Sponsor hat die Aufgabe, Dir den Umgang
+   mit den neuen Faehigkeiten beizubringen (Du darfst ihn darauf
+   festnageln ;-)).
+
+2.) Du kannst jedoch selbst noch keinerlei Programme schreiben. Wenn
+Du
+   auch selber programmieren willst, musst Du zuerst ein
+   Gesellenstueck abliefern. Wie das geht, findest du bei der Hilfe
+   zum Gesellenstueck beschrieben("hilfe gesellenstueck").
+
+So und nun zu den Dingen, die fuer Dich da sind:
+
+   Mit dem Befehl "mhilfe" kannst Du eine Uebersicht ueber die Befehle
+   bekommen, die ein Magier zusaetzlich zu denen der Spieler hat. In
+   dem Verzeichniss /doc findest Du verschiedene Files, die Dir das
+   Verstaendnis erleichtern sollen. Eine Uebersicht kannst Du mit dem
+   Befehl. "more /doc/README" bekommen.
+
+   Der gute alte Merlin ist nicht nur der Urvater aller Magier,
+   sondern beherbergt darueber hinaus auch einen (ab und zu) gut
+   besuchten WizClub. Wer sich mit "goto" noch nicht so gut auskennt,
+   kann ihn in der Abenteurergilde mit dem Kommando "treff" betreten.
diff --git a/doc/balance/artillerie b/doc/balance/artillerie
index 914278d..d18a55c 100644
--- a/doc/balance/artillerie
+++ b/doc/balance/artillerie
@@ -24,29 +24,11 @@
  a. Artillerie _muss_ P_ATTACK_BUSY beachten (setzen/abfragen).
  b. Artillerie _muss_ bei Verwendung Konzentrationspunkte 
     verbrauchen.
- c. Artillerie darf nicht (bzw. nur begrenzt) gehortet werden
-    koennen.
- d. Artillerie darf bei Paralyse nicht angewendet werden koennen
+ c. Artillerie darf bei Paralyse nicht angewendet werden koennen
     (P_DISABLE_ATTACK).
- e. Artillerie muss durch Setzen der Property P_IS_ARTILLERY 
+ d. Artillerie muss durch Setzen der Property P_IS_ARTILLERY 
     gekennzeichnet sein. 
- f. Artillerie, die Munition benutzt oder selbst Munition ist (wie z.B.
-    Wurfsterne), muss das Unitobjekt und den dortigen Mechanismus zum
-    Zerfall von Objekten nutzen. Dabei sind P_UNIT_DECAY_INTERVAL und
-    P_UNIT_DECAY_QUOTA so zu setzen, dass die Munition eine Halbwertszeit
-    zwischen 5 und 10  Tagen hat, der ihrer Verfuegbarkeit angemessen
-    ist. Dies laesst sich durch geeignetes Einstellen des
-    Prozentsatzes und/oder der Resetzeit erreichen.
-
-    Beispiele:
-    Setzt man p=1% Zerfall pro Reset an, dann muss der Reset
-    fuer eine Halbwertszeit von 5 Tagen dann 
-    t=ln(0.5)/ln(0,99)*5*24*3600 s dauern, das sind 6224 s.
-
-    Moechte man lieber den normalen Reset, der im Mittel 45 min, d.h. 160
-    Resets in 5 Tagen betraegt, so erhaelt man folgenden Prozentsatz:
-    p = 1-0,5^(1/160) d.h. ca. 0,43%.
- g. Artillerie ist immer genehmigungspflichtig.
+ e. Artillerie ist immer genehmigungspflichtig.
 
 Details werden fallweise entschieden.
 
@@ -58,6 +40,7 @@
 Revision am 5. April 2008
 Revision am 7. April 2011
 Revision am 24. August 2011
+Revision am 8. August 2018
 
 --------------------------------------------------------------------------
-Letzte Aenderung: Mi, 24.8. 2011 von Humni
+Letzte Aenderung: Mi, 8.8. 2018 von Humni
diff --git a/doc/index b/doc/index
index 6f84b1c..778f6b5 100644
--- a/doc/index
+++ b/doc/index
@@ -14,8 +14,8 @@
 Indices and tables
 ******************
 
-* *Stichwortverzeichnis*
+* Stichwortverzeichnis
 
-* *Modulindex*
+* Modulindex
 
-* *Suche*
+* Suche
diff --git a/doc/lfun/AddExtraLook b/doc/lfun/AddExtraLook
index 279b496..3e6edc2 100644
--- a/doc/lfun/AddExtraLook
+++ b/doc/lfun/AddExtraLook
@@ -172,12 +172,12 @@
 ==========
 
    Verwandt:
-      *RemoveExtraLook()*, *P_INTERNAL_EXTRA_LOOK*
+      RemoveExtraLook(), P_INTERNAL_EXTRA_LOOK
 
    Sonstiges:
-      *replace_personal()*, *break_string()*
+      replace_personal(), break_string()
 
    Fuer Spielerobjekte:
-      *P_EXTRA_LOOK*
+      P_EXTRA_LOOK
 
 5. Juni 2017 Gloinson
diff --git a/doc/lfun/AddInfo b/doc/lfun/AddInfo
index e2774d5..193e407 100644
--- a/doc/lfun/AddInfo
+++ b/doc/lfun/AddInfo
@@ -241,18 +241,18 @@
 ==========
 
    Verwandt:
-      *AddSpecialInfo()*, *RemoveInfo()*
+      AddSpecialInfo(), RemoveInfo()
 
    Props:
-      *P_PRE_INFO*
+      P_PRE_INFO
 
    Files:
       /std/npc/info.c
 
    Loggen:
-      *P_LOG_INFO*
+      P_LOG_INFO
 
    Interna:
-      *GetInfoArr()* , *do_frage()*
+      GetInfoArr() , do_frage()
 
 7. Mar 2017 Gloinson
diff --git a/doc/lfun/AddRoomMessage b/doc/lfun/AddRoomMessage
index 7d33a52..82c2c99 100644
--- a/doc/lfun/AddRoomMessage
+++ b/doc/lfun/AddRoomMessage
@@ -152,9 +152,9 @@
 ==========
 
    Verwandt:
-      tell_room(), *send_room()*, *ReceiveMsg()*
+      tell_room(), send_room(), ReceiveMsg()
 
    Props:
-      *P_MSG_PROB*, *P_FUNC_MSG*, *P_ROOM_MSG*
+      P_MSG_PROB, P_FUNC_MSG, P_ROOM_MSG
 
 28. Mar 2016 Gloinson
diff --git a/doc/lfun/AddSpell b/doc/lfun/AddSpell
index b8175e5..c0e6da7 100644
--- a/doc/lfun/AddSpell
+++ b/doc/lfun/AddSpell
@@ -192,10 +192,9 @@
 SIEHE AUCH
 ==========
 
-   Sonstiges: *SpellAttack()*, *SpellDefend()*, *Defend()*,
-   *QueryDefend()*, *SelectEnemy()*, *ReceiveMsg()*,
-   *replace_personal()*
+   Sonstiges: SpellAttack(), SpellDefend(), Defend(), QueryDefend(),
+   SelectEnemy(), ReceiveMsg(), replace_personal()
 
-   Properties: *P_DISABLE_ATTACK*, *P_SPELLRATE*, *P_AGGRESSIVE*
+   Properties: P_DISABLE_ATTACK, P_SPELLRATE, P_AGGRESSIVE
 
 Letzte Aenderung: 15.02.2018, Bugfix
diff --git a/doc/lfun/Defend b/doc/lfun/Defend
index dd66fa1..1de1f78 100644
--- a/doc/lfun/Defend
+++ b/doc/lfun/Defend
@@ -178,20 +178,20 @@
 SIEHE AUCH
 ==========
 
-   Angriff: *Attack()*, *P_NO_ATTACK*, *InsertEnemy()*
+   Angriff: Attack(), P_NO_ATTACK, InsertEnemy()
 
-   Schaden:   *P_ENABLE_IN_ATTACK_OUT*, *P_LAST_MOVE*, *do_damage()*,
-   *reduce_hit_points()*
+   Schaden:   P_ENABLE_IN_ATTACK_OUT, P_LAST_MOVE, do_damage(),
+   reduce_hit_points()
 
-   Schutz:    *P_DEFENDERS*, *InformDefend()*, *DefendOther()*,
-   *P_ARMOURS*, *P_AC*, *P_DEFEND_FUNC*, *QueryDefend()*, *P_BODY*
+   Schutz:    P_DEFENDERS, InformDefend(), DefendOther(), P_ARMOURS,
+   P_AC, P_DEFEND_FUNC, QueryDefend(), P_BODY
 
-   Daten:     *P_LAST_COMBAT_TIME*, *P_LAST_DAMTYPES*,
-   *P_LAST_DAMTIME*, *P_LAST_DAMAGE*, *P_DAMAGE_MSG*
+   Daten:     P_LAST_COMBAT_TIME, P_LAST_DAMTYPES, P_LAST_DAMTIME,
+   P_LAST_DAMAGE, P_DAMAGE_MSG
 
-   Resistenz: *P_RESISTANCE_STRENGTHS*, *CheckResistance()*
+   Resistenz: P_RESISTANCE_STRENGTHS, CheckResistance()
 
-   Sonstiges: *CheckSensitiveAttack()*, *InternalModifyDefend()*,
-   *UseSkill()*, *DefendInfo()*
+   Sonstiges: CheckSensitiveAttack(), InternalModifyDefend(),
+   UseSkill(), DefendInfo()
 
 Letzte Aenderung: 29.12.2017, Bugfix
diff --git a/doc/lfun/DefendFunc b/doc/lfun/DefendFunc
index a544cc2..5338a9f 100644
--- a/doc/lfun/DefendFunc
+++ b/doc/lfun/DefendFunc
@@ -103,4 +103,4 @@
 SIEHE AUCH
 ==========
 
-   *P_DEFEND_FUNC*, "QueryDefendd" /std/armour/combat.c
+   P_DEFEND_FUNC, *QueryDefendd* /std/armour/combat.c
diff --git a/doc/lfun/GetHelperObject b/doc/lfun/GetHelperObject
index e879129..87b1b8a 100644
--- a/doc/lfun/GetHelperObject
+++ b/doc/lfun/GetHelperObject
@@ -39,9 +39,8 @@
    welches die Anforderungen erfuellt.
 
    Ist <strength> ein int, muss die Staerke/Guete des Helfers
-   (Rueckgabewert der Callback-Methode, siehe
-   *RegisterHelperObject()*) mindestens so gross sein wie der als
-   <strength> uebergebene Wert.
+   (Rueckgabewert der Callback-Methode, siehe RegisterHelperObject())
+   mindestens so gross sein wie der als <strength> uebergebene Wert.
 
    Ist <strength> eine Closure, wird diese fuer jeden Helfer
    ausgewertet und entscheidet, ob der Helfer akzeptiert wird. Die
@@ -87,7 +86,7 @@
 SIEHE AUCH
 ==========
 
-   *RegisterHelperObject()*, *UnregisterHelperObject()*,
-   *P_AERIAL_HELPERS*, *P_AQUATIC_HELPERS*, *P_HELPER_OBJECTS*
+   RegisterHelperObject(), UnregisterHelperObject(), P_AERIAL_HELPERS,
+   P_AQUATIC_HELPERS, P_HELPER_OBJECTS
 
 Letzte Aenderung: 9.3.2018, Zesstra
diff --git a/doc/lfun/GetShopItems b/doc/lfun/GetShopItems
index 9c7f28d..1b8cfa5 100644
--- a/doc/lfun/GetShopItems
+++ b/doc/lfun/GetShopItems
@@ -37,4 +37,4 @@
 SIEHE AUCH
 ==========
 
-   *PrintList()*
+   PrintList()
diff --git a/doc/lfun/GuildName b/doc/lfun/GuildName
index 4a4dbdf..080fcf9 100644
--- a/doc/lfun/GuildName
+++ b/doc/lfun/GuildName
@@ -31,7 +31,7 @@
 ==========
 
    Verwandt:
-      *GuildName()*
+      GuildName()
 
    Props:
-      *P_GUILD*
+      P_GUILD
diff --git a/doc/lfun/InternalModifyDefend b/doc/lfun/InternalModifyDefend
index 3762c07..efe50ab 100644
--- a/doc/lfun/InternalModifyDefend
+++ b/doc/lfun/InternalModifyDefend
@@ -50,4 +50,4 @@
 SIEHE AUCH
 ==========
 
-   *InternalModifyAttack()* *Defend()*
+   InternalModifyAttack() Defend()
diff --git a/doc/lfun/IsGuildMember b/doc/lfun/IsGuildMember
index bc29366..20074d9 100644
--- a/doc/lfun/IsGuildMember
+++ b/doc/lfun/IsGuildMember
@@ -61,7 +61,7 @@
 ==========
 
    Verwandt:
-      *GuildName()*
+      GuildName()
 
    Props:
-      *P_GUILD*
+      P_GUILD
diff --git a/doc/lfun/PresentRows b/doc/lfun/PresentRows
index 37e3ab8..e69de29 100644
--- a/doc/lfun/PresentRows
+++ b/doc/lfun/PresentRows
@@ -1,120 +0,0 @@
-
-PresentRows()
-*************
-
-
-FUNKTION
-========
-
-   mixed *PresentRows(object env);
-
-
-DEFINIERT IN
-============
-
-   TEAM_OBJECT (s. <living/team.h>)
-
-
-ARGUMENTE
-=========
-
-   object env
-       Das Environment des gewuenschten Objektes.
-
-
-BESCHREIBUNG
-============
-
-   Mit dieser Funktion bekommt man die aktuellen Teamreihen, die im Argument
-   env anwesend sind, des Teams zurueckgegeben. Ist env kein Objekt, so
-   wird environment(this_player()) als solches angenommen.
-
-
-RUECKGABEWERT
-=============
-
-   Es wird ein mixed-Array zurueckgegeben, dabei sind die einzelnen Reihen
-   selbst wiederum Arrays mit den Spielerobjekten.
-
-
-BEISPIEL
-========
-
-   Ein NPC im Kampf laesst eine Feuerwalze auf ein Team los, welche aber nur
-   Spieler in der ersten und zweiten Teamreihe Schaden zufuegen soll.
-
-   void Attack( object enemy )
-   {
-    ...
-
-    object team = enemy->QueryProp(P_TEAM);
-
-    if ( objectp(team) )
-     {
-      mixed teamrows = team->PresentRows(enemy);
-
-//  Inhalt von "teamrows" zu diesem Zeitpunkt:
-
-//  ({ ({[/dwarf:hauweg]}),({}),({[/elf:spitzohr]}),({}),({}),({}) })
-
-//  In der Umgebung von Zwerg Hauweg steht also noch Elf Spitzohr, und
-zwar //  in der dritten Teamreihe (der hat Glueck gehabt). //  Wenn
-dem Team noch mehr Spieler angehoeren, befinden sie sich gerade //
-nicht in der Umgebung (sprich im selben Raum) wie Hauweg.
-
-            foreach ( i : 2 )
-               {
-                  foreach ( object pl : teamrows[i] )
-                     {
-                        tell_object(pl,"Der Feuerteufel laesst eine
-                        Feuerwalze auf Dich "
-                           "und Dein Team los.n");
-
-                        pl->Defend(200+random(200),({DT_FIRE}),([SP_S
-                        HOW_DAMAGE:1]),TO);
-
-                     }
-
-               }
-
-         }
-
-      else
-         {
-            tell_object(enemy,"Der Feuerteufel laesst eine Feuerwalze
-            auf Dich "
-               "los.n");
-
-            enemy->Defend(200+random(200),({DT_FIRE}),([SP_SHOW_DAMAG
-            E:1]),TO);
-
-         }
-
-      ...
-
-   }
-
-
-BEMERKUNG
-=========
-
-   Man beachte, dass das erste Argument (also Argument 0) die erste
-   Teamreihe ist.
-
-
-SIEHE AUCH
-==========
-
-   Uebersicht: teamkampf
-   Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD,
-               P_TEAM_AUTOFOLLOW, P_TEAM_COLORS, P_TEAM_LEADER,
-               P_TEAM_NEWMEMBER, P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
-   Bewegung:   IsTeamMove, TeamFlee
-   Mitglieder: IsTeamLeader, TeamMembers
-   Kampf:      AssocMember, DeAssocMember, InsertEnemyTeam,
-               SelectNearEnemy, SelectFarEnemy
-   Positionen: PresentPosition, PresentEnemyRows, PresentTeamPosition,
-               SwapRows
-   Sonstiges:  TeamPrefix, teamkampf_intern
-
-Last modified: 16-08-2010, Gabylon
diff --git a/doc/lfun/PreventFollow b/doc/lfun/PreventFollow
index fcfc2a6..f8b0343 100644
--- a/doc/lfun/PreventFollow
+++ b/doc/lfun/PreventFollow
@@ -58,4 +58,4 @@
 SIEHE AUCH
 ==========
 
-   * *AddPursuer()*, *RemovePursuer()*
+   * AddPursuer(), RemovePursuer()
diff --git a/doc/lfun/PrintList b/doc/lfun/PrintList
index 18be079..d4caffc 100644
--- a/doc/lfun/PrintList
+++ b/doc/lfun/PrintList
@@ -54,4 +54,4 @@
 SIEHE AUCH
 ==========
 
-   *GetShopItems()*
+   GetShopItems()
diff --git a/doc/lfun/RemoveExtraLook b/doc/lfun/RemoveExtraLook
index 1bcde43..4323bef 100644
--- a/doc/lfun/RemoveExtraLook
+++ b/doc/lfun/RemoveExtraLook
@@ -81,12 +81,12 @@
 ==========
 
    Verwandt:
-      *AddExtraLook()*, *P_INTERNAL_EXTRA_LOOK*
+      AddExtraLook(), P_INTERNAL_EXTRA_LOOK
 
    Sonstiges:
-      *replace_personal()*, *break_string()*
+      replace_personal(), break_string()
 
    Fuer Spielerobjekte:
-      *P_EXTRA_LOOK*
+      P_EXTRA_LOOK
 
 15. Jun 2017 Gloinson
diff --git a/doc/lfun/SetAttackChats b/doc/lfun/SetAttackChats
index b5a26e9..ac3d108 100644
--- a/doc/lfun/SetAttackChats
+++ b/doc/lfun/SetAttackChats
@@ -114,12 +114,12 @@
 ==========
 
    Verwandt:
-      *SetChats()*, *AddSpell()*
+      SetChats(), AddSpell()
 
    Props:
-      *P_CHAT_CHANCE*
+      P_CHAT_CHANCE
 
    Sonstiges:
-      *send_room()*, *process_string()*
+      send_room(), process_string()
 
 3. April 2017 Gloinson
diff --git a/doc/lfun/SetChats b/doc/lfun/SetChats
index ee6d04b..e99314b 100644
--- a/doc/lfun/SetChats
+++ b/doc/lfun/SetChats
@@ -145,12 +145,12 @@
 ==========
 
    Verwandt:
-      *SetAttackChats()*
+      SetAttackChats()
 
    Props:
-      *P_CHAT_CHANCE*
+      P_CHAT_CHANCE
 
    Sonstiges:
-      *send_room()*, *process_string()*
+      send_room(), process_string()
 
 3. April 2017 Gloinson
diff --git a/doc/lfun/create b/doc/lfun/create
index 03fc91a..066ee55 100644
--- a/doc/lfun/create
+++ b/doc/lfun/create
@@ -7,7 +7,6 @@
 ========
 
    protected void create();
-   void create();
 
 
 DEFINIERT IN
@@ -25,15 +24,15 @@
 BESCHREIBUNG
 ============
 
-   Diese Funktion wird aufgerufen, wenn ein Objekt geladen oder geclont
-   wird.
-   In dieser Funktion wird das Objekt initialisiert und konfiguriert.
-   Waehrend des create() kann es einen this_player()/this_interactive()
-   geben, muss aber nicht!
-   Im create() hat das Objekt noch kein environment().
-   create() wird nur gerufen, wenn das Objekte geclont oder explizit geladen
-   wird. Wenn es aufgrund eines inherit in einem anderen Objekt vom Driver
-   geladen wird, wird das create() nicht ausgefuehrt (s. create_super()).
+   Diese Funktion wird aufgerufen, wenn ein Objekt geladen oder
+   geclont wird. In dieser Funktion wird das Objekt initialisiert und
+   konfiguriert. Waehrend des create() kann es einen
+   this_player()/this_interactive() geben, muss aber nicht! Im
+   create() hat das Objekt noch kein environment(). create() wird nur
+   gerufen, wenn das Objekte geclont oder explizit geladen wird. Wenn
+   es aufgrund eines inherit in einem anderen Objekt vom Driver
+   geladen wird, wird das create() nicht ausgefuehrt (s.
+   create_super()).
 
 
 RUeCKGABEWERT
@@ -45,20 +44,24 @@
 BEMERKUNGEN
 ===========
 
-   Erbt man von anderen Objekten, so besteht die erste Aktion innerhalb
-   von create() normalerweise darin, in diesen Objekten create()
-   aufzurufen.
-   Die Funktion kann protected oder static sein (aber nicht private). Es
-   duerfte fuer die meisten Objekte sinnvoll sein, create() protected zu
-   deklarieren.
+   Erbt man von anderen Objekten, so besteht die erste Aktion
+   innerhalb von create() normalerweise darin, in diesen Objekten
+   create() aufzurufen.
 
-   Um Speicher zu sparen, kann man bei Blueprints von der Konfigurierung
-   absehen (siehe Beispiel). Dies sollte man allerdings nicht bei Objekten
-   machen, von denen keine Clones erzeugt werden sollen (zB. bei Raeumen).
+   In altem Code wird create() haeufig ohne Sichtbarkeitsmodifikator
+   verwendet, es sollte aber immer protected gewaehlt werden, es gibt
+   keinen guten Grund create() mehr als einmal zu rufen, im Gegenteil,
+   wird das geerbte create() mehrfach gerufen kann das zu schwer zu
+   findenden Bugs fuehren.
 
-   Man sollte bei Abbruch des create() in BP unbedingt set_next_reset(-1);
-   rufen, da sonst die (nicht konfigurierte) BP resetten kann und dann
-   buggt.
+   Um Speicher zu sparen, kann man bei Blueprints von der
+   Konfigurierung absehen (siehe Beispiel). Dies sollte man allerdings
+   nicht bei Objekten machen, von denen keine Clones erzeugt werden
+   sollen (zB. bei Raeumen).
+
+   Man sollte bei Abbruch des create() in BP unbedingt
+   set_next_reset(-1); rufen, da sonst die (nicht konfigurierte) BP
+   resetten kann und dann buggt.
 
 
 BEISPIELE
@@ -66,18 +69,19 @@
 
    Ein Gegenstand wuerde wie folgt konfiguriert:
 
-   inherit "std/thing";
+   inherit "/std/thing";
 
    #include <properties.h>
 
-   create()
+   protected void create()
    {
      // Wenn wir die Blueprint sind: NICHT konfigurieren!
-     // Bei normalen Raeumen oder Transportern sind diese beiden
+     // Bei normalen Raeumen oder Transportern sind diese
      // Zeilen wegzulassen!!!
-     if (!clonep(this_object())) {
-         set_next_reset(-1);    // wichtig, damit die BP nicht resettet.
-         return;
+     if (!clonep(this_object()))
+     {
+       set_next_reset(-1);    // wichtig, damit die BP nicht resettet.
+       return;
      }
 
      // Ansonsten die allgemeinen Eigenschaften von /std/thing
@@ -97,8 +101,6 @@
 SIEHE AUCH
 ==========
 
-   create(L), reset(L)
-   hook(C), create(H), create_ob(H), create_super(H, reset(H)
-   create(A), reset(A)
+   create(), reset(), create_super() set_next_reset()
 
-22.10.2007, Zesstra
+Letzte Aenderung: 27.10.2018, Bugfix
diff --git a/doc/lfun/init b/doc/lfun/init
index 813c8f3..8a2688f 100644
--- a/doc/lfun/init
+++ b/doc/lfun/init
@@ -107,7 +107,7 @@
 SIEHE AUCH
 ==========
 
-   *exit()*, *AddCmd()*, *NotifyInsert()*
+   exit(), AddCmd(), NotifyInsert()
 
    add_action(E)
 
diff --git a/doc/lfun/list b/doc/lfun/list
index 41b989f..4148dc0 100644
--- a/doc/lfun/list
+++ b/doc/lfun/list
@@ -41,4 +41,4 @@
 SIEHE AUCH
 ==========
 
-   *PrintList()*, *AddCmd()*
+   PrintList(), AddCmd()
diff --git a/doc/lfun/obsolete/DoList b/doc/lfun/obsolete/DoList
index 17cc419..2119f05 100644
--- a/doc/lfun/obsolete/DoList
+++ b/doc/lfun/obsolete/DoList
@@ -36,4 +36,4 @@
 SIEHE AUCH
 ==========
 
-   *PrintList()*
+   PrintList()
diff --git a/doc/lfun/obsolete/GetList b/doc/lfun/obsolete/GetList
index 2e58523..e066273 100644
--- a/doc/lfun/obsolete/GetList
+++ b/doc/lfun/obsolete/GetList
@@ -36,4 +36,4 @@
 SIEHE AUCH
 ==========
 
-   *GetShopItems()*
+   GetShopItems()
diff --git a/doc/lfun/obsolete/extra_look b/doc/lfun/obsolete/extra_look
index 6d134a9..9d1ac15 100644
--- a/doc/lfun/obsolete/extra_look
+++ b/doc/lfun/obsolete/extra_look
@@ -27,4 +27,4 @@
 SIEHE AUCH
 ==========
 
-   *AddExtraLook()*, *P_EXTRA_LOOK*
+   AddExtraLook(), P_EXTRA_LOOK
diff --git a/doc/lfun/remove b/doc/lfun/remove
index 78d8ada..ea982b1 100644
--- a/doc/lfun/remove
+++ b/doc/lfun/remove
@@ -60,6 +60,6 @@
 SIEHE AUCH
 ==========
 
-   "../efun/destruct", *U_REQ*, *P_AMOUNT*
+   *../efun/destruct*, U_REQ, P_AMOUNT
 
 Letzte Aenderung: 24.07.2018, Bugfix
diff --git a/doc/pcmd/passwort b/doc/pcmd/passwort
index 191b5b2..bc48b04 100644
--- a/doc/pcmd/passwort
+++ b/doc/pcmd/passwort
@@ -13,7 +13,7 @@
  BESCHREIBUNG:
     Aendert das Passwort. Zur Sicherheit muss zuerst das alte Passwort
     eingegeben werden. Daraufhin wird das neue Passwort zweimal erfragt. Das
-    Passwort wird nur dann geaendert, wenn die beiden Eingaben des neues
+    Passwort wird nur dann geaendert, wenn die beiden Eingaben des neuen
     Passwortes uebereinstimmen.
 
  LETZTE AeNDERUNG:
diff --git a/doc/props.index b/doc/props.index
index b63a77e..938833b 100644
--- a/doc/props.index
+++ b/doc/props.index
@@ -91,7 +91,7 @@
      * "mixed Set(<name>, <wert>, <interpretation>)" wird genutzt,
        um eines der folgenden zu setzen:
 
-          * den normalen Wert (aber fast immer besser: *SetProp()*
+          * den normalen Wert (aber fast immer besser: SetProp()
             verwenden!)
 
           * eine Query- oder Setmethode
@@ -101,7 +101,7 @@
      * "mixed Query(<name>, <interpretation>)" fragt fuer <name>
        einen <wert> ab
 
-       * den normalen Wert (aber fast immer besser: *QueryProp()*
+       * den normalen Wert (aber fast immer besser: QueryProp()
          verwenden!)
 
        * die Closure der Query- oder Setmethode
@@ -142,9 +142,9 @@
 SIEHE AUCH:
 ===========
 
-* *SetProp()*, *QueryProp()*, *Set()*, *Query()*,
+* SetProp(), QueryProp(), Set(), Query(),
 
-* *SetProperties()*, *QueryProperties()*
+* SetProperties(), QueryProperties()
 
 * objekte, effizienz, closures
 
diff --git a/doc/props/P_AERIAL_HELPERS b/doc/props/P_AERIAL_HELPERS
index 7fbe8d0..5d9b030 100644
--- a/doc/props/P_AERIAL_HELPERS
+++ b/doc/props/P_AERIAL_HELPERS
@@ -23,7 +23,7 @@
    Fliegen/Segeln bei diesem Lebewesen registriert haben. Die Daten
    werden als Mapping der folgenden Form zurueckgeliefert: ([ Objekt :
    Rueckgabewert von dessen Callback-Methode ]) Eine Erlaeuterung dazu
-   findet sich in der Dokumentation zu *RegisterHelperObject()*.
+   findet sich in der Dokumentation zu RegisterHelperObject().
 
 
 BEMERKUNGEN
@@ -57,7 +57,7 @@
 SIEHE AUCH
 ==========
 
-   Methoden:    *RegisterHelperObject()*, *UnregisterHelperObject()*
-   Properties:  *P_HELPER_OBJECTS*, *P_AQUATIC_HELPERS*
+   Methoden:    RegisterHelperObject(), UnregisterHelperObject()
+   Properties:  P_HELPER_OBJECTS, P_AQUATIC_HELPERS
 
 04.02.2018, Arathorn
diff --git a/doc/props/P_AQUATIC_HELPERS b/doc/props/P_AQUATIC_HELPERS
index ef80e67..b1bab50 100644
--- a/doc/props/P_AQUATIC_HELPERS
+++ b/doc/props/P_AQUATIC_HELPERS
@@ -23,7 +23,7 @@
    diesem Lebewesen registriert haben. Die Daten werden als Mapping
    der folgenden Form zurueckgeliefert: ([ Objekt : Rueckgabewert von
    dessen Callback-Methode ]) Eine Erlaeuterung dazu findet sich in
-   der Dokumentation zu *RegisterHelperObject()*.
+   der Dokumentation zu RegisterHelperObject().
 
 
 BEMERKUNGEN
@@ -58,7 +58,7 @@
 SIEHE AUCH
 ==========
 
-   Methoden:    *RegisterHelperObject()*, *UnregisterHelperObject()*
-   Properties:  *P_HELPER_OBJECTS*, *P_AERIAL_HELPERS*
+   Methoden:    RegisterHelperObject(), UnregisterHelperObject()
+   Properties:  P_HELPER_OBJECTS, P_AERIAL_HELPERS
 
 04.02.2018, Arathorn
diff --git a/doc/props/P_EXTRA_LOOK b/doc/props/P_EXTRA_LOOK
index 5ea639a..b0f8869 100644
--- a/doc/props/P_EXTRA_LOOK
+++ b/doc/props/P_EXTRA_LOOK
@@ -33,7 +33,7 @@
    verwendet werden, sollte man das Umbrechen der Mudlib ueberlassen.
 
    **Nur** dann benutzen, wenn ihr auch unabhaengig vom Extralook ein
-   Objekt im Spieler benoetigt, ansonsten **immer** *AddExtraLook()*
+   Objekt im Spieler benoetigt, ansonsten **immer** AddExtraLook()
    verwenden.
 
    Bemerkung: Der Extralook taucht an einem Lebewesen nur auf, wenn
@@ -55,10 +55,10 @@
 SIEHE AUCH
 ==========
 
-   * *long()*
+   * long()
 
-   * *AddExtraLook()*, *RemoveExtraLook()*
+   * AddExtraLook(), RemoveExtraLook()
 
    * /std/living/description.c, /std/player/base.c
 
-   * *replace_personal()*
+   * replace_personal()
diff --git a/doc/props/P_FUNC_MSG b/doc/props/P_FUNC_MSG
index ac09232..811e71c 100644
--- a/doc/props/P_FUNC_MSG
+++ b/doc/props/P_FUNC_MSG
@@ -34,12 +34,12 @@
 ==========
 
    LFuns:
-      *AddRoomMessage()*
+      AddRoomMessage()
 
    Verwandt:
-      tell_room(), *send_room()*, *ReceiveMsg()*
+      tell_room(), send_room(), ReceiveMsg()
 
    Props:
-      *P_MSG_PROB*, *P_ROOM_MSG*
+      P_MSG_PROB, P_ROOM_MSG
 
 2.Feb 2016 Gloinson
diff --git a/doc/props/P_HARBOUR b/doc/props/P_HARBOUR
index 80ee19a..5b79d9b 100644
--- a/doc/props/P_HARBOUR
+++ b/doc/props/P_HARBOUR
@@ -84,8 +84,8 @@
 SIEHE AUCH
 ==========
 
-   Properties:     *P_NO_TRAVELING*, *P_TRAVEL_INFO* Funktionen:
-   *AddRoute()* Spielerbefehle: reise weitere Doku:
+   Properties:     P_NO_TRAVELING, P_TRAVEL_INFO Funktionen:
+   AddRoute() Spielerbefehle: reise weitere Doku:
    /d/inseln/schiffe/HowTo
 
 
diff --git a/doc/props/P_INFO b/doc/props/P_INFO
index 214301a..c18cd97 100644
--- a/doc/props/P_INFO
+++ b/doc/props/P_INFO
@@ -49,6 +49,6 @@
 ==========
 
    Aehnlich:
-      *GetOwner()*
+      GetOwner()
 
 14. Mar 2017 Gloinson
diff --git a/doc/props/P_INTERNAL_EXTRA_LOOK b/doc/props/P_INTERNAL_EXTRA_LOOK
index d61da7a..9e18201 100644
--- a/doc/props/P_INTERNAL_EXTRA_LOOK
+++ b/doc/props/P_INTERNAL_EXTRA_LOOK
@@ -69,9 +69,9 @@
 ==========
 
    Verwandt:
-      *AddExtraLook()*, *RemoveExtraLook()* *long()*
+      AddExtraLook(), RemoveExtraLook() long()
 
    Fuer Spielerobjekte:
-      *P_EXTRA_LOOK*
+      P_EXTRA_LOOK
 
 15. Juni 2017 Gloinson
diff --git a/doc/props/P_LIGHT b/doc/props/P_LIGHT
index d0b55d8..c1eb0e5 100644
--- a/doc/props/P_LIGHT
+++ b/doc/props/P_LIGHT
@@ -19,34 +19,34 @@
 ============
 
    Gibt den Lichtlevel eines Objektes an, d.h. wie hell das Objekt von sich
-   aus leuchtet. Moechte man den gesamten Lichtlevel haben der von einem
+   aus leuchtet. Moechte man den gesamten Lichtlevel haben, der von einem
    Objekt ausgeht, so sollte man P_TOTAL_LIGHT nehmen, das den Inhalt eines
    Containers direkt mit verrechnet.
 
    Bitte _nur_ ueber SetProp bzw. QueryProp zugreifen, da es fuer die
-   Berechnung wichtig ist, das in allen Containern P_LAST_CONTENT_CHANGE
-   gesetzt wird um ein neuberechnen des Lichtlevels auszuloesen!
+   Berechnung wichtig ist, dass in allen Containern P_LAST_CONTENT_CHANGE
+   gesetzt wird, um ein Neuberechnen des Lichtlevels auszuloesen!
 
 
 ANMERKUNG
 =========
 
-   Um ein ungefaehres Gefuehl davon zu bekommen was ein Lichtlevel in
-   etwa bedeutet hier einige allgemeine Beispiele von Gegenstaenden.
+   Um ein ungefaehres Gefuehl davon zu bekommen, was ein Lichtlevel in
+   etwa bedeutet, hier einige allgemeine Beispiele von Gegenstaenden.
    Grundsaetzlich sollten Lichtlevel <0 und >2 nur in Ruecksprache mit dem
    Balanceteam benutzt werden.
 
    Lichtlevel -1,  z.B. ein schwarzer Ring, von dem eine kleine dunkle Aura
                    ausgeht, die den Spieler umgibt.
    Lichtlevel  0,  der Gegenstand beeinflusst das Licht ueberhaupt nicht
-   Lichtlevel  1,  der Spieler haelt eine kleine Lichtquelle in Haenden,
-                   dieses kann ein Leuchtpfirsich, eine Fackel oder ein
-                   Feuerschwert oder aehnliches sein.
+   Lichtlevel  1,  der Spieler haelt eine kleine Lichtquelle in den
+                   Haenden, dieses kann ein Leuchtpfirsich, eine Fackel oder
+                   ein Feuerschwert oder aehnliches sein.
    Lichtlevel  2,  eine etwas groessere Lichtquelle, die aber immer noch
-                   nicht den Raum beleuchtet sondern lediglich dem Spieler
-                   einen Lichtschein gewaehrt mit dem er sehen kann.
+                   nicht den Raum beleuchtet, sondern lediglich dem Spieler
+                   einen Lichtschein gewaehrt, mit dem er sehen kann.
    Lichtlevel >2,  extrem helle Lichtquellen, die den gesamten Raum
-                   ausleuchten, in der Regel wohl eher magischer Natur.
+                   ausleuchten; in der Regel wohl eher magischer Natur.
                    Solche Lichtquellen sollten sich mit der Zeit
                    verbrauchen, dem Spieler Schaden zufuegen oder
                    aehnliches, damit die Spieler nicht defaultmaessig mit
@@ -59,20 +59,20 @@
                    ueber keine Nachtsicht verfuegen. Ueber ein Abdunkeln des
                    Raumes kann der Spieler dann doch den Nachtkampf nutzen.
    Lichtlevel   1: Der Raum ist erleuchtet und die Spieler koennen ohne
-                   weitere Lichtquellen sehen...
-   Lichtlevel   0: Ein dunkler Raum in dem man mit jeder Fackel sehen kann.
-   Lichtlevel  -1: man benoetigt zwei einfache Lichtquellen oder Nachtsicht
+                   weitere Lichtquellen sehen.
+   Lichtlevel   0: Ein dunkler Raum, in dem man mit jeder Fackel sehen kann.
+   Lichtlevel  -1: man benoetigt zwei einfache Lichtquellen oder Nachtsicht,
                    um in diesem Raum etwas sehen zu koennen.
-   Lichtlevel  -2: Man benoetigt schon eine besondere Lichtquelle um in
+   Lichtlevel  -2: Man benoetigt schon eine besondere Lichtquelle, um in
                    diesem Raum noch etwas sehen zu koennen. Solche
                    Lichtquellen sind nichts fuer Anfaenger oder mittlere
-                   Spieler da sie schwer zu beschaffen und in der Regel
+                   Spieler, da sie schwer zu beschaffen und in der Regel
                    auch einige Handicaps haben.
    Lichtlevel <-2: Der Raum ist wirklich absolut stockduster und
-                   Lichtquellen die solch einen Raum ausleuchten koennen,
+                   Lichtquellen, die solch einen Raum ausleuchten koennen,
                    sind ausserordentlich selten und haben immer ihre
                    Tuecken. Diese Lichtlevel sollten nur mit Vorsicht
-                   genossen werden.
+                   gesetzt werden.
 
 
 SIEHE AUCH
diff --git a/doc/props/P_MSG_PROB b/doc/props/P_MSG_PROB
index 216d8e0..5c679a7 100644
--- a/doc/props/P_MSG_PROB
+++ b/doc/props/P_MSG_PROB
@@ -71,10 +71,10 @@
 ==========
 
    LFuns:
-      *AddRoomMessage()*
+      AddRoomMessage()
 
    Props:
-      *P_ROOM_MSG*, *P_FUNC_MSG*
+      P_ROOM_MSG, P_FUNC_MSG
 
    Verwandt:
       call_out()
diff --git a/doc/props/P_PURSUERS b/doc/props/P_PURSUERS
index 8348a6a..feaf575 100644
--- a/doc/props/P_PURSUERS
+++ b/doc/props/P_PURSUERS
@@ -35,4 +35,4 @@
 SIEHE AUCH
 ==========
 
-   * *AddPursuer()*, *RemovePursuer()*
+   * AddPursuer(), RemovePursuer()
diff --git a/doc/props/P_RACE b/doc/props/P_RACE
index c6aebc7..1c61e7a 100644
--- a/doc/props/P_RACE
+++ b/doc/props/P_RACE
@@ -22,11 +22,10 @@
    gesetzt werden. Es empfiehlt sich hierbei, Rassen nur in Form von
    grossgeschriebenen Strings zu setzen. Leichen erhalten mittels
    dieser Property automatisch die Rasse der Lebewesen, aus denen sie
-   hervorgegangen sind.
-   Der Sinn des Ganzen liegt darin, das Spiel differenzierter zu
-   gestalten und auf Rassenspezifika einzugehen. Zum Beispiel koennen
-   Elfen weniger Alkohol vertragen als Zwerge, was in '/std/pub'
-   beruecksichtigt wurde.
+   hervorgegangen sind. Der Sinn des Ganzen liegt darin, das Spiel
+   differenzierter zu gestalten und auf Rassenspezifika einzugehen.
+   Zum Beispiel koennen Elfen weniger Alkohol vertragen als Zwerge,
+   was in '/std/pub' beruecksichtigt wurde.
 
 
 BEISPIEL
@@ -43,6 +42,7 @@
 SIEHE AUCH
 ==========
 
-   /std/npc.c, /std/pub.c
+   P_REAL_RACE
+      /std/npc.c, /std/pub.c
 
-Last modified: Mon Sep 15 21:15:49 2003 by Vanion
+Last modified: 15.10.2018 Zesstra
diff --git a/doc/props/P_REAL_RACE b/doc/props/P_REAL_RACE
index 39c196a..713ceb3 100644
--- a/doc/props/P_REAL_RACE
+++ b/doc/props/P_REAL_RACE
@@ -18,28 +18,27 @@
 BESCHREIBUNG
 ============
 
-   Diese Property enthaelt die Rasse des Livings. Sie darf nicht durch
-   Shadows ueberschrieben werden.
+   Diese Property enthaelt die Rasse des Livings und sollte wie P_RACE
+   aus traditionellen Gruenden gross geschrieben werden.
 
+   Diese Property darf nicht durch Shadows ueberschrieben werden.
 
+      Wirklich interessant ist sie, wenn ein Spieler sich tarnt. Dort
+      kann man mit dieser Property trotz Tarnung feststellen, welche
+      Rasse der Spieler hat.
 
-   Wirklich interessant ist sie, wenn ein Spieler sich tarnt. Dort kann
-   man mit dieser Property trotz Tarnung feststellen, welche Rasse der
-   Spieler hat.
-
-   Bei NPC enthaelt sie den gleichen Wert wie P_RACE. Wenn P_REAL_RACE
-   allerdings gesetzt wird, kann man damit einen getarnten NPC simu-
-   lieren, da dann P_RACE und P_REAL_RACE voneinander abweichen.
+      Bei NPC enthaelt sie den gleichen Wert wie P_RACE. Wenn
+      P_REAL_RACE allerdings gesetzt wird, kann man damit einen
+      getarnten NPC simu- lieren, da dann P_RACE und P_REAL_RACE
+      voneinander abweichen.
 
 
 BEISPIEL
 ========
 
-   Ein Zwerg mag Zwergenbrot, fuer Elfen ist es giftig. Selbst wenn der
-   Elf sich als Zwerg tarnt, wird ihm durch lembas sicher uebel werden:
-
-   int futter(string arg)
-   {
+   // Ein Zwerg mag Zwergenbrot, fuer Elfen ist es giftig. Selbst wenn der
+   // Elf sich als Zwerg tarnt, wird ihm durch lembas sicher uebel werden:
+   int futter(string arg) {
      notify_fail("Was willst Du essen?\n");
      if(!arg || !id(arg)) return 0;
 
@@ -50,39 +49,33 @@
      say(sprintf("%s beisst in ein Stueck Zwergenbrot. Zahnschmerz!!!\n",
          this_player()->Name()));
 
-
      switch( this_player()->QueryProp(P_REAL_RACE) )
      {
-     case "Zwerg":
-       if ((this_player()->QueryProp(P_RACE))!="Zwerg")
-         write("Zur Tarnung spuckst Du etwas von dem Brot aus!\n");
-       this_player()->buffer_hp(100,10);
-       this_player()->buffer_sp(100,10);
-       break;
+       case "Zwerg":
+         if ((this_player()->QueryProp(P_RACE))!="Zwerg")
+           write("Zur Tarnung spuckst Du etwas von dem Brot aus!\n");
+         this_player()->buffer_hp(100,10);
+         this_player()->buffer_sp(100,10);
+         break;
 
-     case "Elf":
-       write("Das Zwergenbrot brennt wie Feuer auf Deiner Zunge!");
-       // Getarnt?
-       if ((this_player()->QueryProp(P_RACE))!="Elf")
-         write(" Deine Tarnung nutzt Dir da wenig.\n"
-       else write("\n");
-       this_player()->restore_spell_points(-100);
-       this_player()->do_damage(100,this_object());
-       break;
+       case "Elf":
+         write("Das Zwergenbrot brennt wie Feuer auf Deiner Zunge!");
+         // Getarnt?
+         if ((this_player()->QueryProp(P_RACE))!="Elf")
+           write(" Deine Tarnung nutzt Dir da wenig.\n"
+         else
+           write("\n");
+         this_player()->restore_spell_points(-100);
+         this_player()->do_damage(100,this_object());
+         break;
 
-     default:
-       write("Du bekommst nur wenig davon herunter..\n");
-       this_player()->buffer_hp(10,1);
-       this_player()->buffer_sp(10,2);
-       break;
+       default:
+         write("Du bekommst nur wenig davon herunter..\n");
+         this_player()->buffer_hp(10,1);
+         this_player()->buffer_sp(10,2);
+         break;
      }
-
-
-
      remove();
-
-
-
      return 1;
    }
 
@@ -90,6 +83,7 @@
 SIEHE AUCH
 ==========
 
-   /std/living/description.c, /sys/living/description.h, P_RACE
+   P_RACE
+      /std/living/description.c, /sys/living/description.h,
 
-Last modified: Mon Sep 15 21:15:49 2003 by Vanion
+Last modified: 15.10.2018 Zesstra
diff --git a/doc/props/P_ROOM_MSG b/doc/props/P_ROOM_MSG
index 2d52e57..44ea622 100644
--- a/doc/props/P_ROOM_MSG
+++ b/doc/props/P_ROOM_MSG
@@ -33,12 +33,12 @@
 ==========
 
    LFuns:
-      *AddRoomMessage()*
+      AddRoomMessage()
 
    Verwandt:
-      tell_room(), *send_room()*, *ReceiveMsg()*
+      tell_room(), send_room(), ReceiveMsg()
 
    Props:
-      *P_MSG_PROB*, *P_FUNC_MSG*
+      P_MSG_PROB, P_FUNC_MSG
 
 2.Feb 2016 Gloinson
diff --git a/doc/props/P_SKILL_ATTRIBUTE_OFFSETS b/doc/props/P_SKILL_ATTRIBUTE_OFFSETS
index 6bfcad3..a976072 100644
--- a/doc/props/P_SKILL_ATTRIBUTE_OFFSETS
+++ b/doc/props/P_SKILL_ATTRIBUTE_OFFSETS
@@ -18,8 +18,8 @@
 BESHREIBUNG
 ===========
 
-   Der Wert der Property ist ein Mapping: ([Attributname: Wert])
-   In dieser Property stehen permanente Abweichungen der Skillattribute
+   Der Wert der Property ist ein Mapping: ([Attributname: Wert]) In
+   dieser Property stehen permanente Abweichungen der Skillattribute
    vom Standardwert 100.
 
    Zu den Moeglichen Attributwerten, siehe P_SKILL_ATTRIBUTES.
@@ -27,23 +27,31 @@
    Die Werte duerfen zwischen 10 und 1000 liegen.
 
 
-BEMERKUNG
-=========
+BEMERKUNGEN
+===========
 
    Diese Property sollte AUF GAR KEINEN FALL in einem Spieler gesetzt
    werden, ohne Ruecksprachen mit allerhoechsten Stellen!
 
+   Nur via SetProp() setzen, Query-Methoden werden nicht ausgewertet.
+
+
+BEISPIEL
+========
+
+   // Zwei Angriffe pro Kampfrunde
+   SetProp(P_SKILL_ATTRIBUTE_OFFSETS,([SA_SPEED:200]));
+
 
 SIEHE AUCH
 ==========
 
-   Skills Lernen:  LearnSkill, ModifySkill, LimitAbility
-   * Nutzung:      UseSpell, 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
+   Skills Lernen:  LearnSkill(), ModifySkill(), LimitAbility()
+   Nutzung:      UseSpell(), UseSkill() Abfragen:     QuerySkill(),
+   QuerySkillAbility() Modifikation: ModifySkillAttribute(),
+   QuerySkillAttribute(), QuerySkillAttributeModifier(),
+   RemoveSkillAttributeModifier() Properties: P_SKILL_ATTRIBUTES
+   sonstig:      spruchermuedung, skill_info_liste Properties:
+   P_NEWSKILLS
 
-31.12.2013, Zesstra
+Letzte Aenderung: 27.10.2018, Bugfix
diff --git a/doc/props/P_SYNTAX_HELP b/doc/props/P_SYNTAX_HELP
index fee400f..1d1cb67 100644
--- a/doc/props/P_SYNTAX_HELP
+++ b/doc/props/P_SYNTAX_HELP
@@ -61,4 +61,4 @@
 SIEHE AUCH
 ==========
 
-   *AddCmd()*
+   AddCmd()
diff --git a/doc/props/P_WEIGHT b/doc/props/P_WEIGHT
index a68f580..024ba11 100644
--- a/doc/props/P_WEIGHT
+++ b/doc/props/P_WEIGHT
@@ -44,7 +44,7 @@
 SIEHE AUCH
 ==========
 
-   *P_TOTAL_WEIGHT* *P_EMPTY_PROPS*, *P_WEIGHT_PERCENT*,
-   *P_WEIGHT_PER_UNIT*, zu Speisen: wiz/food
+   P_TOTAL_WEIGHT P_EMPTY_PROPS, P_WEIGHT_PERCENT, P_WEIGHT_PER_UNIT,
+   zu Speisen: wiz/food
 
 Last modified: 25.07.2018 by Zesstra
diff --git a/doc/sefun/log_file b/doc/sefun/log_file
index a3f3cab..b8bfb41 100644
--- a/doc/sefun/log_file
+++ b/doc/sefun/log_file
@@ -6,24 +6,30 @@
 FUNKTION
 ========
 
-         int log_file(string file, string text)
-   int log_file(string file, string text, int size_to_break)
+   varargs int log_file(string file, string text, int size_to_break)
 
 
 ARGUMENTE
 =========
 
-   file - Name der Datei, in die geschrieben werden soll
-   text - Der Text, der geschrieben werden soll
-   size_to_break - Groesse, ab der ein neues File begonnen wird (optional)
+   file
+      Name der Datei, in die geschrieben werden soll
+
+   text
+      Der Text, der geschrieben werden soll
+
+   size_to_break
+      Groesse, ab der ein neues File begonnen wird (optional)
 
 
 BESCHREIBUNG
 ============
 
-   log_file schreibt den Text text in die Datei /log/file.
-   Sollte file schon mit einem /log/ beginnen, wird kein erneutes /log/ davor
-   eingefuegt.
+   log_file schreibt den Text text in die Datei /log/file. Sollte file
+   schon mit einem /log/ beginnen, wird kein erneutes /log/ davor
+   eingefuegt. Falls das Zielverzeichnis unterhalb von /log/ noch
+   nicht existiert, wird dies automatisch angelegt, sofern das rufende
+   Objekt das Logfile schreiben darf.
 
 
 RUECKGABEWERT
@@ -35,11 +41,12 @@
 BEMERKUNGEN
 ===========
 
-   Wenn die Groesse von file vor dem Schreiben 50000 Bytes ueberschreitet,
-   wird sie in file.old umbenannt. Eine schon vorhandene Datei file.old
-   wird dabei geloescht. Der Text wird nach dem Umbenennen geschrieben.
-   Wird 'size_to_break' angegeben und ist dies > 0, wird dieser Wert (in
-   Bytes) statt der 50000 Bytes zum Rotieren des Logfiles benutzt.
+   Wenn die Groesse von file vor dem Schreiben 50000 Bytes
+   ueberschreitet, wird sie in file.old umbenannt. Eine schon
+   vorhandene Datei file.old wird dabei geloescht. Der Text wird nach
+   dem Umbenennen geschrieben. Wird 'size_to_break' angegeben und ist
+   dies > 0, wird dieser Wert (in Bytes) statt der 50000 Bytes zum
+   Rotieren des Logfiles benutzt.
 
 
 BEISPIELE
@@ -56,4 +63,4 @@
 
    write_file(E)
 
-29.01.2017, Zesstra
+05.09.2018, Zesstra
diff --git a/doc/sefun/send_room b/doc/sefun/send_room
index 2a34ba2..2906b5a 100644
--- a/doc/sefun/send_room
+++ b/doc/sefun/send_room
@@ -67,6 +67,6 @@
 SIEHE AUCH
 ==========
 
-   *ReceiveMsg()* tell_object(E), tell_room(E), say(E), write(E)
+   ReceiveMsg() tell_object(E), tell_room(E), say(E), write(E)
 
 31.01.2018, Deaddy
diff --git a/doc/sphinx/props/P_LIGHT.rst b/doc/sphinx/props/P_LIGHT.rst
index 5f06359..1475b29 100644
--- a/doc/sphinx/props/P_LIGHT.rst
+++ b/doc/sphinx/props/P_LIGHT.rst
@@ -18,34 +18,34 @@
 ::
 
     Gibt den Lichtlevel eines Objektes an, d.h. wie hell das Objekt von sich
-    aus leuchtet. Moechte man den gesamten Lichtlevel haben der von einem
+    aus leuchtet. Moechte man den gesamten Lichtlevel haben, der von einem
     Objekt ausgeht, so sollte man P_TOTAL_LIGHT nehmen, das den Inhalt eines
     Containers direkt mit verrechnet.
 
     Bitte _nur_ ueber SetProp bzw. QueryProp zugreifen, da es fuer die
-    Berechnung wichtig ist, das in allen Containern P_LAST_CONTENT_CHANGE
-    gesetzt wird um ein neuberechnen des Lichtlevels auszuloesen!
+    Berechnung wichtig ist, dass in allen Containern P_LAST_CONTENT_CHANGE
+    gesetzt wird, um ein Neuberechnen des Lichtlevels auszuloesen!
 
 ANMERKUNG
 ---------
 ::
 
-    Um ein ungefaehres Gefuehl davon zu bekommen was ein Lichtlevel in
-    etwa bedeutet hier einige allgemeine Beispiele von Gegenstaenden.
+    Um ein ungefaehres Gefuehl davon zu bekommen, was ein Lichtlevel in
+    etwa bedeutet, hier einige allgemeine Beispiele von Gegenstaenden.
     Grundsaetzlich sollten Lichtlevel <0 und >2 nur in Ruecksprache mit dem
     Balanceteam benutzt werden.
 
     Lichtlevel -1,  z.B. ein schwarzer Ring, von dem eine kleine dunkle Aura
                     ausgeht, die den Spieler umgibt.
     Lichtlevel  0,  der Gegenstand beeinflusst das Licht ueberhaupt nicht
-    Lichtlevel  1,  der Spieler haelt eine kleine Lichtquelle in Haenden,
-                    dieses kann ein Leuchtpfirsich, eine Fackel oder ein
-                    Feuerschwert oder aehnliches sein.
+    Lichtlevel  1,  der Spieler haelt eine kleine Lichtquelle in den 
+                    Haenden, dieses kann ein Leuchtpfirsich, eine Fackel oder
+                    ein Feuerschwert oder aehnliches sein.
     Lichtlevel  2,  eine etwas groessere Lichtquelle, die aber immer noch
-                    nicht den Raum beleuchtet sondern lediglich dem Spieler
-                    einen Lichtschein gewaehrt mit dem er sehen kann.
+                    nicht den Raum beleuchtet, sondern lediglich dem Spieler
+                    einen Lichtschein gewaehrt, mit dem er sehen kann.
     Lichtlevel >2,  extrem helle Lichtquellen, die den gesamten Raum
-                    ausleuchten, in der Regel wohl eher magischer Natur.
+                    ausleuchten; in der Regel wohl eher magischer Natur.
                     Solche Lichtquellen sollten sich mit der Zeit
                     verbrauchen, dem Spieler Schaden zufuegen oder
                     aehnliches, damit die Spieler nicht defaultmaessig mit
@@ -58,20 +58,20 @@
                     ueber keine Nachtsicht verfuegen. Ueber ein Abdunkeln des
                     Raumes kann der Spieler dann doch den Nachtkampf nutzen.
     Lichtlevel   1: Der Raum ist erleuchtet und die Spieler koennen ohne
-                    weitere Lichtquellen sehen...
-    Lichtlevel   0: Ein dunkler Raum in dem man mit jeder Fackel sehen kann.
-    Lichtlevel  -1: man benoetigt zwei einfache Lichtquellen oder Nachtsicht
+                    weitere Lichtquellen sehen.
+    Lichtlevel   0: Ein dunkler Raum, in dem man mit jeder Fackel sehen kann.
+    Lichtlevel  -1: man benoetigt zwei einfache Lichtquellen oder Nachtsicht,
                     um in diesem Raum etwas sehen zu koennen.
-    Lichtlevel  -2: Man benoetigt schon eine besondere Lichtquelle um in
+    Lichtlevel  -2: Man benoetigt schon eine besondere Lichtquelle, um in
                     diesem Raum noch etwas sehen zu koennen. Solche
                     Lichtquellen sind nichts fuer Anfaenger oder mittlere
-                    Spieler da sie schwer zu beschaffen und in der Regel
+                    Spieler, da sie schwer zu beschaffen und in der Regel
                     auch einige Handicaps haben.
     Lichtlevel <-2: Der Raum ist wirklich absolut stockduster und
-                    Lichtquellen die solch einen Raum ausleuchten koennen,
+                    Lichtquellen, die solch einen Raum ausleuchten koennen,
                     sind ausserordentlich selten und haben immer ihre
                     Tuecken. Diese Lichtlevel sollten nur mit Vorsicht
-                    genossen werden.
+                    gesetzt werden.
 
 SIEHE AUCH
 ----------
diff --git a/doc/wiz/artillerie b/doc/wiz/artillerie
index 349cec4..6a4bdb5 100644
--- a/doc/wiz/artillerie
+++ b/doc/wiz/artillerie
@@ -24,28 +24,11 @@
  a. Artillerie _muss_ P_ATTACK_BUSY beachten (setzen/abfragen).
  b. Artillerie _muss_ bei Verwendung Konzentrationspunkte 
     verbrauchen.
- c. Artillerie darf nicht (bzw. nur begrenzt) gehortet werden
-    koennen.
- d. Artillerie darf bei Paralyse nicht angewendet werden koennen
+ c. Artillerie darf bei Paralyse nicht angewendet werden koennen
     (P_DISABLE_ATTACK).
- e. Artillerie muss durch Setzen der Property P_IS_ARTILLERY 
+ d. Artillerie muss durch Setzen der Property P_IS_ARTILLERY 
     gekennzeichnet sein. 
- f. Artillerie, die Munition benutzt oder selbst Munition ist (wie z.B.
-    Wurfsterne), muss das Unitobjekt und den dortigen Mechanismus zum
-    Zerfall von Objekten nutzen. Dabei sind P_UNIT_DECAY_INTERVAL und
-    P_UNIT_DECAY_QUOTA so zu setzen, dass die Munition eine Halbwertszeit
-    zwischen 5 und 10  Tagen hat, der ihrer Verfuegbarkeit angemessen
-    ist. Dies laesst sich durch geeignetes Einstellen des
-    Prozentsatzes und/oder der Resetzeit erreichen.
-
-    Beispiele:
-    Setzt man p=1% Zerfall pro Reset an, dann muss der Reset
-    fuer eine Halbwertszeit von 5 Tagen dann 
-    t=ln(0.5)/ln(0,99)*5*24*3600 s dauern, das sind 6224 s.
-
-    Moechte man lieber den normalen Reset, der im Mittel 45 min, d.h. 160
-    Resets in 5 Tagen betraegt, so erhaelt man folgenden Prozentsatz:
-    p = 1-0,5^(1/160) d.h. ca. 0,43%.
+ e. Artillerie ist immer genehmigungspflichtig.
 
 Details werden fallweise entschieden.
 
@@ -56,6 +39,7 @@
 Diese Regeln treten am 5. August 2003 in Kraft.
 Revision am 5. April 2008
 Revision am 7. April 2011
+Revision am 8. August 2018
 
 --------------------------------------------------------------------------
-Letzte Aenderung: Sam,  7. April 2011 von Humni
+Letzte Aenderung: Mi, 8. August 2018  von Humni
