Main Page | Alphabetical List | Data Structures | File List | Data Fields | Globals

tables.c

Go to the documentation of this file.
00001 /***************************************************************************
00002  *  Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer,        *
00003  *  Michael Seifert, Hans Henrik Strfeldt, Tom Madsen, and Katja Nyboe.    *
00004  *                                                                         *
00005  *  Merc Diku Mud improvments copyright (C) 1992, 1993 by Michael          *
00006  *  Chastain, Michael Quan, and Mitchell Tse.                              *
00007  *                                                                         *
00008  *  In order to use any part of this Merc Diku Mud, you must comply with   *
00009  *  both the original Diku license in 'license.doc' as well the Merc       *
00010  *  license in 'license.txt'.  In particular, you may not remove either of *
00011  *  these copyright notices.                                               *
00012  *                                                                         *
00013  *  Much time and thought has gone into this software and you are          *
00014  *  benefitting.  We hope that you share your changes too.  What goes      *
00015  *  around, comes around.                                                  *
00016  ***************************************************************************/
00017 
00018 /***************************************************************************
00019  *  ROM 2.4 is copyright 1993-1998 Russ Taylor                             *
00020  *  ROM has been brought to you by the ROM consortium                      *
00021  *      Russ Taylor (rtaylor@hypercube.org)                                *
00022  *      Gabrielle Taylor (gtaylor@hypercube.org)                           *
00023  *      Brian Moore (zump@rom.org)                                         *
00024  *  By using this code, you have agreed to follow the terms of the         *
00025  *  ROM license, in the file Rom24/doc/rom.license                         *
00026  ***************************************************************************/
00027 
00028 #if defined(macintosh)
00029 #include <types.h>
00030 #else
00031 #include <sys/types.h>
00032 #endif
00033 #include <stdio.h>
00034 #include <time.h>
00035 #include "merc.h"
00036 #include "tables.h"
00037 
00038 /* for clans */
00039 //lan_data = malloc(sizeof(clan_data));
00040 
00041 struct clan_data_1 clan_data[MAX_CLAN] = {
00042     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}},//1
00043     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}},//2
00044     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}},//3
00045     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}},//4
00046     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}},//5
00047     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}},//6
00048     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}},//7
00049     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}},//8
00050     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}},//9
00051     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}},//10
00052     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}},//11
00053     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}} //12
00054 };
00055 
00056 struct kingdom_data_1 kingdom_data[MAX_KINGDOM] = {
00057     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},0,0}, //1
00058     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},0,0}, //2
00059     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},0,0}, //3
00060     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},0,0}, //4
00061     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},0,0}, //5
00062     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},0,0} //6
00063     /*{0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}, //7
00064     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}, //8
00065     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}, //9
00066     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}, //10
00067     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}, //11
00068     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}, //12
00069     {0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}}  //13*/
00070     
00071            
00072 
00073 };
00074                             
00075 const struct clan_type clan_table[MAX_CLAN] = {
00076     /*  name,       who entry,  death-transfer room,    independent */
00077     /* independent should be FALSE if is a real clan */
00078     {"", "", ROOM_VNUM_ALTAR, TRUE, NULL, "", ""},
00079     {"Independant", "[ {WIndependant{x ] ", ROOM_VNUM_ALTAR, TRUE, NULL, 
00080         "claims their Independance", ""},
00081     {"Seekers", "[ {YSeekers{x ] ", ROOM_VNUM_ALTAR, FALSE, "seekers.cla", 
00082         "has joined the clan", "was kicked out of the Seekers!"},
00083     {"Thorbardin", "[ {yThorbardin{x ] ", ROOM_VNUM_ALTAR, FALSE, 
00084         "thorb.cla", "has joined the clan of Thorbardin", "was kicked out of Thorbardin!"},
00085     {"White Robes", "[ {WWhite Robes{x ] ", ROOM_VNUM_ALTAR, FALSE,"white_robe.cla", 
00086         "has joined the tower of white.", "has been kicked out of the White Robes!"},
00087     {"Red Robes", "[ {RRed Robes{x ] ", ROOM_VNUM_ALTAR, FALSE,"red_robe.cla", 
00088         "has joined the tower of red.", "has been kicked out of the Red Robes!"},
00089     {"Black Robes", "[ {DBlack Robes{x ] ", ROOM_VNUM_ALTAR, FALSE, "black_robe.cla", 
00090         "has joined the tower of the black.", "has been kicked out of the Black Tower!"},
00091     {"Skull", "[ {DSkull{x ] ", ROOM_VNUM_ALTAR, FALSE,"skull.cla", 
00092         "has joined the joined Skull.","has been kicked out of Skull!"},
00093     {"Solamnia", "[ {BSolamnia{x ] ", ROOM_VNUM_ALTAR,FALSE,"solmania.cla", 
00094         "has joined the clan of Solmania", "has been kicked out of Solmania"},
00095     {"Dragon Army", "[ {cDragon Army{x ] ", ROOM_VNUM_ALTAR, FALSE,"dragonarmy.cla", 
00096         "has joined the clan of Dragonarmy", "was kicked out of Dragonarmy!"},
00097     {"R_Dragon", "({GDragon{x) ", ROOM_VNUM_VOID, FALSE, "dragon.cla", 
00098         "has joined the Dragon forces.", "has been removed from the Dragon forces!"},
00099     {"Que-Shu", "[ {RQue-{RShu{x ] ", ROOM_VNUM_ALTAR, FALSE, "que.cla", 
00100         "has joined the clan of Que-Shu", "has been kicked out of Que-Shu!"}
00101     
00102 };
00103 
00104 const struct kingdom_type kingdom_table[MAX_KINGDOM] = {
00105     /*name,    who,   death_transfer room,  eh?*/
00106     {"", "", ROOM_VNUM_ALTAR, TRUE, NULL, "", ""},
00107     {"Valmark", "{C({DValmark{C){x ", ROOM_VNUM_ALTAR, TRUE, "valmark.kin", 
00108         "has joined the kingdom of Valmark!", "was kicked out of Valmark!"},
00109     {"Ethiel", "{c({DEthiel{c){x ", ROOM_VNUM_ALTAR, TRUE, "ethiel.kin", 
00110         "has joined the kingdom of Ethiel", "was kicked out of Ethiel!"},
00111     {"Ellisgrad", "{c({DEllisgrad{c){x ", ROOM_VNUM_ALTAR, TRUE,"ellisgrad.kin", 
00112         "has joined the kingdom of Ellisgrad", "was kicked out of Ellisgrad"},
00113     {"New Mesana", "{c({DNew Mesana{c){x ", ROOM_VNUM_ALTAR, TRUE, "nm.kin", 
00114         "has joined the kingdom of New Mesana", "has been kicked out of New Mesana!"},
00115     {"Mesanopolis", "{c({DMesanopolis{c){x ", ROOM_VNUM_ALTAR, TRUE,"mesano.kin", 
00116         "has joined the kingdom of Mesanopolis", "has been kicked out of Mesanopolis!"}
00117 /*  {"Taman Busuk", "{c({DTB{c){x ", ROOM_VNUM_ALTAR, TRUE, "Taman_Busuk.kin", 
00118         "has joined the kingdom of Taman Busuk", "has been kicked out of Taman Busuk!"},
00119     {"Thorbadin", "{c({DTH{c){x ", ROOM_VNUM_ALTAR, TRUE,"thorbadin.kin", 
00120         "has joined the kingdom of Thorbadin", "has been kicked out of Thorbadin!"},
00121     {"Goodlund", "{c({DGL{c){x ", ROOM_VNUM_ALTAR, TRUE,"goodlund.kin", 
00122         "has joined the kingdom of Goodlund", "has been kicked out of Goodlund!"},
00123     {"Blodehelm", "{c({DBH{c){x ", ROOM_VNUM_ALTAR, TRUE, "blodehelm.kin",
00124         "has joined the kingdom of Blodehelm", "has been kicked out of Blodehelm!"},
00125     {"Kern", "{c({DKE{c){x ", ROOM_VNUM_ALTAR, TRUE, "kern.kin",
00126         "has joined the kingdom of Kern", "has been kicked out of Kern!"},
00127     {"Khur", "{c({DKR{c){x ", ROOM_VNUM_ALTAR, TRUE, "khur.kin", 
00128         "has joined the kingdom of Khur", "has been kicked out of Khur!"},
00129     {"Mt. Nevermind", "{c({DMN{c){x ", ROOM_VNUM_ALTAR, TRUE, "mtnever.kin",
00130         "has entered Mt Nevermind.", "has been kicked out of Mt Nevermind!"}*/
00131 };
00132 
00133 const struct dragon_type dragon_table[2] = {
00134     /* name,    'who'    death trans,  True dragon?*/
00135     {"", "", ROOM_VNUM_ALTAR, TRUE},
00136     {"evil", "black", ROOM_VNUM_ALTAR, TRUE}
00137 };
00138 /* for position */
00139 const struct position_type position_table[] = {
00140     {"dead", "dead"},
00141     {"mortally wounded", "mort"},
00142     {"incapacitated", "incap"},
00143     {"stunned", "stun"},
00144     {"sleeping", "sleep"},
00145     {"resting", "rest"},
00146     {"sitting", "sit"},
00147     {"fighting", "fight"},
00148     {"standing", "stand"},
00149     {NULL, NULL}
00150 };
00151 
00152 /* for sex */
00153 const struct sex_type sex_table[] = {
00154     {"none"},
00155     {"male"},
00156     {"female"},
00157     {"either"},
00158     {NULL}
00159 };
00160 
00161 /* for sizes */
00162 const struct size_type size_table[] = {
00163     {"tiny"},
00164     {"small"},
00165     {"medium"},
00166     {"large"},
00167     {"huge",},
00168     {"giant"},
00169     {NULL}
00170 };
00171 
00172 /* various flag tables */
00173 const struct flag_type act_flags[] = {
00174     {"npc", A, FALSE},
00175     {"sentinel", B, TRUE},
00176     {"scavenger", C, TRUE},
00177     {"aggressive", F, TRUE},
00178     {"mountable", D, TRUE}, /* Tribul - For mount code */
00179     {"stay_area", G, TRUE},
00180     {"wimpy", H, TRUE},
00181     {"pet", I, TRUE},
00182     {"train", J, TRUE},
00183     {"practice", K, TRUE},
00184     {"undead", O, TRUE},
00185     {"cleric", Q, TRUE},
00186     {"mage", R, TRUE},
00187     {"thief", S, TRUE},
00188     {"warrior", T, TRUE},
00189     {"noalign", U, TRUE},
00190     {"nopurge", V, TRUE},
00191     {"outdoors", W, TRUE},
00192     {"indoors", Y, TRUE},
00193     {"healer", aa, TRUE},
00194     {"gain", bb, TRUE},
00195     {"update_always", cc, TRUE},
00196     {"changer", dd, TRUE},
00197     {NULL, 0, FALSE}
00198 };
00199 
00200 const struct flag_type plr_flags[] = {
00201     {"npc", A, FALSE},
00202     {"autoassist", C, FALSE},
00203     {"autoexit", D, FALSE},
00204     {"autoloot", E, FALSE},
00205     {"autosac", F, FALSE},
00206     {"autogold", G, FALSE},
00207     {"autosplit", H, FALSE},
00208     {"holylight", N, FALSE},
00209     {"can_loot", P, FALSE},
00210     {"nosummon", Q, FALSE},
00211     {"nofollow", R, FALSE},
00212     {"colour", T, FALSE},
00213     {"permit", U, TRUE},
00214     {"log", W, FALSE},
00215     {"deny", X, FALSE},
00216     {"freeze", Y, FALSE},
00217     {"thief", Z, FALSE},
00218     {"killer", aa, FALSE},
00219     {NULL, 0, 0}
00220 };
00221 
00222 const struct flag_type affect_flags[] = {
00223     {"blind", A, TRUE},
00224     {"invisible", B, TRUE},
00225     {"detect_evil", C, TRUE},
00226     {"detect_invis", D, TRUE},
00227     {"detect_magic", E, TRUE},
00228     {"detect_hidden", F, TRUE},
00229     {"detect_good", G, TRUE},
00230     {"sanctuary", H, TRUE},
00231     {"faerie_fire", I, TRUE},
00232     {"infrared", J, TRUE},
00233     {"curse", K, TRUE},
00234     {"poison", M, TRUE},
00235     {"protect_evil", N, TRUE},
00236     {"protect_good", O, TRUE},
00237     {"sneak", P, TRUE},
00238     {"hide", Q, TRUE},
00239     {"sleep", R, TRUE},
00240     {"charm", S, TRUE},
00241     {"flying", T, TRUE},
00242     {"pass_door", U, TRUE},
00243     {"haste", V, TRUE},
00244     {"calm", W, TRUE},
00245     {"plague", X, TRUE},
00246     {"weaken", Y, TRUE},
00247     {"dark_vision", Z, TRUE},
00248     {"berserk", aa, TRUE},
00249     {"swim", bb, TRUE},
00250     {"regeneration", cc, TRUE},
00251     {"slow", dd, TRUE},
00252     {NULL, 0, 0}
00253 };
00254 
00255 const struct flag_type off_flags[] = {
00256     {"area_attack", A, TRUE},
00257     {"backstab", B, TRUE},
00258     {"bash", C, TRUE},
00259     {"berserk", D, TRUE},
00260     {"disarm", E, TRUE},
00261     {"dodge", F, TRUE},
00262     {"fade", G, TRUE},
00263     {"fast", H, TRUE},
00264     {"kick", I, TRUE},
00265     {"dirt_kick", J, TRUE},
00266     {"parry", K, TRUE},
00267     {"rescue", L, TRUE},
00268     {"tail", M, TRUE},
00269     {"trip", N, TRUE},
00270     {"crush", O, TRUE},
00271     {"assist_all", P, TRUE},
00272     {"assist_align", Q, TRUE},
00273     {"assist_race", R, TRUE},
00274     {"assist_players", S, TRUE},
00275     {"assist_guard", T, TRUE},
00276     {"assist_vnum", U, TRUE},
00277     {NULL, 0, 0}
00278 };
00279 
00280 const struct flag_type imm_flags[] = {
00281     {"summon", A, TRUE},
00282     {"charm", B, TRUE},
00283     {"magic", C, TRUE},
00284     {"weapon", D, TRUE},
00285     {"bash", E, TRUE},
00286     {"pierce", F, TRUE},
00287     {"slash", G, TRUE},
00288     {"fire", H, TRUE},
00289     {"cold", I, TRUE},
00290     {"lightning", J, TRUE},
00291     {"acid", K, TRUE},
00292     {"poison", L, TRUE},
00293     {"negative", M, TRUE},
00294     {"holy", N, TRUE},
00295     {"energy", O, TRUE},
00296     {"mental", P, TRUE},
00297     {"disease", Q, TRUE},
00298     {"drowning", R, TRUE},
00299     {"light", S, TRUE},
00300     {"sound", T, TRUE},
00301     {"wood", X, TRUE},
00302     {"silver", Y, TRUE},
00303     {"iron", Z, TRUE},
00304     {NULL, 0, 0}
00305 };
00306 
00307 const struct flag_type form_flags[] = {
00308     {"edible", FORM_EDIBLE, TRUE},
00309     {"poison", FORM_POISON, TRUE},
00310     {"magical", FORM_MAGICAL, TRUE},
00311     {"instant_decay", FORM_INSTANT_DECAY, TRUE},
00312     {"other", FORM_OTHER, TRUE},
00313     {"animal", FORM_ANIMAL, TRUE},
00314     {"sentient", FORM_SENTIENT, TRUE},
00315     {"undead", FORM_UNDEAD, TRUE},
00316     {"construct", FORM_CONSTRUCT, TRUE},
00317     {"mist", FORM_MIST, TRUE},
00318     {"intangible", FORM_INTANGIBLE, TRUE},
00319     {"biped", FORM_BIPED, TRUE},
00320     {"centaur", FORM_CENTAUR, TRUE},
00321     {"insect", FORM_INSECT, TRUE},
00322     {"spider", FORM_SPIDER, TRUE},
00323     {"crustacean", FORM_CRUSTACEAN, TRUE},
00324     {"worm", FORM_WORM, TRUE},
00325     {"blob", FORM_BLOB, TRUE},
00326     {"mammal", FORM_MAMMAL, TRUE},
00327     {"bird", FORM_BIRD, TRUE},
00328     {"reptile", FORM_REPTILE, TRUE},
00329     {"snake", FORM_SNAKE, TRUE},
00330     {"dragon", FORM_DRAGON, TRUE},
00331     {"amphibian", FORM_AMPHIBIAN, TRUE},
00332     {"fish", FORM_FISH, TRUE},
00333     {"cold_blood", FORM_COLD_BLOOD, TRUE},
00334     {NULL, 0, 0}
00335 };
00336 
00337 const struct flag_type part_flags[] = {
00338     {"head", PART_HEAD, TRUE},
00339     {"arms", PART_ARMS, TRUE},
00340     {"legs", PART_LEGS, TRUE},
00341     {"heart", PART_HEART, TRUE},
00342     {"brains", PART_BRAINS, TRUE},
00343     {"guts", PART_GUTS, TRUE},
00344     {"hands", PART_HANDS, TRUE},
00345     {"feet", PART_FEET, TRUE},
00346     {"fingers", PART_FINGERS, TRUE},
00347     {"ear", PART_EAR, TRUE},
00348     {"eye", PART_EYE, TRUE},
00349     {"long_tongue", PART_LONG_TONGUE, TRUE},
00350     {"eyestalks", PART_EYESTALKS, TRUE},
00351     {"tentacles", PART_TENTACLES, TRUE},
00352     {"fins", PART_FINS, TRUE},
00353     {"wings", PART_WINGS, TRUE},
00354     {"tail", PART_TAIL, TRUE},
00355     {"claws", PART_CLAWS, TRUE},
00356     {"fangs", PART_FANGS, TRUE},
00357     {"horns", PART_HORNS, TRUE},
00358     {"scales", PART_SCALES, TRUE},
00359     {"tusks", PART_TUSKS, TRUE},
00360     {NULL, 0, 0}
00361 };
00362 
00363 const struct flag_type comm_flags[] = {
00364     {"quiet", COMM_QUIET, TRUE},
00365     {"deaf", COMM_DEAF, TRUE},
00366     {"nowiz", COMM_NOWIZ, TRUE},
00367     {"noclangossip", COMM_NOAUCTION, TRUE},
00368     {"nogossip", COMM_NOGOSSIP, TRUE},
00369     {"noquestion", COMM_NOQUESTION, TRUE},
00370     {"nomusic", COMM_NOMUSIC, TRUE},
00371     {"noclan", COMM_NOCLAN, TRUE},
00372     {"noquote", COMM_NOQUOTE, TRUE},
00373     {"shoutsoff", COMM_SHOUTSOFF, TRUE},
00374     {"compact", COMM_COMPACT, TRUE},
00375     {"brief", COMM_BRIEF, TRUE},
00376     {"prompt", COMM_PROMPT, TRUE},
00377     {"combine", COMM_COMBINE, TRUE},
00378     {"telnet_ga", COMM_TELNET_GA, TRUE},
00379     {"show_affects", COMM_SHOW_AFFECTS, TRUE},
00380     {"nograts", COMM_NOGRATS, TRUE},
00381     {"noemote", COMM_NOEMOTE, FALSE},
00382     {"noshout", COMM_NOSHOUT, FALSE},
00383     {"notell", COMM_NOTELL, FALSE},
00384     {"nochannels", COMM_NOCHANNELS, FALSE},
00385     {"snoop_proof", COMM_SNOOP_PROOF, FALSE},
00386     {"afk", COMM_AFK, TRUE},
00387     {NULL, 0, 0}
00388 };
00389 
00390 const struct flag_type mprog_flags[] = {
00391     {"act", TRIG_ACT, TRUE},
00392     {"bribe", TRIG_BRIBE, TRUE},
00393     {"death", TRIG_DEATH, TRUE},
00394     {"entry", TRIG_ENTRY, TRUE},
00395     {"fight", TRIG_FIGHT, TRUE},
00396     {"give", TRIG_GIVE, TRUE},
00397     {"greet", TRIG_GREET, TRUE},
00398     {"grall", TRIG_GRALL, TRUE},
00399     {"kill", TRIG_KILL, TRUE},
00400     {"hpcnt", TRIG_HPCNT, TRUE},
00401     {"random", TRIG_RANDOM, TRUE},
00402     {"speech", TRIG_SPEECH, TRUE},
00403     {"exit", TRIG_EXIT, TRUE},
00404     {"exall", TRIG_EXALL, TRUE},
00405     {"delay", TRIG_DELAY, TRUE},
00406     {"surr", TRIG_SURR, TRUE},
00407     {NULL, 0, TRUE}
00408 };
00409 
00410 const struct flag_type area_flags[] = {
00411     {"none", AREA_NONE, FALSE},
00412     {"changed", AREA_CHANGED, TRUE},
00413     {"added", AREA_ADDED, TRUE},
00414     {"loading", AREA_LOADING, FALSE},
00415     {NULL, 0, 0}
00416 };
00417 
00418 
00419 
00420 const struct flag_type sex_flags[] = {
00421     {"male", SEX_MALE, TRUE},
00422     {"female", SEX_FEMALE, TRUE},
00423     {"neutral", SEX_NEUTRAL, TRUE},
00424     {"random", 3, TRUE},        /* ROM */
00425     {"none", SEX_NEUTRAL, TRUE},
00426     {NULL, 0, 0}
00427 };
00428 
00429 
00430 
00431 const struct flag_type exit_flags[] = {
00432     {"door", EX_ISDOOR, TRUE},
00433     {"closed", EX_CLOSED, TRUE},
00434     {"locked", EX_LOCKED, TRUE},
00435     {"pickproof", EX_PICKPROOF, TRUE},
00436     {"nopass", EX_NOPASS, TRUE},
00437     {"easy", EX_EASY, TRUE},
00438     {"hard", EX_HARD, TRUE},
00439     {"infuriating", EX_INFURIATING, TRUE},
00440     {"noclose", EX_NOCLOSE, TRUE},
00441     {"nolock", EX_NOLOCK, TRUE},
00442     {NULL, 0, 0}
00443 };
00444 
00445 
00446 
00447 const struct flag_type door_resets[] = {
00448     {"open and unlocked", 0, TRUE},
00449     {"closed and unlocked", 1, TRUE},
00450     {"closed and locked", 2, TRUE},
00451     {NULL, 0, 0}
00452 };
00453 
00454 
00455 
00456 const struct flag_type room_flags[] = {
00457     {"dark", ROOM_DARK, TRUE},
00458     {"no_mob", ROOM_NO_MOB, TRUE},
00459     {"indoors", ROOM_INDOORS, TRUE},
00460     {"private", ROOM_PRIVATE, TRUE},
00461     {"safe", ROOM_SAFE, TRUE},
00462     {"solitary", ROOM_SOLITARY, TRUE},
00463     {"pet_shop", ROOM_PET_SHOP, TRUE},
00464     {"no_recall", ROOM_NO_RECALL, TRUE},
00465     {"imp_only", ROOM_IMP_ONLY, TRUE},
00466     {"gods_only", ROOM_GODS_ONLY, TRUE},
00467     {"heroes_only", ROOM_HEROES_ONLY, TRUE},
00468     {"newbies_only", ROOM_NEWBIES_ONLY, TRUE},
00469     {"law", ROOM_LAW, TRUE},
00470     {"nowhere", ROOM_NOWHERE, TRUE},
00471 //   {"clan_hall_codemonkey", ROOM_CLANHALL_CODEMONKEY, TRUE},
00472   //  {"clan_hall_dragon", ROOM_CLANHALL_DRAGON, TRUE},
00473     {"no_where", ROOM_NO_WHERE, TRUE},
00474     {"no_death", ROOM_NO_DEATH, TRUE},
00475     {NULL, 0, 0}
00476 };
00477 const struct flag_type room_flags_extra[] = {
00478     {"no_where", ROOM_NO_WHERE, TRUE},
00479     {NULL, 0,0}
00480 
00481 };
00482 
00483 
00484 const struct flag_type sector_flags[] = {
00485     {"inside", SECT_INSIDE, TRUE},
00486     {"city", SECT_CITY, TRUE},
00487     {"field", SECT_FIELD, TRUE},
00488     {"forest", SECT_FOREST, TRUE},
00489     {"hills", SECT_HILLS, TRUE},
00490     {"mountain", SECT_MOUNTAIN, TRUE},
00491     {"swim", SECT_WATER_SWIM, TRUE},
00492     {"noswim", SECT_WATER_NOSWIM, TRUE},
00493     {"unused", SECT_UNUSED, TRUE},
00494     {"air", SECT_AIR, TRUE},
00495     {"desert", SECT_DESERT, TRUE},
00496     {"arena", SECT_ARENA, TRUE},
00497     {NULL, 0, 0}
00498 };
00499 
00500 
00501 
00502 const struct flag_type type_flags[] = {
00503     {"light", ITEM_LIGHT, TRUE},
00504     {"scroll", ITEM_SCROLL, TRUE},
00505     {"wand", ITEM_WAND, TRUE},
00506     {"staff", ITEM_STAFF, TRUE},
00507     {"weapon", ITEM_WEAPON, TRUE},
00508     {"treasure", ITEM_TREASURE, TRUE},
00509     {"armor", ITEM_ARMOR, TRUE},
00510     {"potion", ITEM_POTION, TRUE},
00511     {"furniture", ITEM_FURNITURE, TRUE},
00512     {"trash", ITEM_TRASH, TRUE},
00513     {"container", ITEM_CONTAINER, TRUE},
00514     {"drinkcontainer", ITEM_DRINK_CON, TRUE},
00515     {"key", ITEM_KEY, TRUE},
00516     {"food", ITEM_FOOD, TRUE},
00517     {"money", ITEM_MONEY, TRUE},
00518     {"boat", ITEM_BOAT, TRUE},
00519     {"npccorpse", ITEM_CORPSE_NPC, TRUE},
00520     {"pc corpse", ITEM_CORPSE_PC, FALSE},
00521     {"fountain", ITEM_FOUNTAIN, TRUE},
00522     {"pill", ITEM_PILL, TRUE},
00523     {"protect", ITEM_PROTECT, TRUE},
00524     {"map", ITEM_MAP, TRUE},
00525     {"portal", ITEM_PORTAL, TRUE},
00526     {"warpstone", ITEM_WARP_STONE, TRUE},
00527     {"roomkey", ITEM_ROOM_KEY, TRUE},
00528     {"gem", ITEM_GEM, TRUE},
00529     {"jewelry", ITEM_JEWELRY, TRUE},
00530     {"jukebox", ITEM_JUKEBOX, TRUE},
00531     {"tailoring_leather", TAILOR_LEAT, TRUE},
00532     {NULL, 0, 0}
00533 };
00534 
00535 
00536 const struct flag_type extra_flags[] = {
00537     {"glow", ITEM_GLOW, TRUE},
00538     {"hum", ITEM_HUM, TRUE},
00539     {"dark", ITEM_DARK, TRUE},
00540     {"lock", ITEM_LOCK, TRUE},
00541     {"evil", ITEM_EVIL, TRUE},
00542     {"invis", ITEM_INVIS, TRUE},
00543     {"magic", ITEM_MAGIC, TRUE},
00544     {"nodrop", ITEM_NODROP, TRUE},
00545     {"bless", ITEM_BLESS, TRUE},
00546     {"antigood", ITEM_ANTI_GOOD, TRUE},
00547     {"antievil", ITEM_ANTI_EVIL, TRUE},
00548     {"antineutral", ITEM_ANTI_NEUTRAL, TRUE},
00549     {"noremove", ITEM_NOREMOVE, TRUE},
00550     {"inventory", ITEM_INVENTORY, TRUE},
00551     {"nopurge", ITEM_NOPURGE, TRUE},
00552     {"rotdeath", ITEM_ROT_DEATH, TRUE},
00553     {"visdeath", ITEM_VIS_DEATH, TRUE},
00554     {"nonmetal", ITEM_NONMETAL, TRUE},
00555     {"meltdrop", ITEM_MELT_DROP, TRUE},
00556     {"hadtimer", ITEM_HAD_TIMER, TRUE},
00557     {"sellextract", ITEM_SELL_EXTRACT, TRUE},
00558     {"burnproof", ITEM_BURN_PROOF, TRUE},
00559     {"nouncurse", ITEM_NOUNCURSE, TRUE},
00560     {NULL, 0, 0}
00561 };
00562 
00563 
00564 
00565 const struct flag_type wear_flags[] = {
00566     {"take", ITEM_TAKE, TRUE},
00567     {"finger", ITEM_WEAR_FINGER, TRUE},
00568     {"neck", ITEM_WEAR_NECK, TRUE},
00569     {"body", ITEM_WEAR_BODY, TRUE},
00570     {"head", ITEM_WEAR_HEAD, TRUE},
00571     {"legs", ITEM_WEAR_LEGS, TRUE},
00572     {"feet", ITEM_WEAR_FEET, TRUE},
00573     {"hands", ITEM_WEAR_HANDS, TRUE},
00574     {"arms", ITEM_WEAR_ARMS, TRUE},
00575     {"shield", ITEM_WEAR_SHIELD, TRUE},
00576     {"about", ITEM_WEAR_ABOUT, TRUE},
00577     {"waist", ITEM_WEAR_WAIST, TRUE},
00578     {"wrist", ITEM_WEAR_WRIST, TRUE},
00579     {"wield", ITEM_WIELD, TRUE},
00580     {"hold", ITEM_HOLD, TRUE},
00581     {"nosac", ITEM_NO_SAC, TRUE},
00582     {"wearfloat", ITEM_WEAR_FLOAT, TRUE},
00583 /*    {   "twohands",            ITEM_TWO_HANDS,         TRUE    }, */
00584     {NULL, 0, 0}
00585 };
00586 
00587 /*
00588  * Used when adding an affect to tell where it goes.
00589  * See addaffect and delaffect in act_olc.c
00590  */
00591 const struct flag_type apply_flags[] = {
00592     {"none", APPLY_NONE, TRUE},
00593     {"strength", APPLY_STR, TRUE},
00594     {"dexterity", APPLY_DEX, TRUE},
00595     {"intelligence", APPLY_INT, TRUE},
00596     {"wisdom", APPLY_WIS, TRUE},
00597     {"constitution", APPLY_CON, TRUE},
00598     {"sex", APPLY_SEX, TRUE},
00599     {"class", APPLY_CLASS, TRUE},
00600     {"level", APPLY_LEVEL, TRUE},
00601     {"age", APPLY_AGE, TRUE},
00602     {"height", APPLY_HEIGHT, TRUE},
00603     {"weight", APPLY_WEIGHT, TRUE},
00604     {"mana", APPLY_MANA, TRUE},
00605     {"hp", APPLY_HIT, TRUE},
00606     {"move", APPLY_MOVE, TRUE},
00607     {"gold", APPLY_GOLD, TRUE},
00608     {"experience", APPLY_EXP, TRUE},
00609     {"ac", APPLY_AC, TRUE},
00610     {"hitroll", APPLY_HITROLL, TRUE},
00611     {"damroll", APPLY_DAMROLL, TRUE},
00612     {"saves", APPLY_SAVES, TRUE},
00613     {"savingpara", APPLY_SAVING_PARA, TRUE},
00614     {"savingrod", APPLY_SAVING_ROD, TRUE},
00615     {"savingpetri", APPLY_SAVING_PETRI, TRUE},
00616     {"savingbreath", APPLY_SAVING_BREATH, TRUE},
00617     {"savingspell", APPLY_SAVING_SPELL, TRUE},
00618     {"spellaffect", APPLY_SPELL_AFFECT, FALSE},
00619     {NULL, 0, 0}
00620 };
00621 
00622 
00623 
00624 /*
00625  * What is seen.
00626  */
00627 const struct flag_type wear_loc_strings[] = {
00628     {"in the inventory", WEAR_NONE, TRUE},
00629     {"as a light", WEAR_LIGHT, TRUE},
00630     {"on the left finger", WEAR_FINGER_L, TRUE},
00631     {"on the right finger", WEAR_FINGER_R, TRUE},
00632     {"around the neck (1)", WEAR_NECK_1, TRUE},
00633     {"around the neck (2)", WEAR_NECK_2, TRUE},
00634     {"on the body", WEAR_BODY, TRUE},
00635     {"over the head", WEAR_HEAD, TRUE},
00636     {"on the legs", WEAR_LEGS, TRUE},
00637     {"on the feet", WEAR_FEET, TRUE},
00638     {"on the hands", WEAR_HANDS, TRUE},
00639     {"on the arms", WEAR_ARMS, TRUE},
00640     {"as a shield", WEAR_SHIELD, TRUE},
00641     {"about the shoulders", WEAR_ABOUT, TRUE},
00642     {"around the waist", WEAR_WAIST, TRUE},
00643     {"on the left wrist", WEAR_WRIST_L, TRUE},
00644     {"on the right wrist", WEAR_WRIST_R, TRUE},
00645     {"wielded", WEAR_WIELD, TRUE},
00646     {"held in the hands", WEAR_HOLD, TRUE},
00647     {"floating nearby", WEAR_FLOAT, TRUE},
00648     {NULL, 0, 0}
00649 };
00650 
00651 
00652 const struct flag_type wear_loc_flags[] = {
00653     {"none", WEAR_NONE, TRUE},
00654     {"light", WEAR_LIGHT, TRUE},
00655     {"lfinger", WEAR_FINGER_L, TRUE},
00656     {"rfinger", WEAR_FINGER_R, TRUE},
00657     {"neck1", WEAR_NECK_1, TRUE},
00658     {"neck2", WEAR_NECK_2, TRUE},
00659     {"body", WEAR_BODY, TRUE},
00660     {"head", WEAR_HEAD, TRUE},
00661     {"legs", WEAR_LEGS, TRUE},
00662     {"feet", WEAR_FEET, TRUE},
00663     {"hands", WEAR_HANDS, TRUE},
00664     {"arms", WEAR_ARMS, TRUE},
00665     {"shield", WEAR_SHIELD, TRUE},
00666     {"about", WEAR_ABOUT, TRUE},
00667     {"waist", WEAR_WAIST, TRUE},
00668     {"lwrist", WEAR_WRIST_L, TRUE},
00669     {"rwrist", WEAR_WRIST_R, TRUE},
00670     {"wielded", WEAR_WIELD, TRUE},
00671     {"hold", WEAR_HOLD, TRUE},
00672     {"floating", WEAR_FLOAT, TRUE},
00673     {NULL, 0, 0}
00674 };
00675 
00676 const struct flag_type container_flags[] = {
00677     {"closeable", 1, TRUE},
00678     {"pickproof", 2, TRUE},
00679     {"closed", 4, TRUE},
00680     {"locked", 8, TRUE},
00681     {"puton", 16, TRUE},
00682     {NULL, 0, 0}
00683 };
00684 
00685 /*****************************************************************************
00686                       ROM - specific tables:
00687  ****************************************************************************/
00688 
00689 
00690 
00691 
00692 const struct flag_type ac_type[] = {
00693     {"pierce", AC_PIERCE, TRUE},
00694     {"bash", AC_BASH, TRUE},
00695     {"slash", AC_SLASH, TRUE},
00696     {"exotic", AC_EXOTIC, TRUE},
00697     {NULL, 0, 0}
00698 };
00699 
00700 
00701 const struct flag_type size_flags[] = {
00702     {"tiny", SIZE_TINY, TRUE},
00703     {"small", SIZE_SMALL, TRUE},
00704     {"medium", SIZE_MEDIUM, TRUE},
00705     {"large", SIZE_LARGE, TRUE},
00706     {"huge", SIZE_HUGE, TRUE},
00707     {"giant", SIZE_GIANT, TRUE},
00708     {NULL, 0, 0},
00709 };
00710 
00711 
00712 const struct flag_type weapon_class[] = {
00713     {"exotic", WEAPON_EXOTIC, TRUE},
00714     {"sword", WEAPON_SWORD, TRUE},
00715     {"dagger", WEAPON_DAGGER, TRUE},
00716     {"spear", WEAPON_SPEAR, TRUE},
00717     {"mace", WEAPON_MACE, TRUE},
00718     {"axe", WEAPON_AXE, TRUE},
00719     {"flail", WEAPON_FLAIL, TRUE},
00720     {"whip", WEAPON_WHIP, TRUE},
00721     {"polearm", WEAPON_POLEARM, TRUE},
00722     {NULL, 0, 0}
00723 };
00724 
00725 
00726 const struct flag_type weapon_type2[] = {
00727     {"flaming", WEAPON_FLAMING, TRUE},
00728     {"frost", WEAPON_FROST, TRUE},
00729     {"vampiric", WEAPON_VAMPIRIC, TRUE},
00730     {"sharp", WEAPON_SHARP, TRUE},
00731     {"vorpal", WEAPON_VORPAL, TRUE},
00732     {"twohands", WEAPON_TWO_HANDS, TRUE},
00733     {"shocking", WEAPON_SHOCKING, TRUE},
00734     {"poison", WEAPON_POISON, TRUE},
00735     {NULL, 0, 0}
00736 };
00737 
00738 const struct flag_type res_flags[] = {
00739     {"summon", RES_SUMMON, TRUE},
00740     {"charm", RES_CHARM, TRUE},
00741     {"magic", RES_MAGIC, TRUE},
00742     {"weapon", RES_WEAPON, TRUE},
00743     {"bash", RES_BASH, TRUE},
00744     {"pierce", RES_PIERCE, TRUE},
00745     {"slash", RES_SLASH, TRUE},
00746     {"fire", RES_FIRE, TRUE},
00747     {"cold", RES_COLD, TRUE},
00748     {"lightning", RES_LIGHTNING, TRUE},
00749     {"acid", RES_ACID, TRUE},
00750     {"poison", RES_POISON, TRUE},
00751     {"negative", RES_NEGATIVE, TRUE},
00752     {"holy", RES_HOLY, TRUE},
00753     {"energy", RES_ENERGY, TRUE},
00754     {"mental", RES_MENTAL, TRUE},
00755     {"disease", RES_DISEASE, TRUE},
00756     {"drowning", RES_DROWNING, TRUE},
00757     {"light", RES_LIGHT, TRUE},
00758     {"sound", RES_SOUND, TRUE},
00759     {"wood", RES_WOOD, TRUE},
00760     {"silver", RES_SILVER, TRUE},
00761     {"iron", RES_IRON, TRUE},
00762     {NULL, 0, 0}
00763 };
00764 
00765 
00766 const struct flag_type vuln_flags[] = {
00767     {"summon", VULN_SUMMON, TRUE},
00768     {"charm", VULN_CHARM, TRUE},
00769     {"magic", VULN_MAGIC, TRUE},
00770     {"weapon", VULN_WEAPON, TRUE},
00771     {"bash", VULN_BASH, TRUE},
00772     {"pierce", VULN_PIERCE, TRUE},
00773     {"slash", VULN_SLASH, TRUE},
00774     {"fire", VULN_FIRE, TRUE},
00775     {"cold", VULN_COLD, TRUE},
00776     {"lightning", VULN_LIGHTNING, TRUE},
00777     {"acid", VULN_ACID, TRUE},
00778     {"poison", VULN_POISON, TRUE},
00779     {"negative", VULN_NEGATIVE, TRUE},
00780     {"holy", VULN_HOLY, TRUE},
00781     {"energy", VULN_ENERGY, TRUE},
00782     {"mental", VULN_MENTAL, TRUE},
00783     {"disease", VULN_DISEASE, TRUE},
00784     {"drowning", VULN_DROWNING, TRUE},
00785     {"light", VULN_LIGHT, TRUE},
00786     {"sound", VULN_SOUND, TRUE},
00787     {"wood", VULN_WOOD, TRUE},
00788     {"silver", VULN_SILVER, TRUE},
00789     {"iron", VULN_IRON, TRUE},
00790     {NULL, 0, 0}
00791 };
00792 
00793 const struct flag_type position_flags[] = {
00794     {"dead", POS_DEAD, FALSE},
00795     {"mortal", POS_MORTAL, FALSE},
00796     {"incap", POS_INCAP, FALSE},
00797     {"stunned", POS_STUNNED, FALSE},
00798     {"sleeping", POS_SLEEPING, TRUE},
00799     {"resting", POS_RESTING, TRUE},
00800     {"sitting", POS_SITTING, TRUE},
00801     {"fighting", POS_FIGHTING, FALSE},
00802     {"standing", POS_STANDING, TRUE},
00803     {NULL, 0, 0}
00804 };
00805 
00806 const struct flag_type portal_flags[] = {
00807     {"normal_exit", GATE_NORMAL_EXIT, TRUE},
00808     {"no_curse", GATE_NOCURSE, TRUE},
00809     {"go_with", GATE_GOWITH, TRUE},
00810     {"buggy", GATE_BUGGY, TRUE},
00811     {"random", GATE_RANDOM, TRUE},
00812     {NULL, 0, 0}
00813 };
00814 
00815 const struct flag_type furniture_flags[] = {
00816     {"stand_at", STAND_AT, TRUE},
00817     {"stand_on", STAND_ON, TRUE},
00818     {"stand_in", STAND_IN, TRUE},
00819     {"sit_at", SIT_AT, TRUE},
00820     {"sit_on", SIT_ON, TRUE},
00821     {"sit_in", SIT_IN, TRUE},
00822     {"rest_at", REST_AT, TRUE},
00823     {"rest_on", REST_ON, TRUE},
00824     {"rest_in", REST_IN, TRUE},
00825     {"sleep_at", SLEEP_AT, TRUE},
00826     {"sleep_on", SLEEP_ON, TRUE},
00827     {"sleep_in", SLEEP_IN, TRUE},
00828     {"put_at", PUT_AT, TRUE},
00829     {"put_on", PUT_ON, TRUE},
00830     {"put_in", PUT_IN, TRUE},
00831     {"put_inside", PUT_INSIDE, TRUE},
00832     {NULL, 0, 0}
00833 };
00834 
00835 const struct flag_type apply_types[] = {
00836     {"affects", TO_AFFECTS, TRUE},
00837     {"object", TO_OBJECT, TRUE},
00838     {"immune", TO_IMMUNE, TRUE},
00839     {"resist", TO_RESIST, TRUE},
00840     {"vuln", TO_VULN, TRUE},
00841     {"weapon", TO_WEAPON, TRUE},
00842     {NULL, 0, TRUE}
00843 };
00844 
00845 const struct bit_type bitvector_type[] = {
00846     {affect_flags, "affect"},
00847     {apply_flags, "apply"},
00848     {imm_flags, "imm"},
00849     {res_flags, "res"},
00850     {vuln_flags, "vuln"},
00851     {weapon_type2, "weapon"}
00852 };

Generated on Thu Jan 13 21:48:14 2005 for Beyond the Shadows by  doxygen 1.4.0