P_GUARD
NAME:
     P_GUARD				"guard"

DEFINIERT IN:
     /sys/guard.h

BESCHREIBUNG:
     Diese Property gibt an, ob ein NPC aus einem Raum entfernt werden darf
     oder nicht. Abgefragt werden muss dies von den Items oder Spells, die
     den NPC zu einer Bewegung zwingen wollen. Es wird nicht automatisch
     darauf geachtet!

     Entscheidend hierbei ist ein in der Property enthaltene (ganzzahliger)
     Zahlenwert zwischen 0 und 100, der hierbei den Grad der
     'Bewachungsstaerke' eines NPCs angibt. Bei 0 laesst sich das Lebewesen
     immer zu einer Bewegung ueberreden, bei 100 ueberhaupt nicht. Dazwischen
     gibt es die Wahrscheinlichkeit dafuer an.

BEMERKUNGEN:
     - alle von /std/npc abgeleiteten NPCs haben standardmaessig P_GUARD
       auf 100 gesetzt, sind also nicht fortfuehrbar
     - bei der Erzeugung von NPCs mit P_GUARD < 100 AddItem() mit dem
       Parameter REFRESH_MOVE_HOME verwenden, damit sie bei einem Raumreset
       gegebenenfalls an ihren Ausgangsort zurueckkehren. 
     - gildenspezifische weitere Abfragen auf Level oAe bitte bei Gilden-
       magiern erfragen

BEISPIELE:
     // ein Test
     if(random(100)<=liv->QueryProp(P_GUARD))
      cannotMoveNPC(); // NPC darf nicht bewegt werden!
     else
      moveNPC();       // NPC darf bewegt werden

     // ein wegfuehrbarer NPC
     void create() {
      ::create();
      ...
      SetProp(P_GUARD,50);
      ...
     }
     // mit 50% Wahrscheinlichkeit (pro Versuch) laesst sich der NPC nun
     // fortfuehren


SIEHE AUCH:
     AddItem()

13.April 2004 Gloinson
