restrictions.c-Dateireferenz

#include <thing/properties.h>
#include <living/skills.h>
#include <wizlevels.h>
#include <container.h>
#include <attributes.h>
#include <defines.h>
#include <new_skills.h>
Include-Abhängigkeitsdiagramm für restrictions.c:

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 = ({})

Makro-Dokumentation

#define NEED_PROTOTYPES

Definiert in Zeile 31 der Datei restrictions.c.


Dokumentation der Funktionen

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 }

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

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 }

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

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 }

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

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 }


Variablen-Dokumentation

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.

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