blob: 136f2e8034bb37bfabd252f986663e686c0703cd [file] [log] [blame]
notstroma8a195b2019-01-06 15:36:17 +01001inherit "/std/room";
2
3#include __PATH__(1)"defs.h"
4
5private void delayed();
6
7
8protected void create() {
9 ::create();
10
11 SetProp(P_INT_SHORT, "Eine schummrige Huette");
12 SetProp(P_INT_LONG, BSLF(
13 "Noch ein leerer Raum. Moment - nicht ganz, da ist ein haesslicher Fleck "
notstrom4b1cc982019-01-06 15:37:05 +010014 "auf dem Boden."));
notstroma8a195b2019-01-06 15:36:17 +010015
16 SetProp(P_LIGHT, 1);
17 SetProp(P_INDOORS, 1);
18 SetProp(P_LIGHT_TYPE, LT_GLOWING);
19
20 AddDetail("fleck", function string() {
notstromf7502ba2019-01-06 15:45:44 +010021 /* Ueblicherweise sollte man sicherstellen, dass keine Schwemme an
22 call_outs auftreten kann, denn dadurch kann man das Mud relativ leicht
23 in die Knie zwingen. Gerade wenn die Callouts wie hier direkt von den
notstrom42bcfcb2019-01-06 15:46:45 +010024 Spielern gestarten werden koennen, ist das wichtig. Wir checken also,
notstromf7502ba2019-01-06 15:45:44 +010025 bevor wir einen neuen Callout starten, ob bereits ein Callout auf
26 dieselbe Function laeuft: */
notstroma8a195b2019-01-06 15:36:17 +010027 if (find_call_out(#'delayed) == -1)
28 call_out(#'delayed, 3);
29 else
30 return BSLF("Nicht so schnell hintereinander! Willst Du das Mud mit "
31 "Callouts fluten?");
32
33 return BSLF("Ja, dieser Fleck ist wirklich haesslich.");
34 });
35}
36
37private void delayed() {
notstromb9d45102019-01-06 15:52:18 +010038 /* Wir pruefen hier, ob der Spieler, der den Callout ausgeloest hat,
39 ueberhaupt noch anwesend ist. Wenn der Spieler gestorben ist, ausgeloggt
40 hat oder den Raum verlassen hat, machen wir gar nichts. */
notstroma8a195b2019-01-06 15:36:17 +010041 if (ENV(TP) == TO)
42 tell_object(TP, BSPS(
43 "WER IST HIER HAESSLICH?!",
44 "Eine Stimme droehnt: "));
45}