IsClothing()
************


FUNKTION
========

   status IsClothing()


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

   /std/clothing.c
   /std/clothing_container.c


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

   1 wenn ein Kleidungsstueck
   0 sonst


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

   Gibt 1 zurueck, wenn entsprechende Klassen irgendwo geerbt wurden, es
   also ein Kleidungsstueck (oder ein Kleidungsstueck mit Taschen) ist.


BEISPIEL
========

   // enthaelt im Gegensatz zu P_CLOTHING auch nichtgetragenen Kram
   // im Inventory L1
   object *allcloth =
     filter_objects(all_inventory(this_player()), "IsClothing")


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

   Aehnlich: living, interactive
   Aehnlich: IsArmour, IsBottle, IsPlayerCorpse, IsRoom, IsUnit
   Props:    P_CLOTHING

3. Sep 2016, Gloinson
