#include <properties.h>#include <wizlevels.h>#include <hook.h>
gehe zum Quellcode dieser Datei
Makrodefinitionen | |
| #define | OFFICE "/d/wueste/catweazle/room/office" |
Funktionen | |
| create () | |
| init () | |
| void | exit (object liv) |
| bla () | |
| murks (str) | |
| public varargs | remove (int silent) |
| public string | NotifyDestruct (object caller) |
| status | HookRegistrationCallback (object registringObject, int hookid, object hookSource, int registringObjectsPriority, int registringObjectsType) |
| status | HookCancelAllowanceCallback (object cancellingObject, int hookid, object hookSource, int cancellingObjectsPriority, mixed hookData) |
| status | HookModificationAllowanceCallback (object modifyingObject, int hookid, object hookSource, int modifyingObjectsPriority, mixed hookData) |
| mixed | HookCallback (object hookSource, int hookid, mixed hookData) |
| varargs void | NotifyRemove (object ob) |
Variablen | |
| inherit std | room |
| inherit std | hook_consumer |
| bla | ( | ) |
Definiert in Zeile 46 der Datei jail.c.
Benutzt input_to().
00047 { 00048 string v; 00049 00050 v=query_verb(); 00051 input_to("murks",0); 00052 // sagen und schlafen erlaubt. 00053 if (stringp(v) && (v=="sag"||v=="sage"||v[0]=='\'' 00054 ||v=="schlafe"||v=="schlaf")) 00055 return 0; 00056 write("Nix da.\n"); 00057 return 1; 00058 }

| create | ( | ) |
Definiert in Zeile 10 der Datei jail.c.
Benutzt break_string(), create(), P_INDOORS, P_INT_LONG, P_INT_SHORT, P_LIGHT und SetProp().
00011 { 00012 ::create(); 00013 SetProp(P_LIGHT, 1 ); 00014 SetProp(P_INT_SHORT,"Eine Gefaengniszelle"); 00015 SetProp(P_INT_LONG, break_string( 00016 "Die Zelle ist absolut eintoenig und hat keine Fenster. Lange hier drin" 00017 "zu sitzen ist bestimmt nicht angenehm. Wenn du hier heraus willst, " 00018 "kannst Du wohl nur den Sheriff, seinen Stellvertreter oder einen " 00019 "Erzmagier darum bitten.",78)); 00020 SetProp(P_INDOORS,1); 00021 }

| void exit | ( | object | liv | ) |
Definiert in Zeile 41 der Datei jail.c.
Benutzt H_HOOK_MOVE und IS_DEPUTY.
00041 { 00042 if (objectp(liv) && !IS_DEPUTY(liv)) 00043 liv->HUnregisterFromHook(H_HOOK_MOVE,this_object()); 00044 }
| mixed HookCallback | ( | object | hookSource, | |
| int | hookid, | |||
| mixed | hookData | |||
| ) |
Definiert in Zeile 138 der Datei jail.c.
Benutzt H_CANCELLED, H_HOOK_MOVE, H_NO_MOD und IS_DEPUTY.
00138 { 00139 // nur move hooks sind interessant hier. 00140 if (hookid != H_HOOK_MOVE) 00141 return ({H_NO_MOD, hookData}); 00142 00143 // das duerfte eigentlich nicht vorkommen, da der Hook im exit() geloescht 00144 // wird... 00145 if (environment(hookSource) != this_object()) { 00146 hookSource->HUnregisterFromHook(H_HOOK_MOVE,this_object()); 00147 return ({H_NO_MOD, hookData}); 00148 } 00149 00150 // Bewegungen in den Netztotenraum sind ok. 00151 if (!interactive(hookSource) 00152 && pointerp(hookData) && sizeof(hookData) >= 1) { 00153 if ((objectp(hookData[0]) 00154 && object_name(hookData[0]) == "/room/netztot") 00155 || (stringp(hookData[0]) && hookData[0]=="/room/netztot") ) { 00156 return ({H_NO_MOD, hookData}); 00157 } 00158 } 00159 00160 // Deputy (oder hoeher), kein process_call(). Sonst wird die Bewegung 00161 // abgebrochen. 00162 if (!this_interactive() || !IS_DEPUTY(this_interactive())) { 00163 return ({H_CANCELLED, hookData}); 00164 } 00165 00166 return ({H_NO_MOD, hookData}); 00167 }
| status HookCancelAllowanceCallback | ( | object | cancellingObject, | |
| int | hookid, | |||
| object | hookSource, | |||
| int | cancellingObjectsPriority, | |||
| mixed | hookData | |||
| ) |
Definiert in Zeile 121 der Datei jail.c.
Benutzt H_HOOK_MOVE.
00122 { 00123 if (hookid==H_HOOK_MOVE && cancellingObject != this_object() 00124 && present(hookSource,this_object())) 00125 return 0; 00126 00127 return 1; 00128 }
| status HookModificationAllowanceCallback | ( | object | modifyingObject, | |
| int | hookid, | |||
| object | hookSource, | |||
| int | modifyingObjectsPriority, | |||
| mixed | hookData | |||
| ) |
Definiert in Zeile 129 der Datei jail.c.
Benutzt H_HOOK_MOVE.
00130 { 00131 if (hookid==H_HOOK_MOVE && modifyingObject != this_object() 00132 && present(hookSource,this_object())) 00133 return 0; 00134 00135 return 1; 00136 }
| status HookRegistrationCallback | ( | object | registringObject, | |
| int | hookid, | |||
| object | hookSource, | |||
| int | registringObjectsPriority, | |||
| int | registringObjectsType | |||
| ) |
Definiert in Zeile 114 der Datei jail.c.
Benutzt H_HOOK_MOVE.
00115 { 00116 if (hookid==H_HOOK_MOVE) 00117 return 0; 00118 00119 return 1; 00120 }
| init | ( | ) |
Definiert in Zeile 23 der Datei jail.c.
Benutzt H_HOOK_LIBPRIO, H_HOOK_MOVE, H_HOOK_SURVEYOR, HRegisterToHook(), init(), input_to() und IS_DEPUTY.
00024 { 00025 ::init(); 00026 if (!query_once_interactive(this_player())) 00027 return; 00028 if ( IS_DEPUTY(this_player()) ) // EM+ sind sowieso Deputies 00029 return; 00030 add_action("bla","",1); 00031 input_to("murks",0); 00032 00033 // Move-Hook anhaengen 00034 if (!this_player()->HRegisterToHook(H_HOOK_MOVE, this_object(), 00035 H_HOOK_LIBPRIO(1),H_HOOK_SURVEYOR, 00036 -1)) 00037 raise_error("Fehler: Move-Hook konnte nicht registriert werden.\n"); 00038 }

| murks | ( | str | ) |
Definiert in Zeile 60 der Datei jail.c.
Benutzt break_string(), input_to(), name und old_explode().
00061 { 00062 if (!this_player() || environment(this_player())!=this_object()) 00063 return; 00064 00065 input_to("murks",0); 00066 00067 if (!str||str=="") return 1; 00068 // Einschlafen erlaubt. 00069 if (str == "schlafe ein") { 00070 this_player()->command("schlafe ein"); 00071 return 1; 00072 } 00073 if (str[0]=='\'') str="sag "+str[1..]; 00074 if(str[0..3]=="sag "||str[0..4]=="sage ") 00075 { 00076 str=implode(old_explode(str," ")[1..]," "); 00077 write(break_string(str, 78, "Du sagst: ")); 00078 tell_room(this_object(),break_string(str,78, 00079 capitalize(this_player()->name())+" sagt: "),({this_player()})); 00080 return 1; 00081 } 00082 write("Nix da.\n"); 00083 return 1; 00084 }

| public string NotifyDestruct | ( | object | caller | ) |
Definiert in Zeile 94 der Datei jail.c.
00094 { 00095 00096 if (previous_object() != master() 00097 || caller == this_object()) 00098 return 0; 00099 00100 // wenn keiner hier ist, ists egal. 00101 if (!sizeof(filter(all_inventory(),#'query_once_interactive))) 00102 return 0; 00103 00104 // Direkter Destruct mit Anwesenden nur fuer EM+ 00105 if (!process_call() && this_interactive() 00106 && IS_ARCH(this_interactive())) 00107 return 0; 00108 00109 return "Direkte Zerstoerung des Jails nur fuer EM+ erlaubt.\n"; 00110 }
| varargs void NotifyRemove | ( | object | ob | ) |
| public varargs remove | ( | int | silent | ) |
| inherit std hook_consumer |
1.6.3