restrictions.c-Dateireferenz

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

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define NEED_PROTOTYPES

Funktionen

protected void create ()
protected void create_super ()
static int _set_weight (int weight)
static mapping _set_extern_attributes_modifier (mapping xmod)
static mapping _set_extern_health_modifier (mapping xmod)
void NotifyXMAttrModLimitViolation ()

Makro-Dokumentation

#define NEED_PROTOTYPES

Definiert in Zeile 16 der Datei restrictions.c.


Dokumentation der Funktionen

static mapping _set_extern_attributes_modifier ( mapping  xmod  )  [static]

Definiert in Zeile 36 der Datei restrictions.c.

Benutzt ME, P_SENSITIVE, P_X_ATTR_MOD, QueryProp(), Set() und SetProp().

00037 {
00038   mapping res;
00039 
00040   // wenn Muell oder ein leeres Mapping uebergeben wurde, wird die prop
00041   // geloescht und ggf. das Objekt im Living abgemeldet.
00042   if (!mappingp(xmod)) xmod=([]);
00043   
00044   if (!sizeof(xmod)) {
00045  
00046     res=Set(P_X_ATTR_MOD, xmod);
00047   
00048     // wenn Prop geloescht wird, kann man das Item auch aus der Liste der
00049     // Statmodifizierer des Lebewesens austragen.
00050     if (living(environment())) {  
00051       environment()->deregister_modifier(ME);
00052       environment()->UpdateAttributes();
00053     }
00054   }
00055   else {
00056     // ok, Prop wird auf nen interessanten Wert gesetzt. ;-)
00057 
00058     // Damit Insert/RemoveSensitiveObject beim Move aufgerufen wird,
00059     // muss P_SENSITIVE gesetzt sein
00060     if (!QueryProp(P_SENSITIVE)) SetProp(P_SENSITIVE,({}));
00061   
00062     if (living(environment()) && 
00063         (!mappingp(res=QueryProp(P_X_ATTR_MOD)) || !sizeof(res))) {
00064       // Wenn dieses Objekt in einem Living ist und bisher die prop nicht
00065       // gesetzt war, muss sich das Objekt noch im Living als Statmodifizierer
00066       // registrieren.
00067       res=Set(P_X_ATTR_MOD, xmod);
00068       environment()->register_modifier(ME);
00069       environment()->UpdateAttributes(ME);
00070     }
00071     else if (living(environment())){
00072       // sonst reicht ein einfaches UpdateAttributes() um das Lebewesen zu
00073       // informieren.
00074       res=Set(P_X_ATTR_MOD, xmod);
00075       environment()->UpdateAttributes();
00076     }
00077     else {
00078       // wenn kein lebendes Env, reicht einfaches Setzen.
00079       res=Set(P_X_ATTR_MOD,xmod);
00080     }
00081   }
00082 
00083   return res;
00084 }

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

static mapping _set_extern_health_modifier ( mapping  xmod  )  [static]

Definiert in Zeile 87 der Datei restrictions.c.

Benutzt ME, P_SENSITIVE, P_X_HEALTH_MOD, QueryProp(), Set() und SetProp().

00087                                                          {
00088   mapping res;
00089 
00090   // wenn Muell oder ein leeres Mapping uebergeben wurde, wird die prop
00091   // geloescht und ggf. das Objekt im Living abgemeldet.
00092   if (!mappingp(xmod)) xmod=([]);
00093   
00094   if (!sizeof(xmod)) {
00095  
00096     res=Set(P_X_HEALTH_MOD, xmod);
00097   
00098     // wenn Prop geloescht wird, kann man das Item auch aus der Liste der
00099     // Statmodifizierer des Lebewesens austragen.
00100     if (living(environment())) {  
00101       environment()->deregister_modifier(ME);
00102       environment()->UpdateAttributes();
00103     }
00104   }
00105   else {
00106     // ok, Prop wird auf nen interessanten Wert gesetzt. ;-)
00107 
00108     // Damit Insert/RemoveSensitiveObject beim Move aufgerufen wird,
00109     // muss P_SENSITIVE gesetzt sein
00110     if (!QueryProp(P_SENSITIVE)) SetProp(P_SENSITIVE,({}));
00111   
00112     if (living(environment()) && 
00113         (!mappingp(res=QueryProp(P_X_HEALTH_MOD)) || !sizeof(res))) {
00114       // Wenn dieses Objekt in einem Living ist und bisher die prop nicht
00115       // gesetzt war, muss sich das Objekt noch im Living als Statmodifizierer
00116       // registrieren.
00117       res=Set(P_X_HEALTH_MOD, xmod);
00118       environment()->register_modifier(ME);
00119       environment()->UpdateAttributes(ME);
00120     }
00121     else if (living(environment())){
00122       // sonst reicht ein einfaches UpdateAttributes() um das Lebewesen zu
00123       // informieren.
00124       res=Set(P_X_HEALTH_MOD, xmod);
00125       environment()->UpdateAttributes();
00126     }
00127     else {
00128       // wenn kein lebendes Env, reicht einfaches Setzen.
00129       res=Set(P_X_HEALTH_MOD,xmod);
00130     }
00131   }
00132 
00133   return res;
00134 
00135 }

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

static int _set_weight ( int  weight  )  [static]

Definiert in Zeile 30 der Datei restrictions.c.

Benutzt F_VALUE, P_TOTAL_WEIGHT, P_WEIGHT, Set() und SetProp().

00030                                    {
00031   return SetProp(P_TOTAL_WEIGHT,
00032                   Set(P_WEIGHT, weight, F_VALUE) );
00033 }

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

protected void create (  ) 

Definiert in Zeile 20 der Datei restrictions.c.

Benutzt P_WEIGHT und SetProp().

00021 {  
00022   SetProp(P_WEIGHT, 1000);
00023 }

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

protected void create_super (  ) 

Definiert in Zeile 25 der Datei restrictions.c.

Benutzt set_next_reset().

00025                               {
00026   set_next_reset(-1);
00027 }     

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

void NotifyXMAttrModLimitViolation (  ) 

Definiert in Zeile 139 der Datei restrictions.c.

00140 {
00141 }

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