blob: c1070a6c58801ee74648f9ad1d04009df5647c19 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001// (c) by Padreic (Padreic@mg.mud.de)
2
3// Dieses ist ein erstes Objekt das so oder aehnlich tatsaechlich im
4// MorgenGrauen vorkommen koennte.
5
6// Jedes Objekt im MorgenGrauen braucht bereits eine solche Vielzahl von
7// Standardfunktionen, dass es ziemlich unmoeglich ist, diese alle in jedem
8// Objekt zu definieren. Daher "erbt" man diese Funktionen von einem
9// Standardobjekt.
10// "Erben" bedeutet hierbei, das man auf alle Funktionen, die bereits im
11// Standardobjekt definiert sind, zugreifen kann.
12//
13// Die folgende Zeile erklaert, dass man das Objekt an der Position
14// /std/thing.c "erben" moechte.
15inherit "/std/thing";
16
17
18// Die Funktion folgender Zeile kann man sich recht einfach wie folgt
19// vorstellen: Wenn der Game-Driver dieses Objekt hier compiliert, dann
20// tut er so, als wuerde die Datei /sys/properties.h genau an dieser Stelle
21// hier im Code stehen.
22//
23// Die Datei properties.h beinhaltet einfach nur haufenweise Defines fuer
24// die haufenweise Properties.
25//
26// Anmerkung: Alle Defines in dieser Datei starten uebrigens mit einem 'P_'.
27// Am Besten solltest Du einfach mal kurz in /doc/properties.h reinsehn
28// und ein bisschen rumlesen
29// (keine Angst, die muss man nicht alle kennen :).
30#include <properties.h>
31
32protected void create()
33{
34 // Die Funktion create() wurde naemlich bereits in /std/thing.c
35 // beschrieben, kann aber nicht mehr ueber create() aufgerufen werden, da
36 // dann ja wieder diese Funktion hier aufgerufen wuerde
37 // (wodurch wir dann eine Endlos-Rekursion haetten).
38 // Kurzschreibweise waere ::create(); wenn man nur von einem Objekt erbt.
39 thing::create(); // oder auch einfach ::create();
40
41 // Auch diese Funktion wurde aus /std/thing geerbt.
42 // SetProp() ist eine der wichtigsten Funktionen ueberhaupt, wenn es darum
43 // geht, ein Objekt zu beschreiben. Mit dieser Funktion kannst Du naemlich
44 // zahlreiche Eigenschaften (engl. properties) des Objektes festlegen.
45 SetProp(P_SHORT, "Einige wertvolle Juwelen"); // die Kurzbeschreibung
46 SetProp(P_LONG, "Die Juwelen glitzern verlockend.\n"); // Langbeschreibung
47 SetProp(P_NAME, "Juwelen"); // der eigentliche Name
48 SetProp(P_NAME_ADJ, "wertvoll"); // das Adjektiv vor dem Namen
49 SetProp(P_GENDER, FEMALE); // Geschlecht (kann auch MALE oder NEUTER sein)
50 SetProp(P_WEIGHT, 5000); // dieses Objekt wiegt 5kg
51 SetProp(P_VALUE, 10000); // das Objekt ist insgesamt 10000 Muenzen Wert
52
53 // Mit dieser Funktion kann man eine id angeben, ueber die das Objekt
54 // ansprechbar ist.
55 // Anmerkung: Auch diese Funktion ist wieder von std/thing geerbt, im
56 // folgenden werde ich dies aber nicht mehr bei jeder Funktion extra
57 // angeben. Wenn nicht anders angegeben, handelt es sich ab jetzt
58 // naemlich _immer_ um ererbte Funktionen.
59 AddId("juwelen");
60
61 // In diesem Fall benoetigt man noch ein weiteres Adjektiv, da man das
62 // Objekt ja auch mit wertvolle Juwelen ansprechen koennen moechte.
63 // z.B.: unt wertvolle juwelen
64 // gib wertvolle juwelen an padreic
65 AddAdjective("wertvolle");
66}