diff --git a/doc/sphinx/props/P_GUILD_RATING.rst b/doc/sphinx/props/P_GUILD_RATING.rst
index b752e00..aa6862d 100644
--- a/doc/sphinx/props/P_GUILD_RATING.rst
+++ b/doc/sphinx/props/P_GUILD_RATING.rst
@@ -26,9 +26,16 @@
 -----------
 ::
 
-	Der Wert muss von der Gilde ermittelt werden! Meist setzt er sich
-	aus den Faehigkeiten des Mitglieds zusammen und mitunter fliessen
-	auch Gildenquests oder aehnliches mit ein.
+  Der Wert muss von der Gilde ermittelt werden! Meist setzt er sich
+  aus den Faehigkeiten des Mitglieds zusammen und mitunter fliessen
+  auch Gildenquests oder aehnliches mit ein.
+
+  Spieler erhalten 1 Stufenpunkt fuer je 25 Punkte Gildenrating, d.h.
+  400 Stufenpunkte bei Max-Rating. Gildenmagier sollten sich daher gut
+  ueberlegen, ob sie bei der Berechnung des Ratings eine Formel zugrunde
+  legen wollen, die verhindert, dass Spieler ein Max-Rating erreichen
+  koennen.
+
 
 SIEHE AUCH
 ----------
@@ -37,5 +44,5 @@
     P_NEWSKILLS, GuildRating
 
 
-Last modified: Wed Jan 14 19:17:06 1998 by Patryn
+Last modified: 2021-01-10, Arathorn 
 
diff --git a/doc/sphinx/props/obsolete/P_TMP_DEFEND_HOOK.rst b/doc/sphinx/props/obsolete/P_TMP_DEFEND_HOOK.rst
index 5d9ae39..5074ab0 100644
--- a/doc/sphinx/props/obsolete/P_TMP_DEFEND_HOOK.rst
+++ b/doc/sphinx/props/obsolete/P_TMP_DEFEND_HOOK.rst
@@ -26,12 +26,14 @@
      veraendert werden.
 
      Es wird an dem Living die Property als mindestens 3-elementiges Array
-     ({zeitpunkt, objekt, methode, ...})
+
+        ({int zeitpunkt, object objekt, string methode, ...})
+
      gesetzt und die Methode 'methode' wird dann waehrend des Defend() des
      Lebewesens in 'objekt' aufgerufen, solange time()<'zeitpunkt'.
 
      Der Methode werden die Parameter der Defend() uebergeben:
-     int dam, mixed dam_type, mixed spell, object enemy
+     int dam, string* dam_type, int|mapping spell, object enemy
      - spell ist definitiv ein Mapping - ein an Defend() uebergebener
        int-Wert wurde aequivalent umgesetzt.
      - dam_type ist definitiv ein Array von Schadenswerten oder einem Wert
@@ -39,10 +41,10 @@
      Zudem findet der Aufruf der Methode nach dem Abarbeiten der P_DEFENDERS
      statt, diese koennen also weitere Modifikationen vorgenommen haben.
 
-     Gibt die Funktion:
+     Gibt die Methode:
      - 0 zurueck, wird Defend() abgebrochen (und damit der Schaden voellig
        abgefangen) - nur noch die Flucht wird geprueft
-     - ein 3-elementiges Array ({schaden, schadenstypen, spell}) zurueck,
+     - ein 3-elementiges Array ({dam, dam_type, spell}) zurueck,
        werden diese Werte in der Defend() an Stelle der uebergebenen Werte
        verwendet
      - weder noch zurueck, wird das Ergebnis ignoriert und die Defend laeuft
@@ -53,79 +55,88 @@
 ::
 
      - Bitte das neuere Hooksystem (s. Manpage std/hooks) benutzen.
-     - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
-       Property auf 0 gesetzt
-     - vor dem Setzen immer auf die Existenz eines gueltigen Hooks
+     - Der korrekte Union-Datentyp fuer die Property ist
+       <int|object|string>* fuer die normale Nutzung mit 3 Elementen.
+       Ein weit verbreiteter Anwendungsfall verwendet 2 weitere Elemente,
+       die vom Typ int und string|string* sind. Alle Stellen, die die Property
+       abfragen, sollten daher den Union-Datentyp <int|object|string|string*>*
+       verwenden. Das Beispiel beruecksichtigt diesen Fall bereits.
+     - Falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
+       Property auf 0 gesetzt.
+     - Vor dem Setzen immer auf die Existenz eines gueltigen Hooks
        pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
-       im Code anderer und ist andererseits unfair gegenueber ihnen
+       im Code anderer und ist andererseits unfair gegenueber ihnen.
 
 BEISPIEL
 --------
 ::
 
      *** ein gruener Schutzzauber ***
-     // Setzen der Prop
-     ...
-     tmp=TP->QueryProp(P_TMP_DEFEND_HOOK);
+     // Vor dem Setzen der Prop pruefen, ob schon ein Hook gesetzt ist.
 
-     // ein etwas ausfuehrlicher Check, ob wir ueberschreiben koennen,
-     // Existenz && Gueltigkeit
-     if(pointerp(tmp) && sizeof(tmp) && intp(tmp[0]) && (time()<tmp[0]))
-      write("Der Zauber klappt nicht!\n");
+     <int|object|string|string*>* tmp = TP->QueryProp(P_TMP_DEFEND_HOOK);
+
+     // Ein etwas ausfuehrlicherer Check, ob wir ueberschreiben koennen,
+     // Existenz && noch nicht abgelaufen?
+     if(sizeof(tmp) && intp(tmp[0]) && time() < tmp[0]) {
+       write("Der Zauber klappt nicht!\n");
+     }
      else {
-      // der Zauber gilt eine Stunde
-      TP->SetProp(P_TMP_DEFEND_HOOK,({time()+3600,TO,"abwehrfun");
-      write("Ein Zauber legt sich auf dich.\n");
+       // der Zauber gilt eine Stunde
+       TP->SetProp(P_TMP_DEFEND_HOOK,({time()+3600,TO,"abwehrfun");
+       write("Ein Zauber legt sich auf Dich.\n");
      }
      ...
 
      // die gerufene Methode
-     mixed abwehrfun(int dam, string* dam_type, mapping spell, object en) {
-      // keine rekursiven Schaeden abfangen ... mindestens ein magischer
-      // muss auch dabei sein
-      if((!mappingp(spell) || !spell[SP_RECURSIVE]) &&
-         sizeof(filter(dam_type,MAGICAL_DAMAGE_TYPES))) {
+     int|<int|string*|mapping>* abwehrfun(int dam, string* dam_type,
+                                      mapping spell, object en)
+     {
+       // keine rekursiven Schaeden abfangen ... mindestens ein magischer
+       // muss auch dabei sein
+       if(!spell[SP_RECURSIVE] &&
+          sizeof(filter(dam_type,MAGICAL_DAMAGE_TYPES))) {
+         // mit 10% Whkeit schuetzt der Zauber total
+         if(!random(10)) {
+           tell_object(previous_object(),
+             "Dein Zauber gleisst rund um Dich gruen auf.\n");
+           tell_room(environment(previous_object()), break_string(
+             previous_object()->Name(WESSEN)+" Haut gleisst rund um "+
+             previous_object()->QueryPronoun(WEN)+" gruen auf.",78),
+             ({previous_object()}));
 
-       // mit 10% Whkeit schuetzt der Zauber total
-       if(!random(10)) {
-        tell_object(previous_object(),
-          "Dein Zauber gleisst rund um dich gruen auf.\n");
-        tell_room(environment(previous_object()), break_string(
-          previous_object()->Name(WESSEN)+" Haut gleisst rund um "+
-          previous_object()->QueryPronoun(WEN)+" gruen auf.",78),
-          ({previous_object()}));
+           // manchmal geht der Zauber dabei endgueltig kaputt
+           if(!random(10))
+             previous_object()->SetProp(P_TMP_DEFEND_HOOK, 0);
 
-        // manchmal geht der Zauber dabei endgueltig kaputt
-        if(!random(10)) previous_object()->SetProp(P_TMP_DEFEND_HOOK, 0);
+           return 0;			// volles Abfangen des Angriffs
+         }
 
-        return 0;			// volles Abfangen des Angriffs
+         // der Zauber schuetzt auf jeden Fall immer ein bischen
+         tell_object(previous_object(),
+           "Dein Zauber flackert rund um dich gruen auf.\n");
+         tell_room(environment(previous_object()), break_string(
+           previous_object()->Name(WESSEN)+" Haut flackert rund um "+
+           previous_object()->QueryPronoun(WEN)+" gruen auf.",78),
+           ({previous_object()}));
+         dam = (7+random(2))*dam/10;	// Schaden reduzieren
+
+         return(({dam, dam_type, spell}));
        }
 
-       // der Zauber schuetzt auf jeden Fall immer ein bischen
-       tell_object(previous_object(),
-         "Dein Zauber flackert rund um dich gruen auf.\n");
-       tell_room(environment(previous_object()), break_string(
-         previous_object()->Name(WESSEN)+" Haut flackert rund um "+
-         previous_object()->QueryPronoun(WEN)+" gruen auf.",78),
-         ({previous_object()}));
-       dam=(7+random(2))*dam/10;	// Schaden reduzieren
-
-       return(({dam, dam_type, spell}));
-      }
-
-      // der Zauber schuetzt dann gar nicht ...
-      return 1;
+       // der Zauber schuetzt dann gar nicht ...
+       return 1;
      }
 
 SIEHE AUCH
 ----------
 ::
 
-     Angriff:	Attack(L)
-     Schutz:    Defend(L)
-     Verwandt:	InternalModifyDefend(L), P_TMP_ATTACK_MOD
-     Hooks:	P_TMP_DIE_HOOK, P_TMP_MOVE_HOOK, P_TMP_ATTACK_HOOK
+     Angriff:	   Attack(L)
+     Schutz:     Defend(L)
+     Verwandt:	 InternalModifyDefend(L), P_TMP_ATTACK_MOD
+     Hooks:	     P_TMP_DIE_HOOK, P_TMP_MOVE_HOOK, P_TMP_ATTACK_HOOK
      neue Hooks: std/hooks
 
-08.12.2008, Zesstra
+29.12.2020, Arathorn
 
