abenteurer.c-Dateireferenz

#include <properties.h>
#include <rooms.h>
#include <wizlevels.h>
#include <language.h>
#include <defines.h>
#include <moving.h>
#include <new_skills.h>
Include-Abhängigkeitsdiagramm für abenteurer.c:

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define P_ANFAENGER_BIENENORT_   "anfaenger_bienenort_"
#define P_ANFAENGER_BIENENZIEL_   "anfaenger_bienenziel_"

Funktionen

string Funktion ()
string Schmutz ()
int _query_light ()
void create ()
 Funktionen ///.
string det_bild ()
string brett_fun ()
int beitreten ()
varargs int austreten (int loss)
int GotoMagierTreff ()
int lesen (string str)
void adjust_title (object pl)
string karte ()
void init ()
string topliste ()

Variablen

inherit std gilden_room

Makro-Dokumentation

#define P_ANFAENGER_BIENENORT_   "anfaenger_bienenort_"

Definiert in Zeile 18 der Datei abenteurer.c.

Wird benutzt von create().

#define P_ANFAENGER_BIENENZIEL_   "anfaenger_bienenziel_"

Definiert in Zeile 19 der Datei abenteurer.c.

Wird benutzt von create().


Dokumentation der Funktionen

int _query_light (  ) 

Definiert in Zeile 24 der Datei abenteurer.c.

00024 {return 999999999;}

void adjust_title ( object  pl  ) 

Definiert in Zeile 283 der Datei abenteurer.c.

Benutzt get_new_title(), IsGuildMember(), lv(), P_GUILD_LEVEL, P_GUILD_TITLE und P_LEVEL.

Wird benutzt von do_advance().

00283                              {
00284   int lv;
00285 
00286   // bei P_LEVEL < 0 ist der Spieler noch "nicht fertig".
00287   // Der Titel wird anschliessend noch korrekt gesetzt.
00288   if (!pl || !IsGuildMember(pl) || (lv=pl->QueryProp(P_LEVEL)) < 0)
00289     return;
00290 
00291   pl->SetProp(P_GUILD_LEVEL,lv);
00292   if (!lv) lv=1;
00293   pl->SetProp(P_GUILD_TITLE,get_new_title(lv-1,pl));
00294 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

varargs int austreten ( int  loss  ) 

Definiert in Zeile 230 der Datei abenteurer.c.

Wird benutzt von bei_oder_aus_treten().

00231 {
00232   if (::austreten()<1)
00233     return 1; // Meldung kommt vom Gildenmaster
00234   write("Du bist nun kein Abenteurer mehr.\n");
00235   return 1;
00236 }

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

int beitreten (  ) 

Definiert in Zeile 222 der Datei abenteurer.c.

Wird benutzt von bei_oder_aus_treten().

00223 {
00224   if (::beitreten()<1)
00225     return 1; // Meldung vom Gildenmaster oder Gildenobjekt
00226   write("Du bist jetzt ein Abenteurer.\n");
00227   return 1;
00228 }

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

string brett_fun (  ) 

Definiert in Zeile 215 der Datei abenteurer.c.

Benutzt GetDetail().

00216 {
00217   if (present("party\nbrett",this_object()))
00218     return "Welches Brett meinst Du denn? Das Partybrett oder das Holzbrett?\n";
00219   return GetDetail("holzbrett");
00220 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

void create (  ) 

Funktionen ///.

Objekt initialisieren

Definiert in Zeile 26 der Datei abenteurer.c.

Benutzt AddCmd(), AddDetail(), AddExit(), AddItem(), AddReadDetail(), AddSpecialDetail(), AddSpell(), P_ANFAENGER_BIENENORT_, P_ANFAENGER_BIENENZIEL_, P_GUILD_DEFAULT_SPELLBOOK, P_INT_LONG, P_INT_SHORT, P_LIGHT, REFRESH_DESTRUCT, REFRESH_REMOVE, Schmutz() und SetProp().

Wird benutzt von create(), create_super(), inaugurate_master() und udp_who().

00026               {
00027   ::create();
00028 
00029   SetProp(P_GUILD_DEFAULT_SPELLBOOK,"ab_spells");
00030   SetProp(P_LIGHT,999999999);
00031   AddSpell("licht");
00032   AddSpell("kampfschrei");
00033   AddSpell("ausweichen");
00034   AddSpell("schaetz");
00035   AddSpell("pfeil");
00036   AddSpell("identifiziere");
00037   AddSpell("feuerball");
00038   AddSpell("schnell");
00039   AddSpell("saeurestrahl");
00040 
00041   SetProp(P_INT_SHORT,"Die beruehmte Abenteurergilde");
00042   SetProp(P_INT_LONG,
00043  "Der grosse Raum mit seiner niedrigen Decke und den grob geschnittenen\n"
00044 +"Querbalken hat Platz fuer sehr viele Personen. Knarrende Dielen erzaehlen\n"
00045 +"ueber Heldentaten laengst vergessener Abenteurer, beruehmter als mancher\n"
00046 +"Weise unserer Zeit.\n"
00047 +"Abenteurer, aber auch andere Bewohner dieser Welt kommen hierher, um\n"
00048 +"sich zu informieren, ihre Erfahrungen auszutauschen oder sich in den\n"
00049 +"verschiedensten Wissenschaften zu verbessern.\n"
00050 +"Durch die immer offene Tuer scheint die aufgehende Sonne herein und fuellt\n"
00051 +"den Raum mit ihrem goldenen Licht. Sonst gibt es hier nur noch den Ausgang\n"
00052 +"im Norden, welcher auf die Hafenstrasse fuehrt und Bilder an den Waenden,\n"
00053 +"mit Zeichnungen und Gemaelden von MorgenGrauen. Eins der Bilder erlaeutert\n"
00054 +"die Funktion der Gilde und eine grosse Uhr an der Wand zeigt, was die\n"
00055 +"Stunde schlaegt. An einer anderen Wand haengt eine steinerne Tafel und in\n"
00056 +"einer Ecke steht ein kleines Projektbrett.\n"
00057 +"Nach oben fuehrt eine Treppe in das Buero des Foerdervereins Projekt\n"
00058 +"MorgenGrauen e.V., das Du unbedingt besuchen solltest.\n");
00059 
00060   AddDetail(({"raum", "gilde", "abenteurergilde", "haus", "gildenhaus",
00061               "gildehaus"}),
00062   "Du stehst mitten in der Abenteurergilde. Hier trifft man sich und kann\n"
00063  +"auch seine persoenlichen Werte verbessern.\n");
00064   AddDetail(({"tuer", "ausgang"}),
00065   "Der immer offenstehende Ausgang fuehrt hinaus auf die Hafenstrasse.\n"
00066  +"Goldenes Licht einer ewig aufgehenden Sonne scheint herein.\n");
00067   AddSpecialDetail(({"bild", "bilder", "zeichnungen", "gemaelde", "karten",
00068               "landschaftsbilder"}),"det_bild");
00069   AddDetail(({"funktion", "schild"}), #'Funktion);
00070   AddDetail(({"wand", "waende"}),
00071   "Aus fein saeuberlich geschlagenen Steinen sind die Waende der Gilde\n"+
00072  "zusammengesetzt. Viele interessante Bilder und eine Liste haengen daran.\n");
00073   AddDetail(({"stein", "steine"}), "Es sind ganz einfache Sandsteine.\n");
00074   AddDetail(({"fenster"}),
00075   "Eine wundervolle Welt eroeffnet sich Dir, genannt Realitaet. Aber gibt es\n"
00076  +"diese wirklich? Ist sie nicht voller Gefahren und Stress?\n");
00077   AddDetail(({"seite", "suedseite"}),
00078   "Am Suedende des Raumes ist ein eigenartiges Fenster auszumachen.\n");
00079   AddDetail(({"balken", "querbalken", "holzbalken", "deckenbalken"}),
00080   "Diese Balken halten das Obergeschoss des Gildenhauses, wohin nur Magier\n"
00081  +"kommen und sind an manchen Stellen ganz schoen durchgebogen. Das grob ge-\n"
00082  +"schnittene Holz ist teilweise von Schwertstreichen zernarbt.\n");
00083   AddDetail(({"hafen", "hafenstrasse", "strasse"}),
00084   "Zur Tuer hinaus gelangt man ueber die Hafenstrasse zum Hafen von Port Vain"
00085  +"\n");
00086   AddDetail(({"boden", "fussboden", "dielen"}),
00087   "Die knarrenden Dielen der Gilde sind schon alt und abgeschabt. In den\n"
00088  +"Ritzen zwischen ihnen ist viel Dreck von den Stiefeln der Abenteurer.\n");
00089   AddDetail(({"decke"}),
00090   "Die Decke des Raumes wird von Holzbalken gehalten.\n");
00091   AddDetail(({"licht", "sonnenlicht", "sonne"}),
00092   "Warmes Sonnenlicht scheint durch den Ausgang zur Strasse herein. Jedesmal\n"
00093  +"wenn jemand hereinkommt wird er vom Licht umspuelt und erscheint Gott-\n"
00094  +"gleich mit dieser Aura.\n");
00095   AddDetail(({"ebene"}),
00096   "Du betrachtest das Bild der Ebene und denkst, welche Schaetze in dieser\n"
00097  +"flachen, gruenen Landschaft verborgen sein muessen.\n");
00098   AddDetail(({"gebirge", "huegel", "berge", "berg"}),
00099   "Das Bild der Huegel und Berge betrachtend, schleicht sich ein wenig Sehn-\n"
00100  +"sucht nach dieser herrlichen, aber gefaehrlichen Landschaft ein.\n");
00101   AddDetail(({"perspektiven", "perspektive", "darstellung", "landschaft"}),
00102   "Manche der Landschaftsbilder sind aus der Vogelperspektive oder von\n"
00103  +"hohen Bergen aus oder von Zwergen gemalt worden.\n");
00104   AddDetail(({"see", "meer", "wellen"}),
00105   "Die Wellen auf dem Meer glitzern wie tausend Edelsteine.\n");
00106   AddDetail(({"spritzer", "lichtspritzer"}),
00107   "Wie tausend kleine Edelsteine verteilen sich diese winzigen, gluehenden\n"
00108  +"Lichtspritzer ueber das wundervolle Gemaelde\n");
00109   AddDetail(({"geschoss", "obergeschoss"}),
00110   "Ins obere Geschoss der Gilde kommen nur Magier, mittels eines besonderen\n"
00111  +"Zauberspruchs, der die Decke durchlaessig fuer sie macht.\n");
00112   AddDetail(({"ritzen", "fugen"}),
00113   "In den Fugen zwischen den Dielen befindet sich eine Menge Schmutz und\n"
00114  +"Dreck von den Besuchern der Gilde.\n");
00115   AddDetail(({"fugen", "dreck", "schmutz"}), #'Schmutz);
00116   AddDetail(({"holz"}), "Die Dielen und die Deckenbalken sind aus Holz.\n");
00117   AddDetail(({"kartograph", "kartographen"}),
00118   "Dieselben laufen hier zwar im Moment nicht herum, aber ihre Karten sehen\n"
00119  +"ziemlich verwirrend aus mit den ganzen Linien, welche diese Welt "
00120   "darstellen.\n");
00121   AddDetail(({"stellen", "stelle"}),
00122   "Nichts sieht aus wie das andere, und die Ecken sind da keine Ausnahmen.\n");
00123   AddDetail(({"ecken","ecke"}),
00124   "In einer der Ecken, gleich neben der Treppe, steht ein kleines braunes\n"
00125  +"Holzbrett, das sofort Deine Aufmerksamkeit erregt. Wozu es wohl dient?\n");
00126   AddDetail("aufmerksamkeit",
00127   "Du beschliesst, Dir das Brett sofort naeher zu betrachten, um sie zu\n"
00128       +"befriedigen.\n");
00129   AddDetail(({"schwarzes brett","holzbrett"}),
00130   "Ein unscheinbares kleines Brett steht in der Ecke des Raumes. Wenn man\n"
00131  +"bedenkt, wie viele kleine Zettel daran befestigt wurden, kann es sich\n"
00132  +"nur um ein schwarzes Brett handeln. Welche Informationen hier wohl\n"
00133  +"ausgetauscht werden? Du koenntest natuerlich anfangen, die Zettel zu\n"
00134  +"lesen, um das herauszufinden ...\n");
00135   AddDetail("zettel",
00136   "Viele verschiedene Zettel stecken an dem Brett. Rote, gelbe, blaue,\n"
00137  +"jeder scheint eine andere Farbe zu haben. Auf jedem von ihnen scheint\n"
00138  +"etwas geschrieben zu sein.\n");
00139   AddDetail(({"farbe","farben"}),
00140   "Es sind so viele, Du wuerdest bestimmt jahrelang zaehlen.\n");
00141   AddDetail("informationen",
00142   "Wenn Du die Zettel liest, findest Du bestimmt welche.");
00143   AddDetail(({"wissenschaften", "eigenschaften"}), #'Funktion); //');
00144   AddDetail(({"narben", "schwertstreich"}),
00145   "Die Narben in den Holzbalken sind schon recht alt. Es ist lange her, dass\n"
00146    +"hier richtig gekaempft wurde.\n");
00147   AddDetail(({"aura"}),
00148  "Eine Aura von Licht umgibt jeden, der von der Strasse ins Haus kommt.\n");
00149   AddDetail(({"bewohner", "abenteurer"}),
00150  "Hier, im Gildehaus, ist jeder gern willkommen.\n");
00151   AddDetail(({"weise", "weiser", "recken"}),
00152   "Die Weisen dieses Landes sind beruehmt, kommen aber nicht an die Be-\n"
00153   +"ruehmtheit ihrer Vorfahren, die grossen Recken der ersten Jahre, heran\n");
00154   AddDetail(({"realitaet"}), "Was ist schon real?\n");
00155   AddDetail(({"tafel","steintafel"}),
00156 (["mensch":"\
00157 Auf dieser Tafel sind die Namen der heldenhaftesten und tapfersten Menschen\n\
00158 festgehalten, die dieser Ort hervorgebracht hat. Moege ihr Ruhm Dir zum Vor-\n\
00159 bild gereichen. Du kannst die Tafel lesen.\n",
00160   0:"\
00161 Hier sind die Namen der heldenhaftesten und tapfersten Menschen festgehalten,\n\
00162 die Port Vain hervorgebracht hat. Du kannst die Tafel lesen.\n"]));
00163 
00164 AddDetail(({"buero","foerderverein"}),
00165 "Wichtige Informationen warten auf Dich im Buero des Foerdervereins!\n");
00166 AddDetail("informationen","Du musst schon ins Buero gehen, wenn Du die Informationen erhalten willst.\n");
00167 AddDetail("treppe","Die Treppe fuehrt nach Oben in das Buero des Foerdervereins Projekt MorgenGrauen e.V.\n");
00168  AddDetail(({"liste", "topliste"}), "Du kannst die Liste lesen.\n");
00169  AddReadDetail(({"liste", "topliste"}), "@@topliste@@");
00170 AddExit("norden", "/d/ebene/room/PortVain/po_haf1");
00171 AddExit("oben","/p/verein/room/buero");
00172   AddCmd(({"treff"}), "GotoMagierTreff");
00173   AddCmd(({"lies","lese","les"}),"lesen");
00174 
00175 
00176   AddCmd("gehe|geh&\ngehtnicht",0,"Um Dich hier fortzubewegen, "
00177       "solltest Du direkt das Kommando der Richtung eingeben,"
00178       " wie ,,norden'' oder ,,suedwesten''. Du kannst das auch "
00179       "abkuerzen, durch ,,n'' oder ,,sw''.");
00180 
00181   AddItem("/obj/zeitungsautomat", REFRESH_REMOVE);
00182   //AddItem("/players/catweazle/obj/spendenliste",REFRESH_REMOVE,1);
00183 
00184   AddSpecialDetail("karte","karte");
00185   // nur vorruebergehend Padreic
00186   //AddItem("/players/feuerwehr/restore/restorer", REFRESH_MOVE_HOME);
00187   AddSpecialDetail("brett","brett_fun");
00188 
00189   // nur auf dem Mudrechner laden (Stichwort: oeffentlich Mudlib)
00190 #if MUDHOST == __HOST_NAME__
00191   AddItem("/p/service/troy/obj/buchautomat", REFRESH_REMOVE);
00192   AddItem("/p/service/mandragon/projektbrett/board", REFRESH_REMOVE);
00193   // Die Biene fuer den Transport zur Wonnewichtlichtung.
00194   // Ark, 19.08.05
00195   AddItem("/d/anfaenger/ark/mon/mantisbiene",REFRESH_DESTRUCT,
00196    ([P_ANFAENGER_BIENENORT_:"Mensch",
00197      P_ANFAENGER_BIENENZIEL_:({"/d/anfaenger/ark/rooms/wald16",
00198                                "zum Wald der Wonnewichte",
00199                                "/gilden/abenteurer"})]));
00200 #endif
00201 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

string det_bild (  ) 

Definiert in Zeile 203 der Datei abenteurer.c.

Benutzt Funktion().

00204 {
00205   return
00206    "Die Zeichnung und Gemaelde stellen MorgenGrauen aus den verschiedensten\n"
00207    "Perspektiven dar. Einige davon zeigen abstrakte Darstellungen, wie sie\n"
00208    "gerne von Kartographen gemacht werden, und andere zeigen wunderschoene\n"
00209    "Darstellungen von Landschaften, wie dem Gebirge oder der Ebene. Besonders\n"
00210    "schoen ist ein Bild der See. Tausende von Lichtspritzern verteilen sich\n"
00211    "ueber die Wellen.\n"
00212    "Ein kleines Schild zeigt folgendes:\n"+Funktion();
00213 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

string Funktion (  ) 

Definiert in Zeile 238 der Datei abenteurer.c.

Benutzt P_GUILD.

Wird benutzt von det_bild().

00239 {   string re;
00240   re = ("Moegliche Befehle sind:\n"
00241         +"                liste\n"
00242         +"                erhoehe (stufe)\n"
00243         +"                kosten\n"
00244         +"                lerne\n");
00245   if (this_player()->QueryProp(P_GUILD)!="abenteurer")
00246   re += ("                trete in gilde ein\n"+
00247          "                trete aus gilde aus\n");
00248   return re;
00249 }

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

int GotoMagierTreff (  ) 

Definiert in Zeile 257 der Datei abenteurer.c.

Benutzt IS_LEARNER, M_SILENT, M_TPORT und PL.

00258 {
00259   if(IS_LEARNER(this_player()))
00260   {
00261     write("Ein Zauberspruch zieht vor Deinem geistigen Auge vorbei und Du\n"
00262     +"sprichst ihn nach.\n");
00263     say(PL->name()+" murmelt einen geheimen Zauberspruch und schwebt langsam\n"
00264   +"zur Decke hinauf und verschwindet durch die Wand.\n");
00265     write("Du schwebst langsam zur Decke hinauf und als ob diese nicht da\n"
00266     +"waere mitten hindurch in den Magiertreff.\n");
00267     return (PL->move("/secure/merlin", M_TPORT | M_SILENT ) >= 0);
00268   }
00269   write("Du springst zur Decke hinauf und nix passiert.\n");
00270   return 1;
00271 }

void init (  ) 

Definiert in Zeile 301 der Datei abenteurer.c.

Wird benutzt von init() und thinginit().

00301             {
00302   int res;
00303   object ob;
00304 
00305   ::init();
00306   if ((res=set_light(0))<=0)
00307     set_light(1-res);
00308 
00309   // Von Ark, an alle Rassenstartpunkte
00310   if (ob=present("\nentdecker_obj",this_player()))
00311                   ob->Check_And_Update(this_player(),"Menschen");
00312 }

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

string karte (  ) 

Definiert in Zeile 296 der Datei abenteurer.c.

Benutzt GetDetail().

00296                {
00297   if (this_player() && present("karte",this_player())) return 0;
00298   return GetDetail("karten");
00299 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

int lesen ( string  str  ) 

Definiert in Zeile 273 der Datei abenteurer.c.

Benutzt lies().

00274 {
00275   if (str=="tafel"||str=="steintafel"||str=="steinerne tafel")
00276   {
00277     this_player()->More("/etc/humanlist.read",1);
00278     return 1;
00279   }
00280   return ::lies(str);
00281 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

string Schmutz (  ) 

Definiert in Zeile 251 der Datei abenteurer.c.

Wird benutzt von create().

00252 {
00253   // hier sollte sich doch glatt ein Zaubertrank lohnen!!
00254   return "In den Fugen befindet sich viel Schmutz.\n";
00255 }

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

string topliste (  ) 

Definiert in Zeile 314 der Datei abenteurer.c.

00315 {
00316    this_player()->More("/etc/abenteurerlist.read", 1);
00317    return "";
00318 }


Variablen-Dokumentation

inherit std gilden_room

Definiert in Zeile 8 der Datei abenteurer.c.

Erzeugt am Thu Jun 3 14:39:23 2010 für MorgenGrauen Mudlib von  doxygen 1.6.3