
WearClothing()
**************


FUNKTION
========

   public int WearClothing(object ob)


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

   /std/living/clothing.c


ARGUMENTE
=========

   object ob
     Das Kleidungsstuck, das angezogen wird.


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

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

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


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

   1, wenn das Anziehen 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(), Unwear(), UnwearArmour(), UnwearClothing()
   P_CLOTHING, P_ARMOURS
   FilterClothing(), FilterArmours()


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

14.03.2009, Zesstra
