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
