blob: e9f924d9419794c9b8f2c6fe9d49a76c93a28ea9 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001P_REJECT
2********
MG Mud User88f12472016-06-24 23:31:02 +02003
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstra953f9972017-02-18 15:37:36 +01005NAME
6====
MG Mud User88f12472016-06-24 23:31:02 +02007
Zesstra953f9972017-02-18 15:37:36 +01008 P_REJECT "reject"
MG Mud User88f12472016-06-24 23:31:02 +02009
MG Mud User88f12472016-06-24 23:31:02 +020010
Zesstra953f9972017-02-18 15:37:36 +010011DEFINIERT IN
12============
13
14 /sys/properties.h
15
16
17BESCHREIBUNG
18============
19
20 Diese Property zeigt standardmaessig nur in NPCs eine Wirkung. Mit
21 ihr laesst sich sehr einfach einstellen, wie sich ein solcher NPC
22 gegenueber Gegenstaenden verhalten soll, welche ihm zugesteckt
23 werden. Hierbei besteht die Property aus 2 Elementen, welche
24 bestimmt, was der NPC mit Dingen tuen soll, die ihm gegeben werden.
25 Standardmaessig behaelt der NPC die Sachen einfach.
26 Folgende Moeglichkeiten gibt es ausserdem:
27 1. Arrayelement: Art der Handlung. (aus "/sys/moving.h")
28 REJECT_GIVE: Der NPC gibt das Objekt zurueck.
29 REJECT_DROP: Der NPC laesst das Objekt fallen.
30 REJECT_KEEP: Der NPC behaelt das Objekt doch.
31 REJECT_LIGHT_MODIFIER: Der NPC nimmt keine Gegenstaende an, die
32 sein Lichtlevel veraendern und damit Einfluss auf sein
33 Kampfverhalten haben koennten.
34 2. Arrayelement: Meldung, mit welcher der NPC die Handlung
35 kommentiert.
36 Der Meldung wird nichts automatisch vorangestellt und ein
37 abschliessender Zeilenumbruch ist ebenfalls selbstaendig
38 vorzunehmen. Mit einem Leerstring ist somit auch gar keine
39 Rueckmeldung moeglich.
40
41
42BEISPIEL
43========
44
45 Der NPC schmeisst alle ihm gegebenen Gegenstaende einfach weg:
46 void create()
47 { ::create();
48 ...
49 SetProp(P_REJECT,({REJECT_GIVE,
50 Name(WER)+" murmelt: Was soll ich denn damit?!\n"}));
51 ...
52 }
53 Manchmal ist das recht nuetzlich, z.B. kann man so eigentlich schwer
54 zu toetende NPCs dagegen schuetzen, dass man ihnen angezuendetes
55 Dynamit oder aehnliches ueberreicht.
56
57
58BEMERKUNGEN
59===========
60
61 Innerhalb von NPCs ist die Funktion give_notify() fuer die
62 automatische Auswertung dieser Property verantwortlich; das sollte
63 man insbesondere beim Ueberschreiben dieser Funktion beachten!
64
65
66SIEHE AUCH
67==========
68
69 give_notify(), /std/npc/put_and_get.c
70
MG Mud User88f12472016-06-24 23:31:02 +020071Last modified: Mon Apr 23 16:54:07 2001 by Patryn