diff --git a/doc/efun/tell_object b/doc/efun/tell_object
index 6a78c8d..85991e2 100644
--- a/doc/efun/tell_object
+++ b/doc/efun/tell_object
@@ -27,7 +27,7 @@
         Objekt1:
             void catch_tell(string str)
             {
-                wirte("Erhaltener Text: "+str+"\n");
+                write("Erhaltener Text: "+str+"\n");
             }
 
         Objekt2:
diff --git a/doc/lfun/GetVItemClones b/doc/lfun/GetVItemClones
index 21a2556..f483ef8 100644
--- a/doc/lfun/GetVItemClones
+++ b/doc/lfun/GetVItemClones
@@ -31,6 +31,6 @@
 SIEHE AUCH
 ==========
 
-   AddvItem(), AddvItem(), AddItem(), RemoveItem() *../std/vitems*
+   AddVItem(), RemoveVItem(), AddItem(), RemoveItem() *../std/vitems*
 
 Last modified: 19.03.2019, Zesstra
diff --git a/doc/lfun/RemoveItem b/doc/lfun/RemoveItem
index a21cdc2..6efa9e6 100644
--- a/doc/lfun/RemoveItem
+++ b/doc/lfun/RemoveItem
@@ -6,32 +6,33 @@
 FUNKTION
 ========
 
-   void RemoveItem(mixed file);
+   void RemoveItem(<string|string*> file);
 
 
 DEFINIERT IN
 ============
 
-   /std/room/items.c
+   /std/container/items.c
 
 
 ARGUMENTE
 =========
 
    file
-        String oder Array von Strings mit dem Namen des zu entfernenden
-        Objekts.
+      String oder Array von Strings mit dem Namen des zu entfernenden
+      Objekts.
 
 
 BESCHREIBUNG
 ============
 
    Das mit AddItem(file) dem Raum hinzugefuegte Objekt wird wieder aus
-   der Liste der Objekte entfernt.
-   Wurde bei AddItem() ein Array von Dateinamen uebergeben, so muss das
-   selbe Array auch bei RemoveItem() uebergeben werden!
-   Falls das Objekt, das durch den AddItem()-Aufruf erzeugt wurde, sich
-   noch im Raum befindet, wird es durch den RemoveItem()-Aufruf zerstoert.
+   der Liste der Objekte entfernt. Wurde bei AddItem() ein Array von
+   Dateinamen uebergeben, so muss das selbe Array auch bei
+   RemoveItem() uebergeben werden! Falls das Objekt, das durch den
+   AddItem()-Aufruf erzeugt wurde, sich noch innerhalb des Objektes
+   befindet, an dem RemoveItem() aufgerufen wird, wird es dadurch
+   zerstoert.
 
 
 RUECKGABEWERT
@@ -40,6 +41,14 @@
    keiner
 
 
+BEMERKUNGEN
+===========
+
+   RemoveItem() loest im Gegensatz zu AddItem() bei NPCs keine Meldung
+   aus, da diese nur zerstoert und nicht bewegt werden. Wird hier eine
+   Meldung gewuenscht, muss diese selbst ausgegeben werden.
+
+
 BEISPIELE
 =========
 
@@ -48,7 +57,7 @@
    inherit "/std/laden";
    #include <properties.h>
 
-   create()
+   protected void create()
    {
      ::create();  // Hier wird u.a. der Muellschlucker erzeugt
 
@@ -62,3 +71,5 @@
 ==========
 
    AddItem(), /std/room/items.c
+
+Letzte Aenderung: 02.11.2020, Bugfix
diff --git a/doc/lfun/RemoveVItem b/doc/lfun/RemoveVItem
index 922d031..c1f7c10 100644
--- a/doc/lfun/RemoveVItem
+++ b/doc/lfun/RemoveVItem
@@ -39,6 +39,6 @@
 SIEHE AUCH
 ==========
 
-   AddvItem(), AddItem(), RemoveItem() *../std/vitems*
+   AddVItem(), AddItem(), RemoveItem() *../std/vitems*
 
 Last modified: 19.03.2019, Zesstra
diff --git a/doc/lfun/present_vitem b/doc/lfun/present_vitem
index 7a5684b..e2c1c4f 100644
--- a/doc/lfun/present_vitem
+++ b/doc/lfun/present_vitem
@@ -38,6 +38,6 @@
 SIEHE AUCH
 ==========
 
-   AddvItem(), AddvItem(), AddItem(), RemoveItem() *../std/vitems*
+   AddVItem(), RemoveVItem(), AddItem(), RemoveItem() *../std/vitems*
 
 Last modified: 19.03.2019, Zesstra
diff --git a/doc/pcmd/kwer b/doc/pcmd/kwer
index 553d2d6..d1b9d60 100644
--- a/doc/pcmd/kwer
+++ b/doc/pcmd/kwer
@@ -64,7 +64,7 @@
      [j]   > 30 Minuten
      [J]   > 120 Minuten
    
-    "Idle" bedeutet, laenger keine Taste zu betaetigen.
+    "Idle" bedeutet, laenger keine Eingaben und Befehle ans Mud zu senden.
 
      [w]   Der Spieler hat eine WEG-Meldung gesetzt.
 
diff --git a/doc/props/P_SPELLS b/doc/props/P_SPELLS
index 647daf4..a2e8414 100644
--- a/doc/props/P_SPELLS
+++ b/doc/props/P_SPELLS
@@ -18,4 +18,24 @@
 BESCHREIBUNG
 ============
 
-   NPC-Spells
+   Array mit den Daten der NPC-Spells mit folgendem Aufbau:
+
+   ({ ({ int spellrate, mapping sinfo, string TextForEnemy,
+         string TextForOthers }), ... })
+
+   Der Datentyp ist demzufolge < <int|mapping|string>* >*.
+
+   Pro Spell, der mit AddSpell() eingetragen wurde, ist ein Datenarray
+   enthalten.
+
+
+HINWEIS
+=======
+
+   Bitte nicht von Hand setzen, sondern immer AddSpell() verwenden.
+
+
+SIEHE AUCH:
+===========
+
+   AddSpell(L), P_SPELLRATE
diff --git a/doc/props/gildenprops/zaubererboni b/doc/props/gildenprops/zaubererboni
index e70c1b8..5609cc6 100644
--- a/doc/props/gildenprops/zaubererboni
+++ b/doc/props/gildenprops/zaubererboni
@@ -150,9 +150,15 @@
 Alle Defines finden sich in /p/zauberer/zauberer.h, diese Datei ist daher
 hierfuer zu inkludieren.
 
-P_Z_NO_MATERIAL NPC benoetigt keine Komponenten.
+P_Z_NO_MATERIAL  NPC benoetigt keine Komponenten.
    NICHT IN SPIELERN SETZEN. Auch nicht in Objekten, die fuer Spieler
    erreichbar sind.
 
-P_Z_NO_DISPOSE  Objekt kann nicht entsorgt werden 
-ZKOMP(x)        Pfad zu den Komponenten ("/p/zauberer/komponenten/"+x)
+P_Z_NO_DISPOSE   Objekt kann nicht entsorgt werden (auch wenn die Prop nicht
+   gesetzt ist, koennen Lebewesen oder netztote Spieler nicht entsorgt
+   werden; gleiches gilt auch fuer Objekte mit P_NODROP, P_NOGET, P_NEVERDROP,
+   P_AUTOLOADOBJ oder P_CURSED sowie nicht-leere Container. P_KEEP_ON_SELL
+   ist ebenfalls ausgenommen, wie ueblich aber nur dann, wenn die UID des
+   Spielers in der Prop steht.)
+
+ZKOMP(x)         Pfad zu den Komponenten ("/p/zauberer/komponenten/"+x)
diff --git a/doc/sphinx/props/P_SPELLS.rst b/doc/sphinx/props/P_SPELLS.rst
index 560912b..d78e226 100644
--- a/doc/sphinx/props/P_SPELLS.rst
+++ b/doc/sphinx/props/P_SPELLS.rst
@@ -17,5 +17,24 @@
 ------------
 ::
 
-     NPC-Spells
+     Array mit den Daten der NPC-Spells mit folgendem Aufbau:
 
+     ({ ({ int spellrate, mapping sinfo, string TextForEnemy,
+           string TextForOthers }), ... })
+
+     Der Datentyp ist demzufolge < <int|mapping|string>* >*.
+
+     Pro Spell, der mit AddSpell() eingetragen wurde, ist ein Datenarray
+     enthalten.
+
+HINWEIS
+-------
+::
+
+    Bitte nicht von Hand setzen, sondern immer AddSpell() verwenden.
+
+SIEHE AUCH:
+-----------
+::
+
+    AddSpell(L), P_SPELLRATE
