DoWield()
*********


FUNKTION
========

   varargs int DoWield(int silent);


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

   /std/weapon/combat.c


ARGUMENTE
=========

   silent
        Ungleich 0, wenn die Waffe ohne Meldungen gezueckt werden soll.


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

   Es wird versucht, die Waffe zu zuecken. Hat man schon eine Waffe
   gezueckt, so wird versucht, diese wegzustecken. Klappt das nicht, kann
   die Waffe nicht gezueckt werden.


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

   0, wenn man die Waffe gar nicht bei sich traegt, ansonsten 1.


BEMERKUNGEN
===========

   Anhand des Rueckgabewertes laesst sich nicht entscheiden, ob die Waffe
   sich erfolgreich zuecken liess!

   Gruende, warum sich eine Waffe nicht zuecken lassen kann, sind
   folgende:
      o Man traegt sie nicht bei sich (oder sie steckt in einem Beutel
        o.ae.).
      o Man hat sie schon gezueckt.
      o Falls definiert: WieldFunc() gibt 0 zurueck.
      o Man ist nicht geschickt genug (das haengt von der Waffenklasse
        ab).
      o Eine schon gezueckte Waffe laesst sich nicht wegstecken.
      o Die Waffenklasse ist hoeher als erlaubt.
      o Man hat nicht genug Haende frei.


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

   WieldFunc(), InformWield(), P_EQUIP_TIME, /std/weapon.c

Last modified: Wed Apr 08 10:25:00 2004 by Muadib
