// Ein ganz normales Monster - naja Monster ist übertrieben, es ist ja nur ein Hase.
// Dieser Hase enthält nur die wichtigsten Funktionen. Besser und schöner
// ist der Beispiel-Hase2.
// Wir erben von der Standardklasse "npc"
inherit "std/npc";
#include <properties.h>
#include <living/body.h> // fuer den Koerperbau
void create()
{
// Speicher sparen
// d.h. wenn es kein Clone ist (nur unsere Blueprint bzw. Vorlage), dann
// wird der Rest des create() nicht ausgeführt
if (!clonep()) return;
::create(); // MUSS SEIN! Das ererbte create() vom NPC wird aufgerufen
// Wir erzeugen standardmäßig einen NPC vom Level 4. Dabei werden die Werte
// von P_BODY, P_LEVEL, P_HANDS, P_MAX_HP, P_MAX_SP und P_XP
// automatisch gesetzt
create_default_npc(4);
// Hasen haben vier Beine, Koerper, Kopf, Schwanz ... aehnlich einer Katze.
CreateBody(BODYTYPE_CAT);
// Der Name des Hasen:
SetProp(P_NAME, "Hase");
// Die Pluralform des Namens (für die Zusammenfassung gleicher):
SetProp(P_PLURAL, "Hasen");
// Hase wird schwach gebeugt, daher hier die entsprechende Information
// an die Lib. (Sonst gibt es z.B. "Die Leiche eines Hase.")
SetProp(P_NAME_FLAG, NAME_WEAK_DECL);
// Mit diesen Begriffen kann man das Monster ansprechen:
AddId(({"hase", "haeschen"}), ({"hasen", "haeschen"}));
// Die Langbeschreibung wird angezeigt, wenn man das Monster untersucht:
SetProp(P_LONG,
"Ein kleiner Hase mit langen Ohren und langen Beinen.");
SetProp(P_GENDER, MALE); // das Geschlecht ist maennlich, wird auch benoetigt
// Der Hase hat keine Waffe. Wir müssen die Kraft der 'Hände' und den Angriffstext setzen.
// (Zwar wird durch create_default_npc() schon P_HANDS vorbelegt, allerdings
// mit dem Text: " mit blossen Haenden" und das paßt bei dem Hasen ja nicht. :-))
SetProp(P_HANDS, ({" mit seinen langen Ohren", 35}));
// Gesinnung des Monsters, diese bekommt der Spieler nach dem Tod hinzugezählt
SetProp(P_ALIGN, 100); // der Hase ist ein bisschen nett
// Das Gewicht des Hasen - der Spieler sieht das mit dem Kommando "prüfe"
SetProp(P_WEIGHT, 4000);
// Auch Monster können Details haben:
AddDetail(({"ohr", "ohren", "loeffel", "hasenohr", "hasenohren"}),
"Der Hase hat lange Loeffel, mit denen er sich auch zu verteidigen weiss.");
AddDetail(({"bein", "beine"}),
"Mit den langen Beinen kann der Hase schnell laufen und springen.");
}
|