blob: 25885bb7cd9d40d19b550477347bdac90f397c65 [file] [log] [blame]
notstromd8a66ae2019-01-12 12:46:38 +01001inherit "/std/room";
2
3#include __PATH__(1)"defs.h"
4
5private void greeting();
6private string* greeted = ({});
7
8
9protected void create() {
10 ::create();
11
12 SetProp(P_INT_SHORT, "Eine schummrige Huette");
13 SetProp(P_INT_LONG, BSLF(
14 "In diesem Raum hier ist nichts los. Du kannst also eigentlich einfach "
15 "weitergehen."));
16
17 SetProp(P_LIGHT, 1);
18 SetProp(P_INDOORS, 1);
19 SetProp(P_LIGHT_TYPE, LT_GLOWING);
20}
21
22void reset() {
23 ::reset();
24 /* Bei Raumreset "vergessen" wir, wer alles schon die verzoegerte Meldung
25 bekommen hat, damit man die auch mehrmals erhalten kann, ohne dass man
26 jedesmal von ihr bespammt wird. */
27 greeted = ({});
28}
29
30public varargs void init(object origin) {
31 ::init();
32
33 if (TP &&
34 interactive(TP) &&
35 member(greeted, getuuid(TP)) == -1 &&
36 find_call_out(#'greeting) == -1)
37 call_out(#'greeting, 3);
38}
39
40private void greeting() {
41 /* Wir pruefen hier, ob der Spieler, der den Callout ausgeloest hat,
42 ueberhaupt noch anwesend ist. Wenn der Spieler gestorben ist, ausgeloggt
43 hat oder den Raum verlassen hat, machen wir gar nichts. */
44 if (ENV(TP) == TO)
45 greeted += ({getuuid(TP)});
46 tell_object(TP, BSPS(
47 "Tatsaechlich. In diesem Raum hier ist ueberhaupt nichts los."));
48}