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