inventory.c-Dateireferenz

#include <properties.h>
#include <sensitive.h>
#include <attributes.h>
Include-Abhängigkeitsdiagramm für inventory.c:

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define NEED_PROTOTYPES
#define ME   this_object()

Funktionen

public void RemoveSensitiveObject (object ob)
public void InsertSensitiveObject (object ob, mixed arg)
public void CheckSensitiveAttack (int dam, mixed dam_type, mixed spell, object enemy)

Variablen

inherit std container inventory

Makro-Dokumentation

#define ME   this_object()

Definiert in Zeile 20 der Datei inventory.c.

#define NEED_PROTOTYPES

Definiert in Zeile 14 der Datei inventory.c.


Dokumentation der Funktionen

public void CheckSensitiveAttack ( int  dam,
mixed  dam_type,
mixed  spell,
object  enemy 
)

Definiert in Zeile 46 der Datei inventory.c.

Benutzt i, ME, P_SENSITIVE_ATTACK, QueryProp(), SENS_CLOSURE, SENS_KEY, SENS_OBJECT, SENS_OPT, SENS_THRESHOLD und x.

00047                                                {
00048   mixed a,x;
00049   int i;
00050   
00051   if (!pointerp(a=QueryProp(P_SENSITIVE_ATTACK)))
00052     return;
00053   if (!pointerp(dam_type))
00054     dam_type=({dam_type});
00055   for (i=sizeof(a)-1;i>=0;i--)
00056     if (pointerp(x=a[i]) &&
00057                 dam>x[SENS_THRESHOLD] &&
00058                 member(dam_type,x[SENS_KEY])>=0 &&
00059                 objectp(x[SENS_OBJECT]) &&
00060                 environment(x[SENS_OBJECT])==ME &&
00061                 closurep(x[SENS_CLOSURE]))
00062       funcall(x[SENS_CLOSURE],
00063                       enemy,x[SENS_KEY],dam,
00064                       spell,x[SENS_OPT]);
00065 }

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

public void InsertSensitiveObject ( object  ob,
mixed  arg 
)

Definiert in Zeile 36 der Datei inventory.c.

Benutzt InsertSensitiveObject(), P_X_ATTR_MOD, P_X_HEALTH_MOD, register_modifier() und UpdateAttributes().

00036                                                         {
00037   ::InsertSensitiveObject(ob,arg);
00038   if (objectp(ob) && (ob->QueryProp(P_X_ATTR_MOD)   ||
00039                       ob->QueryProp(P_X_HEALTH_MOD) ))
00040   {
00041     register_modifier(ob);
00042     UpdateAttributes();
00043   }
00044 }

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

public void RemoveSensitiveObject ( object  ob  ) 

Definiert in Zeile 22 der Datei inventory.c.

Benutzt call_out(), deregister_modifier(), P_X_ATTR_MOD, P_X_HEALTH_MOD, RemoveSensitiveObject(), RemoveSensitiveObjectFromList() und SENSITIVE_ATTACK.

00022                                              {
00023   ::RemoveSensitiveObject(ob);
00024   RemoveSensitiveObjectFromList(ob,SENSITIVE_ATTACK);
00025   if (objectp(ob) && (ob->QueryProp(P_X_ATTR_MOD)   ||
00026                       ob->QueryProp(P_X_HEALTH_MOD) ))
00027   {
00028     deregister_modifier(ob);
00029     // Erst wenn das Objekt den Spieler verlassen konnte, die Attribute
00030     // neu berechnen.
00031     if (find_call_out("UpdateAttributes")==-1)
00032       call_out("UpdateAttributes",0); 
00033   }
00034 }

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


Variablen-Dokumentation

inherit std container inventory

Definiert in Zeile 12 der Datei inventory.c.

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