money.c-Dateireferenz

#include <properties.h>
#include <language.h>
#include <defines.h>
#include <unit.h>
Include-Abhängigkeitsdiagramm für money.c:

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

Dokumentation der Funktionen

static mixed _query_autoloadobj (  ) 

Definiert in Zeile 54 der Datei money.c.

Benutzt P_AMOUNT und Query().

Wird benutzt von _set_autoloadobj().

00055 {
00056   return (int) Query(P_AMOUNT);
00057 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

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 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

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 }

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

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 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

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 }

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

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 }

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

int IsEqual ( object  ob  ) 

Definiert in Zeile 103 der Datei money.c.

00104 {
00105    if ( BLUE_NAME(ob) == "/obj/boerse" || BLUE_NAME(ob) == "/obj/seercard" )
00106        return 1;
00107 
00108    return ::IsEqual(ob);
00109 }

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 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:


Variablen-Dokumentation

inherit std unit

Definiert in Zeile 8 der Datei money.c.

Erzeugt am Thu Jun 3 14:39:40 2010 für MorgenGrauen Mudlib von  doxygen 1.6.3