blob: c1070a6c58801ee74648f9ad1d04009df5647c19 [file] [log] [blame]
// (c) by Padreic (Padreic@mg.mud.de)
// Dieses ist ein erstes Objekt das so oder aehnlich tatsaechlich im
// MorgenGrauen vorkommen koennte.
// Jedes Objekt im MorgenGrauen braucht bereits eine solche Vielzahl von
// Standardfunktionen, dass es ziemlich unmoeglich ist, diese alle in jedem
// Objekt zu definieren. Daher "erbt" man diese Funktionen von einem
// Standardobjekt.
// "Erben" bedeutet hierbei, das man auf alle Funktionen, die bereits im
// Standardobjekt definiert sind, zugreifen kann.
//
// Die folgende Zeile erklaert, dass man das Objekt an der Position
// /std/thing.c "erben" moechte.
inherit "/std/thing";
// Die Funktion folgender Zeile kann man sich recht einfach wie folgt
// vorstellen: Wenn der Game-Driver dieses Objekt hier compiliert, dann
// tut er so, als wuerde die Datei /sys/properties.h genau an dieser Stelle
// hier im Code stehen.
//
// Die Datei properties.h beinhaltet einfach nur haufenweise Defines fuer
// die haufenweise Properties.
//
// Anmerkung: Alle Defines in dieser Datei starten uebrigens mit einem 'P_'.
// Am Besten solltest Du einfach mal kurz in /doc/properties.h reinsehn
// und ein bisschen rumlesen
// (keine Angst, die muss man nicht alle kennen :).
#include <properties.h>
protected void create()
{
// Die Funktion create() wurde naemlich bereits in /std/thing.c
// beschrieben, kann aber nicht mehr ueber create() aufgerufen werden, da
// dann ja wieder diese Funktion hier aufgerufen wuerde
// (wodurch wir dann eine Endlos-Rekursion haetten).
// Kurzschreibweise waere ::create(); wenn man nur von einem Objekt erbt.
thing::create(); // oder auch einfach ::create();
// Auch diese Funktion wurde aus /std/thing geerbt.
// SetProp() ist eine der wichtigsten Funktionen ueberhaupt, wenn es darum
// geht, ein Objekt zu beschreiben. Mit dieser Funktion kannst Du naemlich
// zahlreiche Eigenschaften (engl. properties) des Objektes festlegen.
SetProp(P_SHORT, "Einige wertvolle Juwelen"); // die Kurzbeschreibung
SetProp(P_LONG, "Die Juwelen glitzern verlockend.\n"); // Langbeschreibung
SetProp(P_NAME, "Juwelen"); // der eigentliche Name
SetProp(P_NAME_ADJ, "wertvoll"); // das Adjektiv vor dem Namen
SetProp(P_GENDER, FEMALE); // Geschlecht (kann auch MALE oder NEUTER sein)
SetProp(P_WEIGHT, 5000); // dieses Objekt wiegt 5kg
SetProp(P_VALUE, 10000); // das Objekt ist insgesamt 10000 Muenzen Wert
// Mit dieser Funktion kann man eine id angeben, ueber die das Objekt
// ansprechbar ist.
// Anmerkung: Auch diese Funktion ist wieder von std/thing geerbt, im
// folgenden werde ich dies aber nicht mehr bei jeder Funktion extra
// angeben. Wenn nicht anders angegeben, handelt es sich ab jetzt
// naemlich _immer_ um ererbte Funktionen.
AddId("juwelen");
// In diesem Fall benoetigt man noch ein weiteres Adjektiv, da man das
// Objekt ja auch mit wertvolle Juwelen ansprechen koennen moechte.
// z.B.: unt wertvolle juwelen
// gib wertvolle juwelen an padreic
AddAdjective("wertvolle");
}