blob: 9fed2196c39110963eb0c6ff582b6b2c42058406 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001#include <properties.h>
2#include <wizlevels.h>
3#include <moving.h>
4#include <bank.h>
5#include "haus.h"
6
7inherit "std/room";
8
9create()
10{
11 ::create();
12
13 SetProp(P_INDOORS, 1);
14 SetProp(P_LIGHT, 1);
15 SetProp(P_INT_SHORT, "Am Ausgabeschalter" );
16 SetProp(P_INT_LONG,
17 "Am Ausgabeschalter. Wenn Du alle Raten fuer Deinen Vertrag eingezahlt hast,\n"
18 +"kannst Du nun Dein Haus abholen. Dazu musst Du einfach nur Deinen Vertrag\n"
19 +"vorlegen (mit 'lege vertrag vor').\n"
20 +"Der Schemen am Schalter koennte ein Beamter sein, aber auch etwas viel, viel\n"
21 +"Schlimmeres...\n" );
22
23 AddDetail( ({ "boden" }),
24 "Der tiefschwarze Boden gibt Dir das Gefuehl, im absoluten Nichts zu stehen.\n" );
25 AddDetail( ({ "wand", "waende" }),
26 "Dunkle Schatten tanzen ueber die Waende.\n" );
27 AddDetail( ({ "decke" }),
28 "Sie scheint Dir in dieser unheimlichen Umgebung auf den Kopf fallen zu\n"
29 +"wollen.\n" );
30 AddDetail( ({ "nichts" }),
31 "Du siehst nichts.\n" );
32 AddDetail( ({ "schatten" }),
33 "Die Schatten irritieren Dich sehr.\n" );
34 AddDetail( ({ "schalter", "ausgabeschalter" }),
35 "Du stehst direkt vor dem Ausgabeschalter.\n" );
36 AddDetail( ({ "beamte", "beamter", "beamten", "schalterbeamter", "schalterbeamte", "schalterbeamten", "schemen", "schlimmeres" }),
37 "Der Schalterbeamte schaut Dich mit aufgesetztem Laecheln an.\n" );
38
39 AddCmd( ({ "leg", "lege" }), "legen" );
40 AddExit( "raus", PATH+"seherbank" );
41}
42
43void
44BecomesNetDead(object pl)
45{
46 pl->move(PATH+"seherbank", M_GO, 0, "wird rausgeworfen", "schlafwandelt herein");
47}
48
49int
50legen(string str)
51{
52 object vertrag, tp;
53
54 tp = this_player();
55 vertrag = present("sehe\rvertrag", tp);
56
57 if (!str || str != "vertrag vor")
58 return 0;
59
60 if (!IS_SEER(tp)) {
61 write( "Der Schalterbeamte blickt Dich scharf an. Er sagt: Nur SeherInnen\n"
62 +"koennen hier ein Haus abholen!\n" );
63 HLOG( "BANK.LOG", "Ausgabe: "+getuid(tp)+" ist kein Seher.\n" );
64 }
65 else if (tp->QueryProp(P_KILLS))
66 write( "Der Schemen faucht: Verbrecher werden hier nicht bedient!\n" );
67 else if (!vertrag) {
68 write( "Der Schemen bemerkt: Sie haben doch gar keinen Vertrag!\n" );
69 HLOG( "BANK.LOG", "Ausgabe: "+getuid(tp)+" hatte keinen Vetrag.\n" );
70 }
71 else if (old_explode(object_name(vertrag),"#")[0] != PATH+"bausparvertrag") {
72 HLOG( "BANK.LOG", "Ausgabe: "+getuid(tp)+" Falscher Vertrag!\n");
73 HLOG( "SCHUMMEL", sprintf("Ausgabe: TP: %O, V: %O\n",
74 this_player(),
75 vertrag->QueryProp(P_CLONER)));
76 }
77 else if (!(vertrag->QueryProp(P_AUTOLOADOBJ)[1] & V_COMPL)) {
78 write( "Der Schalterbeamte weist Dich darauf hin, dass Du noch nicht genug\n"
79 +"auf den Vertrag eingezahlt hast!\n" );
80 HLOG( "BANK.LOG", "Ausgabe: "+getuid(tp)+" hatte zu wenig eingezahlt.\n" );
81 }
82 else if (ZENTRALBANK->_query_current_money() < 30000) {
83 write( "Der Schalterbeamte weist Dich darauf hin, dass die Zentralbank im\n"
84 +"Moment leider nicht ueber genug Bargeldreserven verfuegt, um ihren\n"
85 +"Teil der Abmachung zu erfuellen. Er vertroestet Dich auf spaeter.\n" );
86 }
87 else if (vertrag->QueryProp(P_AUTOLOADOBJ)[1] & V_RAUM) {
88 VERWALTER->NeuerRaum(getuid(this_player()));
89 write( "Der Schemen hinter dem Schalter streckt einen langen, schattigen Finger\n"
90 +"nach Deinem Vertrag aus. Wie von Geisterhand bewegt gleitet der Vertrag\n"
91 +"hinueber. Der Schemen scheint den Vertrag ausgiebig zu pruefen, dann\n"
92 +"zerreisst er ihn, wedelt einmal mit seinen schattenhaften Haenden und\n"
93 +"beginnt mit Grabesstimme zu sprechen:\n"
94 +"Der neue Raum ist in ihrem Haus installiert! Hinfort mit Ihnen!\n" );
95 HLOG( "BANK.LOG", "Ausgabe: "+getuid(tp)+" bekam einen neuen Raum.\n" );
96 HLOG( getuid(tp), "Ausgabe: "+getuid(tp)+" bekam einen neuen Raum.\n" );
97 "/p/daemon/zentralbank"->WithDraw(30000);
98 vertrag->remove();
99 }
100 else {
101 write( "Der Schemen hinter dem Schalter streckt einen langen, schattigen Finger\n"
102 +"nach Deinem Vertrag aus. Wie von Geisterhand bewegt gleitet der Vertrag\n"
103 +"hinueber. Der Schemen scheint den Vertrag ausgiebig zu pruefen, dann\n"
104 +"zerreisst er ihn, wedelt einmal mit seinen schattenhaften Haenden und\n"
105 +"vor Dir erscheint ein kleines, tragbares Haus. Zoegernd nimmst Du es in\n"
106 +"Deine Haende, da erschallt eine grollende Stimme:\n"
107 +"Das Haus gehoert Ihnen. Beehren sie uns bald wieder! Har, har, har!!!\n" );
108 clone_object(PATH+"traghaus")->move(tp, M_NOCHECK);
109 HLOG( "BANK.LOG", "Ausgabe: "+getuid(tp)+" bekam das Haus.\n" );
110 HLOG( getuid(tp), "Ausgabe: "+getuid(tp)+" bekam das Haus.\n" );
111 "/p/daemon/zentralbank"->WithDraw(30000);
112 vertrag->remove();
113 }
114 return 1;
115}