#include <attributes.h>#include <health.h>#include <new_skills.h>#include <properties.h>#include <wizlevels.h>#include <defuel.h>#include <moving.h>
gehe zum Quellcode dieser Datei
Funktionen | |
| static varargs int | GoblinCmdWaaagh (string arg) |
| public void | create () |
| static void | FinalSetup () |
| public int | QueryAllowSelect () |
| public string | _query_race () |
| public string | _query_real_race () |
| public string | _query_racedescr () |
| public string * | _query_racestring () |
| public string | _query_default_guild () |
| public string | _query_visible_guild () |
| public mixed | RaceDefault (string arg) |
| static string * | _query_localcmds () |
Variablen | |
| inherit std player base | c |
| public string _query_default_guild | ( | ) |
| static string* _query_localcmds | ( | ) | [static] |
Definiert in Zeile 156 der Datei goblin.c.
Benutzt _query_localcmds().
00156 { 00157 return ({({"waaagh", "GoblinCmdWaaagh", 0, 0})}) + 00158 base::_query_localcmds(); 00159 }

| public string _query_racedescr | ( | ) |
Definiert in Zeile 104 der Datei goblin.c.
Benutzt break_string().
00104 { 00105 return break_string("Goblins sind winzige, gruenhaeutige Wesen, sogar " 00106 "noch kleiner als Hobbits. An ihren zu dick geratenen Koepfchen " 00107 "befinden sich lange, selten reglose, Ohren und eine grosse, krumme " 00108 "Nase. Ihre kleine Statur sollte jedoch nicht taeuschen, denn ihre " 00109 "fehlende Kraft machen sie mit Geschwindigkeit, Praezision und nicht " 00110 "zuletzt ihrer unbestrittenen Ruchlosigkeit alleweil wett. Obwohl " 00111 "fuer sie Pluendern, lautes Herumbruellen und die gemeinsten Streiche " 00112 "spielen zum Alltag gehoert, wuerde sie niemand als boesartig " 00113 "bezeichnen. Denn Goblins sind vieles, aber sicherlich nicht die " 00114 "intelligentesten Kreaturen. Durch ihren zaehen Willen und die dicke, " 00115 "lederne Haut sind sie aussergewoehnlich widerstandsfaehig, und, " 00116 "sofern funkelnde Beute winkt, fuer jedes Abenteuer zu haben.", 78); 00117 }

| public string* _query_racestring | ( | ) |
Definiert in Zeile 119 der Datei goblin.c.
Benutzt FEMALE, P_GENDER und QueryProp().
00119 { 00120 if(QueryProp(P_GENDER) == FEMALE) 00121 return ({"Goblinfrau", "Goblinfrau", "Goblinfrau", "Goblinfrau"}); 00122 return ({"Goblin", "Goblins", "Goblin", "Goblin"}); 00123 }

| public string _query_real_race | ( | ) |
| public string _query_visible_guild | ( | ) |
Definiert in Zeile 127 der Datei goblin.c.
Benutzt P_GUILD und QueryProp().
00127 { 00128 switch(lower_case(QueryProp(P_GUILD))) { 00129 case "abenteurer": return "abentoira"; 00130 case "chaos": return "kaos"; 00131 case "zauberer": return "zaubara"; 00132 case "bierschuettler": return "biaschuettla"; 00133 case "katzenkrieger": return "kaznkriega"; 00134 case "tanjian": return "tanschan"; 00135 case "klerus": return "klerikae"; 00136 case "dunkelelfen": return "dunklelfn"; 00137 case "kaempfer": return "kaempfa"; 00138 case "karate": return "karatae"; 00139 case "werwoelfe": return "weawoelf"; 00140 case "magus": return "magia"; 00141 default: return QueryProp(P_GUILD); 00142 } 00143 }

| public void create | ( | ) |
Definiert in Zeile 23 der Datei goblin.c.
Benutzt A_CON, A_DEX, A_INT, A_STR, ALCOHOL_DELAY, create(), DT_ACID, DT_AIR, DT_BLUDGEON, DT_FIRE, DT_HOLY, DT_LIGHTNING, DT_SOUND, F_MODE_AS, HEAL_DELAY, IS_SEER, MT_ANGRIFF, MT_BEHERRSCHUNG, MT_HELLSICHT, MT_ILLUSION, MT_VERWANDLUNG, P_ALCOHOL_DELAY, P_ATTRIBUTES_OFFSETS, P_AVERAGE_SIZE, P_AVERAGE_WEIGHT, P_BODY, 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_HANDS, P_HP_DELAY, P_MAGIC_RESISTANCE_OFFSET, P_MATERIAL, P_MATERIAL_KNOWLEDGE, P_MAX_ALCOHOL, P_MAX_DRINK, P_MAX_FOOD, P_MSGIN, P_MSGOUT, P_RESISTANCE_STRENGTHS, P_SHELL_VERSION, P_SIZE, P_SKILL_ATTRIBUTE_OFFSETS, P_SP_DELAY, P_WEIGHT, QueryProp(), SA_DAMAGE, SA_ENEMY_SAVE, SAVE, Set(), SetDefaultHome(), SetPrayRoom() und SetProp().
00023 { 00024 mixed res; 00025 base::create(); 00026 00027 SetDefaultHome("/d/wald/kessa/waaagh/room/starthut/hut[" + 00028 getuid(this_object()) +"]"); 00029 SetPrayRoom("/d/wald/nibel/lichtung/room/lichtung_45"); 00030 00031 SetProp(P_AVERAGE_SIZE, 80); 00032 SetProp(P_AVERAGE_WEIGHT, 32000); 00033 SetProp(P_MATERIAL_KNOWLEDGE, ([MATGROUP_EATABLE:20, MATGROUP_DRUG:40, 00034 MATGROUP_PRECIOUS_METAL:25, MATGROUP_JEWEL:25])); 00035 00036 SetProp(P_BODY, 15); 00037 SetProp(P_ATTRIBUTES_OFFSETS, ([A_STR:0, A_INT:1, A_DEX:2, A_CON:2])); 00038 SetProp(P_RESISTANCE_STRENGTHS, ([DT_FIRE:-0.15, DT_LIGHTNING:-0.15, 00039 DT_SOUND:0.1, DT_HOLY:0.1, DT_AIR:0.1, DT_ACID:0.1])); 00040 SetProp(P_MAGIC_RESISTANCE_OFFSET, ([MT_ANGRIFF:600, MT_ILLUSION:500, 00041 MT_VERWANDLUNG:-300, MT_HELLSICHT:-750, MT_BEHERRSCHUNG:250])); 00042 SetProp(P_SKILL_ATTRIBUTE_OFFSETS, ([SA_ENEMY_SAVE:103, SA_DAMAGE:107])); 00043 00044 SetProp(P_SP_DELAY, HEAL_DELAY + 2); 00045 SetProp(P_HP_DELAY, HEAL_DELAY - 1); 00046 SetProp(P_ALCOHOL_DELAY, ALCOHOL_DELAY - 1); 00047 00048 switch(QueryProp(P_SHELL_VERSION)) { 00049 case 0: 00050 if(!QueryProp(P_SIZE)) // Maennlein und Weiblein sind gleich "gross" 00051 SetProp(P_SIZE, 75 + random(11)); 00052 if(QueryProp(P_WEIGHT) == 75000) // Dito Gewicht 00053 SetProp(P_WEIGHT, (QueryProp(P_SIZE) * 390) + 00054 random(QueryProp(P_SIZE) * 10)); 00055 SetProp(P_MATERIAL,([MAT_MISC_LIVING:100])); 00056 00057 Set(P_SIZE, SAVE, F_MODE_AS); 00058 Set(P_WEIGHT, SAVE, F_MODE_AS); 00059 Set(P_MATERIAL, SAVE, F_MODE_AS); 00060 00061 if(!pointerp(res = QueryProp(P_HANDS)) || sizeof(res) < 3) 00062 res = ({" mit kleinen Faeustchen", 30, ({ DT_BLUDGEON })}); 00063 SetProp(P_HANDS, res); 00064 00065 if(!IS_SEER(this_object())) { 00066 SetProp(P_MSGIN, "flitzt herein"); 00067 SetProp(P_MSGOUT, "flitzt"); 00068 } 00069 SetProp(P_SHELL_VERSION, 1); 00070 case 1: 00071 // /std/player/base setzt ja schon P_WEIGHT... 00072 if(QueryProp(P_WEIGHT) == 75000) { 00073 SetProp(P_WEIGHT, (QueryProp(P_SIZE) * 390) + 00074 random(QueryProp(P_SIZE) * 10)); 00075 } 00076 SetProp(P_SHELL_VERSION, 2); 00077 default: break; 00078 } 00079 00080 SetProp(P_MAX_FOOD, 110); 00081 SetProp(P_MAX_DRINK, 80); 00082 SetProp(P_MAX_ALCOHOL, 125); 00083 SetProp(P_DEFUEL_LIMIT_FOOD, 60); 00084 SetProp(P_DEFUEL_LIMIT_DRINK, 60); 00085 SetProp(P_DEFUEL_TIME_FOOD, 400); 00086 SetProp(P_DEFUEL_TIME_DRINK, 360); 00087 SetProp(P_DEFUEL_AMOUNT_FOOD, 0.5); 00088 SetProp(P_DEFUEL_AMOUNT_DRINK, 0.4); 00089 }

| static void FinalSetup | ( | ) | [static] |
Definiert in Zeile 91 der Datei goblin.c.
Benutzt M_NOCHECK, P_LEVEL und QueryProp().
00091 { 00092 object o; 00093 if(QueryProp(P_LEVEL) > 5 || present("\nibel:waldlichtungskarte", 00094 this_object())) return; 00095 if(!catch(o = clone_object("/d/wald/nibel/lichtung/obj/karte"))) 00096 o->move(this_object(), M_NOCHECK); 00097 }

| static varargs int GoblinCmdWaaagh | ( | string | arg | ) | [static] |
Definiert in Zeile 162 der Datei goblin.c.
Benutzt break_string(), CountUp(), i, Name(), obs, P_LEVEL, QueryProp() und WER.
00162 { 00163 object *obs; string s, w; int i; 00164 if(!objectp(environment())) return 0; 00165 obs = filter(all_inventory(environment()) - ({this_object()}), #'living); 00166 obs = obs - filter_objects(obs, "QueryProp", P_INVIS); 00167 // levelabhaengige Anzahl aaaaaaa's 00168 w = "W"+ sprintf("%'a'"+ (QueryProp(P_LEVEL) / 10 + 3) +"s", "aaa") +"gh!"; 00169 if(!i = sizeof(obs)) 00170 return tell_object(this_object(), break_string("Du ballst die " 00171 "Faeustchen und kreischst laut: "+ w +"\n", 78, 0, 1)),1; 00172 s = CountUp(map_objects(obs, "name", WER)); 00173 foreach(object o : obs) { 00174 if(!interactive(o)) continue; 00175 if(o->Message(break_string(Name(WER) +" ballt die Faeustchen und " 00176 "kreischt laut: "+ w +"\n"+ capitalize(regreplace(s, "\\<"+ 00177 o->name(WER) +"\\>", capitalize(o->QueryDu(WER)), 0)) +" zuck"+ 00178 (i > 1 ? "en" : "st") +" erschrocken zusammen.", 78, 0, 1)) == -1) 00179 tell_object(this_object(), o->Name(WER) +" ignoriert Dich oder diesen " 00180 "Befehl.\n"); 00181 } 00182 return tell_object(this_object(), break_string("Du ballst die Faeustchen " 00183 "und kreischst laut: "+ w +"\n"+ capitalize(s) +" zuck"+ 00184 (i > 1 ? "en" : "t") +" erschrocken zusammen.", 78, 0, 1)),1; 00185 }

| public mixed RaceDefault | ( | string | arg | ) |
Definiert in Zeile 145 der Datei goblin.c.
Benutzt DT_BLUDGEON, P_BODY, P_HANDS und RaceDefault().
00145 { 00146 if(!arg) return 0; 00147 switch(arg) { 00148 case P_HANDS: 00149 return ({" mit kleinen Faeustchen", 30, ({ DT_BLUDGEON })}); 00150 case P_BODY: 00151 return 15; 00152 } 00153 return base::RaceDefault(arg); 00154 }

1.6.3