
FindBestWeapon()
****************


FUNKTION
========

   varargs object FindBestWeapon(mixed type, int maxmon, int maxw, int hands,
                                 int minwc, mixed restr)


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

   /std/room/shop.c


ARGUMENTE
=========

   type   - gewuenschter Waffentyp / Waffentypen
   maxmon - Geld das ausgegeben werden darf
   maxw   - Maximales Gewicht
   hands  - Anzahl Haende, die die Waffe belegen darf
   minwc  - minimale gewuenschte Waffenklasse
   restr  - zusaetzliches Argument fuer CheckFindRestrictions()


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

   Sucht die beste Waffe, die der Laden verkaufen kann.


RUECKGABEWERT
=============

   Die beste Waffe :-)


BEMERKUNG
=========

   Die Qualitaet der Waffe wird mit EvalWeapon() bestimmt.
   Haben zwei Waffen die gleiche Qualitaet, wird die preiswertere genommen.


BEISPIEL
========

   FindBestWeapon(WT_SWORD,5000,1)
   Bestes einhaendiges Schwert unter 5000 Muenzen.


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

   FindBestArmours(), CheckFindRestrictions(), EvalWeapon()
