Beispieldateien

Eine einfache Waffe

----------



// 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.");
 
}


Start » Magierhandbuch » Dokumentation » Programmierbeispiele » Waffe
Valid HTML 4.01!