Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 1 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 2 | second_life() |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 3 | ************* |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 4 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 5 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 6 | FUNKTION |
| 7 | ======== |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 8 | |
Zesstra | e9a1ad4 | 2019-09-11 21:29:10 +0200 | [diff] [blame] | 9 | protected varargs int second_life(object corpse); |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 10 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 11 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 12 | DEFINIERT IN |
| 13 | ============ |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 14 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 15 | /std/player/life.c |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 16 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 17 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 18 | ARGUMENTE |
| 19 | ========= |
| 20 | |
Zesstra | e9a1ad4 | 2019-09-11 21:29:10 +0200 | [diff] [blame] | 21 | corpse |
Zesstra | 70ea424 | 2019-06-27 20:51:52 +0200 | [diff] [blame] | 22 | Leiche des Lebewesens (sofern es eine hat) |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 23 | |
| 24 | |
| 25 | BESCHREIBUNG |
| 26 | ============ |
| 27 | |
| 28 | Diese Funktion wird im die() des Lebewesens aufgerufen, wenn sicher |
Zesstra | 70ea424 | 2019-06-27 20:51:52 +0200 | [diff] [blame] | 29 | 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. |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 37 | |
| 38 | |
| 39 | RUeCKGABEWERT |
| 40 | ============= |
| 41 | |
Zesstra | 70ea424 | 2019-06-27 20:51:52 +0200 | [diff] [blame] | 42 | 0 |
| 43 | wenn das Objekt nach dem Tod zerstoert wird (NPC) |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 44 | |
Zesstra | 70ea424 | 2019-06-27 20:51:52 +0200 | [diff] [blame] | 45 | 1 |
| 46 | wenn das Objekt im Tod nicht zerstoert wird (Spieler) |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 47 | |
| 48 | |
Zesstra | e9a1ad4 | 2019-09-11 21:29:10 +0200 | [diff] [blame] | 49 | BEMERKUNGEN |
| 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 | |
| 60 | BEISPIEL |
| 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 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 75 | SIEHE AUCH |
| 76 | ========== |
| 77 | |
| 78 | die() |
| 79 | |
Zesstra | e9a1ad4 | 2019-09-11 21:29:10 +0200 | [diff] [blame] | 80 | Letzte Aenderung: 04.09.2019, Bugfix |