#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>
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 |
| string _query_default_guild | ( | ) |
| 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 }

| string _query_race | ( | ) |
| 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 }

| string* _query_racestring | ( | ) |
| string _query_real_race | ( | ) |
| 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 }

| 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 }

| 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 }

1.6.3