blob: b7513a86153d98d7bae0246312fe2b3a3d4b914e [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001// tragbare Seher-FAQ, gibt es im Seherladen zu kaufen bzw. automatisch zur Seherwerdung
2// Rikus@mg.mud.de
3
Zesstra6b09f862019-01-07 21:12:49 +01004inherit "/std/thing";
MG Mud User88f12472016-06-24 23:31:02 +02005
6#include <properties.h>
7#include <wizlevels.h>
8#include "../haus.h"
9
10#define FAQ(f) (SPECIALPATH+"faq/"+(f))
11
12static string *seite;
13
Zesstra6b09f862019-01-07 21:12:49 +010014mapping synonym = ([
15 "neuigkeiten":"0",
16 "transport":"1",
17 "transporter":"1",
18 "transportmoeglichkeit":"1",
19 "transportmoeglichkeiten":"1",
20 "portale":"1",
21 "seherportale":"1",
22 "sehertore":"1",
23 "quest":"2",
24 "quests":"2",
25 "seherquest":"2",
26 "seherquests":"2",
27 "fluchtrichtung":"3",
28 "level":"4",
29 "seherlevel":"4",
30 "kommunikation":"5",
31 "kugel":"6",
32 "magische kugel":"6",
33 "seherkugel":"6",
34 "kristallkugel":"6",
35 "seherladen":"7",
36 "designer-seher":"8",
37 "designerseher":"8",
38 "fehlermeldung":"9",
39 "paralleldimension":"10",
40 "portal":"11",
41 "paraportal":"11",
42 "para-portal":"11",
43 "finger":"12",
44 "finger-befehl":"12",
45 "fingerbefehl":"12",
46 "echo":"13",
47 "remote":"13",
48 "r-emote":"13",
49 "haus":"14",
50 "haeuser":"14",
51 "seherhaus":"14",
52 "seherhaeuser":"14",
53 "nachwort":"15",
54 "danksagung":"16",
55 "danksagungen":"16",
56]);
MG Mud User88f12472016-06-24 23:31:02 +020057
Zesstra6b09f862019-01-07 21:12:49 +010058protected void create() {
59 if ( !clonep() ) {
60 set_next_reset(-1);
61 return;
62 }
MG Mud User88f12472016-06-24 23:31:02 +020063 ::create();
Zesstra6b09f862019-01-07 21:12:49 +010064
MG Mud User88f12472016-06-24 23:31:02 +020065 SetProp(P_SHORT,"Die SeherFAQ");
66 SetProp(P_NAME,"SeherFAQ");
67 SetProp(P_GENDER,FEMALE);
Zesstra6b09f862019-01-07 21:12:49 +010068 SetProp(P_LONG, break_string(
69 "Dies ist die SeherFAQ. Wenn Du weitere Fragen oder Anregungen zu "
70 "dieser FAQ hast, sei so nett und schicke dem Regionsmagier Seher oder "
71 "einem Erzmagier einen kurzen Brief. Zum Inhalt der FAQ kommst Du mit "
72 "dem Befehl 'lies inhalt'",78));
MG Mud User88f12472016-06-24 23:31:02 +020073 SetProp(P_WEIGHT,100);
74 SetProp(P_VALUE,1000);
75 AddId(({"faq","seherfaq"}));
76 AddCmd("lies","lesen");
MG Mud User88f12472016-06-24 23:31:02 +020077 seite = get_dir(FAQ("*"))-({".","..","faq.o"});
78}
79
Zesstra6b09f862019-01-07 21:12:49 +010080public varargs void init(object oldenv) {
81 ::init(oldenv);
82 object o = environment();
83 if ( objectp(o) && query_once_interactive(o) && !IS_SEER(o) )
84 call_out("wech",0);
MG Mud User88f12472016-06-24 23:31:02 +020085}
86
Zesstra6b09f862019-01-07 21:12:49 +010087void wech() {
88 write("Die Seher-FAQ lacht Dich aus und loest sich in Wohlgefallen auf.\n");
89 remove();
MG Mud User88f12472016-06-24 23:31:02 +020090}
91
Zesstra6b09f862019-01-07 21:12:49 +010092int lesen(string str) {
MG Mud User88f12472016-06-24 23:31:02 +020093 if (!str || str == "") {
94 notify_fail("Was willst Du denn lesen?\n");
95 return 0;
96 }
Zesstra6b09f862019-01-07 21:12:49 +010097 if (environment()!=this_player()) {
98 notify_fail("Du musst die FAQ schon erst nehmen!\n");
99 return 0;
MG Mud User88f12472016-06-24 23:31:02 +0200100 }
101 str = lower_case(this_player()->_unparsed_args());
102 if (member(seite,str)<0) {
103 if (!member(synonym,str)) {
104 notify_fail("Diese Seite gibt es nicht...\n");
105 return 0;
106 }
107 else
108 str = synonym[str];
109 }
110 this_player()->More(FAQ(str),1);
111 return 1;
112}
113
Zesstra6b09f862019-01-07 21:12:49 +0100114string _query_extralook() {
115 object owner = environment();
116 return sprintf("Mit %s Seher-FAQ outet %s sich als Wurstseher%s.\n",
117 owner->QueryPossPronoun(this_object(), WEM, SINGULAR),
118 owner->QueryPronoun(WER),
119 owner->QueryProp(P_GENDER)==FEMALE ? "in" : "" );
MG Mud User88f12472016-06-24 23:31:02 +0200120}