InformUnwield()
===============

FUNKTION
--------
::

	protected void InformUnwield(object pl, int silent)

DEFINIERT IN
------------
::

	/std/weapon/combat.c

ARGUMENTE
---------
::

	pl
          Das Lebewesen, das die Waffe gezueckt hatte.
        silent
          Flag, ob Meldungen unterdruckt werden sollen.

BESCHREIBUNG
------------
::

        Diese Funktion wird aufgerufen, wenn die Waffe erfolgreich
        weggesteckt wurde.

RUeCKGABEWERT
-------------
::

	keiner

SIEHE AUCH
----------
::

        InformWield(), InformWear(), InformUnwear()


06.10.2007, Zesstra

