blob: 4eb8300be89fc94b38fddac3cb160edd3797ccbb [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001// Einiger Code wurde aus dem Questtagebuch des Tempels uebernommen.
2// Da man das Buch, sobald es im aufgestellten Lesepult des Spielers
3// abgelegt wurde, auch lesen koennen muss, sind die Funktionen und
4// Details auch weiterhin sinnvoll. Kaufen kann es jeder Seher, aber
5// nutzen kann man es nur mit dem von Hels Avatar ueberreichten Buch.
6
7#include <properties.h>
8#include <moving.h>
9#include <language.h>
10#include <wizlevels.h>
11#include "/d/seher/haeuser/moebel/moebel.h"
12#include "/d/seher/haeuser/haus.h"
13#include "/d/anfaenger/ark/knochentempel/files.h"
14#pragma strong_types,rtt_checks
15
16inherit LADEN("swift_std_container");
17
18static string owner;
19string le(string key);
20string in(string key);
21int cmd_eintragen(string str);
22int cmd_lesen(string str);
23int take_page(string str);
24int drop_book(string str);
25int cmd_blaettern(string str);
26int cmd_oeffnen(string str);
27int cmd_schliessen(string str);
28void AddTheOldDetails();
29
30protected void create()
31{
32 if(!clonep(this_object()))
33 {
34 set_next_reset(-1);
35 return;
36 }
37
38 ::create();
39
40owner="Anonymus";
41
42AddDetail("finger",BS(
43"Deine Finger sollten schon vorsichtig sein, wenn sie das Zeder"+
44"nholz beruehren. Einerseits, damit Du Dich nicht verletzt, and"+
45"ererseits, damit Du nichts beschmutzt.",78));
46AddDetail(({"holz","zedernholz","zeder"}),BS(
47"Aus einem einzigen starken Stamm einer Zeder bearbeitet, ist d"+
48"ieses edle Lesepult schon etwas sehr Feines und Dekoratives.",78));
49AddDetail(({"stamm","zedernstamm","holzstamm"}),BS(
50"Der Zedernstamm ist wahrlich kunstvoll veredelt worden, sein k"+
51"raeftiges Braun wurde hervorragend zur Geltung gebracht.",78));
52AddDetail(({"braun","dunkelbraun"}),BS(
53"Der dunkelbraune Stamm glaenzt wunderschoen, wenn Licht auf ih"+
54"n faellt. Ein sehr angenehmes Holz, das fuer das Lesepult verw"+
55"endet wurde.",78));
56AddDetail("geltung",BS(
57"Ja, dieses Holz gefaellt Dir sehr, das ganze Pult ist ein beme"+
58"rkenswertes Kunstwerk.",78));
59AddDetail(({"kunst","werk","kunstwerk"}),BS(
60"Immer wieder faellt Dein bewundernder Blick auf das Lesepult.",78));
61AddDetail("blick",BS(
62"Wachsam und flink wie immer, hat er jedoch ein wenig pausiert,"+
63" indem er muessig auf dem Lesepult ruht.",78));
64AddDetail(({"feines","dekoratives"}),BS(
65"Das teilweise eckige und dann wieder sanft geschwungene, runde"+
66" Lesepult sieht schon ziemlich repraesentativ aus.",78));
67AddDetail("zeder",BS(
68"Von ihr ist nurmehr das Pult geblieben, allerdings findest Du,"+
69" dass es nicht der schlechteste Teil ist.",78));
70AddDetail("teil",BS(
71"Du siehst nur den bearbeiteten Teil der Zeder vor Dir.",78));
72AddDetail("exemplar",BS(
73"Es ist ganz klar zu sehen, dass es sich nur um eine Zeder hand"+
74"elt, aus der dieses Pult entstand.",78));
75AddDetail(({"handwerk","kunst"}),BS(
76"Tatsaechlich ist dieses Lesepult ein sehr schoenes Beispiel ho"+
77"echster handwerklicher Kunst.",78));
78AddDetail("beispiel",BS(
79"Ein weiteres steht hier dummerweise nicht herum.",78));
80
81 SetProp("cnt_version_obj","1");
82 SetProp(P_NAME,"Lesepult");
83 SetProp(P_GENDER,NEUTER);
84 SetProp(P_NEVERDROP,1);
85 SetProp(P_VALUE,10);
86 SetProp(P_WEIGHT,500000);
87 SetProp(P_NOGET,"Das Lesepult ist Dir viel zu schwer.\n");
88 SetProp(P_NOSELL,"Du behaeltst das Lesepult lieber.\n");
89 SetProp(P_MATERIAL,([MAT_CEDAR:100]));
90 SetProp(H_FURNITURE,1);
91 SetProp(P_INFO,BS(
92 "Auf dieses Lesepult kann man ein ganz bestimmtes schwarzes Bu"+
93 "ch legen. Dort liegt es perfekt, um darin zu blaettern und zu"+
94 " lesen. Ausserdem birgt es sicher noch Geheimnisse.",78));
95
96 AddId(({"pult","lesepult","\nlesepult_ark"}));
97
98 AddCmd("eintragen&quest|aufgabe|loesung|erlebnis|abenteuer",
99 #'cmd_eintragen,"Was willst Du hier denn eintragen ?\n");
100 AddCmd(({"lies","lese","les"}),#'cmd_lesen);
101 AddCmd("nimm",#'take_page);
102 AddCmd(({"lege","leg"}),#'drop_book);
103 AddCmd("blaetter|blaettre|blaettere&in&buch|tagebuch|"
104 "tempeltagebuch",#'cmd_blaettern,"Worin willst Du blaettern ?|"
105 "Willst Du im Tagebuch blaettern ?");
106 AddCmd("oeffne&@ID|buch|tagebuch|tempeltagebuch",#'cmd_oeffnen,
107 "Was willst Du oeffnen?\n");
108 AddCmd("schliesse|schliess&@ID|buch|tagebuch|tempeltagebuch",
109 #'cmd_schliessen,"Was willst Du schliessen?\n");
110
111 if (MQTBMASTER->QueryTagebuchAufPult(this_player()))
112 AddTheOldDetails();
113}
114
115void SetOwner(string str)
116{
117 owner=str;
118}
119
120string QueryOwner()
121{
122 return owner;
123}
124
125string _query_short()
126{
127 if ((owner=="Anonymus")||
128 !this_player()||
129 !(MQTBMASTER->QueryTagebuchAufPult(this_player())))
130 return "Ein wunderschoenes Lesepult aus dunkelbraunem Zedernholz";
131 if (getuid(this_player())==owner)
132 return
133 "Ein wunderschoenes Lesepult, auf dem Dein Tagebuch des Tempels ruht";
134 else return
135 "Ein wunderschoenes Lesepult, das ein gueldenes Buch traegt";
136}
137
138string _query_long()
139{
140 if ((owner=="Anonymus")||
141 !this_player()||
142 !(MQTBMASTER->QueryTagebuchAufPult(this_player())))
143 return BS(
144 "Vorsichtig faehrst Du mit den Fingern ueber das dunkelbraune Holz."+
145 " Was Du spuerst, fuehlt sich kuehl und angenehm an, die Zeder, die"+
146 " fuer dieses bestaunenswerte Lesepult herhalten musste, wurde vors"+
147 "ichtig und aeusserst kunstfertig bearbeitet. Ein wirklich schoenes"+
148 " Exemplar holzhandwerklicher Kunst.",78);
149 if (getuid(this_player())==owner)
150 {
151 if (MQTBMASTER->QueryTagebuchAufPult(this_player()))
152 return BS(
153 "Vorsichtig faehrst Du mit den Fingern ueber das dunkelbraune Holz"+
154 ". Was Du spuerst, fuehlt sich kuehl und angenehm an, die Zeder, d"+
155 "ie fuer dieses bestaunenswerte Lesepult herhalten musste, wurde v"+
156 "orsichtig und aeusserst kunstfertig bearbeitet. Ein wirklich scho"+
157 "enes Exemplar holzhandwerklicher Kunst, Du bist froh, dieses Lese"+
158 "pult erstanden zu haben. Auf dem Lesepult siehst Du Dein schwarze"+
159 "s Tagebuch des Knochentempels, in dem Du nun nur noch lesen kanns"+
160 "t, denn Deine Abenteuer dort sind vollstaendig zu Papier gebracht"+
161 ". Allerdings kannst Du auch noch ein wenig weiter drin herumblaet"+
162 "tern, wenn Du magst.",78);
163 return BS(
164 "Vorsichtig faehrst Du mit den Fingern ueber das dunkelbraune Holz"+
165 ". Was Du spuerst, fuehlt sich kuehl und angenehm an, die Zeder, d"+
166 "ie fuer dieses bestaunenswerte Lesepult herhalten musste, wurde v"+
167 "orsichtig und aeusserst kunstfertig bearbeitet. Ein wirklich scho"+
168 "enes Exemplar holzhandwerklicher Kunst, Du bist froh, dieses Lese"+
169 "pult erstanden zu haben. Ein wenig gruebeln laesst Dich die Tatsa"+
170 "che, dass das Lesepult leer ist. Was man dort wohl platzieren kan"+
171 "n ?",78);
172 }
173 return BS(
174 "Vorsichtig faehrst Du mit den Fingern ueber das dunkelbraune Holz."+
175 ". Was Du spuerst, fuehlt sich kuehl und angenehm an, die Zeder, di"+
176 "e fuer dieses bestaunenswerte Lesepult herhalten musste, wurde vor"+
177 "sichtig und aeusserst kunstfertig bearbeitet. Ein wirklich schoene"+
178 "s Exemplar holzhandwerklicher Kunst, Du bist ein wenig neidisch."+
179 ""+(MQTBMASTER->QueryTagebuchAufPult(this_player())?" Auf dem Lesep"+
180 "ult wurde ein schwarzes Buch abgelegt, das sehr wertvoll aussieht.":
181 " Das Lesepult sieht ohne dazugehoeriges Buch ein wenig einsam aus.")+".",78);
182}
183
184void AddTheOldDetails()
185{
186 AddDetail(({"buch","buechlein","tagebuch"}),BS(
187 "Dies ist ein kleines Buechlein aus Gold, auf dem ein Name in "+
188 "schwarzen Lettern steht. Ansonsten ist der Einband schlicht, "+
189 "das Papier schon ausfuehrlich beschrieben und vom vielen Blae"+
190 "ttern hier und da auch schon ein wenig geknickt.",78));
191 AddDetail("blaettern",BS(
192 "Ja, das schoene Buechlein ist von haeufigem Blaettern nicht s"+
193 "choener geworden, aber irgendetwas Magisches hat es schon an "+
194 "sich. Ab und an magst Du immer wieder einmal herumblaettern.",78));
195 AddDetail("magisches",BS(
196 "Es ist nicht so einfach zu ergruenden, indem man einmal genau"+
197 "er hinsieht.",78));
198 AddDetail("leder",BS(
199 "Das Leder ist glatt und vollkommen guelden. Nur die schwarzen"+
200 " Lettern geben einen angenehmen Kontrast ab. Irgendwie seltsa"+
201 "m, denn Du findest, dass Schwarz und Gold eigentlich umgekehr"+
202 "t mehr Sinn machen.",78));
203 AddDetail("sinn",BS(
204 "Vielleicht ist aber auch alles bestens, und nur Dein Verstand"+
205 " will das nicht nachvollziehen.",78));
206 AddDetail("verstand",BS(
207 "Ja, auch Du kannst ihm nicht immer folgen, also wundere Dich "+
208 "nicht, warum dieses Leder hier golden verfaerbt ist und die B"+
209 "uchstaben darauf schwarz.",78));
210 AddDetail(({"lettern","buchstaben"}),BS(
211 "Du kannst sie lesen.",78));
212 AddDetail(({"name","namen"}),BS(
213 "Man kann ihn genauso lesen wie die Buchstaben.",78));
214 AddDetail("kontrast",BS(
215 "Die Buchstaben heben sich wirklich deutlich vom gueldenen Led"+
216 "er des Einbands ab.",78));
217 AddDetail("einband",BS(
218 "Es ist kein aufwaendiger Einband, fuerwahr. Dennoch faszinier"+
219 "t die Pracht, die mit den schwarzen Lettern kontrastiert.",78));
220 AddDetail("pracht",BS(
221 "So muss man den goldenen Einband wohl nennen.",78));
222 AddDetail(({"papier","seiten","buchseiten","seite","buchseite"}),BS(
223 "Das Papier ist von guter Qualitaet, die Buchseiten lassen sic"+
224 "h sicher einfach beschreiben.",78));
225 AddDetail(({"schwarze buchseiten","schwarze buchseite",
226 "schwarze buchseite"}),BS(
227 "Tatsaechlich, beim Blaettern siehst Du einige schwarze Buchse"+
228 "iten, die unbeschrieben sind. Was hat dies zu bedeuten ?",78));
229 AddDetail("qualitaet",BS(
230 "Du siehst, dass das Papier fest und bluetenweiss ist.",78));
231 AddReadDetail(({"buch","buechlein","tagebuch"}),BS(
232 "Das Buch hat ein Inhaltsverzeichnis. Wenn dort etwas steht, k"+
233 "annst Du das oder die Kapitel sicher lesen.",78));
234 AddDetail("kapitel",BS(
235 "Lies nur im Inhaltsverzeichnis nach, vielleicht hat das Buch "+
236 "bereits ein oder mehrere Kapitel.",78));
237 AddReadDetail("kapitel",BS(
238 "Welches Kapitel willst Du denn lesen ? Sie sind sicher durchn"+
239 "ummeriert, wenn man schon etwas im Buch niedergeschrieben hat.",78));
240 AddReadDetail(({"name","namen","buchstaben","lettern"}),#'le);
241 AddReadDetail(({"inhalt","inhaltsverzeichnis"}),#'in);
242 SetProp(P_MATERIAL,([MAT_LEATHER:10,MAT_PAPER:15,MAT_CEDAR:75]));
243}
244
245int drop_book(string str)
246{
247 if (!stringp(str))
248 return 0;
249 if (strstr(lower_case(str),"pult",0)==-1)
250 return 0;
251 notify_fail(BS(
252 "Willst Du etwas auf das Pult legen ? Ein Buch waere passend, "+
253 "aber es sollte schon etwas Besonderes sein.",78));
254 if (strstr(lower_case(str),"buch",0)==-1&&
255 strstr(lower_case(str),"buechlein",0)==-1)
256 return 0;
257 notify_fail(BS(
258 "Das ist nicht Dein Lesepult, Du laesst es besser in Ruhe.",78));
259 if (getuid(this_player())!=owner)
260 return 0;
261 notify_fail(BS(
262 "Auf dem Pult liegt schon ein goldenes Buch.",78));
263 if (MQTBMASTER->QueryTagebuchAufPult(this_player()))
264 return 0;
265 notify_fail(BS(
266 "Entweder hast Du Dich noch nicht als wuerdig erwiesen, indem "+
267 "Du alle Aufgaben im Knochentempel erfuellt hast oder Du hast "+
268 "dem Avatar des Waechters der Nacht, Mhun'dae Hel, noch nicht "+
269 "Deine Aufwartung gemacht und ihm gezeigt, dass Du wuerdig bis"+
270 "t, ein geeignetes Buch zu empfangen. Auf alle Faelle kannst D"+
271 "u hier noch nichts auf das Pult legen.",78));
272 if (!present_clone(OBJ("buechlein_invers"),this_player()))
273 return 0;
274 MQTBMASTER->AddBuchAufPult(this_player());
275 this_player()->ReceiveMsg(BS(
276 "Vorsichtig schlaegst Du Dein gueldenes Tagebuch auf, das Dir "+
277 "Mhun'dae Hel, das Avatar des Waechters der Nacht, ueberreicht"+
278 " hat. Du legst es sachte auf das Pult und merkst, dass es sof"+
279 "ort eine magische Verbindung mit dem Lesepult eingeht. Es ist"+
280 " nun untrennbar mit diesem verbunden.",78),MT_MAGIC,MA_USE);
281 tell_room(environment(),BS(
282 this_player()->Name(WER)+" legt vorsichtig ein gueldenes Buch "+
283 "mit schwarzen Lettern aufgeschlagen auf dem Lesepult ab und b"+
284 "etrachtet dieses dann ehrfuerchtig und zutiefst zufrieden.",78),
285 ({this_player()}));
286 return 1;
287}
288
289int cmd_blaettern(string str)
290{
291 notify_fail(BS(
292 "Auf dem Lesepult liegt doch gar kein Tagebuch.",78));
293 if (!(MQTBMASTER->QueryTagebuchAufPult(find_player(owner))))
294 return 0;
295 notify_fail(BS(
296 "Das ist nicht Dein Tagebuch, Du laesst es lieber in Frieden.",78));
297 if (getuid(this_player())!=owner)
298 return 0;
299 this_player()->ReceiveMsg(BS(
300 "Du blaetterst ein wenig durch Dein Tagebuch und stoesst auf e"+
301 "inige raetselhafte schwarze Seiten. Was mag es damit auf sich"+
302 " haben ? Ob Du sie herausnehmen kannst ?",78),MT_LOOK,MA_LOOK);
303 return 1;
304}
305
306int take_page(string str)
307{
308 if (!stringp(str))
309 return 0;
310 if (present(str,environment()))
311 return 0;
312 notify_fail(BS(
313 "Wo siehst Du denn hier ein Buch ?",78));
314 if (!(MQTBMASTER->QueryTagebuchAufPult(this_player()))&&
315 strstr(lower_case(str),"buch")!=-1)
316 return 0;
317 if ((owner!=getuid(this_player()))&&
318 strstr(lower_case(str),"buch")!=-1)
319 notify_fail(BS(
320 "Dies ist nicht Dein Lesepult oder Dein Buch darauf, deshalb l"+
321 "aesst Du es vorsichtshalber liegen.",78));
322 return 0;
323 if ((owner!=getuid(this_player()))&&
324 strstr(lower_case(str),"seite")!=-1)
325 notify_fail(BS(
326 "Die Eigentuemerin oder der Eigentuemer des Lesepults haette s"+
327 "icher etwas dagegen, wenn Du das Buch zerstoerst, also laesst"+
328 " Du es lieber.",78));
329 return 0;
330 // Heilung 1x alle 6 Stunden.
331 if (this_player()->check_and_update_timed_key(21600,"Ark_Hels_Schwarzes_Buch")==-1)
332 {
333 object o;
334 this_player()->ReceiveMsg(BS(
335 "Du reisst erst vorsichtig eine schwarze Seite und dann eine"+
336 " weitere aus dem goldenen Buch. Dann ueberfaellt Dich eine "+
337 "kleine Schwaeche, die Dich vor weiterem Zerstoeren innehalt"+
338 "en laesst. Du solltest Hels Grosszuegigkeit nicht ueberscha"+
339 "etzen.",78),MT_FEEL,MA_TAKE);
340 tell_room(environment(),BS(
341 this_player()->Name(WER)+" reisst zwei Seiten aus dem Buch, "+
342 "das auf dem Pult liegt. Dann haelt "+this_player()->QueryPronoun(WER)+""+
343 " inne, wahrscheinlich folgt "+this_player()->QueryPronoun(WER)+""+
344 " einer klugen Eingebung.",78));
345 o=clone_object(OBJ("reg_seite"));
346 if (o->move(this_player())!=MOVE_OK)
347 {
348 o->remove(1);
349 this_player()->ReceiveMsg(BS(
350 "Du kannst die erste Seite nicht mehr tragen, sie loest sic"+
351 "h einfach auf.",78),MT_MAGIC,MA_REMOVE);
352 }
353 // Die erste Seite behandelt, hier, falls man auch die zweite
354 // Seite nicht tragen kann oder mit der ersten am Limit ist.
355 o=clone_object(OBJ("reg_seite"));
356 if (o->move(this_player())!=MOVE_OK)
357 {
358 o->remove(1);
359 this_player()->ReceiveMsg(BS(
360 "Du kannst die zweite Seite nicht mehr tragen, sie loest si"+
361 "ch einfach auf.",78),MT_MAGIC,MA_REMOVE);
362 }
363 return 1;
364 }
365 this_player()->ReceiveMsg(BS(
366 "Vergeblich reisst Du mehr oder weniger vorsichtig an einigen"+
367 " schwarzen Seiten im Buch herum, doch sie bleiben stoerrisch"+
368 ". Es wird wohl ein wenig dauern, bis Du das wieder versuchen"+
369 " kannst.",78),MT_MAGIC,MA_USE);
370 tell_room(environment(),BS(
371 this_player()->Name(WER)+" reisst im Buch auf dem Lesepult he"+
372 "rum.",78),({this_player()}));
373 return 1;
374}
375
376int cmd_lesen(string str)
377{
378int k;
379 if(!str) return 0;
380 if (owner=="Anonymus")
381 {
382 write (BS(
383 "Dieses Lesepult scheint niemandem zu gehoeren ... es loest s"+
384 "ich daher einfach auf, als Du darauf etwas lesen willst.",78));
385 remove(1);
386 return 1;
387 }
388 if (getuid(this_player())!=owner)
389 {
390 notify_fail(BS(
391 "Dieses Tagebuch gehoert "+capitalize(owner)+", nicht Dir, Du"+
392 " bist eigentlich nicht so recht an dem interessiert, was man"+
393 " in dem Buch niedergeschrieben hat. Sicher ist es uebertrieb"+
394 "en langatmig formuliert und stimmt nicht genau mit dem ueber"+
395 "ein, was wirklich geschah. Man kennt das ja.",78));
396 return 0;
397 }
398 if (strstr(lower_case(str),"kapitel",0)!=-1&&
399 sscanf(lower_case(str),"kapitel %d",k)!=1)
400 {
401 write (BS(
402 "Willst Du ein Kapitel aus dem Buch lesen ? Dann gib bitte ei"+
403 "ne Ziffer an.",78));
404 return 1;
405 }
406 if (k>0)
407 {
408 MQTBMASTER->LiesQuest(k,this_player());
409 return 1;
410 }
411 return 0;
412}
413
414int cmd_eintragen(string str)
415{
416int i;
417 if (!(MQTBMASTER->QueryTagebuchAufPult(this_player())))
418 {
419 notify_fail(BS(
420 "Du findest hier nichts, worin Du etwas eintragen koenntest.",78));
421 return 0;
422 }
423 if (getuid(this_player())!=owner)
424 {
425 notify_fail(BS(
426 "Dieses Tagebuch gehoert "+capitalize(owner)+", nicht Dir, Du"+
427 " kannst darin nichts eintragen.",78));
428 return 0;
429 }
430 notify_fail(BS(
431 "Deine Missionen im Knochentempel ... besser gesagt, dem Wyrmt"+
432 "empel, sie sind allesamt tapfer von Dir erfuellt worden. Du k"+
433 "annst hier nichts weiter mehr eintragen, sicher aber von der "+
434 "arkanen Macht des Buches profitieren, wenn Du es einmal durch"+
435 "blaetterst.",78));
436 return 0;
437}
438
439string calc_name()
440{
441string *nam;
442string res;
443int i,j;
444 res="";
445 if (owner=="")
446 return "";
447 nam=explode(upperstring(owner),"");
448 if (j=sizeof(nam))
449 {
450 switch(j)
451 {
452 case 3..4:
453 res=" ";
454 break;
455 case 5:
456 res=" ";
457 break;
458 case 7:
459 res=" ";
460 break;
461 case 9:
462 res=" ";
463 break;
464 default:
465 res=" ";
466 }
467 for (i=0;i<j;i++)
468 {
469 res+=nam[i]+" ";
470 }
471 }
472 return res;
473}
474
475string le(string key)
476{
477 return "\n"+
478 " De Templum Os Hel\n\n"+
479 calc_name()+"\n\n";
480}
481
482string in(string key)
483{
484 if (owner!=getuid(this_player()))
485 return "Dort steht allerdings nichts. Seltsam.\n";
486 return MQTBMASTER->LiesInhalt(find_player(owner));
487}
488
489// Das hier bezeichnet den Urheber des Moebelstuecks.
490// Nicht meine Idee!
491string GetOwner() { return "Ark"; }
492
493int cmd_oeffnen(string str)
494{
495 if (strstr(lower_case(str),"pult")!=-1)
496 {
497 this_player()->ReceiveMsg(
498 "Du kannst das Pult nicht oeffnen, nur etwas zum Lesen darauflegen.",
499 MT_LOOK,MA_FEEL);
500 return 1;
501 }
502 if (strstr(lower_case(str),"buch")!=-1)
503 {
504 if (!(MQTBMASTER->QueryTagebuchAufPult(this_player())))
505 return 0;
506 this_player()->ReceiveMsg(
507 "Das schwarze Buch ist doch schon geoeffnet.",MT_LOOK,MA_FEEL);
508 return 1;
509 }
510 // Alles andere per Default.
511 return 0;
512}
513
514int cmd_schliessen(string str)
515{
516 if (strstr(lower_case(str),"pult")!=-1)
517 {
518 this_player()->ReceiveMsg(
519 "Du kannst das Pult nicht schliessen.",MT_LOOK,MA_FEEL);
520 return 1;
521 }
522 if (strstr(lower_case(str),"buch")!=-1)
523 {
524 if (!(MQTBMASTER->QueryTagebuchAufPult(this_player())))
525 return 0;
526 this_player()->ReceiveMsg(
527 "Das Buch bleibt trotz Deiner Bemuehungen einfach offen.",MT_LOOK,MA_FEEL);
528 return 1;
529 }
530 else return 0;
531}
532
533mixed _query_noget()
534{
535 if (getuid(this_player())!=owner)
536 return BS(
537 "Dies ist offensichtlich nicht Dein Pult, deshalb laesst "+
538 "Du es auch besser liegen.",78);
539 return 0;
540}
541
542string _query_autoloadobj()
543{
544 return QueryOwner();
545}
546
547string _set_autoloadobj(string s)
548{
549 return QueryOwner();
550}
551
552// Beim Kauf setzen wir erstmal nur den Eigentuemer.
553// Ist aus Swifts Container, der diese Funktion im
554// NotifyMove() aufruft.
555protected void SetBesitzer(string uid, string uuid)
556{
557 SetOwner(uid);
558 MQTBMASTER->AddLesepult(find_player(uid)||find_netdead(uid));
559}