blob: c565cfa716369de442c5b6212586c91177556c7b [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
MG Mud User88f12472016-06-24 23:31:02 +02002P_MURDER_MSG
Zesstra953f9972017-02-18 15:37:36 +01003************
MG Mud User88f12472016-06-24 23:31:02 +02004
5
Zesstra953f9972017-02-18 15:37:36 +01006NAME
7====
MG Mud User88f12472016-06-24 23:31:02 +02008
Zesstra953f9972017-02-18 15:37:36 +01009 P_MURDER_MSG "murder_msg"
MG Mud User88f12472016-06-24 23:31:02 +020010
MG Mud User88f12472016-06-24 23:31:02 +020011
Zesstra953f9972017-02-18 15:37:36 +010012DEFINIERT IN
13============
MG Mud User88f12472016-06-24 23:31:02 +020014
Zesstra953f9972017-02-18 15:37:36 +010015 /sys/properties.h
16
17
18BESCHREIBUNG
19============
20
21 In dieser Property kann man einen String oder eine Closure ablegen
22 dessen Wert bzw. deren Resultat beim Tod des NPCs auf dem
23 Moerder-Kanal erscheint.
24 Normalerweise ist die Property nicht gesetzt, woraufhin zufaellig
25 eine Meldung generiert wird.
26
27 Ob der Tod eines NPCs auf dem Moerder-Kanal erscheint, haengt davon ab,
28 wie oft und welche Art von NPCs in der letzten Zeit getoetet wurden. Zum
29 Beispiel ist es eher selten, dass ein schwacher NPC auf dem Kanal
30 erscheint, wenn kuerzlich viele starke NPCs getoetet wurden. Allerdings
31 kann man auf diese Regelung mittels der Property P_FORCE_MURDER_MSG
32 Einfluss nehmen.
33
34 Wird in einen String der Platzhalter %s eingefuegt, so erscheint an der
35 Stelle spaeter der Name des Moerders.
36
37
38BEISPIELE
39=========
40
41 // Zum Beispiel koennte man ja bei einer Ratte, die getoetet wird,
42 // folgendes auf dem Moerder-Kanal ausgeben lassen:
43 SetProp(P_MURDER_MSG,
44 "Ratten aller MUDs, vereinigt euch gegen %s!");
45
46
47 // Um auch mal eine Closure zu zeigen: die Ratte koennte auch ihre
48 // Meldung erst bei ihrem Tod erstellen lassen:
49 private string moerder_meldung() {
50 return ({"Achweh!", "Au!", "Weia!"})[random(3)];
51 }
52
53 SetProp(P_MURDER_MSG, #'moerder_meldung);
54
55
56BEMERKUNGEN
57===========
58
59 - P_NOCORPSE:
60 Ist in dem NPC die Property P_NOCORPSE gesetzt, so wird die
61 Moerdermeldung nicht auf dem Kanal gesendet, da diese Ausgabe ueber
62 /std/corpse laeuft.
63 Will man dennoch eine Meldung, so sollte man /std/corpse im die()
64 selbst clonen, daran Identify(this_object()) rufen und das geclonte
65 Objekt wieder entsorgen.
66
67 - Closures:
68 Closures bieten sich an, wenn ein zentrales Objekt fuer mehrere NPCs
69 bestimmte Moerdermeldungen generieren soll. Dann muss nur noch bei
70 den NPCs die Closure, die auf die erstellende Methode zeigt gesetzt
71 werden.
72
73
74SIEHE AUCH
75==========
76
77 Tod: die(L)
78 Verwandt: P_FORCE_MURDER_MSG
79 Todesmeldungen: P_KILL_NAME, P_KILL_MSG, P_DIE_MSG
80 P_ZAP_MSG, P_ENEMY_DEATH_SEQUENCE
81 Sonstiges: P_CORPSE, P_NOCORPSE, /std/corpse.c
MG Mud User88f12472016-06-24 23:31:02 +020082
Zesstra867ea3f2017-01-31 10:45:41 +01008330. Mai 2006, Gloinson