InformWield()
=============

FUNKTION
--------
::

	protected void InformWield(object pl, int silent)

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

	/std/weapon/combat.c

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

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

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

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

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

	keiner

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

        InformUnwield(), InformWear(), InformUnwear()


06.10.2007, Zesstra

