#include "include.h"
const struct flag_type area_flags[] =
{
{ "none", AREA_NONE, FALSE },
{ "changed", AREA_CHANGED, TRUE },
{ "added", AREA_ADDED, TRUE },
{ "loading", AREA_LOADING, FALSE },
{ NULL, 0, 0 }
};
const struct flag_type sex_flags[] =
{
{ "male", SEX_MALE, TRUE },
{ "female", SEX_FEMALE, TRUE },
{ "neutral", SEX_NEUTRAL, TRUE },
{ "random", 3, TRUE }, /* ROM */
{ "none", SEX_NEUTRAL, 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 },
{ NULL, 0, 0 }
};
const struct flag_type door_resets[] =
{
{ "open and unlocked", 0, TRUE },
{ "closed and unlocked", 1, TRUE },
{ "closed and locked", 2, TRUE },
{ NULL, 0, 0 }
};
const struct flag_type room_flags[] =
{
{ "dark", ROOM_DARK, TRUE },
{ "no_mob", ROOM_NO_MOB, TRUE },
{ "indoors", ROOM_INDOORS, TRUE },
{ "private", ROOM_PRIVATE, TRUE },
{ "safe", ROOM_SAFE, TRUE },
{ "solitary", ROOM_SOLITARY, TRUE },
{ "pet_shop", ROOM_PET_SHOP, TRUE },
{ "no_recall", ROOM_NO_RECALL, TRUE },
// { "imp_only", ROOM_IMP_ONLY, TRUE },
// { "gods_only", ROOM_GODS_ONLY, TRUE },
// { "heroes_only", ROOM_HEROES_ONLY, TRUE },
// { "newbies_only", ROOM_NEWBIES_ONLY, TRUE },
// { "law", ROOM_LAW, TRUE },
// { "nowhere", ROOM_NOWHERE, TRUE },
{ NULL, 0, 0 }
};
const struct flag_type sector_flags[] =
{
{ "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 },
{ "unused", SECT_UNUSED, TRUE },
{ "air", SECT_AIR, TRUE },
{ "desert", SECT_DESERT, TRUE },
{ NULL, 0, 0 }
};
const struct flag_type type_flags[] =
{
{ "light", ITEM_LIGHT, TRUE },
{ "scroll", ITEM_SCROLL, TRUE },
{ "wand", ITEM_WAND, TRUE },
{ "staff", ITEM_STAFF, TRUE },
{ "weapon", ITEM_WEAPON, TRUE },
{ "treasure", ITEM_TREASURE, TRUE },
{ "armor", ITEM_ARMOR, TRUE },
{ "potion", ITEM_POTION, TRUE },
{ "furniture", ITEM_FURNITURE, TRUE },
{ "trash", ITEM_TRASH, TRUE },
{ "container", ITEM_CONTAINER, TRUE },
{ "drinkcontainer", ITEM_DRINK_CON, TRUE },
{ "key", ITEM_KEY, TRUE },
{ "food", ITEM_FOOD, TRUE },
{ "money", ITEM_MONEY, TRUE },
{ "boat", ITEM_BOAT, TRUE },
{ "npccorpse", ITEM_CORPSE_NPC, TRUE },
{ "pc corpse", ITEM_CORPSE_PC, FALSE },
{ "fountain", ITEM_FOUNTAIN, TRUE },
{ "pill", ITEM_PILL, TRUE },
// { "protect", ITEM_PROTECT, TRUE },
// { "map", ITEM_MAP, TRUE },
{ "portal", ITEM_PORTAL, TRUE },
// { "warpstone", ITEM_WARP_STONE, TRUE },
// { "roomkey", ITEM_ROOM_KEY, TRUE },
// { "gem", ITEM_GEM, TRUE },
// { "jewelry", ITEM_JEWELRY, TRUE },
// { "jukebox", ITEM_JUKEBOX, TRUE },
{ NULL, 0, 0 }
};
const struct flag_type extra_flags[] =
{
{ "glow", ITEM_GLOW, TRUE },
{ "hum", ITEM_HUM, TRUE },
// { "dark", ITEM_DARK, TRUE },
// { "lock", ITEM_LOCK, TRUE },
// { "evil", ITEM_EVIL, TRUE },
{ "invis", ITEM_INVIS, TRUE },
{ "magic", ITEM_MAGIC, TRUE },
{ "nodrop", ITEM_NODROP, TRUE },
{ "bless", ITEM_BLESS, TRUE },
{ "antigood", ITEM_ANTI_GOOD, TRUE },
{ "antievil", ITEM_ANTI_EVIL, TRUE },
{ "antineutral", ITEM_ANTI_NEUTRAL, TRUE },
{ "noremove", ITEM_NOREMOVE, TRUE },
{ "inventory", ITEM_INVENTORY, TRUE },
// { "nopurge", ITEM_NOPURGE, TRUE },
// { "rotdeath", ITEM_ROT_DEATH, TRUE },
// { "visdeath", ITEM_VIS_DEATH, TRUE },
// { "nonmetal", ITEM_NONMETAL, TRUE },
// { "meltdrop", ITEM_MELT_DROP, TRUE },
// { "hadtimer", ITEM_HAD_TIMER, TRUE },
// { "sellextract", ITEM_SELL_EXTRACT, TRUE },
// { "burnproof", ITEM_BURN_PROOF, TRUE },
// { "nouncurse", ITEM_NOUNCURSE, TRUE },
{ NULL, 0, 0 }
};
const struct flag_type wear_flags[] =
{
{ "take", ITEM_TAKE, TRUE },
{ "finger", ITEM_WEAR_FINGER, TRUE },
{ "neck", ITEM_WEAR_NECK, TRUE },
{ "body", ITEM_WEAR_BODY, TRUE },
{ "head", ITEM_WEAR_HEAD, TRUE },
{ "legs", ITEM_WEAR_LEGS, TRUE },
{ "feet", ITEM_WEAR_FEET, TRUE },
{ "hands", ITEM_WEAR_HANDS, TRUE },
{ "arms", ITEM_WEAR_ARMS, TRUE },
{ "shield", ITEM_WEAR_SHIELD, TRUE },
{ "about", ITEM_WEAR_ABOUT, TRUE },
{ "waist", ITEM_WEAR_WAIST, TRUE },
{ "wrist", ITEM_WEAR_WRIST, TRUE },
{ "wield", ITEM_WIELD, TRUE },
{ "hold", ITEM_HOLD, TRUE },
// { "nosac", ITEM_NO_SAC, TRUE },
// { "wearfloat", ITEM_WEAR_FLOAT, TRUE },
// { "twohands", ITEM_TWO_HANDS, 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_flags[] =
{
{ "none", APPLY_NONE, TRUE },
{ "strength", APPLY_STR, TRUE },
{ "dexterity", APPLY_DEX, TRUE },
{ "intelligence", APPLY_INT, TRUE },
{ "wisdom", APPLY_WIS, TRUE },
{ "constitution", APPLY_CON, TRUE },
{ "sex", APPLY_SEX, TRUE },
{ "class", APPLY_CLASS, TRUE },
{ "level", APPLY_LEVEL, TRUE },
{ "age", APPLY_AGE, TRUE },
{ "height", APPLY_HEIGHT, TRUE },
{ "weight", APPLY_WEIGHT, TRUE },
{ "mana", APPLY_MANA, TRUE },
{ "hp", APPLY_HIT, TRUE },
{ "move", APPLY_MOVE, TRUE },
{ "gold", APPLY_GOLD, TRUE },
{ "experience", APPLY_EXP, TRUE },
{ "ac", APPLY_AC, TRUE },
{ "hitroll", APPLY_HITROLL, TRUE },
{ "damroll", APPLY_DAMROLL, TRUE },
// { "saves", APPLY_SAVES, TRUE },
{ "savingpara", APPLY_SAVING_PARA, TRUE },
{ "savingrod", APPLY_SAVING_ROD, TRUE },
{ "savingpetri", APPLY_SAVING_PETRI, TRUE },
{ "savingbreath", APPLY_SAVING_BREATH, TRUE },
{ "savingspell", APPLY_SAVING_SPELL, TRUE },
// { "spellaffect", APPLY_SPELL_AFFECT, FALSE },
{ NULL, 0, 0 }
};
/*
* What is seen.
*/
const struct flag_type wear_loc_strings[] =
{
{ "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_BODY, 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 },
{ NULL, 0 , 0 }
};
const struct flag_type wear_loc_flags[] =
{
{ "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 },
{ "body", WEAR_BODY, TRUE },
{ "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 },
{ NULL, 0, 0 }
};
const struct flag_type weapon_flags[]=
{
{ "hit", 0, TRUE }, /* 0 */
{ "slice", 1, TRUE },
{ "stab", 2, TRUE },
{ "slash", 3, TRUE },
{ "whip", 4, TRUE },
{ "claw", 5, TRUE }, /* 5 */
{ "blast", 6, TRUE },
{ "pound", 7, TRUE },
{ "crush", 8, TRUE },
{ "grep", 9, TRUE },
{ "bite", 10, TRUE }, /* 10 */
{ "pierce", 11, TRUE },
{ "suction", 12, TRUE },
{ "beating", 13, TRUE },
{ "digestion", 14, TRUE },
{ "charge", 15, TRUE }, /* 15 */
{ "slap", 16, TRUE },
{ "punch", 17, TRUE },
{ "wrath", 18, TRUE },
{ "magic", 19, TRUE },
{ "divinepower", 20, TRUE }, /* 20 */
{ "cleave", 21, TRUE },
{ "scratch", 22, TRUE },
{ "peckpierce", 23, TRUE },
{ "peckbash", 24, TRUE },
{ "chop", 25, TRUE }, /* 25 */
{ "sting", 26, TRUE },
{ "smash", 27, TRUE },
{ "shockingbite",28, TRUE },
{ "flamingbite", 29, TRUE },
{ "freezingbite", 30, TRUE }, /* 30 */
{ "acidicbite", 31, TRUE },
{ "chomp", 32, TRUE },
{ "lifedrain", 33, TRUE },
{ "thrust", 34, TRUE },
{ "slime", 35, TRUE },
{ "shock", 36, TRUE },
{ "thwack", 37, TRUE },
{ "flame", 38, TRUE },
{ "chill", 39, TRUE },
{ NULL, 0, 0 }
};
const struct flag_type container_flags[] =
{
{ "closeable", 1, TRUE },
{ "pickproof", 2, TRUE },
{ "closed", 4, TRUE },
{ "locked", 8, TRUE },
{ "puton", 16, TRUE },
{ NULL, 0, 0 }
};
/*****************************************************************************
ROM - specific tables:
****************************************************************************/
/*
const struct flag_type ac_type[] =
{
{ "pierce", AC_PIERCE, TRUE },
{ "bash", AC_BASH, TRUE },
{ "slash", AC_SLASH, TRUE },
{ "exotic", AC_EXOTIC, TRUE },
{ NULL, 0, 0 }
};
*/
/*
const struct flag_type size_flags[] =
{
{ "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[] =
{
{ "exotic", 0, TRUE },
{ "sword", 1, TRUE },
{ "dagger", 2, TRUE },
{ "spear", 3, TRUE },
{ "mace", 4, TRUE },
{ "axe", 5, TRUE },
{ "flail", 6, TRUE },
{ "whip", 7, TRUE },
{ "polearm", 7, TRUE },
{ NULL, 0, 0 }
};
/*
const struct flag_type weapon_type2[] =
{
{ "none", 0, TRUE },
{ "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 },
{ 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 },
{ "iron", RES_IRON, 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 },
{ "iron", VULN_IRON, TRUE },
{ NULL, 0, 0 }
};
*/
const struct flag_type material_type[] = /* not yet implemented */
{
{ "none", 0, TRUE },
{ NULL, 0, 0 }
};
const struct flag_type position_flags[] =
{
{ "dead", POS_DEAD, 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 },
{ "fighting", POS_FIGHTING, FALSE },
{ "standing", 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 },
{ NULL, 0, 0 }
};
*/
/*
const struct flag_type furniture_flags[]=
{
{ "none", 0, TRUE },
{ "stand_at", STAND_AT, TRUE },
{ "stand_on", STAND_ON, TRUE },
{ "stand_in", STAND_IN, TRUE },
{ "sit_at", SIT_AT, TRUE },
{ "sit_on", SIT_ON, TRUE },
{ "sit_in", SIT_IN, TRUE },
{ "rest_at", REST_AT, TRUE },
{ "rest_on", REST_ON, TRUE },
{ "rest_in", REST_IN, TRUE },
{ "sleep_at", SLEEP_AT, TRUE },
{ "sleep_on", SLEEP_ON, TRUE },
{ "sleep_in", SLEEP_IN, TRUE },
{ "put_at", PUT_AT, TRUE },
{ "put_on", PUT_ON, TRUE },
{ "put_in", PUT_IN, TRUE },
{ "put_inside", PUT_INSIDE, TRUE },
{ NULL, 0, 0 }
};
*/
const struct flag_type act_flags[] =
{
{ "npc", A, FALSE },
{ "sentinel", B, TRUE },
{ "scavenger", C, TRUE },
{ "aggressive", F, TRUE },
{ "stay_area", G, TRUE },
{ "wimpy", H, TRUE },
{ "pet", I, TRUE },
{ "train", J, TRUE },
{ "practice", K, TRUE },
{ "undead", O, TRUE },
{ "cleric", Q, TRUE },
{ "mage", R, TRUE },
{ "thief", S, TRUE },
{ "warrior", T, TRUE },
{ "noalign", U, TRUE },
{ "nopurge", V, TRUE },
{ "outdoors", W, TRUE },
{ "indoors", Y, TRUE },
{ NULL, 0, FALSE }
};
const struct flag_type affect_flags[] =
{
{ "blind", A, TRUE },
{ "invisible", B, TRUE },
{ "detect_evil", C, TRUE },
{ "detect_invis", D, TRUE },
{ "detect_magic", E, TRUE },
{ "detect_hidden", F, TRUE },
{ "detect_good", G, TRUE },
{ "sanctuary", H, TRUE },
{ "faerie_fire", I, TRUE },
{ "infrared", J, TRUE },
{ "curse", K, TRUE },
{ "poison", M, TRUE },
{ "protect_evil", N, TRUE },
{ "protect_good", O, TRUE },
{ "sneak", P, TRUE },
{ "hide", Q, TRUE },
{ "sleep", R, TRUE },
{ "charm", S, TRUE },
{ "flying", T, TRUE },
{ "pass_door", U, TRUE },
{ "haste", V, TRUE },
{ "calm", W, TRUE },
{ "plague", X, TRUE },
{ "weaken", Y, TRUE },
{ "dark_vision", Z, TRUE },
{ NULL, 0, 0 }
};