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