MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame^] | 1 | OBJEKT: |
| 2 | corpse |
| 3 | |
| 4 | |
| 5 | SYNOPSIS: |
| 6 | inherit "std/corpse"; |
| 7 | |
| 8 | |
| 9 | BESCHREIBUNG: |
| 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 | |
| 23 | BEISPIELE: |
| 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 | |
| 58 | BEMERKUNG: |
| 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 | |
| 71 | SIEHE AUCH: |
| 72 | P_NOCORPSE, P_CORPSE, P_HEAL, QueryHealInfo() |
| 73 | |
| 74 | |
| 75 | ---------------------------------------------------------------------------- |
| 76 | Letzte Aenderung: 31.03.2008, Arathorn |