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