Ein einfaches Monster
![]()
// 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."); } |
| Start » Magierhandbuch » Dokumentation » Programmierbeispiele » Einfacher Hase | |
|
| |