blob: f30df77d25b7905d219e185273d80b09ae0247a3 [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() {
MG Mud User88f12472016-06-24 23:31:02 +020059 ::create();
Zesstra6b09f862019-01-07 21:12:49 +010060
MG Mud User88f12472016-06-24 23:31:02 +020061 SetProp(P_SHORT,"Die SeherFAQ");
62 SetProp(P_NAME,"SeherFAQ");
63 SetProp(P_GENDER,FEMALE);
Zesstra5eff12d2023-12-30 18:59:44 +010064
65 if ( !clonep() ) {
66 set_next_reset(-1);
67 return;
68 }
69
Zesstra6b09f862019-01-07 21:12:49 +010070 SetProp(P_LONG, break_string(
71 "Dies ist die SeherFAQ. Wenn Du weitere Fragen oder Anregungen zu "
72 "dieser FAQ hast, sei so nett und schicke dem Regionsmagier Seher oder "
73 "einem Erzmagier einen kurzen Brief. Zum Inhalt der FAQ kommst Du mit "
74 "dem Befehl 'lies inhalt'",78));
MG Mud User88f12472016-06-24 23:31:02 +020075 SetProp(P_WEIGHT,100);
76 SetProp(P_VALUE,1000);
77 AddId(({"faq","seherfaq"}));
78 AddCmd("lies","lesen");
MG Mud User88f12472016-06-24 23:31:02 +020079 seite = get_dir(FAQ("*"))-({".","..","faq.o"});
80}
81
Zesstra6b09f862019-01-07 21:12:49 +010082public varargs void init(object oldenv) {
83 ::init(oldenv);
84 object o = environment();
85 if ( objectp(o) && query_once_interactive(o) && !IS_SEER(o) )
86 call_out("wech",0);
MG Mud User88f12472016-06-24 23:31:02 +020087}
88
Zesstra6b09f862019-01-07 21:12:49 +010089void wech() {
90 write("Die Seher-FAQ lacht Dich aus und loest sich in Wohlgefallen auf.\n");
91 remove();
MG Mud User88f12472016-06-24 23:31:02 +020092}
93
Zesstra6b09f862019-01-07 21:12:49 +010094int lesen(string str) {
MG Mud User88f12472016-06-24 23:31:02 +020095 if (!str || str == "") {
96 notify_fail("Was willst Du denn lesen?\n");
97 return 0;
98 }
Zesstra6b09f862019-01-07 21:12:49 +010099 if (environment()!=this_player()) {
100 notify_fail("Du musst die FAQ schon erst nehmen!\n");
101 return 0;
MG Mud User88f12472016-06-24 23:31:02 +0200102 }
103 str = lower_case(this_player()->_unparsed_args());
104 if (member(seite,str)<0) {
105 if (!member(synonym,str)) {
106 notify_fail("Diese Seite gibt es nicht...\n");
107 return 0;
108 }
109 else
110 str = synonym[str];
111 }
112 this_player()->More(FAQ(str),1);
113 return 1;
114}
115
Zesstra6b09f862019-01-07 21:12:49 +0100116string _query_extralook() {
117 object owner = environment();
118 return sprintf("Mit %s Seher-FAQ outet %s sich als Wurstseher%s.\n",
119 owner->QueryPossPronoun(this_object(), WEM, SINGULAR),
120 owner->QueryPronoun(WER),
121 owner->QueryProp(P_GENDER)==FEMALE ? "in" : "" );
MG Mud User88f12472016-06-24 23:31:02 +0200122}