#include <thing/properties.h>#include <living/skills.h>#include <wizlevels.h>#include <container.h>#include <attributes.h>#include <defines.h>#include <new_skills.h>
gehe zum Quellcode dieser Datei
Makrodefinitionen | |
| #define | NEED_PROTOTYPES |
Funktionen | |
| static int | _query_max_weight () |
| static mixed | _set_frog (mixed arg) |
| void | create () |
| varargs int | PreventInsert (object ob) |
| void | AddInsertHook (object ob) |
| void | RemoveInsertHook (object ob) |
| object * | QueryInsertHooks () |
Variablen | |
| inherit std container | restrictions |
| static object * | InsertHooks = ({}) |
| #define NEED_PROTOTYPES |
Definiert in Zeile 31 der Datei restrictions.c.
| static int _query_max_weight | ( | ) | [static] |
Definiert in Zeile 55 der Datei restrictions.c.
Benutzt A_STR, IS_WIZARD, ME, P_GHOST, QueryAttribute(), QueryProp(), SI_SKILLARG, SK_CARRY und UseSkill().
00055 { 00056 int str,val; 00057 mixed ski; 00058 00059 if (QueryProp(P_GHOST) && !IS_WIZARD(ME)) 00060 return 0; 00061 str=QueryAttribute(A_STR); 00062 ski = UseSkill(SK_CARRY, ([SI_SKILLARG : str ])); 00063 00064 if (!intp(ski)) 00065 ski = 0; 00066 00067 if (str<0) { 00068 val=9200+str*160+(int)ski; 00069 if (val<3000) val=3000; 00070 return val; 00071 } 00072 val = 9200+str*800+(int)ski; 00073 if (val<3000) 00074 val = 3000; 00075 return val; 00076 }

| static mixed _set_frog | ( | mixed | arg | ) | [static] |
Definiert in Zeile 114 der Datei restrictions.c.
Benutzt A_STR, P_ATTRIBUTES_MODIFIER, P_FROG, Set() und SetProp().
00114 { 00115 mixed res; 00116 00117 res=Set(P_FROG,arg); 00118 if (res) 00119 SetProp(P_ATTRIBUTES_MODIFIER,({"#frosch",([A_STR:-30])})); 00120 else 00121 SetProp(P_ATTRIBUTES_MODIFIER,({"#frosch",0 })); 00122 return res; 00123 }

| void AddInsertHook | ( | object | ob | ) |
Definiert in Zeile 97 der Datei restrictions.c.
Benutzt InsertHooks.
00098 { 00099 if (member(InsertHooks,ob)!=-1 || environment(ob)!=this_object()) 00100 return; 00101 InsertHooks+=({ob}); 00102 }
| void create | ( | ) |
Definiert in Zeile 46 der Datei restrictions.c.
Benutzt create(), F_MODE, F_SET_METHOD, NOSETMETHOD, P_MAX_WEIGHT, SECURED und Set().
00047 { 00048 ::create(); 00049 00050 Set(P_MAX_WEIGHT, NOSETMETHOD, F_SET_METHOD); 00051 Set(P_MAX_WEIGHT, SECURED, F_MODE); 00052 }

| varargs int PreventInsert | ( | object | ob | ) |
Definiert in Zeile 80 der Datei restrictions.c.
Benutzt i, InsertHooks und ME.
00081 { 00082 int i; 00083 00084 i=sizeof(InsertHooks)-1; 00085 00086 while (i>=0) { 00087 if (!objectp(InsertHooks[i]) || environment(InsertHooks[i])!=ME) 00088 InsertHooks[i]=0; // loeschen, s.u. 00089 else 00090 InsertHooks[i]->InsertNotify(ob); 00091 i--; 00092 } 00093 InsertHooks-=({0}); // genullte Elemente loeschen 00094 return 0; 00095 }
| object* QueryInsertHooks | ( | ) |
Definiert in Zeile 109 der Datei restrictions.c.
Benutzt InsertHooks.
00110 { 00111 return InsertHooks; 00112 }
| void RemoveInsertHook | ( | object | ob | ) |
Definiert in Zeile 104 der Datei restrictions.c.
Benutzt InsertHooks.
00105 { 00106 InsertHooks-=({ob}); 00107 }
object* InsertHooks = ({}) [static] |
Definiert in Zeile 78 der Datei restrictions.c.
Wird benutzt von AddInsertHook(), PreventInsert(), QueryInsertHooks() und RemoveInsertHook().
| inherit std container restrictions |
Definiert in Zeile 29 der Datei restrictions.c.
1.6.3