// Dieses Objekt soll erklaeren, wie man eine simple Waffe
// ohne viel Schnickschnack implementiert.
// Es wird das Verstaendnis gundlegender Methoden zur
// Implementation 'normaler' Objekte vorausgesetzt.
// Siehe dazu das Beispielobjekt 'einfaches_objekt' im
// gleichen Verzeichnis
// Wir leiten uns von der Standardwaffe der Mudlib ab.
inherit "std/weapon";
#include <properties.h> /* Definition der Properties */
#include <combat.h> /* Definition der kampfspezifischen Konstanten */
void create()
{
// Speichersparen
// d.h. wenn es kein Clone ist (nur unsere Blueprint bzw. Vorlage), dann
// wird der Rest des create() nicht ausgeführt
if (!clonep()) return;
// MUSS SEIN! Das ist der Aufruf des ererbten create() aus der
// Standardwaffe."
::create();
SetProp(P_LONG,
"Dieses Messer hat einen festen Griff, und eine starke Klinge, "
"man kann es als Waffe benutzen.");
SetProp(P_NAME, "Messer");
SetProp(P_PLURAL, "Messer");
SetProp(P_GENDER, NEUTER);
// Ueber diesen Begriff kann man das Objekt ansprechen
// Bitte immer die Singular- _und_ die Plural-Id angeben!
AddId("messer", "messer");
// jedes Objekt hat einen Wert
SetProp(P_VALUE, 240);
// und ein Gewicht (in Gramm)
SetProp(P_WEIGHT, 250);
// und eine Sperrigkeit
SetProp(P_BULKINESS, 35);
// der Waffentyp
// Jeder Waffe muss ein Waffentyp zugeordnet werden. Da
// wir ein Messer haben wollen, benutzen wir natuerlich
// den Typ WT_KNIFE
SetProp(P_WEAPON_TYPE, WT_KNIFE);
// und der Schadenstyp
// Hier geben wir an, welcher Art der Schaden ist, den
// diese Waffe verursachen soll. Mit einem Messer kann
// man schneiden (DT_SLASH) und/oder zustechen (DT_PIERCE)
SetProp(P_DAM_TYPE, ({DT_SLASH, DT_PIERCE}));
// Jetzt brauchen wir noch eine Angabe, wieviel Schaden
// unser Messer verursachen koennen soll. Hierzu richte
// man sich nach den offiziellen Richtlinien in der Man-
// page 'waffen_ruestungen'
// Da unser Messer eigentlich nicht als Waffe gedacht
// war, halten wir uns ein wenig zurueck.
SetProp(P_WC, 25);
// Anzahl der Haende, die gebraucht werden, um die Waffe zu zuecken
SetProp(P_NR_HANDS, 1);
// Details kann man nie genug haben...
AddDetail(({"griff", "holzgriff", "messergriff"}),
"Das Messer ist mit einem Griff aus festem Holz"
" versehen.");
AddDetail(({"holz"}),
"Du hast keine Ahnung, was fuer ein Holz das ist,"
" aber es ist verdammt fest.");
AddDetail(({"klinge", "messerklinge"}),
"Die Klinge des Messers ist aeusserst scharf.");
}
|