blob: d4e2d473e762d765b307c6ae80e8fc10081b7b42 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001OBJEKT:
2 corpse
3
4
5SYNOPSIS:
6 inherit "std/corpse";
7
8
9BESCHREIBUNG:
10 Die Standardleiche ist ein spezieller Container. Er beinhaltet die
11 zurueckgelassene Ausruestung gestorbener NPCs und Spieler.
12 Die Standardleiche verfault mit der Zeit und stellt ein paar
13 Funktionalitaeten zur Verfuegung, naemlich das Essen der Leiche
14 und das Verspotten auf dem Moerderkanal.
15 Die Funktion
16 void Identify( object ob );
17 wird im die() eines Livings aufgerufen, damit die Leiche Informationen
18 aus dem Living auslesen kann, ehe dieser endgueltig stirbt. Schreibt
19 man eine eigene Leiche, dann ist dies die geeignete Moeglichkeit, der
20 Leiche Informationen zukommen zu lassen.
21
22
23BEISPIELE:
24 // Eine eigene Leiche.
25 #inherit "std/corpse";
26
27 void create()
28 {
29 ::create();
30 // Irgendwas eigenes...
31 }
32
33 /*
34 * Dieser Funktion wird der getoetete Living uebergeben.
35 */
36 void Identify(object ob)
37 {
38 ::Identify(ob);
39 if (ob)
40 {
41 ob->QueryProp("meine_tolle_property");
42 }
43 }
44
45 /*
46 * Das ist die für "iss leiche" aufgerufene Funktion.
47 */
48 int mampf( string str )
49 {
50 notify_fail("Was willst Du essen?\n");
51 if (!str || !id(str) ) return 0;
52 tell_object(this_player(), "Diese Leiche kann man nicht essen.\n");
53 return 1;
54 }
55
56
57
58BEMERKUNG:
59 Man kann eigene Leichen schreiben, die von der Standardleiche erben
60 oder auch nicht. Man sollte dann aber die im die() aufgerufenen
61 Funktionen implementieren:
62 corpse->Identify(object ob);
63 corpse->SetProp(***); // Fuer P_HEAL
64 corpse->move(***); // Um sie ins environment() des Toten zu bekommen.
65 Die Leiche sollte, muss aber kein Container sein, damit die Ausruestung
66 hineinbewegt werden kann.
67 Wenn man nicht von der Standardleiche erbt, kommt sie nicht auf -Moerder
68 und man kann sie nicht verspotten. Damit dies geht, muss (!) man von der
69 Standardleiche erben.
70
71SIEHE AUCH:
72 P_NOCORPSE, P_CORPSE, P_HEAL, QueryHealInfo()
73
74
75----------------------------------------------------------------------------
76Letzte Aenderung: 31.03.2008, Arathorn