blob: c565cfa716369de442c5b6212586c91177556c7b [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
2P_MURDER_MSG
3************
4
5
6NAME
7====
8
9 P_MURDER_MSG "murder_msg"
10
11
12DEFINIERT IN
13============
14
15 /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
82
8330. Mai 2006, Gloinson