Automatisch erzeugte Manpages.
Damit nicht jeder sphinx auf dem Rechner haben muss,
behalten wir bis auf weiteres die aus den .rst
erzeugten Manpoages auch im Repo.
Change-Id: Id556c0d11cf5f79659d8350952ce1c014d81ea44
diff --git a/doc/lfun/init b/doc/lfun/init
index f9d0cad..481eec2 100644
--- a/doc/lfun/init
+++ b/doc/lfun/init
@@ -1,65 +1,91 @@
+
init()
+******
-FUNKTION:
- void init();
-DEFINIERT IN:
- /std/room/description.c
+FUNKTION
+========
-ARGUMENTE:
- keine
+ void init();
-BESCHREIBUNG:
- init() wird immer dann aufgerufen, wenn ein lebendes Objekt in die
- Naehe anderer Objekte bewegt wird oder ein nicht lebendiges Objekt
- in die Naehe von Lebewesen gelangt. init() wird dabei in allen
- Objekten aufgerufen, bei denen es notwendig ist.
- Der Hauptzweck dieser Funktion besteht darin, den Objekten
- untereinander ihre jeweiligen Befehle zugaenglich zu machen.
- Waehrend dies in anderen MudLibs durch eine Reihe von
- add_action()-Aufrufen im Rumpf von init() geschah, geschieht dies in
- der MG-MudLib bei Objekten, die /std/thing/commands.c erben
- (das sind zB. alle Standardobjekte) quasi automatisch
- (dort werden die Befehle dann per AddCmd() im create() angemeldet,
- man spart sich die Implementierung von init() und dem Mud somit
- Speicher). Der andere Weg ist aber natuerlich immer noch moeglich.
+DEFINIERT IN
+============
-RUeCKGABEWERT:
- keiner
+ /std/room/description.c
-BEMERKUNGEN:
- Der Ablauf der init()-Kette ist wie folgt:
- o Ist das Objekt X, welches ins Zielobjekt D bewegt wurde, ein
- Lebewesen, so wird in D init() aufgerufen, wobei this_player() auf
- X gesetzt ist.
- o Dann wird fuer jedes Objekt C in D folgendes ausgefuehrt:
- + Ist C ein Lebewesen, dann wird init() in X aufgerufen, wobei
- this_player() auf C gesetzt ist.
- + Ist X ein Lebewesen, dann wird init() in C aufgerufen, wobei
- this_player() auf X gesetzt ist.
- o Schliesslich wird in dem Fall, dass D lebendig ist, in X init()
- aufgerufen, wobei this_player() auf D gesetzt ist.
-BEISPIELE:
- D sei ein Raum, in dem sich das Lebewesen L1 sowie die Gegenstaende
- N1 und N2 befinden.
- Betritt ein Spieler X diesen Raum, so werden folgende init()s
- aufgerufen:
+ARGUMENTE
+=========
- D->init(); // this_player() == X
- X->init(); // this_player() == L1
- L1->init(); // this_player() == X
- N1->init(); // this_player() == X
- N2->init(); // this_player() == X
+ keine
- Gelangt dagegen ein nichtlebendiges Objekt nach D, so sieht das Ganze
- wie folgt aus:
- X->init(); // this_player() == L1
+BESCHREIBUNG
+============
-SIEHE AUCH:
- exit(), AddCmd(), add_action(),
- NotifyInsert()
-----------------------------------------------------------------------------
+ init() wird immer dann aufgerufen, wenn ein lebendes Objekt in die
+ Naehe anderer Objekte bewegt wird oder ein nicht lebendiges Objekt
+ in die Naehe von Lebewesen gelangt. init() wird dabei in allen
+ Objekten aufgerufen, bei denen es notwendig ist.
+
+ Der Hauptzweck dieser Funktion besteht darin, den Objekten
+ untereinander ihre jeweiligen Befehle zugaenglich zu machen.
+ Waehrend dies in anderen MudLibs durch eine Reihe von
+ add_action()-Aufrufen im Rumpf von init() geschah, geschieht dies in
+ der MG-MudLib bei Objekten, die /std/thing/commands.c erben
+ (das sind zB. alle Standardobjekte) quasi automatisch
+ (dort werden die Befehle dann per AddCmd() im create() angemeldet,
+ man spart sich die Implementierung von init() und dem Mud somit
+ Speicher). Der andere Weg ist aber natuerlich immer noch moeglich.
+
+
+RUeCKGABEWERT
+=============
+
+ keiner
+
+
+BEMERKUNGEN
+===========
+
+ Der Ablauf der init()-Kette ist wie folgt:
+ o Ist das Objekt X, welches ins Zielobjekt D bewegt wurde, ein
+ Lebewesen, so wird in D init() aufgerufen, wobei this_player() auf
+ X gesetzt ist.
+ o Dann wird fuer jedes Objekt C in D folgendes ausgefuehrt:
+ + Ist C ein Lebewesen, dann wird init() in X aufgerufen, wobei
+ this_player() auf C gesetzt ist.
+ + Ist X ein Lebewesen, dann wird init() in C aufgerufen, wobei
+ this_player() auf X gesetzt ist.
+ o Schliesslich wird in dem Fall, dass D lebendig ist, in X init()
+ aufgerufen, wobei this_player() auf D gesetzt ist.
+
+
+BEISPIELE
+=========
+
+ D sei ein Raum, in dem sich das Lebewesen L1 sowie die Gegenstaende
+ N1 und N2 befinden.
+ Betritt ein Spieler X diesen Raum, so werden folgende init()s
+ aufgerufen:
+
+ D->init(); // this_player() == X
+ X->init(); // this_player() == L1
+ L1->init(); // this_player() == X
+ N1->init(); // this_player() == X
+ N2->init(); // this_player() == X
+
+ Gelangt dagegen ein nichtlebendiges Objekt nach D, so sieht das Ganze
+ wie folgt aus:
+
+ X->init(); // this_player() == L1
+
+
+SIEHE AUCH
+==========
+
+ exit(), AddCmd(), add_action(),
+ NotifyInsert()
+
Last modified: 04.08.2007, Zesstra