/**************************************************************************/ // tables.cpp - tables looked up for bit fields etc /*************************************************************************** * The Dawn of Time v1.69r (c)1997-2004 Michael Garratt * * >> A number of people have contributed to the Dawn codebase, with the * * majority of code written by Michael Garratt - www.dawnoftime.org * * >> To use this source code, you must fully comply with all the licenses * * in licenses.txt... In particular, you may not remove this copyright * * notice. * *************************************************************************** * >> Original Diku Mud copyright (c)1990, 1991 by Sebastian Hammer, * * Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, & Katja Nyboe. * * >> Merc Diku Mud improvements copyright (C) 1992, 1993 by Michael * * Chastain, Michael Quan, and Mitchell Tse. * * >> ROM 2.4 is copyright 1993-1995 Russ Taylor and has been brought to * * you by the ROM consortium: Russ Taylor(rtaylor@pacinfo.com), * * Gabrielle Taylor(gtaylor@pacinfo.com) & Brian Moore(rom@rom.efn.org) * * >> Oblivion 1.2 is copyright 1996 Wes Wagner * **************************************************************************/ #include "include.h" // dawn standard includes #include "laston.h" #include "d2magsys.h" #include "support.h" #include "notenet.h" #include "immquest.h" #include "trap.h" DECLARE_GAMBLE_FUN( gamble_seven ); // first are all the directories const struct directories_type directories_table[] = { { "area files", AREA_DIR}, { "area Room Invite List files", AREA_RIL_DIR}, { "backup area files", BACKUP_AREA_DIR}, { "backup area Room Invite List files", BACKUP_AREA_RIL_DIR}, { "help files", HELP_DIR}, { "backup help files", BACKUP_HELP_DIR}, { "logfiles root dir", LOG_ROOT_DIR}, { "logdir: olc related logs", OLC_LOGS_DIR }, { "logdir: code related logs", CODE_LOGS_DIR }, { "logdir: admin related logs", ADMIN_LOGS_DIR }, { "logdir: player logs", PLAYER_LOGS_DIR }, { "logdir: restring logs", RESTRING_LOGS_DIR}, { "logdir: channel logs", CHANNELS_LOGS_DIR}, { "logdir: support related logs", SUPPORT_LOGS_DIR}, { "logdir: game logs (port-yymmdd-x.log)",GAME_LOGS_DIR}, { "logdir: imm logs", IMMLOG_DIR }, { "game system parameters root directory", SYSTEM_DIR}, { "mud dynamic data directory", DATA_DIR}, { "languages system files", LANGUAGES_DIR}, { "output from 'class makealltables'", CLASSES_DIR}, { "contains all the deity info.", DEITY_DIR}, { "contains all the scripts runable with the script system", SCRIPTS_DIR}, { "notes directory", NOTES_DIR}, #if defined(NO_INITIAL_ALPHA_PFILEDIRS) || defined(WIN32) { "player files", PLAYER_DIR}, #else // WIN32 defines NO_INITIAL_ALPHA_PFILEDIRS // NO_INITIAL_ALPHA_PFILEDIRS uses just the pfile directory { "player files root", PLAYER_DIR}, { "player files - A", PLAYER_DIR "a" DIR_SYM}, { "player files - B", PLAYER_DIR "b" DIR_SYM}, { "player files - C", PLAYER_DIR "c" DIR_SYM}, { "player files - D", PLAYER_DIR "d" DIR_SYM}, { "player files - E", PLAYER_DIR "e" DIR_SYM}, { "player files - F", PLAYER_DIR "f" DIR_SYM}, { "player files - G", PLAYER_DIR "g" DIR_SYM}, { "player files - H", PLAYER_DIR "h" DIR_SYM}, { "player files - I", PLAYER_DIR "i" DIR_SYM}, { "player files - J", PLAYER_DIR "j" DIR_SYM}, { "player files - K", PLAYER_DIR "k" DIR_SYM}, { "player files - L", PLAYER_DIR "l" DIR_SYM}, { "player files - M", PLAYER_DIR "m" DIR_SYM}, { "player files - N", PLAYER_DIR "n" DIR_SYM}, { "player files - O", PLAYER_DIR "o" DIR_SYM}, { "player files - P", PLAYER_DIR "p" DIR_SYM}, { "player files - Q", PLAYER_DIR "q" DIR_SYM}, { "player files - R", PLAYER_DIR "r" DIR_SYM}, { "player files - S", PLAYER_DIR "s" DIR_SYM}, { "player files - T", PLAYER_DIR "t" DIR_SYM}, { "player files - U", PLAYER_DIR "u" DIR_SYM}, { "player files - V", PLAYER_DIR "v" DIR_SYM}, { "player files - W", PLAYER_DIR "w" DIR_SYM}, { "player files - X", PLAYER_DIR "x" DIR_SYM}, { "player files - Y", PLAYER_DIR "y" DIR_SYM}, { "player files - Z", PLAYER_DIR "z" DIR_SYM}, #endif { "retired imms/heros directory", RETIRED_DIR}, { "Backup pfiles of players just before they begin remort.", REMORT_DIR}, { "pfiles requiring an email unlock code",PDIR_LOCKED}, { "pfiles of those with olc access", PDIR_BUILDER}, { "pfiles of mortals with immortal trust", PDIR_TRUSTED}, { "pfiles of immortal characters", PDIR_IMMORTAL}, { "Pkilled pfiles", DEAD_DIR}, { "Pfiles of deleters above lvl 5", DELETE_DIR}, { "Pfiles that require an emailed unlock code to play.", LOCKED_PFILES_DIR}, { "msp base directory - should be a link to the base webpage url", MSP_DIR}, { "msp action sounds directory", MSP_DIR MSP_ACTION_DIR}, { "msp combat sounds directory", MSP_DIR MSP_COMBAT_DIR}, { "msp mobprog sounds directory - sounds called from mprogs", MSP_DIR MSP_MOBPROG_DIR}, { "msp room sounds directory", MSP_DIR MSP_ROOM_DIR}, { "msp skills sounds directory", MSP_DIR MSP_SKILLS_DIR}, { "msp spells sounds directory", MSP_DIR MSP_SPELLS_DIR}, { "msp weather sounds directory", MSP_DIR MSP_WEATHER_DIR}, { "", ""} }; // for position const struct position_type position_table[] = { { "dead", "dead" }, //0 { "mortally wounded", "mort" }, //1 { "incapacitated", "incap" }, //2 { "stunned", "stun" }, //3 { "sleeping", "sleep" }, //4 { "resting", "rest" }, //5 { "sitting", "sit" }, //6 { "kneeling", "kneel" }, //7 { "fighting", "fight" }, //8 { "standing", "stand" }, //9 { NULL, NULL} }; /* for sex */ const struct sex_type sex_table[] = { { "none" }, { "male" }, { "female" }, { "either" }, { NULL } }; /* for sizes */ const struct size_type size_table[] = { { "tiny" }, { "small" }, { "medium" }, { "large" }, { "huge", }, { "giant" }, { NULL } }; // for gambling games, add each new game name here!!! const struct gamble_type gamble_table[] = { { "seven", gamble_seven }, { NULL, 0 } }; /* various flag tables */ const struct flag_type act_flags[] = { { "npc", ACT_IS_NPC, false }, { "aggressive", ACT_AGGRESSIVE, true }, { "amphibian", ACT_AMPHIBIAN, true }, { "changer", ACT_IS_CHANGER, true }, { "cleric", ACT_CLERIC, true }, { "docile", ACT_DOCILE, true }, { "dont_wander", ACT_DONT_WANDER, true }, { "sentinel", ACT_DONT_WANDER, false }, // now called ACT_DONT_WANDER { "gain", ACT_GAIN, true }, { "healer", ACT_IS_HEALER, true }, { "ignore_nonquester", ACT_MPIGN_NONQUESTER, true }, { "ignore_quester", ACT_MPIGN_QUESTER, true }, { "indoors", ACT_INDOORS, true }, { "mage", ACT_MAGE, true }, { "moblog", ACT_MOBLOG, true }, { "no_tame", ACT_NO_TAME, true }, { "noalign", ACT_NOALIGN, true }, { "noautosocial", ACT_NOAUTOSOCIAL, true }, { "nopurge", ACT_NOPURGE, true }, { "outdoors", ACT_OUTDOORS, true }, { "pet", ACT_PET, true }, { "practice", ACT_PRACTICE, true }, { "scavenger", ACT_SCAVENGER, true }, { "stay_area", ACT_STAY_AREA, true }, { "thief", ACT_THIEF, true }, { "train", ACT_TRAIN, true }, { "undead", ACT_UNDEAD, true }, { "unseen", ACT_IS_UNSEEN, true }, { "update_always", ACT_UPDATE_ALWAYS, true }, { "warrior", ACT_WARRIOR, true }, { "wimpy", ACT_WIMPY, true }, { NULL, 0, 0 } }; const struct flag_type act2_flags[]= { { "allskills", ACT2_ALLSKILLS, true }, { "nohunt", ACT2_NOHUNT, false }, { "avoids_all_attacks",ACT2_AVOIDS_ALL_ATTACKS,true }, { "no_tendency", ACT2_NO_TENDENCY, true }, { NULL, 0, 0 } }; const struct flag_type off_flags[] = { { "area_attack", OFF_AREA_ATTACK, true }, { "backstab", OFF_BACKSTAB , true }, { "bash", OFF_BASH , true }, { "berserk", OFF_BERSERK , true }, { "disarm", OFF_DISARM , true }, { "dodge", OFF_DODGE , true }, { "fade", OFF_FADE , true }, { "fast", OFF_FAST , true }, { "kick", OFF_KICK , true }, { "dirt_kick", OFF_KICK_DIRT , true }, { "parry", OFF_PARRY , true }, { "rescue", OFF_RESCUE , true }, { "tail", OFF_TAIL , true }, { "trip", OFF_TRIP , true }, { "crush", OFF_CRUSH , true }, { "assist_all", ASSIST_ALL , true }, { "assist_align", ASSIST_ALIGN , true }, { "assist_race", ASSIST_RACE , true }, { "assist_players", ASSIST_PLAYERS , true }, { "assist_guard", ASSIST_GUARD , true }, { "assist_vnum", ASSIST_VNUM , true }, { "gore", OFF_GORE , true }, { "uppercut", OFF_UPPERCUT , true }, { "neck_thrust", OFF_NECK_THRUST , true }, { "web", OFF_WEB , true }, { "gaze", OFF_GAZE , true }, { "circle", OFF_CIRCLE, true }, { NULL, 0, 0 } }; const struct flag_type imm_flags[] = { { "summon", IMM_SUMMON, true }, { "charm", IMM_CHARM, true }, { "magic", IMM_MAGIC, true }, { "weapon", IMM_WEAPON, true }, { "bash", IMM_BASH, true }, { "pierce", IMM_PIERCE, true }, { "slash", IMM_SLASH, true }, { "fire", IMM_FIRE, true }, { "cold", IMM_COLD, true }, { "lightning", IMM_LIGHTNING, true }, { "acid", IMM_ACID, true }, { "poison", IMM_POISON, true }, { "negative", IMM_NEGATIVE, true }, { "holy", IMM_HOLY, true }, { "energy", IMM_ENERGY, true }, { "mental", IMM_MENTAL, true }, { "disease", IMM_DISEASE, true }, { "drowning", IMM_DROWNING, true }, { "light", IMM_LIGHT, true }, { "sound", IMM_SOUND, true }, { "sleep", IMM_SLEEP, true }, { "wood", IMM_WOOD, true }, { "silver", IMM_SILVER, true }, { "iron", IMM_IRON, true }, { "illusion", IMM_ILLUSION, true }, { "scry", IMM_SCRY, true }, { "hunger", IMM_HUNGER, true }, { "thirst", IMM_THIRST, true }, { "fear", IMM_FEAR, true }, { NULL, 0, 0 } }; const struct flag_type form_flags[] = { { "edible", FORM_EDIBLE, true }, { "poison", FORM_POISON, true }, { "magical", FORM_MAGICAL, true }, { "instant_decay", FORM_INSTANT_DECAY, true }, { "other", FORM_OTHER, true }, { "animal", FORM_ANIMAL, true }, { "sentient", FORM_SENTIENT, true }, { "undead", FORM_UNDEAD, true }, { "construct", FORM_CONSTRUCT, true }, { "mist", FORM_MIST, true }, { "intangible", FORM_INTANGIBLE, true }, { "biped", FORM_BIPED, true }, { "centaur", FORM_CENTAUR, true }, { "insect", FORM_INSECT, true }, { "spider", FORM_SPIDER, true }, { "crustacean", FORM_CRUSTACEAN, true }, { "worm", FORM_WORM, true }, { "blob", FORM_BLOB, true }, { "mammal", FORM_MAMMAL, true }, { "bird", FORM_BIRD, true }, { "reptile", FORM_REPTILE, true }, { "snake", FORM_SNAKE, true }, { "dragon", FORM_DRAGON, true }, { "amphibian", FORM_AMPHIBIAN, true }, { "fish", FORM_FISH , true }, { "cold_blood", FORM_COLD_BLOOD, true }, { "mountable", FORM_MOUNTABLE, true }, { NULL, 0, 0 } }; const struct flag_type part_flags[] = { { "head", PART_HEAD, true }, { "arms", PART_ARMS, true }, { "legs", PART_LEGS, true }, { "heart", PART_HEART, true }, { "brains", PART_BRAINS, true }, { "guts", PART_GUTS, true }, { "hands", PART_HANDS, true }, { "feet", PART_FEET, true }, { "fingers", PART_FINGERS, true }, { "ear", PART_EAR, true }, { "eye", PART_EYE, true }, { "long_tongue", PART_LONG_TONGUE, true }, { "eyestalks", PART_EYESTALKS, true }, { "tentacles", PART_TENTACLES, true }, { "fins", PART_FINS, true }, { "wings", PART_WINGS, true }, { "tail", PART_TAIL, true }, { "claws", PART_CLAWS, true }, { "fangs", PART_FANGS, true }, { "horns", PART_HORNS, true }, { "scales", PART_SCALES, true }, { "tusks", PART_TUSKS, true }, { NULL, 0, 0 } }; const struct flag_type mprog_flags[] = { { "act", TRIG_ACT, true }, { "bribe", TRIG_BRIBE, true }, { "command", TRIG_COMMAND, true }, { "death", TRIG_DEATH, true }, { "delay", TRIG_DELAY, true }, { "entry", TRIG_ENTRY, true }, { "exall", TRIG_EXALL, true }, { "exit", TRIG_EXIT, true }, { "fight", TRIG_FIGHT, true }, { "give", TRIG_GIVE, true }, { "grall", TRIG_GRALL, true }, { "greet", TRIG_GREET, true }, { "hour", TRIG_HOUR, true }, { "hpcnt", TRIG_HPCNT, true }, { "kill", TRIG_KILL, true }, { "loginarea", TRIG_LOGINAREA, true }, { "loginroom", TRIG_LOGINROOM, true }, { "logoutarea", TRIG_LOGOUTAREA,true }, { "logoutroom", TRIG_LOGOUTROOM,true }, { "prekill", TRIG_PREKILL, true }, { "premove", TRIG_PREMOVE, true }, { "preprac", TRIG_PREPRAC, true }, { "pretrain", TRIG_PRETRAIN, true }, { "random", TRIG_RANDOM, true }, { "repop", TRIG_REPOP, true }, { "roomdeath", TRIG_ROOMDEATH, true }, { "sayto", TRIG_SAYTO, true }, { "speech", TRIG_SPEECH, true }, { "surr", TRIG_SURR, true }, { "tick", TRIG_TICK, true }, { NULL, 0, 0 } }; const struct flag_type olc_flags[] = { { "none", OLCAREA_NONE, false }, { "changed", OLCAREA_CHANGED, true }, { "added", OLCAREA_ADDED, true }, { "loading", OLCAREA_LOADING, false }, { "ignore_undefined_flags", OLCAREA_IGNORE_UNDEFINED_FLAGS, true }, { "invitelistchanged", OLCAREA_INVITELISTCHANGED, true }, { NULL, 0, 0 } }; const struct flag_type area_flags[] = { { "none", AREA_NONE, false }, { "olconly", AREA_OLCONLY, true }, { "noteleport", AREA_NOTELEPORT, true }, { "noscry", AREA_NOSCRY, true }, { "hidden", AREA_HIDDEN, true }, { "use_buildrestricts", AREA_USE_BUILDRESTRICTS,false}, { "locked", AREA_LOCKED, false}, { "nogateinto", AREA_NOGATEINTO, true}, { "nosummoninto", AREA_NOSUMMONINTO, true}, { "noportalinto", AREA_NOPORTALINTO, true}, { "newbie_area_resets",AREA_NEWBIE_AREA_RESETS, true}, { NULL, 0, 0 } }; const struct flag_type sex_types[] = { { "male", SEX_MALE, true }, { "female", SEX_FEMALE, true }, { "neutral", SEX_NEUTRAL, true }, { "random", SEX_RANDOM, true }, // { "none", SEX_NEUTRAL, false }, { NULL, 0, 0 } }; const struct flag_type direction_types[] = { { "north", DIR_NORTH, true }, { "east", DIR_EAST, true }, { "south", DIR_SOUTH, true }, { "west", DIR_WEST, true }, { "up", DIR_UP, true }, { "down", DIR_DOWN, true }, { "northeast", DIR_NORTHEAST, true }, { "southeast", DIR_SOUTHEAST, true }, { "southwest", DIR_SOUTHWEST, true }, { "northwest", DIR_NORTHWEST, true }, { NULL, 0, 0 } }; const struct flag_type exit_flags[] = { { "door", EX_ISDOOR, true }, { "closed", EX_CLOSED, true }, { "locked", EX_LOCKED, true }, { "pickproof", EX_PICKPROOF, true }, { "nopass", EX_NOPASS, true }, { "easy", EX_EASY, true }, { "hard", EX_HARD, true }, { "infuriating", EX_INFURIATING, true }, { "noclose", EX_NOCLOSE, true }, { "nolock", EX_NOLOCK, true }, { "oneway", EX_ONEWAY, true }, { "obvious", EX_OBVIOUS, true }, { NULL, 0, 0 } }; const struct flag_type room_flags[] = { { "antimagic", ROOM_ANTIMAGIC, true }, { "arena", ROOM_ARENA, false }, // doesn't do anything yet { "bank", ROOM_BANK, true }, { "dark", ROOM_DARK, true }, { "heroes_only", ROOM_HEROES_ONLY, true }, { "imm_only", ROOM_GODS_ONLY, true }, { "imp_only", ROOM_IMP_ONLY, true }, { "indoors", ROOM_INDOORS, true }, { "inn", ROOM_INN, true }, { "law", ROOM_LAW, true }, { "light", ROOM_LIGHT, true }, { "newbies_only", ROOM_NEWBIES_ONLY, true }, { "no_mob", ROOM_NO_MOB, true }, { "no_portal", ROOM_NO_PORTAL, false }, // doesn't do anything yet { "no_recall", ROOM_NO_RECALL, true }, { "no_summon", ROOM_NO_SUMMON, false }, // doesn't do anything yet { "noautoexits", ROOM_NOAUTOEXITS, true }, { "noautomap", ROOM_NOAUTOMAP, true }, { "nochannels", ROOM_NOCHANNELS, true }, { "nofly", ROOM_NOFLY, true }, { "noscan", ROOM_NOSCAN, true }, { "noscry", ROOM_NOSCRY, true }, { "nospeak", ROOM_NOSPEAK, true }, { "nowhere", ROOM_NOWHERE, true }, { "ooc", ROOM_OOC, true }, { "pet_shop", ROOM_PET_SHOP, true }, { "private", ROOM_PRIVATE, true }, { "safe", ROOM_SAFE, true }, { "solitary", ROOM_SOLITARY, true }, { NULL, 0, 0 } }; const struct flag_type room2_flags[]= { { "no_area_echoes", ROOM2_NO_AREA_ECHOES, true }, { "mine", ROOM2_MINE, true }, { NULL, 0, 0 } }; const struct flag_type sector_types[] = { { "inside", SECT_INSIDE, true }, { "city", SECT_CITY, true }, { "field", SECT_FIELD, true }, { "forest", SECT_FOREST, true }, { "hills", SECT_HILLS, true }, { "mountain", SECT_MOUNTAIN, true }, { "swim", SECT_WATER_SWIM, true }, { "noswim", SECT_WATER_NOSWIM, true }, { "swamp", SECT_SWAMP, true }, { "air", SECT_AIR, true }, { "desert", SECT_DESERT, true }, { "cave", SECT_CAVE, true }, { "underwater",SECT_UNDERWATER, true }, { "snow", SECT_SNOW, true }, { "ice", SECT_ICE, true }, { "trail", SECT_TRAIL, true }, { "lava", SECT_LAVA, true }, { NULL, 0, 0 } }; const struct flag_type item_types[] = { { "armor", ITEM_ARMOR, true }, { "boat", ITEM_BOAT, true }, { "cauldron", ITEM_CAULDRON, true }, { "clothing", ITEM_CLOTHING, true }, { "component", ITEM_COMPONENT, true }, { "container", ITEM_CONTAINER, true }, { "drinkcontainer",ITEM_DRINK_CON, true }, { "flask", ITEM_FLASK, true }, { "food", ITEM_FOOD, true }, { "fountain", ITEM_FOUNTAIN, true }, { "furniture", ITEM_FURNITURE, true }, { "gem", ITEM_GEM, true }, { "herb", ITEM_HERB, true }, { "instrument", ITEM_INSTRUMENT, true }, { "jewelry", ITEM_JEWELRY, true }, { "jukebox", ITEM_JUKEBOX, false }, { "key", ITEM_KEY, true }, { "light", ITEM_LIGHT, true }, { "map", ITEM_MAP, true }, { "money", ITEM_MONEY, true }, { "mortar", ITEM_MORTAR, true }, { "npccorpse", ITEM_CORPSE_NPC, true }, { "ore", ITEM_ORE, true }, { "parchment", ITEM_PARCHMENT, true }, { "pc corpse", ITEM_CORPSE_PC, false }, // loading { "pc_corpse", ITEM_CORPSE_PC, false }, { "pill", ITEM_PILL, true }, { "portal", ITEM_PORTAL, true }, { "potion", ITEM_POTION, true }, { "poultice", ITEM_POULTICE, true }, { "protect", ITEM_PROTECT, true }, { "roomkey", ITEM_ROOM_KEY, true }, { "rp", ITEM_RP, true }, { "scroll", ITEM_SCROLL, true }, { "staff", ITEM_STAFF, true }, { "token", ITEM_TOKEN, true }, { "trash", ITEM_TRASH, true }, { "treasure", ITEM_TREASURE, true }, { "wand", ITEM_WAND, true }, { "warpstone", ITEM_WARP_STONE, true }, { "weapon", ITEM_WEAPON, true }, { NULL, 0, 0 } }; const struct flag_type objextra_flags[] = { { "antievil", OBJEXTRA_ANTI_EVIL, true }, { "antigood", OBJEXTRA_ANTI_GOOD, true }, { "antineutral", OBJEXTRA_ANTI_NEUTRAL, true }, { "bless", OBJEXTRA_BLESS, true }, { "burnproof", OBJEXTRA_BURN_PROOF, true }, { "chaos", OBJEXTRA_CHAOS, true }, { "dark", OBJEXTRA_DARK, true }, { "evil", OBJEXTRA_EVIL, true }, { "glow", OBJEXTRA_GLOW, true }, { "hadtimer", OBJEXTRA_HAD_TIMER, true }, { "horned", OBJEXTRA_HORNED, true }, { "hum", OBJEXTRA_HUM, true }, { "inventory", OBJEXTRA_INVENTORY, true }, { "invis", OBJEXTRA_INVIS, true }, { "lodged", OBJEXTRA_LODGED, false }, { "lock", OBJEXTRA_LOCK, true }, { "magic", OBJEXTRA_MAGIC, true }, { "meltdrop", OBJEXTRA_MELT_DROP, true }, { "nodegrade", OBJEXTRA_NO_DEGRADE, true }, { "nodrop", OBJEXTRA_NODROP, true }, { "nogetall", OBJEXTRA_NO_GET_ALL, true }, { "nolocate", OBJEXTRA_NOLOCATE, true }, { "nonmetal", OBJEXTRA_NONMETAL, true }, { "nopurge", OBJEXTRA_NOPURGE, true }, { "noremove", OBJEXTRA_NOREMOVE, true }, { "norestring", OBJEXTRA_NO_RESTRING, true }, { "nouncurse", OBJEXTRA_NOUNCURSE, true }, { "otterlungs", OBJEXTRA_OTTERLUNGS, true }, { "rotdeath", OBJEXTRA_ROT_DEATH, true }, { "sellextract", OBJEXTRA_SELL_EXTRACT, true }, { "visdeath", OBJEXTRA_VIS_DEATH, true }, { NULL, 0, 0 } }; const struct flag_type objextra2_flags[]= { { "buried", OBJEXTRA2_BURIED, true }, { "nodecay", OBJEXTRA2_NODECAY, true }, { "noprimary", OBJEXTRA2_NOPRIMARY, true }, { "nosecondary", OBJEXTRA2_NOSECONDARY, true }, { "nochaoslace", OBJEXTRA2_NOCHAOS, true }, { "nosell", OBJEXTRA2_NOSELL, true }, { "antilaw", OBJEXTRA2_ANTI_LAW, true }, { "antichaos", OBJEXTRA2_ANTI_CHAOS, true }, { "antibalance", OBJEXTRA2_ANTI_BALANCE, true }, { "noquest", OBJEXTRA2_NOQUEST, false }, // not implemented yet // not to be set in olc, will have it's own command since it will be a bit more specialized { "trap", OBJEXTRA2_TRAP, false }, // below from vot - false till actually do something { "questitem", OBJEXTRA2_QUEST, false }, { "holy", OBJEXTRA2_HOLY, false }, { "remort", OBJEXTRA2_REMORT, false }, { "vampire_bane", OBJEXTRA2_VAMPIRE_BANE, false }, { NULL, 0, 0 } }; const struct flag_type objspell_flags[]= { { "active", OBJSPELL_ACTIVE, false }, { "ignore_level", OBJSPELL_IGNORE_LEVEL, true }, { NULL, 0, 0 } }; const struct flag_type wear_flags[] = { { "take", OBJWEAR_TAKE, true }, { "finger", OBJWEAR_FINGER, true }, { "neck", OBJWEAR_NECK, true }, { "torso", OBJWEAR_TORSO, true }, { "body", OBJWEAR_TORSO, false }, { "head", OBJWEAR_HEAD, true }, { "legs", OBJWEAR_LEGS, true }, { "feet", OBJWEAR_FEET, true }, { "hands", OBJWEAR_HANDS, true }, { "arms", OBJWEAR_ARMS, true }, { "shield", OBJWEAR_SHIELD, true }, { "about", OBJWEAR_ABOUT, true }, { "waist", OBJWEAR_WAIST, true }, { "wrist", OBJWEAR_WRIST, true }, { "wield", OBJWEAR_WIELD, true }, { "hold", OBJWEAR_HOLD, true }, { "no_sac", OBJWEAR_NO_SAC, true }, { "float", OBJWEAR_FLOAT, true }, { "wearfloat", OBJWEAR_FLOAT, false }, { "lodged_arm", OBJWEAR_LODGED_ARM, false }, { "lodged_leg", OBJWEAR_LODGED_LEG, false }, { "lodged_rib", OBJWEAR_LODGED_RIB, false }, { "eyes", OBJWEAR_EYES, true }, { "ear", OBJWEAR_EAR, true }, { "face", OBJWEAR_FACE, true }, { "ankle", OBJWEAR_ANKLE, true }, { "back", OBJWEAR_BACK, true }, { NULL, 0, 0 } }; /* * Used when adding an affect to tell where it goes. * See addaffect and delaffect in act_olc.c */ const struct flag_type apply_types[] = { { "none", APPLY_NONE, false }, { "strength", APPLY_ST, true }, { "quickness", APPLY_QU, true }, { "presence", APPLY_PR, true }, { "intuition", APPLY_IN, true }, { "empathy", APPLY_EM, true }, { "constitution", APPLY_CO, true }, { "agility", APPLY_AG, true }, { "selfdiscipline",APPLY_SD, true }, { "memory", APPLY_ME, true }, { "reasoning", APPLY_RE, true }, { "sex", APPLY_SEX, true }, { "mana", APPLY_MANA, true }, { "hp", APPLY_HIT, true }, { "move", APPLY_MOVE, true }, { "ac", APPLY_AC, true }, { "hitroll", APPLY_HITROLL, true }, { "damroll", APPLY_DAMROLL, true }, { "saves", APPLY_SAVES, true }, // below here doesn't do anything in affect_modify() etc { "age", APPLY_AGE, false }, { "class", APPLY_CLASS, false }, { "experience", APPLY_EXP, false }, { "gold", APPLY_GOLD, false }, { "level", APPLY_LEVEL, false }, { "height", APPLY_HEIGHT, false }, { "weight", APPLY_WEIGHT, false }, { NULL, 0, 0 } }; /* * What is seen. */ const struct flag_type wear_location_strings_types[] = { { "in the inventory", WEAR_NONE, true }, { "as a light", WEAR_LIGHT, true }, { "on the left finger", WEAR_FINGER_L, true }, { "on the right finger", WEAR_FINGER_R, true }, { "around the neck (1)", WEAR_NECK_1, true }, { "around the neck (2)", WEAR_NECK_2, true }, { "on the body", WEAR_TORSO, true }, { "over the head", WEAR_HEAD, true }, { "on the legs", WEAR_LEGS, true }, { "on the feet", WEAR_FEET, true }, { "on the hands", WEAR_HANDS, true }, { "on the arms", WEAR_ARMS, true }, { "as a shield", WEAR_SHIELD, true }, { "about the shoulders", WEAR_ABOUT, true }, { "around the waist", WEAR_WAIST, true }, { "on the left wrist", WEAR_WRIST_L, true }, { "on the right wrist", WEAR_WRIST_R, true }, { "wielded", WEAR_WIELD, true }, { "held in the hands", WEAR_HOLD, true }, { "floating nearby", WEAR_FLOAT, true }, { "wielded (secondary).", WEAR_SECONDARY, true }, { "lodge in arm", WEAR_LODGED_ARM, true }, { "lodge in leg", WEAR_LODGED_LEG, true }, { "lodge in ribs", WEAR_LODGED_RIB, true }, { "sheathed", WEAR_SHEATHED, true }, { "concealed", WEAR_CONCEALED, true }, { "on the eyes", WEAR_EYES, true }, { "on the left ear", WEAR_EAR_L, true }, { "on the right ear", WEAR_EAR_R, true }, { "on the face", WEAR_FACE, true }, { "on the left ankle", WEAR_ANKLE_L, true }, { "on the right ankle", WEAR_ANKLE_R, true }, { "on the back", WEAR_BACK, true }, { NULL, 0 , 0 } }; const struct flag_type wear_location_types[] = { { "none", WEAR_NONE, true }, { "light", WEAR_LIGHT, true }, { "lfinger", WEAR_FINGER_L, true }, { "rfinger", WEAR_FINGER_R, true }, { "neck1", WEAR_NECK_1, true }, { "neck2", WEAR_NECK_2, true }, { "torso", WEAR_TORSO, true }, { "body", WEAR_TORSO, false }, { "head", WEAR_HEAD, true }, { "legs", WEAR_LEGS, true }, { "feet", WEAR_FEET, true }, { "hands", WEAR_HANDS, true }, { "arms", WEAR_ARMS, true }, { "shield", WEAR_SHIELD, true }, { "about", WEAR_ABOUT, true }, { "waist", WEAR_WAIST, true }, { "lwrist", WEAR_WRIST_L, true }, { "rwrist", WEAR_WRIST_R, true }, { "wielded", WEAR_WIELD, true }, { "hold", WEAR_HOLD, true }, { "floating", WEAR_FLOAT, true }, { "second", WEAR_SECONDARY, true }, { "lodge_arm", WEAR_LODGED_ARM, true }, { "lodge_leg", WEAR_LODGED_LEG, true }, { "lodge_rib", WEAR_LODGED_RIB, true }, { "sheathed", WEAR_SHEATHED, true }, { "concealed", WEAR_CONCEALED, true }, { "eyes", WEAR_EYES, true }, { "lear", WEAR_EAR_L, true }, { "rear", WEAR_EAR_R, true }, { "face", WEAR_FACE, true }, { "lankle", WEAR_ANKLE_L, true }, { "rankle", WEAR_ANKLE_R, true }, { "back", WEAR_BACK, true }, { NULL, 0, 0 } }; const struct flag_type container_flags[] = { { "closeable", CONT_CLOSEABLE, true }, { "pickproof", CONT_PICKPROOF, true }, { "closed", CONT_CLOSED, true }, { "locked", CONT_LOCKED, true }, { "puton", CONT_PUT_ON, true }, { "locker", CONT_LOCKER, false }, // used to redirect lock without a key { NULL, 0, 0 } }; /***************************************************************************** ROM - specific tables: ****************************************************************************/ const struct flag_type ac_types[] = { { "pierce", AC_PIERCE, true }, { "bash", AC_BASH, true }, { "slash", AC_SLASH, true }, { "exotic", AC_EXOTIC, true }, { NULL, 0, 0 } }; const struct flag_type size_types[] = { { "tiny", SIZE_TINY, true }, { "small", SIZE_SMALL, true }, { "medium", SIZE_MEDIUM, true }, { "large", SIZE_LARGE, true }, { "huge", SIZE_HUGE, true }, { "giant", SIZE_GIANT, true }, { NULL, 0, 0 }, }; const struct flag_type weapon_class_types[] = { { "exotic", WEAPON_EXOTIC, true }, { "spear", WEAPON_SPEAR, true }, //Meerclar, 29Nov02 { "sword", WEAPON_SWORD, true }, { "dagger", WEAPON_DAGGER, true }, { "staff", WEAPON_STAFF, true }, { "mace", WEAPON_MACE, true }, { "axe", WEAPON_AXE, true }, { "flail", WEAPON_FLAIL, true }, { "whip", WEAPON_WHIP, true }, { "polearm", WEAPON_POLEARM, true }, { "sickle", WEAPON_SICKLE, true }, { NULL, 0, 0 } }; const struct flag_type weapon_flags[] = { { "flaming", WEAPON_FLAMING, true }, { "frost", WEAPON_FROST, true }, { "vampiric", WEAPON_VAMPIRIC, true }, { "sharp", WEAPON_SHARP, true }, { "vorpal", WEAPON_VORPAL, true }, { "twohands", WEAPON_TWO_HANDS, true }, { "shocking", WEAPON_SHOCKING, true }, { "poison", WEAPON_POISON, true }, { "holy", WEAPON_HOLY, true }, { "living", WEAPON_LIVING, false }, { "slayer", WEAPON_SLAYER, true }, { "suckle", WEAPON_SUCKLE, true }, { "enervate", WEAPON_ENERVATE, true }, { "annealed", WEAPON_ANNEALED, true }, { NULL, 0, 0 } }; const struct flag_type res_flags[] = { { "summon", RES_SUMMON, true }, { "charm", RES_CHARM, true }, { "magic", RES_MAGIC, true }, { "weapon", RES_WEAPON, true }, { "bash", RES_BASH, true }, { "pierce", RES_PIERCE, true }, { "slash", RES_SLASH, true }, { "fire", RES_FIRE, true }, { "cold", RES_COLD, true }, { "lightning", RES_LIGHTNING, true }, { "acid", RES_ACID, true }, { "poison", RES_POISON, true }, { "negative", RES_NEGATIVE, true }, { "holy", RES_HOLY, true }, { "energy", RES_ENERGY, true }, { "mental", RES_MENTAL, true }, { "disease", RES_DISEASE, true }, { "drowning", RES_DROWNING, true }, { "light", RES_LIGHT, true }, { "sound", RES_SOUND, true }, { "wood", RES_WOOD, true }, { "silver", RES_SILVER, true }, { "iron", RES_IRON, true }, { "illusion", RES_ILLUSION, true }, { "scry", RES_SCRY, true }, { NULL, 0, 0 } }; const struct flag_type vuln_flags[] = { { "summon", VULN_SUMMON, true }, { "charm", VULN_CHARM, true }, { "magic", VULN_MAGIC, true }, { "weapon", VULN_WEAPON, true }, { "bash", VULN_BASH, true }, { "pierce", VULN_PIERCE, true }, { "slash", VULN_SLASH, true }, { "fire", VULN_FIRE, true }, { "cold", VULN_COLD, true }, { "lightning", VULN_LIGHTNING, true }, { "acid", VULN_ACID, true }, { "poison", VULN_POISON, true }, { "negative", VULN_NEGATIVE, true }, { "holy", VULN_HOLY, true }, { "energy", VULN_ENERGY, true }, { "mental", VULN_MENTAL, true }, { "disease", VULN_DISEASE, true }, { "drowning", VULN_DROWNING, true }, { "light", VULN_LIGHT, true }, { "sound", VULN_SOUND, true }, { "wood", VULN_WOOD, true }, { "silver", VULN_SILVER, true }, { "iron", VULN_IRON, true }, { "illusion", VULN_ILLUSION, true }, { "scry", VULN_SCRY, true }, { NULL, 0, 0 } }; const struct flag_type position_types[] = { { "dead", POS_DEAD, true }, // was false { "mortal", POS_MORTAL, false }, { "incap", POS_INCAP, false }, { "stunned", POS_STUNNED, false }, { "sleeping", POS_SLEEPING, true }, { "resting", POS_RESTING, true }, { "sitting", POS_SITTING, true }, { "kneeling", POS_KNEELING, true }, { "fighting", POS_FIGHTING, true }, { "standing", POS_STANDING, true }, { NULL, 0, 0 } }; const struct flag_type position_flags[] = { { "dead", 1<<(POS_DEAD), false }, { "mortal", 1<<(POS_MORTAL), false }, { "incap", 1<<(POS_INCAP), false }, { "stunned", 1<<(POS_STUNNED), false }, { "sleeping", 1<<(POS_SLEEPING), true }, { "resting", 1<<(POS_RESTING), true }, { "sitting", 1<<(POS_SITTING), true }, { "kneeling", 1<<(POS_KNEELING), true }, { "fighting", 1<<(POS_FIGHTING), true }, { "standing", 1<<(POS_STANDING), true }, { NULL, 0, 0 } }; const struct flag_type portal_flags[]= { { "normal_exit", GATE_NORMAL_EXIT, true }, { "no_curse", GATE_NOCURSE, true }, { "go_with", GATE_GOWITH, true }, { "buggy", GATE_BUGGY, true }, { "random", GATE_RANDOM, true }, { "opaque", GATE_OPAQUE, true }, { "short_lookinto", GATE_SHORT_LOOKINTO,true }, { NULL, 0, 0 } }; const struct flag_type token_flags[]= { { "dropdeath", TOKEN_DROPDEATH, true }, { "quitdeath", TOKEN_QUITDEATH, true }, { NULL, 0, 0 } }; const struct flag_type furniture_flags[]= { { "stand_at", STAND_AT, true }, { "stand_on", STAND_ON, true }, { "stand_in", STAND_IN, true }, { "stand_under", STAND_UNDER, true }, { "sit_at", SIT_AT, true }, { "sit_on", SIT_ON, true }, { "sit_in", SIT_IN, true }, { "sit_under", SIT_UNDER, true }, { "rest_at", REST_AT, true }, { "rest_on", REST_ON, true }, { "rest_in", REST_IN, true }, { "rest_under", REST_UNDER, true }, { "sleep_at", SLEEP_AT, true }, { "sleep_on", SLEEP_ON, true }, { "sleep_in", SLEEP_IN, true }, { "sleep_under", SLEEP_UNDER, true }, { "put_at", PUT_AT, true }, { "put_on", PUT_ON, true }, { "put_in", PUT_IN, true }, { "put_inside", PUT_INSIDE, true }, { "put_under", PUT_UNDER, true }, { "kneel_at", KNEEL_AT, true }, { "kneel_on", KNEEL_ON, true }, { "kneel_in", KNEEL_IN, true }, { "kneel_under", KNEEL_UNDER, true }, { NULL, 0, 0 } }; const struct flag_type to_types[]= { { "affects", WHERE_AFFECTS, true }, // character { "affects2", WHERE_AFFECTS2, true }, // character { "immune", WHERE_IMMUNE, true }, // character { "resist", WHERE_RESIST, true }, // character { "vuln", WHERE_VULN, true }, // character { "objextra", WHERE_OBJEXTRA, false }, // object { "objextra2", WHERE_OBJEXTRA2, false }, // object { "weapon", WHERE_WEAPON, false }, // object { "restrict", WHERE_RESTRICT, false }, // no flag table { "skills", WHERE_SKILLS, false }, // no table { "objectspell", WHERE_OBJECTSPELL, false }, // no table { "modifier", WHERE_MODIFIER, false }, // no table { NULL, 0, true } }; // Kal - July 98 const struct flag_type plr_flags[] = { { "npc", PLR_IS_NPC, true }, { "letgained", PLR_CAN_ADVANCE, true }, { "autoassist", PLR_AUTOASSIST, true }, { "autoexit", PLR_AUTOEXIT, true }, { "autoloot", PLR_AUTOLOOT, true }, { "autoreformat", PLR_AUTOREFORMAT, true }, { "autogold", PLR_AUTOGOLD, true }, { "autosplit", PLR_AUTOSPLIT, true }, { "noteach", PLR_NOTEACH, true }, { "autosubdue", PLR_AUTOSUBDUE, true }, { "quester", PLR_QUESTER, true }, { "holylight", PLR_HOLYLIGHT, true }, { "holyname", PLR_HOLYNAME, true }, { "nosummon", PLR_NOSUMMON, true }, { "nofollow", PLR_NOFOLLOW, true }, { "specify_self", PLR_SPECIFY_SELF, false}, { "holyvnum", PLR_HOLYVNUM, true }, { "permit", PLR_PERMIT, true }, { "log", PLR_LOG, true }, { "deny", PLR_DENY, true }, { "freeze", PLR_FREEZE, true }, { "norp", PLR_NORP, true }, { "noreducing_maxkarn", PLR_NOREDUCING_MAXKARN, true }, { "can_hero", PLR_CAN_HERO, true }, { "autopeek", PLR_AUTOPEEK, true }, { "holywalk", PLR_HOLYWALK, true }, { "automap", PLR_AUTOMAP, true }, { NULL, 0, 0 } }; // Kal - July 98 const struct flag_type affect_flags[] = { { "blind", AFF_BLIND, true }, { "invisible", AFF_INVISIBLE, true }, { "detect_evil", AFF_DETECT_EVIL, true }, { "detect_invis", AFF_DETECT_INVIS, true }, { "detect_magic", AFF_DETECT_MAGIC, true }, { "detect_hidden", AFF_DETECT_HIDDEN, true }, { "detect_good", AFF_DETECT_GOOD, true }, { "sanctuary", AFF_SANCTUARY, true }, { "faerie_fire", AFF_FAERIE_FIRE, true }, { "infrared", AFF_INFRARED, true }, { "curse", AFF_CURSE, true }, { "otterlungs", AFF_OTTERLUNGS, true }, { "poison", AFF_POISON, true }, { "protect_evil", AFF_PROTECT_EVIL, true }, { "protect_good", AFF_PROTECT_GOOD, true }, { "sneak", AFF_SNEAK, true }, { "hide", AFF_HIDE, true }, { "sleep", AFF_SLEEP, true }, { "charm", AFF_CHARM, true }, { "flying", AFF_FLYING, true }, { "pass_door", AFF_PASS_DOOR, true }, { "haste", AFF_HASTE, true }, { "calm", AFF_CALM, true }, { "plague", AFF_PLAGUE, true }, { "weaken", AFF_WEAKEN, true }, { "dark_vision", AFF_DARK_VISION, true }, { "berserk", AFF_BERSERK, true }, { "swim", AFF_SWIM, true }, { "regeneration", AFF_REGENERATION, true }, { "slow", AFF_SLOW, true }, { "fear", AFF_FEAR, true }, { NULL, 0, 0 } }; const struct flag_type affect2_flags[] = // some false to implemented? { { "possession", AFF2_POSSESSION, false },// not yet implemented { "rampage", AFF2_RAMPAGE, false },// not yet implemented { "vamp_bite", AFF2_VAMP_BITE, false },// not yet implemented { "ghoul", AFF2_GHOUL, false },// not yet implemented { "chi_power", AFF2_CHI_POWER, false },// not yet implemented { "fade", AFF2_FADE, false },// not yet implemented { "taunt", AFF2_TAUNT, false },// not yet implemented { "cripple", AFF2_CRIPPLE, false },// not yet implemented { "camouflage", AFF2_CAMOUFLAGE, false },// not yet implemented { "detect_camouflage", AFF2_DETECT_CAMOUFLAGE, false },// not yet implemented { "roar", AFF2_ROAR, false },// not yet implemented { "warcry", AFF2_WARCRY, false },// not yet implemented { "shield", AFF2_SHIELD, false },// not yet implemented { "mute", AFF2_MUTE, false },// not yet implemented { "det_traps", AFF2_DET_TRAPS, false },// not yet implemented { "treeform", AFF2_TREEFORM, true }, { "passwotrace", AFF2_PASSWOTRACE, true }, { "vanish", AFF2_VANISH, true }, { "fear_magic", AFF2_FEAR_MAGIC, true }, { "detect_treeform", AFF2_DETECT_TREEFORM, true }, { "detect_vanish", AFF2_DETECT_VANISH, true }, { "fire_shield", AFF2_FIRE_SHIELD, false },// not yet implemented { "ice_shield", AFF2_ICE_SHIELD, false },// not yet implemented { "shock_shield", AFF2_SHOCK_SHIELD, false },// not yet implemented { "hallucinate", AFF2_HALLUCINATE, false },// not yet implemented { "vicegrip", AFF2_VICEGRIP, true }, { "stockade", AFF2_STOCKADE, false }, // place holder { "stone_gargoyle", AFF2_STONE_GARGOYLE, false }, // place holder { NULL, 0, 0 } }; // Kal - July 98 const struct flag_type comm_flags[] = { { "coding", COMM_CODING, true }, { "global_social_off", COMM_GLOBAL_SOCIAL_OFF, true}, { "whovis", COMM_WHOVIS, false }, { "newbie_support", COMM_NEWBIE_SUPPORT,false }, { "noquote", COMM_NOQUOTE, true }, { "shouts_off", COMM_SHOUTSOFF, true }, { "spell_debug", COMM_SPELL_DEBUG, false }, { "compact", COMM_COMPACT, true }, { "brief", COMM_BRIEF, true }, { "nogprompt", COMM_NOGPROMPT, true }, { "prompt", COMM_PROMPT, true }, { "combine", COMM_COMBINE, true }, { "telnet_ga", COMM_TELNET_GA, true }, { "show_affects", COMM_SHOW_AFFECTS, true }, { "autoself", COMM_AUTOSELF, true }, { "announce_off", COMM_ANNOUNCEOFF, true }, { "noemote", COMM_NOEMOTE, false }, { "noshout", COMM_NOSHOUT, false }, { "notell", COMM_NOTELL, false }, { "nochannelled", COMM_NOCHANNELS, false }, { "nochanneled", COMM_NOCHANNELS, false }, // dup { "nochannels", COMM_NOCHANNELS, false }, // dup { "building", COMM_BUILDING, true }, { "snoop_proof", COMM_SNOOP_PROOF, false }, { "afk", COMM_AFK, true }, { "can_nochannel", COMM_CANNOCHANNEL, false }, { "reduced_laston", COMM_REDUCED_LASTON,false }, { "nopray", COMM_NOPRAY, false }, { NULL, 0, 0 } }; // Kal - July 98 const struct flag_type wiznet_flags [] = { { "wiznet_on", WIZ_ON, true }, { "ticks", WIZ_TICKS, true }, { "logins", WIZ_LOGINS, true }, { "sites", WIZ_SITES, true }, { "links", WIZ_LINKS, true }, { "deaths", WIZ_DEATHS, true }, { "resets", WIZ_RESETS, true }, { "mobdeaths", WIZ_MOBDEATHS, true }, { "flags", WIZ_FLAGS, true }, { "penalties", WIZ_PENALTIES, true }, { "thefts", WIZ_THEFTS, true }, { "levels", WIZ_LEVELS, true }, { "secure", WIZ_SECURE, true }, { "switches", WIZ_SWITCHES, true }, { "snoops", WIZ_SNOOPS, true }, { "autoon", WIZ_AUTOON, true }, { "load", WIZ_LOAD, true }, { "newbie", WIZ_NEWBIE, true }, { "showchannel",WIZ_SHOWCHANNEL,true }, { "spam", WIZ_SPAM, true }, { "rpexp", WIZ_RPEXP, true }, { "bugs", WIZ_BUGS, true }, { "beta", WIZ_BETA, true }, { "player_log", WIZ_PLAYER_LOG, true }, { "whispers", WIZ_WHISPERS, true }, { "rpmonitor", WIZ_RPMONITOR, true }, { "nohelp", WIZ_NOHELP, true }, { "questing", WIZ_QUESTING, true }, { "prayers_dreams", WIZ_PRAYERS_DREAMS, true }, { "prayers", WIZ_PRAYERS_DREAMS, true }, { "memcheck", WIZ_MEMCHECK, true }, { "newbietells",WIZ_NEWBIETELL, true }, { NULL, 0, 0 } }; #define BAN_UNDEFINED 0 #define BAN_ALL 1 // strongest #define BAN_PERMIT 2 // permit required #define BAN_EMAIL_REQ 3 // email system #define BAN_NEWBIE 4 // newbies #define BAN_LOGNEWBIE 5 // log a newbie when the create const struct flag_type ban_types[] = { { "undefined", BAN_UNDEFINED, true }, { "all", BAN_ALL, true }, { "permit", BAN_PERMIT, true }, { "email", BAN_EMAIL_REQ, true }, { "newbie", BAN_NEWBIE, true }, { "lognewbie", BAN_LOGNEWBIE, true }, { NULL, 0, 0 } }; // Kal - July 98 const struct flag_type laston_flags[] = { { "online", LASTON_ONLINE, true }, { "on_at_reboot", LASTON_ON_AT_REBOOT, true }, { "not_shown", LASTON_NOT_SHOWN, true }, { "logged", LASTON_LOGGED, true }, { "from_irc", LASTON_IRC, true }, { "first_irc", LASTON_FIRSTIRC, true }, { "has_used_irc", LASTON_HASUSEDIRC, true }, { "noble", LASTON_NOBLE, true }, { "perm_pkilled", LASTON_PERM_PKILLED, true }, { "deleted", LASTON_DELETED, true }, { "letgained", LASTON_LETGAINED, true }, { "automap", LASTON_USING_AUTOMAP, true }, { "using_msp", LASTON_USING_MSP , true }, { "active", LASTON_ACTIVE , true }, { "quester", LASTON_QUESTER , true }, { "nsupport", LASTON_NSUPPORT , true }, { "allowimmtalk", LASTON_ALLOWIMMTALK , true }, { "nomaxkarn", LASTON_NOMAXKARN , true }, { "mccp", LASTON_MCCP, true }, { NULL, 0, 0 } }; const struct flag_type laston_wizlist_types[] = { { "hidden", LASTONWIZLISTTYPE_HIDDEN, true }, { "active", LASTONWIZLISTTYPE_ACTIVE, true }, { "guest", LASTONWIZLISTTYPE_GUEST, true }, { "retired", LASTONWIZLISTTYPE_RETIRED, true }, { NULL, 0, 0 } }; // The attributes all characters have // - The order of these is important as the table is also // used for indexing the attribute names const struct flag_type stat_flags[] = { { "strength", STAT_ST, true }, { "quickness", STAT_QU, true }, { "presence", STAT_PR, true }, { "empathy", STAT_EM, true }, { "intuition", STAT_IN, true }, { "constitution", STAT_CO, true }, { "agility", STAT_AG, true }, { "selfdiscipline",STAT_SD, true }, { "memory", STAT_ME, true }, { "reasoning", STAT_RE, true }, { NULL, 0, 0 } }; const struct flag_type realm_flags[] = { { "abjuration" ,REALM_ABJURATION ,true }, { "alteration" ,REALM_ALTERATION ,true }, { "charm" ,REALM_CHARM ,true }, { "conjuration" ,REALM_CONJURATION ,true }, { "enchantment" ,REALM_ENCHANTMENT ,true }, { "evocation" ,REALM_EVOCATION ,true }, { "essence" ,REALM_ESSENCE ,true }, { "foretelling" ,REALM_FORETELLING ,true }, { "illusion" ,REALM_ILLUSION ,true }, { "necromancy" ,REALM_NECROMANCY ,true }, { "phantasm" ,REALM_PHANTASM ,true }, { "summoning" ,REALM_SUMMONING ,true }, { "wild" ,REALM_WILD ,true }, { NULL, 0, 0 } }; const struct flag_type sphere_flags[] = { { "body" ,SPHERE_BODY ,true }, { "combat" ,SPHERE_COMBAT ,true }, { "convocation" ,SPHERE_CONVOCATION ,true }, { "creation" ,SPHERE_CREATION ,true }, { "death" ,SPHERE_DEATH ,true }, { "divination" ,SPHERE_DIVINATION ,true }, { "elemental" ,SPHERE_ELEMENTAL ,true }, { "healing" ,SPHERE_HEALING ,true }, { "mind" ,SPHERE_MIND ,true }, { "nature" ,SPHERE_NATURE ,true }, { "protection" ,SPHERE_PROTECTION ,true }, { "time" ,SPHERE_TIME ,true }, { "weather" ,SPHERE_WEATHER ,true }, { NULL, 0, 0 } }; const struct flag_type element_flags[] = { { "air" ,ELEMENT_AIR ,true }, { "animal" ,ELEMENT_ANIMAL ,true }, { "earth" ,ELEMENT_EARTH ,true }, { "fire" ,ELEMENT_FIRE ,true }, { "land" ,ELEMENT_LAND ,true }, // { "guardian" ,ELEMENT_LAND ,true }, { "moon" ,ELEMENT_MOON ,true }, { "plant" ,ELEMENT_PLANT ,true }, { "sun" ,ELEMENT_SUN ,true }, { "water" ,ELEMENT_WATER ,true }, { "autumn" ,SEASON_AUTUMN ,true }, { "spring" ,SEASON_SPRING ,true }, { "summer" ,SEASON_SUMMER ,true }, { "winter" ,SEASON_WINTER ,true }, { NULL, 0, 0 } }; const struct flag_type composition_flags[] = { { "beguiling", COMPOSITION_BEGUILING, true }, { "ceremonial", COMPOSITION_CEREMONIAL, true }, { "epic", COMPOSITION_EPIC, true }, { "esoteric", COMPOSITION_ESOTERIC, true }, { "ethereal", COMPOSITION_ETHEREAL, true }, { "requiem", COMPOSITION_REQUIEM, true }, { "holistic", COMPOSITION_HOLISTIC, true }, { NULL, 0, 0 } }; // used for categorising spells and skills const struct flag_type category_types[] = { { "undefined", CAT_UNDEFINED, true }, { "spdefensive", CAT_DEFENSIVE_SPELL, true }, { "spdefensive_enhancement", CAT_DEFENSIVE_ENHANCEMENT, true }, { "spoffensive_enhancement", CAT_OFFENSIVE_ENHANCEMENT, true }, { "spoffensive_spell", CAT_OFFENSIVE_SPELL, true }, { "sparea", CAT_AREASPELL, true }, { "spenchantment", CAT_ENCHANTMENT_SPELL, true }, { "sphealing", CAT_HEALING_SPELL, true }, { "spmovement", CAT_MOVEMENT_SPELL, true }, { "spcreation", CAT_CREATION_SPELL, true }, { "spinformation", CAT_INFORMATION_SPELL, true }, { "spmisc", CAT_MISCELLANEOUS_SPELL, true }, { "realm", CAT_REALM, true }, { "sphere", CAT_SPHERE, true }, { "season", CAT_SEASON, true }, { "sklanguage", CAT_LANGUAGE, true }, { "skweapon", CAT_WEAPON, true }, { "skoffensive_combat", CAT_OFFENSIVE_COMBAT, true }, { "skdefensive_combat", CAT_DEFENSIVE_COMBAT, true }, { "skhealing", CAT_HEALING_SKILL, true }, { "skmovement", CAT_MOVEMENT_SKILL, true }, { "skmagic", CAT_MAGIC, true }, { "skmiscellaneous", CAT_MISCELLANEOUS_SKILL, true }, { "skdefault", CAT_DEFAULT_SKILL, true }, { NULL, 0, 0 } }; // used for categorising help entries... struct flag_type help_category_types[MAX_HELP_CATEGORIES] = { // note: the index is initialised by init_globals { "undefined", 0, true }, { "creation", 0, true }, { "command", 0, true }, { "command:immortal", 0, true }, { "helpsys", 0, true }, // documents part of the help system { "newbie", 0, true }, { "notes", 0, true }, { "magic", 0, true }, { "magic:spell", 0, true }, { "mxptest", 0, true }, { "olc", 0, true }, { "olc:aedit", 0, true }, { "olc:hedit", 0, true }, { "olc:medit", 0, true }, { "olc:redit", 0, true }, { "olc:oedit", 0, true }, { "olc:oedit:item", 0, true }, { "race", 0, true }, { "race:general", 0, true }, { "pointer", 0, true }, { "unfinished", 0, true }, { NULL, 0, 0 } }; const struct flag_type com_category_types[] = { { "undefined", COMCAT_UNDEFINED, true }, { "auto", COMCAT_AUTO, true }, { "clan", COMCAT_CLAN, true }, { "combat", COMCAT_COMBAT, true }, { "misc", COMCAT_MISC, true }, { "movement", COMCAT_MOVEMENT, true }, { "notes", COMCAT_NOTES, true }, { "communication", COMCAT_COMMUNICATION, true }, { "statistics", COMCAT_STATISTICS, true }, { "utilities", COMCAT_UTILITIES, true }, { "nsupport", COMCAT_NSUPPORT, true }, { "rpsupport", COMCAT_RPSUPPORT, true }, { "magic", COMCAT_MAGIC, true }, { "pkrelated", COMCAT_PKRELATED, true }, { "rp", COMCAT_RP, true }, { "object", COMCAT_OBJECT, true }, { "olc", COMCAT_OLC, true }, { "noble", COMCAT_NOBLE, true }, { "helps", COMCAT_HELPS, true }, { NULL, 0, 0 } }; // for target types const struct flag_type target_types[] = { {"ignore", TAR_IGNORE ,true}, {"char_offensive", TAR_CHAR_OFFENSIVE ,true}, {"char_defensive", TAR_CHAR_DEFENSIVE ,true}, {"char_self", TAR_CHAR_SELF ,true}, {"obj_inv", TAR_OBJ_INV ,true}, {"obj_char_def", TAR_OBJ_CHAR_DEF ,true}, {"obj_char_off", TAR_OBJ_CHAR_OFF ,true}, {"mob_offensive", TAR_MOB_OFFENSIVE ,true}, {"obj_mob_off", TAR_OBJ_MOB_OFF ,true}, {"tar_direction", TAR_DIRECTION ,true}, { NULL, 0, 0} }; /**************************************************************************/ const struct flag_type sktype_types[] = { {"undefined", SKTYPE_UNDEFINED, true}, {"spell", SKTYPE_SPELL, true}, {"skill", SKTYPE_SKILL, true}, {"other", SKTYPE_OTHER, true}, { NULL, 0, 0} }; /**************************************************************************/ const struct flag_type skflags_flags[] = { {"never_learnt_by_leveling", SKFLAGS_SPNEVER_LEARNT_BY_LEVELING, true}, {"must_be_set_to_get", SKFLAGS_SPMUST_BE_SET_TO_GET, true}, {"teach_spgain", SKFLAGS_TEACH_SPGAIN, true}, {"level_spgain", SKFLAGS_LEVEL_SPGAIN, true}, {"study_spgain", SKFLAGS_STUDY_SPGAIN, true}, {"no_pctarget", SKFLAGS_NO_PCTARGET, true}, {"no_npctarget", SKFLAGS_NO_NPCTARGET, true}, {"renamable", SKFLAGS_RENAMABLE, true}, {"no_interclass_teach", SKFLAGS_NO_INTERCLASS_TEACH, true}, {"new_improve_system", SKFLAGS_NEW_IMPROVE_SYSTEM, true}, {"no_gain", SKFLAGS_NO_GAIN, true}, {"no_negative_hp_at_affectoff", SKFLAGS_NO_NEGATIVE_HP_AT_AFFECTOFF,true}, {"magical_antipathy", SKFLAGS_MAGICAL_ANTIPATHY, true}, {"no_scribe", SKFLAGS_NO_SCRIBE, true}, {"use_race_restrictions", SKFLAGS_USE_RACE_RESTRICTIONS, false}, {"no_prac", SKFLAGS_NO_PRAC, true}, { NULL, 0, 0} }; /**************************************************************************/ const struct flag_type dynspell_flags[] = { {"no_custom_text_within_function", SPFUNC_NOTEXT, true}, {"damtype_not_applicable", SPFUNC_NODAMTYPE, true}, {"damtype_used", SPFUNC_DAMTYPE, true}, { NULL, 0, 0} }; /**************************************************************************/ const struct sector_type sect_table[] = { { "inside" }, { "city" }, { "field" }, { "forest" }, { "hills" }, { "mountain" }, { "water_swim" }, { "water_noswim" }, { "swamp" }, { "air" }, { "desert" }, { "cave" }, { "underwater" }, { "snow" }, { "ice" }, { "trail" }, { "lava" }, { NULL } }; /**************************************************************************/ const struct flag_type traptype_flags[] = { { "move", TRAP_TRIG_MOVE, false }, { "object", TRAP_TRIG_OBJECT, false }, { "room", TRAP_TRIG_ROOM, false }, { "north", TRAP_TRIG_NORTH, false }, { "east", TRAP_TRIG_EAST, false }, { "south", TRAP_TRIG_SOUTH, false }, { "west", TRAP_TRIG_WEST, false }, { "up", TRAP_TRIG_UP, false }, { "down", TRAP_TRIG_DOWN, false }, { "northeast", TRAP_TRIG_NORTHEAST,false }, { "northwest", TRAP_TRIG_NORTHWEST,false }, { "southeast", TRAP_TRIG_SOUTHEAST,false }, { "southwest", TRAP_TRIG_SOUTHWEST,false }, { "open", TRAP_TRIG_OPEN, false }, { NULL, 0, 0 } }; /**************************************************************************/ const struct flag_type damtype_types[] = { {"none", DAM_NONE, true}, {"bash", DAM_BASH, true}, {"pierce", DAM_PIERCE, true}, {"slash", DAM_SLASH, true}, {"fire", DAM_FIRE, true}, {"cold", DAM_COLD, true}, {"lightning", DAM_LIGHTNING, true}, {"acid", DAM_ACID, true}, {"poison", DAM_POISON, true}, {"negative ", DAM_NEGATIVE, true}, {"holy", DAM_HOLY, true}, {"energy", DAM_ENERGY, true}, {"mental", DAM_MENTAL, true}, {"disease", DAM_DISEASE, true}, {"drowning", DAM_DROWNING, true}, {"light", DAM_LIGHT, true}, {"other", DAM_OTHER, true}, {"harm", DAM_HARM, true}, {"charm", DAM_CHARM, true}, {"sound", DAM_SOUND, true}, {"illusion", DAM_ILLUSION, true}, { NULL, 0, 0} }; /**************************************************************************/ // tables used only in here const struct flag_type letgain_db_flags[] = { { "letgain_requested", LETGAIN_REQUESTED, false }, { "letgain_granted", LETGAIN_GRANTED, false }, { "letgain_declined", LETGAIN_DECLINED, false }, { "letgain_pending", LETGAIN_PENDING, false }, { NULL, 0, true } }; /**************************************************************************/ const struct flag_type notenet_flags[] = { { "on", NOTE_ON, false }, { "noblepkill", NOTE_NOBLEPKILL, false }, { "immpkill", NOTE_IMMPKILL, false }, { "immpkilldetails", NOTE_IMMPKILLDETAILS, false }, { "clannotes", NOTE_CLANNOTES, false }, { "to_pkill", NOTE_TO_PKILL, false }, { "to_allclan", NOTE_TO_ALLCLAN, false }, { "admin_rename", NOTE_ADMIN_RENAME, false }, { "court", NOTE_COURT, false }, { NULL, 0, true } }; /**************************************************************************/ const struct flag_type config_flags[] = { { "showmisc", CONFIG_SHOWMISC, false }, { "nomisc", CONFIG_NOMISC, false }, { "objrestrict", CONFIG_OBJRESTRICT, false }, { "autorecall", CONFIG_AUTORECALL, false }, { "note_only_to_imm", CONFIG_NOTE_ONLY_TO_IMM, false }, { "autoexamine", CONFIG_AUTOEXAMINE, false }, { "autolandonrest", CONFIG_AUTOLANDONREST, false }, { "autolandonreset", CONFIG_AUTOLANDONREST, false }, { "courtmember", CONFIG_COURTMEMBER, false }, { "bard_council", CONFIG_BARD_COUNCIL, false }, { "holyspeech", CONFIG_HOLYSPEECH, false }, { "disallow_pkill", CONFIG_DISALLOWED_PKILL, false }, { "ignore_multilogins",CONFIG_IGNORE_MULTILOGINS, false }, { "rpsupport", CONFIG_RP_SUPPORT, false }, { "metric", CONFIG_METRIC, false }, { "active", CONFIG_ACTIVE, false }, { "autotrack", CONFIG_AUTOTRACK, false }, { "automap", CONFIG_AUTOMAP, false }, { "autowraptells", CONFIG_AUTOWRAPTELLS, false }, { "pracsys_tester", CONFIG_PRACSYS_TESTER, false }, { "nocharm", CONFIG_NOCHARM, false }, { "noheromsg", CONFIG_NOHEROMSG, false }, { "nonewbie", CONFIG_NONEWBIE, false }, { "nonames", CONFIG_NONAMES, false }, { "noautoanswer", CONFIG_NOAUTOANSWER, false }, { "hide_hidden_areas", CONFIG_HIDE_HIDDEN_AREAS, false }, { "names_before_short",CONFIG_NAMES_BEFORE_SHORT, false }, { NULL, 0, true } }; /**************************************************************************/ const struct flag_type config2_flags[] = { { "read_builder_legal", CONFIG2_READ_BUILDER_LEGAL, false }, { "noautosaymote", CONFIG2_NOAUTOSAYMOTE, false }, { "autosaycolourcodes", CONFIG2_AUTOSAYCOLOURCODES, false }, { "name_only_for_known", CONFIG2_NAME_ONLY_FOR_KNOWN,false }, { "autodamage", CONFIG2_AUTODAMAGE, false }, { "nopkill", CONFIG2_NOPKILL, false }, { "full_exits", CONFIG2_FULL_EXITS, false }, { "no_detect_oldstyle_note_writing", CONFIG2_NO_DETECT_OLDSTYLE_NOTE_WRITING, false }, { "nomapexits", CONFIG2_NOMAPEXITS, false }, { "nomapblanks", CONFIG2_NOMAPBLANKS, false }, { "autowizilogin", CONFIG2_AUTOWIZILOGIN, false }, { "autowhoinvislogin", CONFIG2_AUTOWHOINVISLOGIN, false }, { "no_battlelag_prompt", CONFIG2_NO_BATTLELAG_PROMPT, false }, { "accurate_laston_times", CONFIG2_ACCURATE_LASTON_TIMES, false }, { "highimmortal_laston_access",CONFIG2_HIGHIMMORTAL_LASTON_ACCESS, false }, { "autokeepalive", CONFIG2_AUTOKEEPALIVE, false }, { NULL, 0, true } }; /**************************************************************************/ const struct flag_type pconfig_flags[] = { { "filler", PCONFIG_FILLER, false}, { NULL, 0, true } }; /**************************************************************************/ const struct flag_type help_flags[] = { { "INCOMPLETE", HELP_INCOMPLETE, true }, { "hide_keywords", HELP_HIDE_KEYWORDS, true }, { "noble", HELP_NOBLE, true }, { "nsupport", HELP_NSUPPORT, true }, { "builder", HELP_BUILDER, true }, { "rpsupport", HELP_RPSUPPORT, true }, { "redirection_entry", HELP_REDIRECTION_ENTRY, true }, { "mud_specific", HELP_MUD_SPECIFIC, true }, { "mud_should_customize", HELP_MUD_SHOULD_CUSTOMIZE,true }, { "hide_prevnext", HELP_HIDE_PREVNEXT, true }, { "hide_header_footer",HELP_HIDE_HEADER_FOOTER, true }, { "wordwrapped", HELP_WORDWRAPPED, false }, { "removehelp", HELP_REMOVEHELP, false }, { "display_mxp_double",HELP_DISPLAY_MXP_DOUBLE, false }, { NULL, 0, false } }; /**************************************************************************/ const struct flag_type council_flags[] = { { "admin", COUNCIL_ADMIN, true }, { "balance", COUNCIL_BALANCE, true }, { "clan", COUNCIL_CLAN, true }, { "code", COUNCIL_CODE, true }, { "law", COUNCIL_LAW, true }, { "mythos", COUNCIL_MYTHOS, true }, { "storyline", COUNCIL_MYTHOS, true }, { "realm", COUNCIL_REALM, true }, { "rp", COUNCIL_RP, true }, { "roleplaying", COUNCIL_RP, true }, { "support", COUNCIL_SUPPORT, true }, { "headbalance", COUNCIL_HEADBALANCE, true }, { "headclan", COUNCIL_HEADCLAN, true }, { "headcode", COUNCIL_HEADCODE, true }, { "headlaw", COUNCIL_HEADLAW, true }, { "headmythos", COUNCIL_HEADMYTHOS, true }, { "headrealm", COUNCIL_HEADREALM, true }, { "headrp", COUNCIL_HEADRP, true }, { "headsupport", COUNCIL_HEADSUPPORT, true }, { "headstoryline", COUNCIL_HEADSTORYLINE, true }, { NULL, 0, false } }; /**************************************************************************/ const struct flag_type commandlog_types[] = { { "always", LOG_ALWAYS, true }, { "palways", LOG_PALWAYS, true }, { "olc", LOG_OLC, true }, { "normal", LOG_NORMAL, true }, { "plogonly", LOG_PLOGONLY, true }, { "nolog", LOG_DONT_LOG, true }, { "never", LOG_NEVER, true }, { NULL, 0, false } }; /**************************************************************************/ const struct flag_type commandflag_flags[] = { { "ooc", CMD_OOC, true }, { "ic", CMD_IC, true }, { "noorder", CMD_NO_ORDER, true }, { "nowiznetsecure",CMD_NO_WIZNET_SECURE, true }, { "notreeform", CMD_NO_TREEFORM, true }, { "no_stone_gargoyle",CMD_NO_STONE_GARGOYLE, false }, { "no_stockade", CMD_NO_STOCKADE, false }, { NULL, 0, false } }; /**************************************************************************/ const struct flag_type grantgroup_flags[] = { { "mortal", GRANTGROUP_MORTAL, true}, { "noble", GRANTGROUP_NOBLE, true}, { "builder", GRANTGROUP_BUILDER, true}, { "implementor", GRANTGROUP_IMPLEMENTOR, true}, { "highadmin", GRANTGROUP_HIGHADMIN, true}, { "admin", GRANTGROUP_ADMIN, true}, { "headbalance", GRANTGROUP_HEADBALANCE, true}, { "headcode", GRANTGROUP_HEADCODE, true}, { "headlaw", GRANTGROUP_HEADLAW, true}, { "headmythos", GRANTGROUP_HEADMYTHOS, true}, { "headrealm", GRANTGROUP_HEADREALM, true}, { "headsupport", GRANTGROUP_HEADSUPPORT, true}, { "headroleplay", GRANTGROUP_HEADROLEPLAY, true}, { "balance", GRANTGROUP_BALANCE, true}, { "code", GRANTGROUP_CODE, true}, { "law", GRANTGROUP_LAW, true}, { "mythos", GRANTGROUP_MYTHOS, true}, { "realm", GRANTGROUP_REALM, true}, { "support", GRANTGROUP_SUPPORT, true}, { "roleplay", GRANTGROUP_ROLEPLAY, true}, { "advancedbuilder", GRANTGROUP_ADVANCEDBUILDER, true}, { "development", GRANTGROUP_DEVELOPMENT, true}, { "experimental", GRANTGROUP_EXPERIMENTAL, true}, { "betatest1", GRANTGROUP_BETATEST1, true}, { "betatest2", GRANTGROUP_BETATEST2, true}, { "incomplete", GRANTGROUP_INCOMPLETE, true}, { "immortal", GRANTGROUP_IMMORTAL, true}, { "obscureimmortal",GRANTGROUP_OBSCUREIMMORTAL, true}, // for obscure commands { NULL, 0, false } }; /**************************************************************************/ const struct flag_type sectorbit_flags[] = //For sect restrict, enhance, dampen { { "inside", SECTBIT_INSIDE, true }, { "city", SECTBIT_CITY, true }, { "field", SECTBIT_FIELD, true }, { "forest", SECTBIT_FOREST, true }, { "hills", SECTBIT_HILLS, true }, { "mountain", SECTBIT_MOUNTAIN, true }, { "swim", SECTBIT_WATER_SWIM, true }, { "noswim", SECTBIT_WATER_NOSWIM, true }, { "swamp", SECTBIT_SWAMP, true }, { "air", SECTBIT_AIR, true }, { "desert", SECTBIT_DESERT, true }, { "cave", SECTBIT_CAVE, true }, { "underwater", SECTBIT_UNDERWATER, true }, { "snow", SECTBIT_SNOW, true }, { "ice", SECTBIT_ICE, true }, { "trail", SECTBIT_TRAIL, true }, { "lava", SECTBIT_LAVA, true }, { NULL, 0, 0 } }; /**************************************************************************/ const struct flag_type sector_desc[] = { { "inside", SECT_INSIDE, false }, { "in the city", SECT_CITY, false }, { "in the field", SECT_FIELD, false }, { "in the forest", SECT_FOREST, false }, { "in the hills", SECT_HILLS, false }, { "on a mountain", SECT_MOUNTAIN, false }, { "in shallow waters", SECT_WATER_SWIM, false }, { "in deep waters", SECT_WATER_NOSWIM, false }, { "in a swamp", SECT_SWAMP, false }, { "in the air", SECT_AIR, false }, { "in the desert", SECT_DESERT, false }, { "in a cave", SECT_CAVE, false }, { "underwater", SECT_UNDERWATER, false }, { "in the snow", SECT_SNOW, false }, { "on the ice", SECT_ICE, false }, { "on the trail", SECT_TRAIL, false }, { "over the lava", SECT_LAVA, false }, { NULL, 0, 0 } }; /**************************************************************************/ const struct flag_type spell_group_flags[] = { { "skins", SPELL_GROUP_SKINS, true}, { "fire_shield", SPELL_GROUP_FIRE_SHIELD,true}, { "ice_shield", SPELL_GROUP_ICE_SHIELD, true}, { "wind_shield", SPELL_GROUP_WIND_SHIELD,true}, { "strength", SPELL_GROUP_STRENGTH, true}, { "blesses", SPELL_GROUP_BLESSES, true}, { "mental", SPELL_GROUP_MENTAL, true}, { NULL, 0, 0 } }; /**************************************************************************/ const struct flag_type immhelp_types[] = { { "free", IMMHELP_FREE, true}, { "possible", IMMHELP_POSSIBLE, true}, { "closed", IMMHELP_CLOSED, true}, { "undefined", IMMHELP_UNDEFINED, true}, { NULL,0,0} }; const struct flag_type align_flags[] = { { "none", ALIGN_NONE, false}, { "evil", ALIGN_EVIL, true}, { "neutral", ALIGN_NEUTRAL, true}, { "good", ALIGN_GOOD, true}, { NULL, 0, 0} }; const struct flag_type tendency_flags[] = { { "none", TENDFLAG_NONE, false}, { "chaotic", TENDFLAG_CHAOTIC, true}, { "neutral", TENDFLAG_NEUTRAL, true}, { "lawful", TENDFLAG_LAWFUL, true}, { NULL, 0, 0} }; /**************************************************************************/ const struct flag_type dedit_flags[] = { /* { "none", DEDIT_NONE, true}, { "goodalign", DEDIT_GOOD_ALIGN, true}, { "neutralalign", DEDIT_NEUTRAL_ALIGN, true}, { "evilalign", DEDIT_EVIL_ALIGN, true}, { "ordertendency", DEDIT_ORDER_TENDENCY, true}, { "neutraltendency", DEDIT_NEUTRAL_TENDENCY, true}, { "chaotictendency", DEDIT_CHAOTIC_TENDENCY, true}, { "malegender", DEDIT_MALE_GENDER, true}, { "femalegender", DEDIT_FEMALE_GENDER, true}, { "neutralgender", DEDIT_NEUTRAL_GENDER, true}, */ { NULL, 0, 0 } }; /**************************************************************************/ const struct flag_type buildrestrict_types[] = { { "all", BUILDRESTRICT_ALL, true}, { "area", BUILDRESTRICT_AREA, true}, { "exits", BUILDRESTRICT_EXITS, true}, { "mobprogs", BUILDRESTRICT_MOBPROGS, true}, { "mobs", BUILDRESTRICT_MOBS, true}, { "objects", BUILDRESTRICT_OBJECTS, true}, { "resets", BUILDRESTRICT_RESETS, true}, { "rooms", BUILDRESTRICT_ROOMS, true}, { "other", BUILDRESTRICT_OTHER, true}, { NULL, 0, 0 } }; /**************************************************************************/ const struct flag_type classflag_flags[] = { { "poison_immunity", CLASSFLAG_POISON_IMMUNITY, true}, { "curse_immunity", CLASSFLAG_CURSE_IMMUNITY, true}, { "plague_immunity", CLASSFLAG_PLAGUE_IMMUNITY, true}, { "dammods_with_holyweapons",CLASSFLAG_DAMMODS_WITH_HOLYWEAPONS,true}, { "safe_flee_from_combat", CLASSFLAG_SAFE_FLEE_FROM_COMBAT, true}, { "casting_affected_by_moon",CLASSFLAG_CASTING_AFFECTED_BY_MOON,true}, { "casting_halfaffected_by_moon",CLASSFLAG_CASTING_HALFAFFECTED_BY_MOON,true}, { "magic_antipathy", CLASSFLAG_MAGIC_ANTIPATHY, true}, { "level_based_ac", CLASSFLAG_LEVEL_BASED_AC, true}, { "totems", CLASSFLAG_TOTEMS, true}, { "can_collect_water", CLASSFLAG_CAN_COLLECT_WATER, true}, { "deities", CLASSFLAG_DEITIES, true}, { "holy symbols", CLASSFLAG_HOLYSYMBOLS, true}, { "no_customization", CLASSFLAG_NO_CUSTOMIZATION, true}, { "always_hidden_from_mortal_classinfo",CLASSFLAG_ALWAYS_HIDDEN_FROM_MORTAL_CLASSINFO, true}, { "hidden_from_mortal_classinfo_when_above_their_remort",CLASSFLAG_HIDDEN_FROM_MORTAL_CLASSINFO_WHEN_ABOVE_THEIR_REMORT,true}, { NULL, 0, 0 } }; /**************************************************************************/ struct flag_type classnames_flags[MAX_CLASS+1] = { { NULL, 0, 0 } }; /**************************************************************************/ const struct flag_type castcommand_types[CCT_MAXCAST+1]= { { "none", CCT_NONE, true}, { "cast", CCT_MAGE, true}, { "commune", CCT_CLERIC, true}, { "summon", CCT_DRUID, true}, { "sing", CCT_BARD, true}, { NULL, 0, 0 } }; /**************************************************************************/ const struct flag_type castnames_types[CCT_MAXCAST+1]= { { "none", CCT_NONE, true}, { "cast", CCT_MAGE, true}, { "commune", CCT_CLERIC, true}, { "conjurer", CCT_DRUID, true}, { "sing", CCT_BARD, true}, { NULL, 0, 0 } }; /**************************************************************************/ const struct flag_type language_flags[] = { { "changed", LANGFLAG_CHANGED, false}, { "system_language", LANGFLAG_SYSTEM_LANGUAGE, false}, // autogenerated - not saved to disk { "no_scramble", LANGFLAG_NO_SCRAMBLE, true }, { "no_holyspeech", LANGFLAG_NO_HOLYSPEECH, true }, { "no_order", LANGFLAG_NO_ORDER, true }, { "reverse_text", LANGFLAG_REVERSE_TEXT, true }, { "no_language_name", LANGFLAG_NO_LANGUAGE_NAME, true }, { "no_skill_required", LANGFLAG_NO_SKILL_REQUIRED, true }, { "no_command_access", LANGFLAG_NO_COMMAND_ACCESS, true }, { "immonly", LANGFLAG_IMMONLY, true }, { "scramble_in_ooc", LANGFLAG_SCRAMBLE_IN_OOC, true }, { NULL, 0, 0 } }; /**************************************************************************/ const struct flag_type attune_flags[] = { { "attunable", ATTUNE_NEED_TO_USE, true }, { "equal_level", ATTUNE_EQUAL_LEVEL, true }, { "vanish", ATTUNE_VANISH, true }, { "trivial", ATTUNE_TRIVIAL, true }, { "easy", ATTUNE_EASY, true }, { "hard", ATTUNE_HARD, true }, { "infuriating", ATTUNE_INFURIATING, true }, { "previous", ATTUNE_PREVIOUS, true }, { "once", ATTUNE_ONCE_ONLY, true }, { NULL, 0, 0 } }; /**************************************************************************/ const struct flag_type mixtype_types[] = { { "none", MIXTYPE_NONE, true }, { "herbalism", MIXTYPE_HERBALISM, true }, { "cooking", MIXTYPE_COOKING, true }, { "smithing", MIXTYPE_SMITHING, true }, { "alchemy", MIXTYPE_ALCHEMY, true }, { "pottery", MIXTYPE_POTTERY, true }, { "tinkering", MIXTYPE_TINKERING, true }, { NULL, 0, 0 } }; /**************************************************************************/ const struct flag_type colourmode_types[] = { { "nocolour", CT_NOCOLOUR, true }, { "ansi", CT_ANSI, true }, { "irc", CT_IRC, true }, { "ircwhite", CT_IRCWHITE, true }, { "html", CT_HTML, true }, { "autodetect", CT_AUTODETECT, true }, { NULL, 0, 0 } }; /**************************************************************************/ const struct flag_type preference_types[] = { { "off", PREF_OFF, true }, { "autosense", PREF_AUTOSENSE, true }, { "on", PREF_ON, true }, { NULL, 0, 0 } }; /**************************************************************************/ /**************************************************************************/ /**************************************************************************/ /**************************************************************************/