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