RemoveDetail()
**************


FUNKTION
========

   void RemoveDetail(mixed *keys);


DEFINIERT IN
============

   /std/thing/description.c


ARGUMENTE
=========

   keys
     String oder Array von Strings mit den zu entfernenden Details.


BESCHREIBUNG
============

   Entfernt die in <keys> angegebenen Details aus der Liste der
   vorhandenen Details. Uebergibt man fuer <keys> eine 0, so werden
   saemtliche Details entfernt!


BEISPIEL
========

   Ein kleines Beispiel, bei dem eine Oeffnung erscheint und wieder
   verschwindet, je nachdem, ob man eine Luke oeffnet oder schliesst.
     int oeffneLuke(string str);
     int schliesseLuke(string str);
     ...
     AddCmd("oeffne", #'oeffneLuke);
     AddCmd("schliesse", #'schliesseLuke);
     ...
     int oeffneLuke(string str) {
       if(str!="luke" || GetDetail("oeffnung"))
         return 0;
       AddDetail("oeffnung","Du siehst eine kleine Oeffnung.\n");
       return 1;
     }

     int schliesseLuke(string str) {
       if(str!="luke" || !GetDetail("oeffnung"))
         return 0;
       RemoveDetail("oeffnung"); // Detail wieder entfernen
       return 1;
     }


BEMERKUNGEN
===========

   Da intern Details und SpecialDetails im gleichen Mapping verwaltet
   werden, lassen sich mit dieser Funktion auch SpecialDetails
   entfernen.
   Die Funktion RemoveSpecialDetail() sollte also nicht genutzt werden!


SIEHE AUCH
==========

   Setzen:    AddDetail(), AddReadDetail(), AddSmells(), AddSounds(),
              AddTouchDetail()
   Loeschen:  RemoveReadDetail(), RemoveSmells(),
              RemoveSounds(), RemoveTouchDetail()
   Daten:     P_DETAILS, P_READ_DETAILS, P_SMELLS, P_SOUNDS,
              P_TOUCH_DETAILS, P_SPECIAL_DETAILS
   Veraltet:  AddSpecialDetail(), RemoveSpecialDetail(), P_READ_MSG
   Sonstiges: GetDetail(), break_string()

8. Juli 2011 Gloinson
