
InformUnwear()
**************


FUNKTION
========

   protected void InformUnwear(object pl, int silent, int all)


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

   /std/clothing/wear.c


ARGUMENTE
=========

   pl
     Das Lebewesen, das die Ruestung ausgezogen hat.
   silent
     Flag, ob Meldungen unterdruckt werden sollen.
   all
     Flag, ob die Ruestung mit "ziehe alles aus"/
     "ziehe alle ruestungen aus" ausgezogen wurde.


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

   Diese Funktion wird aufgerufen, wenn die Ruestung erfolgreich
   ausgezogen wurde.


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

   keiner


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

   InformUnwield(), InformWield(), InformWear()

06.10.2007, Zesstra
