QueryArmourByType()
===================

QyeryArmourByType()
-------------------
::

FUNKTION
--------
::

     object|object*|mapping QueryArmourByType(string type)

DEFINIERT IN
------------
::

     /std/living/combat.c

ARGUMENTE
---------
::

     string type
        Typ der Ruestung aus /sys/combat.h, auf die getestet werden soll.

BESCHREIBUNG
------------
::

     Abfrage, ob das Lebewesen eine Ruestung des angegebenen Typs traegt.


RUECKGABEWERTE
--------------
::
    
    Zurueckgegeben wird abhaengig vom Argument <type> folgendes:

    1) Ist <type> ein Typ, von dem man nur eine Ruestung tragen kann:
       *  0, falls das Lebewesen die gesuchte Ruestungsart nicht traegt,
       *  ansonsten das Ruestungsobjekt

    2) Ist <type> AT_MISC:
       *   ein Array mit allen AT_MISC-Ruestungen
       *   ({}), wenn das Lebewesen keine AT_MISC-Ruestung traegt

    3) Ist <type> 0:
       * Ein Mapping mit den Ruestungstypen als Schluessel der folgenden 
       Form:
          ([AT_MISC:  ({object misc1, ... }),
            AT_CLOAK: object cloak,
            AT_...:   object ...,
            ... ])

BEMERKUNG
---------
::

     Ist <type> AT_MISC, so wird auf jeden Fall ein Array zurueckgegeben!

BEISPIELE
---------
::

     Wir wollen wissen, ob this_player() Handschuhe traegt:

     if (objectp(this_player()->QueryArmourByType(AT_GLOVE)))
       ...


     Wir bauen einen Tuersteher, der auf AT_MISC-Kleidung achtet:

     if (sizeof(this_player()->QueryArmourByType(AT_MISC)) > 3) {
       if(this_player()->ReceiveMsg(
            "Du darfst nicht passieren, Du hast zuviele "
            "unpassende Dinge an!",
            MT_LISTEN|MSG_DONT_STORE, MA_TELL,
            "Der Waechter teilt Dir mit: ")<MSG_DELIVERED && // taub?
          this_player()->ReceiveMsg(
            "Der Waechter haelt dich auf.", MT_LOOK)<MSG_DELIVERED) // blind?
            this_player()->ReceiveMsg(
              "Jemand haelt dich auf.", MT_FEEL); // nu aber!
       // Aufhalten!
     } else this_player()->ReceiveMsg(
              "Du darfst passieren, viel Spass im Casino!",
              MT_LISTEN|MSG_DONT_STORE, MA_TELL,
              "Der Waechter teilt Dir mit: ");
       // im Erfolgsfall ist es uns egal, wenn es der Spieler nicht
       // liest: er wird dann eben "wortlos" durchgelassen

SIEHE AUCH
----------
::

     Wear(), WearArmour(), WearClothing(), Unwear(), UnwearArmour(),
     UnwearClothing(), FilterClothing(),
     P_ARMOUR_TYPE, P_CLOTHING, P_ARMOURS,
     /std/living/combat.c

02.02.2016, Gloinson