P_WORN
******


NAME
====

   P_WORN "worn"


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

   <armour.h>


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

   Mittels dieser Property laesst sich ermitteln, ob eine Ruestung bzw.
   Kleidung derzeit getragen wird und wenn ja, von wem.

   Entweder enthaelt die Property den Wert 0, oder sie enthaelt den
   Traeger der Ruestung / Kleidung (als Objekt).


BEMERKUNGEN
===========

   Diese Property laesst sich nur abfragen!


BEISPIELE
=========

   Eine DefendFunc() koennte dem Traeger der Ruestung wie folgt etwas
   mitteilen:

   // Die Ruestung gibt Schutz gegen Feuer
   int DefendFunc(string *dtyp, mixed spell, object enemy)
   {
     if (member(dtyp, DT_FIRE) != -1) {
       // P_WORN ist auf jeden Fall gesetzt, da sonst die
       // DefendFunc ueberhaupt nicht aufgerufen wuerde!
       tell_object(QueryProp(P_WORN),
         "Die Flammen zuengeln nur leicht ueber die Ruestung.\n");
       return 10;
     }
     return 0;
   }


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

   clothing, /std/clothing.c, armour, /std/armour.c


LETZTE AeNDERUNG
================

15.02.2009, Zesstra
