#include <properties.h>#include <language.h>#include <defines.h>#include <moving.h>
gehe zum Quellcode dieser Datei
Makrodefinitionen | |
| #define | GELDBOERSE "\ngeldboerse2" |
| #define | U_REQ "u_req" |
Funktionen | |
| void | create () |
| static string | _query_keep_on_sell () |
| static int | _query_amount () |
| void | AddAmount (int am) |
| string | short () |
| varargs int | PreventInsert (object ob) |
| static int | put_thing (string str) |
| varargs int | id (string str, int lvl) |
| int | IsEqual (object ob) |
| varargs int | move (mixed dest, int method) |
Variablen | |
| inherit std | container |
| #define GELDBOERSE "\ngeldboerse2" |
Definiert in Zeile 3 der Datei boerse.c.
Wird benutzt von id(), IsEqual(), move(), PreventInsert() und put_thing().
| #define U_REQ "u_req" |
Definiert in Zeile 4 der Datei boerse.c.
Wird benutzt von _query_name(), _query_plural(), _query_u_req(), _query_value(), _query_weight(), _set_amount(), _set_value(), _set_weight(), cmd_shoot(), IsEqual(), move(), name() und remove().
| static int _query_amount | ( | ) | [static] |
| static string _query_keep_on_sell | ( | ) | [static] |
Definiert in Zeile 27 der Datei boerse.c.
Benutzt P_KEEP_ON_SELL und Query().
00028 { 00029 if (sizeof(all_inventory()) && living(environment())) 00030 return getuid(environment()); 00031 return Query(P_KEEP_ON_SELL); 00032 }

| void AddAmount | ( | int | am | ) |
Definiert in Zeile 41 der Datei boerse.c.
Benutzt ob().
Wird benutzt von IsEqual().
00042 { 00043 object ob; 00044 if (ob=present("geld", this_object())) ob->AddAmount(am); 00045 }


| void create | ( | ) |
Definiert in Zeile 11 der Datei boerse.c.
Benutzt AddCmd(), AddId(), create(), FEMALE, P_GENDER, P_LONG, P_MATERIAL, P_MAX_WEIGHT, P_NAME, P_SHORT, P_VALUE, P_WEIGHT, P_WEIGHT_PERCENT und SetProp().
00012 { 00013 ::create(); 00014 SetProp(P_NAME, "Geldboerse"); 00015 SetProp(P_SHORT, "Eine Geldboerse"); 00016 SetProp(P_LONG, "Eine schoene aus Leder gefertigte Geldboerse.\n"); 00017 SetProp(P_MATERIAL, ([MAT_LEATHER:100])); 00018 SetProp(P_GENDER, FEMALE); 00019 SetProp(P_VALUE, 80); 00020 SetProp(P_WEIGHT, 300); 00021 SetProp(P_WEIGHT_PERCENT, 50); 00022 SetProp(P_MAX_WEIGHT, 250000); // 1 mio. Muenzen. 00023 AddId(({"geldboerse", "boerse", "\ngeldboerse"})); 00024 AddCmd(({"steck", "stecke", "leg", "lege"}), "put_thing"); 00025 }

| varargs int id | ( | string | str, | |
| int | lvl | |||
| ) |
Definiert in Zeile 85 der Datei boerse.c.
Benutzt GELDBOERSE und id().
00086 { 00087 if (str==GELDBOERSE && sizeof(all_inventory())) return 1; 00088 return (int)::id(str, lvl); 00089 }

| public int IsEqual | ( | object | ob | ) |
Definiert in Zeile 91 der Datei boerse.c.
Benutzt AddAmount(), GELDBOERSE, ME, P_AMOUNT, P_LAST_CONTENT_CHANGE, QueryProp(), SetProp() und U_REQ.
00092 { 00093 int amount; 00094 object ob2; 00095 00096 if (object_name(ob)[0..9]!="/obj/money" || environment(ob)==ME) return 0; 00097 if (!sizeof(all_inventory()) && (ob2=present(GELDBOERSE, environment()))) 00098 return 0; 00099 if ( 0 > amount=ob->Query(U_REQ)) { 00100 int amount2; 00101 amount2=QueryProp(P_AMOUNT); 00102 if (-amount>amount2) { 00103 ob->AddAmount(amount2); 00104 AddAmount(-amount2); 00105 } 00106 else { 00107 ob->AddAmount(-amount); 00108 AddAmount(amount); 00109 } 00110 ob2=ME; 00111 SetProp(P_LAST_CONTENT_CHANGE,time()); 00112 while (ob2=environment(ob2)) 00113 ob2->SetProp(P_LAST_CONTENT_CHANGE,time()); 00114 } 00115 /* Falls gewuenscht, kann man das jederzeit so einbauen... 00116 else if (amount && query_verb() && query_verb()[0..6]=="verkauf") { 00117 ob->AddAmount(-amount); 00118 AddAmount(amount); 00119 ob2=this_object(); 00120 Set(P_LAST_CONTENT_CHANGE,time()); 00121 while (ob2=environment(ob2)) 00122 ob2->Set(P_LAST_CONTENT_CHANGE,time()); 00123 } 00124 */ 00125 }

| int move | ( | mixed | dest, | |
| int | method | |||
| ) |
Definiert in Zeile 127 der Datei boerse.c.
Benutzt GELDBOERSE, i, M_MOVE_ALL und ob().
Wird benutzt von _transfer(), check_for_environment(), create(), do_mail(), gehen(), goto(), heart_beat(), init(), mnpc_reset(), move(), raus(), reise(), remove(), seer_sequenz1(), seer_sequenz2(), seer_sequenz3(), shut(), update_tool(), walk_random(), wandern() und Xtool().
00128 { 00129 int i; 00130 object ob; 00131 00132 if (stringp(dest)) { 00133 call_other(dest, "???"); 00134 dest=find_object(dest); 00135 } 00136 if (objectp(dest)) ob=present(GELDBOERSE, dest); 00137 i=(int)::move(dest, method); 00138 if (i!=1) return i; 00139 if (!living(environment())) return 1; 00140 if (objectp(ob)) filter_objects(all_inventory(), "move", ob, M_MOVE_ALL); 00141 return 1; 00142 }


| varargs int PreventInsert | ( | object | ob | ) |
Definiert in Zeile 57 der Datei boerse.c.
Benutzt GELDBOERSE.
Wird benutzt von fuelle().
00058 { 00059 object ob2; 00060 if (ob && object_name(ob)[0..9]=="/obj/money") 00061 if (!sizeof(all_inventory()) && living(environment()) && 00062 (ob2=present(GELDBOERSE, environment()))) { 00063 write("Du kannst immer nur eine Geldboerse gleichzeitig benutzen.\n"); 00064 return 1; 00065 } 00066 else return (int)::PreventInsert(ob); 00067 else return 1; 00068 }

| static int put_thing | ( | string | str | ) | [static] |
Definiert in Zeile 70 der Datei boerse.c.
Benutzt GELDBOERSE.
00073 { 00074 string s1,s2; 00075 00076 if (!str || sscanf(str, "%s in %s", s1, s2)!=2) return 0; 00077 if (!id(s2)) return 0; 00078 if (!sizeof(all_inventory()) && living(environment()) && 00079 present(GELDBOERSE, environment())) { 00080 write("Du kannst immer nur eine Geldboerse gleichzeitig benutzen.\n"); 00081 return 1; 00082 } 00083 }
| public mixed short | ( | ) |
Definiert in Zeile 47 der Datei boerse.c.
Benutzt i, P_AMOUNT und QueryProp().
Wird benutzt von _query_short() und Xinventory().
00048 { 00049 int i; 00050 switch (i=QueryProp(P_AMOUNT)) { 00051 case 0: return "Eine leere Geldboerse.\n"; 00052 case 1: return "Eine Geldboerse mit einer Muenze.\n"; 00053 default: return "Eine Geldboerse mit "+i+" Muenzen.\n"; 00054 } 00055 }


1.6.3