blob: 226312030131e123820a0c6882ee5857897dce7a [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001// Name des Objects: Waschobjekt
2// Letzte Aenderung: 01.04.2005
3// Magier: Seleven
4// Dieses File gibt dem Spieler die Moeglichkeit, eine Waschgelegenheit in
Zesstra3be32852021-05-13 14:12:00 +02005// seinem Seherhaus aufzustellen.
MG Mud User88f12472016-06-24 23:31:02 +02006// 01.07.2007 (Zesstra): GetOwner() definiert.
7//----------------------------------------------------------------------------
8#pragma strong_types,rtt_checks
9
10#include "schrankladen.h"
11inherit LADEN("swift_std_container");
12
MG Mud User88f12472016-06-24 23:31:02 +020013string *objekte =
14 (({"\nstinkobj","\nzesstra_asche","seleve\nscheisse","\npopc",
15 "\nsspbollen","seleve\nstinkobj","\nq2p_gestank","ber\tram_skot",
16 "bambi\nschmutzigehaende"}));
17/* Wurzel(Klo/Imbiss), Zesstra(Vulkan/Illuminatos), Seleven(Klo/Nebelelfen),
18 * Seleven(Popcorn/Nebelelfen), Boing(Schleimschmeisser,SSP), STANDART
19 */
Zesstra3be32852021-05-13 14:12:00 +020020#define XLOOK_IDS ({"saitha_unterwelt_staub_haende",\
21 "saitha_unterwelt_staub_ueberall","saitha_unterwelt_schimmel",\
22 })
MG Mud User88f12472016-06-24 23:31:02 +020023
24static void wasch_fun();
25
26protected void create()
27{
Zesstra3be32852021-05-13 14:12:00 +020028 if (!clonep(this_object()))
29 {
30 set_next_reset(-1);
31 return;
32 }
MG Mud User88f12472016-06-24 23:31:02 +020033 ::create();
34
MG Mud User88f12472016-06-24 23:31:02 +020035 AddId(({"duschkabine","kabine","dusche","waschgelegenheit"}));
36 SetProp(P_NAME,"Duschkabine");
Zesstra3be32852021-05-13 14:12:00 +020037 SetProp("cnt_version_obj",2);
MG Mud User88f12472016-06-24 23:31:02 +020038
39 SetProp("obj_cmd",
40 "wasch(e), dusch(e)\n"+
Zesstra3be32852021-05-13 14:12:00 +020041 " Damit lassen sich verschiedene Verunreinigungen von Deinem Koerper\n"
42 " abwaschen.\n");
MG Mud User88f12472016-06-24 23:31:02 +020043
44 SetProp(P_SHORT,"Eine Duschkabine");
45 SetProp(P_LONG,BS("Die Duschkabine hat einen Rahmen aus hellem Holz. "
46 "Dazwischen wurden matte Scheiben eingelassen, damit man niemanden beim "
47 "Duschen beobachten kann."));
48 AddDetail("rahmen","Der Rahmen ist aus hellem Holz.\n");
49 AddDetail(({"scheiben","scheibe"}),"Die Scheiben der Duschkabine sind "+
50 "matt und absolut undurchsichtig!\n");
51 AddDetail(({"duschen","beim duschen"}),
52 "Man kann niemanden beim Duschen beobachten.\n");
53
54 SetProp(P_GENDER, FEMALE);
Zesstra3be32852021-05-13 14:12:00 +020055 SetProp(P_WEIGHT, 25000); // Gewicht 25 Kg
MG Mud User88f12472016-06-24 23:31:02 +020056 SetProp(P_MAX_WEIGHT, 0); // Soll nur n pseudo-Container
MG Mud User88f12472016-06-24 23:31:02 +020057 SetProp(P_MAX_OBJECTS, 0); // Kein Container :)
58 SetProp(P_VALUE, 0); // Ist eh nicht verkaufbar.
Zesstra3be32852021-05-13 14:12:00 +020059 SetProp(P_NOBUY, 1); // Falls doch: zerstoeren!
MG Mud User88f12472016-06-24 23:31:02 +020060 SetProp(P_NOGET,
61 "Das geht nicht. "+Name(WER,1)+" haftet wie magisch am Boden.\n");
Zesstra3be32852021-05-13 14:12:00 +020062 SetProp(P_MATERIAL, ([MAT_MISC_WOOD:20, MAT_GLASS: 30,
63 MAT_MARBLE: 40,
64 MAT_MISC_MAGIC:5, MAT_BRASS:5]) );
MG Mud User88f12472016-06-24 23:31:02 +020065 SetProp(P_INFO, "Versuchs mal mit: \"skommandos "+QueryProp(P_IDS)[1]+"\" !\n");
66
Zesstra3be32852021-05-13 14:12:00 +020067 AddCmd(({"wasche","wasch","dusche","dusch"}),"cmd_waschen");
MG Mud User88f12472016-06-24 23:31:02 +020068 RemoveCmd(({"oeffne","oeffn","schliesse","schliess"}));
MG Mud User88f12472016-06-24 23:31:02 +020069}
70
71// Zesstra, 1.7.07, fuers Hoerrohr
72string GetOwner() {return "seleven";}
73
74varargs int PreventInsert(object ob) {return 1;} //Das ist kein Container :)
75
76static void wasch_fun()
77{
Zesstra3be32852021-05-13 14:12:00 +020078 if(!TP) return;
79 foreach(string obj_id : objekte)
MG Mud User88f12472016-06-24 23:31:02 +020080 {
Zesstra3be32852021-05-13 14:12:00 +020081 object ob;
82 while(ob = present(obj_id,TP))
MG Mud User88f12472016-06-24 23:31:02 +020083 {
MG Mud User88f12472016-06-24 23:31:02 +020084 ob->remove(1);
MG Mud User88f12472016-06-24 23:31:02 +020085 }
Zesstra3be32852021-05-13 14:12:00 +020086 }
87 foreach(string xlid: XLOOK_IDS)
88 {
89 TP->RemoveExtraLook(xlid);
MG Mud User88f12472016-06-24 23:31:02 +020090 }
91}
92
93int cmd_waschen(string str)
94{
MG Mud User88f12472016-06-24 23:31:02 +020095 if( !erlaubt() )
96 {
97 write("Du solltest den Besitzer vielleicht um Erlaubnis bitten.\n");
98 return 1;
99 }
Zesstra3be32852021-05-13 14:12:00 +0200100 write("Du springst schnell unter die Dusche und waeschst Dich gruendlich.\n");
101 say(this_player()->Name(WER)+" springt schnell unter die Dusche.\n");
MG Mud User88f12472016-06-24 23:31:02 +0200102 wasch_fun();
103 return 1;
104}
105
MG Mud User88f12472016-06-24 23:31:02 +0200106// oeffnen und schliessen ausbauen.
107varargs int skommandos(string str)
108{
109 notify_fail( "Fehler: Dieser Befehl benoetigt eine gueltige Objekt-Id als Parameter.\n"
110 +"Beispiel: skommandos "+QueryProp(P_IDS)[1]+"\n");
111 if(!str) return 0;
112 if(present(str)!=TO ) // Bin ich gemeint?
113 return 0;
114 write("=============================================================================\n");
115 write("Aktuelle Version: "+QueryProp("cnt_version_std")+QueryProp("cnt_version_obj")+"\n");
116 write( BS(Name(WER,1)+" kann nur in diesem Seherhaus verwendet werden, "
Zesstra3be32852021-05-13 14:12:00 +0200117 "da "+QueryPronoun(WER)+" speziell dafuer gekauft wurde. "+CAP(QueryPronoun(WER))
Zesstrafe1c61a2021-05-13 14:26:34 +0200118 +" verfuegt ueber folgende Kommandos:")+
Zesstra3be32852021-05-13 14:12:00 +0200119 "-----------------------------------------------------------------------------\n"
120 "serlaube [Objekt-Id] [Spielername|\"hausfreunde\"|\"zweities\"]\n"
121 " Erlaubt Personen, "+name(WEN,1)+" mitzubenutzen.\n"
122 " serlaube + Objekt-Id (ohne Spielername/hausfreunde)\n"
123 " listet alle Personen mit Zugriff auf "+name(WEN,1)+"\n\n"
124 "verschiebe [Objekt-Id] nach [Ausgang]\n"
125 " Damit kannst Du "+name(WEN,1)+" innerhalb Deines Seherhauses verschieben.\n\n"
126 "sverstecke [Objekt-Id]\n"
127 " Damit machst Du "+name(WEN,1)+" unsichtbar.\n"
128 "shole [Objekt-Id] hervor\n"
129 " Damit machst Du "+name(WEN,1)+" wieder sichtbar.\n"
130 "zertruemmer [Objekt-Id]\n"
131 " Damit zerstoerst Du "+name(WEN,1)+".\n\n");
MG Mud User88f12472016-06-24 23:31:02 +0200132
133
134 if( QueryProp("obj_cmd") )
135 write( QueryProp("obj_cmd")+"\n" );
136
137 write("[Objekt-Id] muss eine gueltige Id sein, in diesem Fall z.B. "
138 +QueryProp(P_IDS)[1]+"\n");
139 write("=============================================================================\n");
140
141
142 return 1;
143}
144