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()
