
FindBestArmours()
*****************


FUNKTION
========

   varargs object *FindBestArmours(mixed type, int maxmon, int maxw,
                                   mapping minac, mixed restr)


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

   /std/room/shop.c


ARGUMENTE
=========

   type   - gewuenschter Ruestungstyp / Ruestungstypen
   maxmon - Geld das ausgegeben werden darf
   maxw   - Maximales Gewicht
   minac  - minimale gewuenschte Ruestungsklasse pro Typ
   restr  - zusaetzliches Argument fuer CheckFindRestrictions()


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

   Sucht die besten Ruestungen, die der Laden verkaufen kann.


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

   Die besten Ruestungen


BEMERKUNG
=========

   Die Qualitaet der Ruestung wird mit EvalArmour() bestimmt.
   Haben zwei Ruestungen die gleiche Qualitaet,
   wird die preiswertere genommen.


BEISPIEL
========

   FindBestArmours(AT_ARMOUR,5000)
   Bestes Ruestung unter 5000 Muenzen.

   FindBestArmours(({AT_ARMOUR,AT_CLOAK,AT_BOOT}),10000,([AT_ARMOUR:20]))
   Finded beste Ruestung, Umhang und Schuhe, die der Laden fuer
   insgesamt 10000 Muenzen verkaufen kann, wobei die Ruestung mindestens
   AC 20 haben muss.


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

   FindBestWeapon(), CheckFindRestrictions(), EvalArmour()
