blob: cd6123bf10941138657da501130b0874baad8872 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001P_GUARD
Zesstra953f9972017-02-18 15:37:36 +01002*******
MG Mud User88f12472016-06-24 23:31:02 +02003
4
Zesstra953f9972017-02-18 15:37:36 +01005NAME
6====
7
8 P_GUARD "guard"
9
10
11DEFINIERT IN
12============
13
14 /sys/guard.h
15
16
17BESCHREIBUNG
18============
19
20 Diese Property gibt an, ob ein NPC aus einem Raum entfernt werden darf
21 oder nicht. Abgefragt werden muss dies von den Items oder Spells, die
22 den NPC zu einer Bewegung zwingen wollen. Es wird nicht automatisch
23 darauf geachtet!
24
25 Entscheidend hierbei ist ein in der Property enthaltene (ganzzahliger)
26 Zahlenwert zwischen 0 und 100, der hierbei den Grad der
27 'Bewachungsstaerke' eines NPCs angibt. Bei 0 laesst sich das Lebewesen
28 immer zu einer Bewegung ueberreden, bei 100 ueberhaupt nicht. Dazwischen
29 gibt es die Wahrscheinlichkeit dafuer an.
30
31
32BEMERKUNGEN
33===========
34
35 - alle von /std/npc abgeleiteten NPCs haben standardmaessig P_GUARD
36 auf 100 gesetzt, sind also nicht fortfuehrbar
37 - bei der Erzeugung von NPCs mit P_GUARD < 100 AddItem() mit dem
38 Parameter REFRESH_MOVE_HOME verwenden, damit sie bei einem Raumreset
39 gegebenenfalls an ihren Ausgangsort zurueckkehren.
40 - gildenspezifische weitere Abfragen auf Level oAe bitte bei Gilden-
41 magiern erfragen
42
43
44BEISPIELE
45=========
46
47 // ein Test
48 if(random(100)<=liv->QueryProp(P_GUARD))
49 cannotMoveNPC(); // NPC darf nicht bewegt werden!
50 else
51 moveNPC(); // NPC darf bewegt werden
52
53 // ein wegfuehrbarer NPC
54 void create() {
55 ::create();
56 ...
57 SetProp(P_GUARD,50);
58 ...
59 }
60 // mit 50% Wahrscheinlichkeit (pro Versuch) laesst sich der NPC nun
61 // fortfuehren
62
63
64SIEHE AUCH
65==========
66
67 AddItem()
MG Mud User88f12472016-06-24 23:31:02 +020068
6913.April 2004 Gloinson