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