#include <properties.h>#include <language.h>#include <defines.h>#include <unit.h>
gehe zum Quellcode dieser Datei
Funktionen | |
| static string | DetKonterfei () |
| static string | DetRand () |
| static int | action_pruefe (string str) |
| static int | action_schnipps (string str) |
| static int | action_wurf (string str) |
| string | current_long () |
| varargs int | move (mixed dest, int method) |
| void | _set_autoloadobj (mixed args) |
| int | _query_autoloadobj () |
| void | create () |
| int | IsEqual (object ob) |
| varargs string | GetDetail (mixed key, mixed race, int sense) |
Variablen | |
| inherit std | unit |
| static mixed _query_autoloadobj | ( | ) |
| static mixed _set_autoloadobj | ( | mixed | args | ) |
Definiert in Zeile 43 der Datei money.c.
Benutzt P_AMOUNT und SetProp().
Wird benutzt von update_tool().
00044 { 00045 if (pointerp(args)) 00046 args=args[0]; 00047 if (stringp(args)) 00048 sscanf(args,"%d",args); 00049 if (!intp(args)) 00050 args=0; 00051 SetProp(P_AMOUNT,args); 00052 }


| static int action_pruefe | ( | string | str | ) | [static] |
Definiert in Zeile 145 der Datei money.c.
00145 { 00146 if(!id(str)) return 0; 00147 write(break_string( 00148 ((Query(U_REQ)==1)?"Du nimmst die Muenze": 00149 "Du nimmst eine der Muenzen")+ 00150 " und beisst vorsichtig hinein. Dein Zahn versinkt tief im reinen Gold, " 00151 "und Du bist Dir nun sicher, dass diese Muenze auch wirklich echt ist.", 00152 78)); 00153 if(this_player() && environment(this_player())) 00154 tell_room(environment(this_player()), 00155 break_string(this_player()->Name()+" beisst in eine Muenze " 00156 "und schaut irgendwie befriedigt drein.",78), 00157 ({this_player()})); 00158 return 1; 00159 }
| static int action_schnipps | ( | string | str | ) | [static] |
Definiert in Zeile 126 der Datei money.c.
Wird benutzt von create().
00126 { 00127 if(!id(str)) return 0; 00128 write(break_string( 00129 ((Query(U_REQ)==1)?"Du nimmst die Muenze": 00130 "Du nimmst eine der Muenzen")+ 00131 " und schnippst sie in die Luft. Sie klingt hell auf. "+ 00132 ((this_player() && this_player()->QueryAttribute(A_DEX)>10)? 00133 "Geschickt faengst Du sie wieder auf.": 00134 "Sie plumpst Dir wieder in die Hand und beinahe laesst Du " 00135 "sie fallen."),78)); 00136 if(this_player() && environment(this_player())) 00137 tell_room(environment(this_player()), 00138 break_string(this_player()->Name()+" schnippt mit hellem " 00139 "Klingen ein Muenze in die Luft und faengt sie " 00140 "wieder.",78), 00141 ({this_player()})); 00142 return 1; 00143 }

| static int action_wurf | ( | string | str | ) | [static] |
Definiert in Zeile 190 der Datei money.c.
00191 { 00192 int num, part; 00193 00194 if (!id(str)) 00195 return 0; 00196 00197 num = Query(U_REQ); 00198 write (break_string( 00199 ((num==1)?"Du nimmst die Muenze": 00200 sprintf("Du nimmst %d Muenzen", num))+ 00201 ", wirfst sie hoch, laesst sie zu Boden prasseln und " 00202 "betrachtest das Ergebnis:", 78)); 00203 if (this_player() && environment(this_player())) 00204 tell_room(environment(this_player()), 00205 break_string(this_player()->Name()+" wirft "+ 00206 ((num==1)?"eine Muenze": 00207 sprintf("%d Muenzen", num))+ 00208 " hoch, laesst sie zu Boden prasseln und betrachtet " 00209 +"das Ergebnis:", 78), ({this_player()})); 00210 00211 if (num == 1) { 00212 if (random(1000000) == 123456) { 00213 write(" Die Muenze bleibt auf dem Rand stehen.\n"); 00214 if (this_player() && environment(this_player())) 00215 tell_room(environment(this_player()), 00216 " Die Muenze bleibt auf dem Rand stehen.\n", 00217 ({this_player()})); 00218 } 00219 else if (random(100) < 50) { 00220 write(" Kopf.\n"); 00221 if (this_player() && environment(this_player())) 00222 tell_room(environment(this_player()), 00223 " Kopf.\n", 00224 ({this_player()})); 00225 } 00226 else { 00227 write(" Zahl.\n"); 00228 if (this_player() && environment(this_player())) 00229 tell_room(environment(this_player()), 00230 " Zahl.\n", 00231 ({this_player()})); 00232 } 00233 } 00234 else { 00235 part = 5*num + random(num+1) - random(num+1) // etwas Gauss-verteilen 00236 + random(num+1) - random(num+1) 00237 + random(num+1) - random(num+1) 00238 + random(num+1) - random(num+1) 00239 + random(num+1) - random(num+1); 00240 part = (part+5)/10; 00241 00242 if (part) { 00243 printf(" %dx Kopf", part); 00244 if (part != num) 00245 printf(" und %dx Zahl", num-part); 00246 if(this_player() && environment(this_player())) 00247 tell_room(environment(this_player()), 00248 sprintf(" %dx Kopf", part)+ 00249 ((part!=num)?sprintf(" und %dx Zahl", num-part):"")+ 00250 ".\n", 00251 ({this_player()})); 00252 } 00253 else { 00254 printf(" %dx Zahl", num); 00255 if (this_player() && environment(this_player())) 00256 tell_room(environment(this_player()), 00257 sprintf(" %dx Zahl.\n", num), 00258 ({this_player()})); 00259 } 00260 write (".\n"); 00261 } 00262 00263 write(break_string( 00264 "Schnell sammelst Du "+ 00265 ((num==1)?"Deine Muenze":"Deine Muenzen")+" wieder ein.", 78)); 00266 if (this_player() && environment(this_player())) 00267 tell_room(environment(this_player()), 00268 break_string(this_player()->Name()+ " sammelt schnell "+ 00269 ((num==1)?(this_player()->QueryPossPronoun(FEMALE,WEN, SINGULAR) 00270 +" Muenze wieder ein."): 00271 (this_player()->QueryPossPronoun(FEMALE,WEN, PLURAL)+ 00272 " Muenzen wieder ein."))), ({this_player()})); 00273 return 1; 00274 }
| void create | ( | ) |
Definiert in Zeile 59 der Datei money.c.
Benutzt action_schnipps(), AddCmd(), AddDetail(), AddId(), AddPluralId(), AddSingularId(), create(), DetKonterfei(), FEMALE, i, P_GENDER, P_INFO, P_LONG, P_MATERIAL, P_NAME, P_SHORT, set_next_reset(), SetCoinsPerUnits(), SetGramsPerUnits() und SetProp().
00060 { 00061 mixed plist, i; 00062 00063 ::create(); 00064 SetProp(P_NAME,({"Muenze","Muenzen"})); 00065 SetProp(P_LONG,"@@current_long@@"); 00066 SetProp(P_SHORT,"Geld"); 00067 SetProp(P_INFO,"Du hast bei diesem Geld ein sicheres Gefuehl.\n"); 00068 SetProp(P_MATERIAL,([MAT_GOLD:100])); 00069 AddSingularId("muenze"); 00070 AddPluralId("muenzen"); 00071 AddSingularId("goldstueck"); 00072 AddPluralId("goldstuecke"); 00073 AddId(({"geld", "\ngeld"})); 00074 SetProp(P_GENDER,FEMALE); 00075 SetCoinsPerUnits(1,1); 00076 SetGramsPerUnits(1,4); 00077 00078 if (!clonep(this_object())) { 00079 set_next_reset(-1); 00080 return; 00081 } 00082 AddDetail(({"rand","muenzrand"}),#'DetRand); 00083 AddDetail(({"oberflaeche","flaeche"}),break_string( 00084 "Diese Muenze ist schon durch viele Haende gegangen. Die Kratzer " 00085 "zeugen davon, dass sie nicht selten allein getragen wurde und die " 00086 "Bissspuren von mangelndem Vertrauen.",78)); 00087 AddDetail("kratzer",break_string( 00088 "Das Konterfei ist schon ganz schoen zerkratzt.",78)); 00089 AddDetail(({"bissspur","bissspuren"}),break_string( 00090 "Da hat doch tatsaechlich jemand so wenig Vertrauen in das Gold " 00091 "gezeigt, dass er hineingebissen hat, um es zu pruefen.",78)); 00092 AddDetail(({"bild","konterfei","praegung"}),#'DetKonterfei); 00093 AddDetail("gold","Es glaenzt Dich verheissungsvoll an.\n"); 00094 00095 AddCmd(({"pruef","pruefe","beiss","beisse","test","teste"}), 00096 #'action_pruefe); 00097 AddCmd(({"schnipp","schnippe","schnipps","schnippse"}), 00098 #'action_schnipps); 00099 00100 AddCmd( ({ "wirf", "werf", "werfe" }), #'action_wurf); 00101 }

| string current_long | ( | ) |
Definiert in Zeile 111 der Datei money.c.
00111 { 00112 int r; 00113 r=Query(U_REQ); 00114 return(break_string( 00115 ((r==1)?"":"Du betrachtest eine der Muenzen genauer:\n")+ 00116 "Die Oberflaeche der Goldmuenze ist vom taeglichen Gebrauch ziemlich " 00117 "mitgenommen. Kratzer und sogar Bissspuren zieren die Praegemuenze " 00118 "zusaetzlich zum Konterfei des "+ 00119 ({"Jof","Rumata","Zook"})[(Query(P_AMOUNT)+r)%3]+ 00120 ". Der Rand "+ 00121 ((!(r%2))?"scheint etwas beschaedigt zu sein.": 00122 "ist wenigstens unbeschaedigt."), 00123 78,0,BS_LEAVE_MY_LFS)); 00124 }
| static string DetKonterfei | ( | ) | [static] |
Definiert in Zeile 162 der Datei money.c.
Wird benutzt von create().
00162 { 00163 string m; 00164 switch((Query(P_AMOUNT)+Query(U_REQ))%3) { 00165 default: 00166 case 0: 00167 m="Jofs rundes Gesicht grinst Dich vertrauenserweckend und " 00168 "freundlich an.";break; 00169 case 1: 00170 m="Rumata scheint Dir zuzublinzeln.";break; 00171 case 2: 00172 m="Zooks Gesicht schaut ziemlich frisch gepraegt drein. Wenn " 00173 "eine der Muenzen beim Schnippen klingt, dann bestimmt die.";break; 00174 } 00175 return(break_string(m,78)); 00176 }

| static string DetRand | ( | ) | [static] |
Definiert in Zeile 179 der Datei money.c.
00179 { 00180 return(break_string( 00181 ((!(Query(U_REQ)%2))? 00182 "Der Rand der Muenze ist zerklueftet und abgeschabt. Ob " 00183 "da jemand versucht hat, das Gold der Muenze abzuschaben, " 00184 "um sich etwas nebenher zu verdienen?": 00185 "Der Rand ist vollkommen in Ordnung, ein wirklich frische " 00186 "Praegung."),78)); 00187 }
| varargs string GetDetail | ( | mixed | key, | |
| mixed | race, | |||
| int | sense | |||
| ) |
Definiert in Zeile 277 der Datei money.c.
Wird benutzt von _sense_exa(), brett_fun(), karte() und look_into().
00277 { 00278 string m; 00279 if(stringp(m=::GetDetail(&key,&race,&sense)) && strlen(m)) { 00280 int r; 00281 r=Query(U_REQ); 00282 if(r!=1) m=sprintf("Du betrachtest eine der %d Muenzen genauer:\n",r)+m; 00283 } 00284 return m; 00285 }

| int IsEqual | ( | object | ob | ) |
| varargs int move | ( | mixed | dest, | |
| int | method | |||
| ) |
Definiert in Zeile 29 der Datei money.c.
Benutzt BLUE_NAME, move(), ob(), Query() und U_REQ.
00030 { 00031 object ob; 00032 00033 if ( (!environment() && previous_object() && 00034 !query_once_interactive(previous_object()) && 00035 BLUE_NAME(previous_object()) != "/obj/money") && 00036 (ob = find_object("/p/daemon/moneylog")) ) 00037 ob->AddMoney( previous_object(), Query(U_REQ) ); 00038 00039 return ::move( dest, method ); 00040 }

1.6.3