
UnwearClothing()
****************


FUNKTION
========

   public int UnwearClothing(object ob)


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

   /std/living/clothing.c


ARGUMENTE
=========

   object ob
     Das Kleidungsstuck, das ausgezogen wird.


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

   Das Lebewesen, in dem diese Funktion gerufen wird, zieht das
   Kleidungsstueck <ob> aus.
   ABER: 'Ausziehen' bedeutet in diesem Kontext lediglich, dass die
   Ruestung/Kleidung aus P_CLOTHING ausgetragen wird. Es finden zur Zeit
   keine Pruefungen statt, ob das Lebewesen den Gegenstand ueberhaupt
   ausziehen kann. Genausowenig werden Funktionen wie
   InformUnwear()/RemoveFunc() gerufen.

   Die Funktion ist nur dazu gedacht, im Zuge des Ausziehens eines Objekts
   von diesem im Lebewesen gerufen zu werden.


RUeCKGABEWERT
=============

   1, wenn das Ausziehen erfolgreich war.
   0 sonst.


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

   Nicht von Hand aufrufen, es sei denn man weiss genau, was man tut. Und am
   besten auch dann nicht.


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

   Wear(), WearArmour(), WearClothing(), Unwear(), UnwearArmour()
   P_CLOTHING, P_ARMOURS
   FilterClothing(), FilterArmours()


ZULETZT GEAeNDERT
=================

14.03.2009, Zesstra
