#include <properties.h>#include <rooms.h>#include <wizlevels.h>#include <language.h>#include <defines.h>#include <moving.h>#include <new_skills.h>
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 |
| #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().
| int _query_light | ( | ) |
Definiert in Zeile 24 der Datei abenteurer.c.
| 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 }


| 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 }

| 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 }

| 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 }

| 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 }


| 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 }

| 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 }

| 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 }

| 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 }

| 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 }

| 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 }

| string topliste | ( | ) |
Definiert in Zeile 314 der Datei abenteurer.c.
| inherit std gilden_room |
Definiert in Zeile 8 der Datei abenteurer.c.
1.6.3