feline.c-Dateireferenz

#include <attributes.h>
#include <combat.h>
#include <health.h>
#include <new_skills.h>
#include <properties.h>
#include <language.h>
#include <wizlevels.h>
#include <defuel.h>
Include-Abhängigkeitsdiagramm für feline.c:

gehe zum Quellcode dieser Datei

Funktionen

void create ()
int QueryAllowSelect ()
string _query_race ()
string _query_real_race ()
string _query_racedescr ()
string * _query_racestring ()
int _query_hp_delay ()
int _query_sp_delay ()
string _query_default_guild ()
mixed RaceDefault (string arg)

Variablen

inherit std player base

Dokumentation der Funktionen

string _query_default_guild (  ) 

Definiert in Zeile 243 der Datei feline.c.

00243                              {
00244   return "katzenkrieger";
00245 }

int _query_hp_delay (  ) 

Definiert in Zeile 206 der Datei feline.c.

Benutzt P_HP_DELAY, P_INDOORS, Query() und QueryProp().

00207 {
00208     int re;
00209     string fn;
00210 
00211     re = Query(P_HP_DELAY);
00212     if (environment() && !(environment()->QueryProp(P_INDOORS)) &&
00213         fn=object_name(environment()))
00214     {
00215         if (fn[0..12]=="/d/dschungel/" || fn[0..7]=="/d/wald/")
00216             re--;
00217         else if (fn[0..9]=="/d/wueste/" || fn[0..8]=="/d/polar/")
00218             re++;
00219     }
00220     return re;
00221 }

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

string _query_race (  ) 

Definiert in Zeile 162 der Datei feline.c.

00163 {
00164     return "Feline";
00165 }

string _query_racedescr (  ) 

Definiert in Zeile 173 der Datei feline.c.

Benutzt break_string().

00174 {
00175     return break_string(
00176         "Felinen sind aufrecht gehende Katzenwesen.\n"+
00177         "Ihre Heimat ist der Dschungel. Kaum jemand duerfte sich dort "+
00178         "besser zurechtfinden als sie. Bedingt durch diese Umgebung "+
00179         "haben sie im Laufe der Zeit eine Vorliebe fuer elegante Hoelzer "+
00180         "und funkelnde Edelsteine entwickelt. Sie sind zwar nicht so "+
00181         "'raffgierig' wie Zwerge, aber dennoch sollte man besser nicht "+
00182         "versuchen, einem Felinen einen Edelstein wegzunehmen. Sie "+
00183         "benutzen die Edelsteine sehr gerne, um sich damit zu schmuecken. "+
00184         "Felinen betreiben sogar einen regelrechten Koerperkult, "+
00185         "insbesondere wenn es darum geht, das Fell oder die Krallen zu "+
00186         "faerben. Edelsteine kommen da als Accessoires gerade recht.\n"+
00187         "Auch im Kampf gegen einen Felinen sollte man sehr vorsichtig "+
00188         "sein, da Felinen ihre geringe Ausdauer durch eine hohe "+
00189         "Geschwindigkeit sowie Geschick und Intelligenz wettmachen. "+
00190         "Auch die Spitzen Krallen sind da nicht zu verachten und so "+
00191         "mancher Gegner musste schon als Ersatz fuer einen Kratzbaum "+
00192         "herhalten.",78,0,1);
00193 }

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

string* _query_racestring (  ) 

Definiert in Zeile 196 der Datei feline.c.

Benutzt P_GENDER und QueryProp().

00197 {
00198     if (QueryProp(P_GENDER)==2)
00199         return ({"Felinin","Felinin","Felinin","Felinin"});
00200     return ({"Feline","Felinen","Felinen","Felinen"});
00201 }

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

string _query_real_race (  ) 

Definiert in Zeile 167 der Datei feline.c.

00168 {
00169     return "Feline";
00170 }

int _query_sp_delay (  ) 

Definiert in Zeile 226 der Datei feline.c.

Benutzt P_INDOORS, P_SP_DELAY, Query() und QueryProp().

00227 {
00228     int re;
00229     string fn;
00230 
00231     re = Query(P_SP_DELAY);
00232     if (environment() && !(environment()->QueryProp(P_INDOORS)) &&
00233         fn=object_name(environment()))
00234     {
00235         if (fn[0..12]=="/d/dschungel/" || fn[0..7]=="/d/wald/")
00236             re--;
00237         else if (fn[0..9]=="/d/wueste/" || fn[0..8]=="/d/polar/")
00238             re++;
00239     }
00240     return re;
00241 }

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

void create (  ) 

Definiert in Zeile 21 der Datei feline.c.

Benutzt A_CON, A_DEX, A_INT, A_STR, create(), DRINK_DELAY, DT_ACID, DT_COLD, DT_RIP, DT_WATER, F_MODE_AS, FEMALE, FOOD_DELAY, h, HEAL_DELAY, i, IS_SEER, MT_ANGRIFF, MT_ILLUSION, MT_PSYCHO, MT_VERWANDLUNG, P_ATTRIBUTES_OFFSETS, P_AVERAGE_SIZE, P_AVERAGE_WEIGHT, P_BODY, P_CHANNELS, P_DEFUEL_AMOUNT_DRINK, P_DEFUEL_AMOUNT_FOOD, P_DEFUEL_LIMIT_DRINK, P_DEFUEL_LIMIT_FOOD, P_DEFUEL_TIME_DRINK, P_DEFUEL_TIME_FOOD, P_DRINK_DELAY, P_FOOD_DELAY, P_GENDER, P_HANDS, P_HP_DELAY, P_MAGIC_RESISTANCE_OFFSET, P_MATERIAL, P_MATERIAL_KNOWLEDGE, P_MAX_FOOD, P_MMSGIN, P_MMSGOUT, P_MSGIN, P_MSGOUT, P_POISON_DELAY, P_RESISTANCE_STRENGTHS, P_SHELL_VERSION, P_SIZE, P_SKILL_ATTRIBUTE_OFFSETS, P_SP_DELAY, P_WEIGHT, POISON_DELAY, QueryProp(), SA_SPEED, SAVE, Set(), set_next_reset(), SetDefaultHome(), SetPrayRoom() und SetProp().

00022 {   
00023     if (!clonep() || object_name(this_object()) == __FILE__[0..<3]) {
00024       set_next_reset(-1);    
00025       return;
00026     }
00027 
00028     int   i,g;
00029     mixed h;
00030 
00031     base::create();
00032 
00033 // Startraum/Kapelle setzen
00034     SetDefaultHome("/d/dschungel/paracelsus/room/fkapelle");
00035     SetPrayRoom("/d/dschungel/paracelsus/room/fkapelle");
00036 
00037 // Besondere rassenspezifische Properties (bei denen es nichts macht, wenn
00038 // sie nach jedem Einloggen neu gesetzt werden):
00039 
00040     SetProp(P_ATTRIBUTES_OFFSETS, // Summe 4 statt 6 wg. SA_SPEED
00041     ([
00042         A_STR :  1,
00043         A_INT :  2,
00044         A_DEX :  2,
00045         A_CON : -1 
00046     ]) );
00047     SetProp(P_AVERAGE_SIZE,200);
00048     SetProp(P_AVERAGE_WEIGHT,85000);
00049     SetProp(P_BODY,15);
00050     SetProp(P_SKILL_ATTRIBUTE_OFFSETS,([SA_SPEED:120]));
00051     SetProp(P_MATERIAL_KNOWLEDGE,
00052     ([
00053         MATGROUP_WOOD    :  60,
00054         MATGROUP_JEWEL   : 100,
00055         MATGROUP_EATABLE :  30
00056     ]) );
00057 
00058     SetProp(P_MAGIC_RESISTANCE_OFFSET,
00059     ([
00060         MT_ANGRIFF     :  200,
00061         MT_ILLUSION    : -500,
00062         MT_VERWANDLUNG :  500,
00063         MT_PSYCHO      : 1000 
00064     ]) );
00065 
00066     SetProp(P_RESISTANCE_STRENGTHS,
00067     ([
00068         DT_WATER : -0.1,
00069         DT_ACID  :  0.1,
00070         DT_COLD  :  0.1 
00071     ]) );
00072 
00073 // Lebenspunkte werden langsamer als normal regeneriert
00074     SetProp(P_HP_DELAY,HEAL_DELAY+1);
00075 
00076 // Magiepunkte werden schneller als normal regeneriert
00077     SetProp(P_SP_DELAY,HEAL_DELAY-1);
00078 
00079 // Gift wirkt etwas langsamer als normal
00080     SetProp(P_POISON_DELAY,POISON_DELAY+1);
00081 
00082 // Getraenke werden etwas schneller als normal abgebaut
00083     SetProp(P_DRINK_DELAY,DRINK_DELAY-1);
00084 
00085 // Essen wird etwas schneller als normal abgebaut ...
00086     SetProp(P_FOOD_DELAY,FOOD_DELAY-1);
00087     SetProp(P_MAX_FOOD,140);
00088 
00089 // Es gibt einige Sachen, die sollen nur beim ersten Einloggen gesetzt werden.
00090 // Andere muessen nachtraeglich - aber nur einmal - gemacht werden, weil sich
00091 // etwas geaendert hat.
00092     switch( QueryProp(P_SHELL_VERSION) )
00093     {
00094         case 0 :
00095 
00096             g=QueryProp(P_GENDER);
00097 
00098             if ( !(i=QueryProp(P_SIZE)) || (i<(g==FEMALE?165:170)) 
00099                 || (i>(g==FEMALE?225:230)) )
00100             {
00101                 SetProp(P_SIZE, (g==FEMALE?195:200)
00102                     + random(16) - random(16) + random(16) - random(16) );
00103             }
00104 
00105             if( !(i=QueryProp(P_WEIGHT)) || (i<(g==FEMALE?70000:77000)) 
00106                || (i>(g==FEMALE?88000:95000)) || (i==75000) )
00107             {
00108                 SetProp(P_WEIGHT, (g==FEMALE?70000:77000)
00109                     + random(4501) + random(4501) + random(4501) + random(4501) );
00110             }
00111 
00112 
00113             SetProp(P_MATERIAL,([
00114                 MAT_MISC_LIVING : 90,
00115                 MAT_PELT        :  8,
00116                 MAT_HORN        :  2
00117             ]) );
00118 
00119             if ( !IS_SEER(this_object()) )
00120             {
00121                 SetProp(P_MSGIN,"schleicht herein");
00122                 SetProp(P_MSGOUT,"schleicht");
00123                 SetProp(P_MMSGIN,"erscheint mit einem grellen Blitz");
00124                 SetProp(P_MMSGOUT,"verschwindet mit einem grellen Blitz");
00125                 SetProp(P_HANDS,({" mit scharfen Krallen",40,DT_RIP}));
00126             }
00127             else
00128             {
00129                 if ( !pointerp(h=QueryProp(P_HANDS)) || (sizeof(h)<1) )
00130                     h = ({" mit scharfen Krallen",40,DT_RIP});
00131                 else
00132                     h = ({h[0],40,DT_RIP});
00133                 SetProp(P_HANDS,h);
00134             }
00135 
00136             if ( !pointerp(h=QueryProp(P_CHANNELS)) )
00137                 SetProp(P_CHANNELS,({"katzenkrieger"}));
00138             else if ( member(h,"katzenkrieger")==-1 )
00139                 SetProp(P_CHANNELS, h + ({"katzenkrieger"}) );
00140 
00141             Set(P_SIZE,SAVE,F_MODE_AS);
00142             Set(P_MATERIAL,SAVE,F_MODE_AS);
00143             Set(P_WEIGHT,SAVE,F_MODE_AS);
00144 
00145         default :
00146 
00147             SetProp(P_SHELL_VERSION,1);
00148     }
00149   SetProp(P_DEFUEL_LIMIT_FOOD,70);
00150   SetProp(P_DEFUEL_LIMIT_DRINK,40);
00151   SetProp(P_DEFUEL_TIME_FOOD,400);
00152   SetProp(P_DEFUEL_TIME_DRINK,300);
00153   SetProp(P_DEFUEL_AMOUNT_FOOD,0.55);
00154   SetProp(P_DEFUEL_AMOUNT_DRINK,0.4);
00155 
00156 }

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

int QueryAllowSelect (  ) 

Definiert in Zeile 159 der Datei feline.c.

00159 { return 1; }

mixed RaceDefault ( string  arg  ) 

Definiert in Zeile 247 der Datei feline.c.

Benutzt DT_RIP, P_BODY, P_HANDS und RaceDefault().

00248 {
00249     if (!arg)
00250       return 0;
00251     switch(arg)
00252     {
00253         case P_HANDS :
00254             return ({" mit scharfen Krallen",40,DT_RIP});
00255         case P_BODY :
00256             return 15;
00257     }
00258     return base::RaceDefault(arg);
00259 }

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


Variablen-Dokumentation

inherit std player base

Definiert in Zeile 9 der Datei feline.c.

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