blob: 1ab849fd691b1875a88f2903c307426c4c9d7734 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
MG Mud User88f12472016-06-24 23:31:02 +02002second_life()
Zesstra953f9972017-02-18 15:37:36 +01003*************
MG Mud User88f12472016-06-24 23:31:02 +02004
MG Mud User88f12472016-06-24 23:31:02 +02005
Zesstra953f9972017-02-18 15:37:36 +01006FUNKTION
7========
MG Mud User88f12472016-06-24 23:31:02 +02008
Zesstrae9a1ad42019-09-11 21:29:10 +02009 protected varargs int second_life(object corpse);
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 /std/player/life.c
MG Mud User88f12472016-06-24 23:31:02 +020016
MG Mud User88f12472016-06-24 23:31:02 +020017
Zesstra953f9972017-02-18 15:37:36 +010018ARGUMENTE
19=========
20
Zesstrae9a1ad42019-09-11 21:29:10 +020021 corpse
Zesstra70ea4242019-06-27 20:51:52 +020022 Leiche des Lebewesens (sofern es eine hat)
Zesstra953f9972017-02-18 15:37:36 +010023
24
25BESCHREIBUNG
26============
27
28 Diese Funktion wird im die() des Lebewesens aufgerufen, wenn sicher
Zesstra70ea4242019-06-27 20:51:52 +020029 ist, dass es stirbt. Die Funktion bestimmt dabei, ob ein Lebewesen
30 nach dem Tod zerstoert (NPC) oder nur zum Geist wird (Spieler).
31
32 Ueblicherweise ist diese Funktion nur im Spieler definiert und
33 regelt EP-Verlust und dergleichen. Sie wird aber auch in NPCs
34 gerufen und man kann dort z.B. Items clonen oder entsorgen.
35
36 NPC *muessen* 0 zurueckgeben, Spieler geben immer 1 zurueck.
Zesstra953f9972017-02-18 15:37:36 +010037
38
39RUeCKGABEWERT
40=============
41
Zesstra70ea4242019-06-27 20:51:52 +020042 0
43 wenn das Objekt nach dem Tod zerstoert wird (NPC)
Zesstra953f9972017-02-18 15:37:36 +010044
Zesstra70ea4242019-06-27 20:51:52 +020045 1
46 wenn das Objekt im Tod nicht zerstoert wird (Spieler)
Zesstra953f9972017-02-18 15:37:36 +010047
48
Zesstrae9a1ad42019-09-11 21:29:10 +020049BEMERKUNGEN
50===========
51
52 Das Inventar des Livings wurde bei Aufruf von second_live()
53 normalerweise schon in die Leiche bewegt, sofern diese existiert.
54 War das Inventar sehr gross, koennen allerdings noch vereinzelte
55 Objekte im Living sein, die erst spaeter bewegt werden. Will man
56 noch Gegenstaende hinzufuegen, muss man diese direkt in die Leiche
57 bewegen, *nicht* in das gestorbene Lebewesen.
58
59
60BEISPIEL
61========
62
63 protected varargs int second_life(object corpse)
64 {
65 // Wenn man sich wirklich sicher ist, dass das Lebewesen eine Leiche
66 // hat (weil es der eigene NPC ist), ist es verfuehrerisch, die Pruefung
67 // auf die Existenz der Leiche wegzulassen. Aber auch dann koennte es ja
68 // passieren, dass diese vom Raum bereits zerstoert wurde.
69 if (corpse)
70 corpse->AddItem("tolle_trophaehe",REFRESH_NONE);
71 return 0;
72 }
73
74
Zesstra953f9972017-02-18 15:37:36 +010075SIEHE AUCH
76==========
77
78 die()
79
Zesstrae9a1ad42019-09-11 21:29:10 +020080Letzte Aenderung: 04.09.2019, Bugfix