diff options
Diffstat (limited to 'stone_soup/crawl-ref/source/enum.h')
-rw-r--r-- | stone_soup/crawl-ref/source/enum.h | 3719 |
1 files changed, 0 insertions, 3719 deletions
diff --git a/stone_soup/crawl-ref/source/enum.h b/stone_soup/crawl-ref/source/enum.h deleted file mode 100644 index c084ec3154..0000000000 --- a/stone_soup/crawl-ref/source/enum.h +++ /dev/null @@ -1,3719 +0,0 @@ -/* - * File: enum.h - * Summary: Global (ick) enums. - * Written by: Daniel Ligon - * - * Change History (most recent first): - * - * <11> 7 Aug 01 MV Changed MSLOT_UNASSIGNED_I to MSLOT_MISCELLANY - * added NUM_MISCELLANY, changed MONS_ANOTHER_ - * LAVA_THING to MONS_SALAMANDER - * <10> 7/29/00 JDJ Changed NUM_SPELL_TYPES to 14 (from 32767!). - * 24jun2000 jmf Changed comment spacing so stuff fit in 80 - * columns; deleted some leading numbers in - * comments (reasoning as above). - * Also removed many "must be last" comments, - * esp. where less-than-accurate. - * <9> 10jan2000 dlb extensive - see changes.340 S - * <8> 04nov1999 cdl added killed_by - * <7> 29sep1999 BCR Added comments showing where uniques are - * <6> 25sep1999 CDL Added commands - * <5> 09sep1999 BWR Removed Great Swords skill - * <4> 06aug1999 BWR added branch and level types - * <3> 02jun1999 DML beams, clouds, ench, ms, kill, - * other minor changes - * <2> 26may1999 JDJ Added a header guard. - * <1> --/--/-- CDL Created - */ - - -#ifndef ENUM_H -#define ENUM_H - -enum ability_type -{ - ABIL_NON_ABILITY = -1, - ABIL_SPIT_POISON = 1, // 1 - ABIL_GLAMOUR, - ABIL_MAPPING, - ABIL_TELEPORTATION, - ABIL_BREATHE_FIRE, // 5 - ABIL_BLINK, - ABIL_BREATHE_FROST, - ABIL_BREATHE_POISON, - ABIL_BREATHE_LIGHTNING, - ABIL_SPIT_ACID, // 10 - ABIL_BREATHE_POWER, - ABIL_EVOKE_BERSERK, - ABIL_BREATHE_STICKY_FLAME, - ABIL_BREATHE_STEAM, - ABIL_FLY, // 15 - ABIL_SUMMON_MINOR_DEMON, - ABIL_SUMMON_DEMONS, - ABIL_HELLFIRE, - ABIL_TORMENT, - ABIL_RAISE_DEAD, // 20 - ABIL_CONTROL_DEMON, - ABIL_TO_PANDEMONIUM, - ABIL_CHANNELING, - ABIL_THROW_FLAME, - ABIL_THROW_FROST, // 25 - ABIL_BOLT_OF_DRAINING, - ABIL_BREATHE_HELLFIRE, - ABIL_FLY_II, - ABIL_DELAYED_FIREBALL, - ABIL_MUMMY_RESTORATION, // 30 - ABIL_EVOKE_MAPPING, - ABIL_EVOKE_TELEPORTATION, - ABIL_EVOKE_BLINK, // 33 - ABIL_EVOKE_TURN_INVISIBLE = 51, // 51 - ABIL_EVOKE_TURN_VISIBLE, - ABIL_EVOKE_LEVITATE, - ABIL_EVOKE_STOP_LEVITATING, - ABIL_END_TRANSFORMATION, // 55 - ABIL_ZIN_REPEL_UNDEAD = 110, // 110 - ABIL_ZIN_HEALING, - ABIL_ZIN_PESTILENCE, - ABIL_ZIN_HOLY_WORD, - ABIL_ZIN_SUMMON_GUARDIAN, // 114 - ABIL_TSO_REPEL_UNDEAD = 120, // 120 - ABIL_TSO_SMITING, - ABIL_TSO_ANNIHILATE_UNDEAD, - ABIL_TSO_CLEANSING_FLAME, - ABIL_TSO_SUMMON_DAEVA, // 124 - ABIL_KIKU_RECALL_UNDEAD_SLAVES = 130, // 130 - ABIL_KIKU_ENSLAVE_UNDEAD = 132, // 132 - ABIL_KIKU_INVOKE_DEATH, // 133 - ABIL_YRED_ANIMATE_CORPSE = 140, // 140 - ABIL_YRED_RECALL_UNDEAD, - ABIL_YRED_ANIMATE_DEAD, - ABIL_YRED_DRAIN_LIFE, - ABIL_YRED_CONTROL_UNDEAD, // 144 - ABIL_VEHUMET_CHANNEL_ENERGY = 160, // 160 - ABIL_OKAWARU_MIGHT = 170, // 170 - ABIL_OKAWARU_HEALING, - ABIL_OKAWARU_HASTE, // 172 - ABIL_MAKHLEB_MINOR_DESTRUCTION = 180, // 180 - ABIL_MAKHLEB_LESSER_SERVANT_OF_MAKHLEB, - ABIL_MAKHLEB_MAJOR_DESTRUCTION, - ABIL_MAKHLEB_GREATER_SERVANT_OF_MAKHLEB, // 183 - ABIL_SIF_MUNA_FORGET_SPELL = 190, // 190 - ABIL_TROG_BERSERK = 200, // 200 - ABIL_TROG_MIGHT, - ABIL_TROG_HASTE_SELF, // 202 - ABIL_ELYVILON_LESSER_HEALING = 220, // 220 - ABIL_ELYVILON_PURIFICATION, - ABIL_ELYVILON_HEALING, - ABIL_ELYVILON_RESTORATION, - ABIL_ELYVILON_GREATER_HEALING, // 224 - ABIL_CHARM_SNAKE, - ABIL_TRAN_SERPENT_OF_HELL, - ABIL_ROTTING, - ABIL_TORMENT_II, - ABIL_PAIN, - ABIL_ENSLAVE_UNDEAD, - ABIL_BOLT_OF_FIRE, - ABIL_BOLT_OF_COLD, - ABIL_HELLFROST, - ABIL_RENOUNCE_RELIGION = 250 // 250 -}; - -enum ability_flag_type -{ - ABFLAG_NONE = 0x00000000, - ABFLAG_BREATH = 0x00000001, // ability uses DUR_BREATH_WEAPON - ABFLAG_DELAY = 0x00000002, // ability has its own delay (ie glamour) - ABFLAG_PAIN = 0x00000004, // ability must hurt player (ie torment) - ABFLAG_EXHAUSTION = 0x00000008, // fails if you.exhausted - ABFLAG_INSTANT = 0x00000010, // doesn't take time to use - ABFLAG_PERMANENT_HP = 0x00000020, // costs permanent HPs - ABFLAG_PERMANENT_MP = 0x00000040 // costs permanent MPs -}; - -enum activity_type -{ - ACT_NONE = 0, - ACT_MULTIDROP, - ACT_RUNNING, - ACT_TRAVELING, - ACT_MACRO, - - ACT_ACTIVITY_COUNT -}; - -enum activity_interrupt_type -{ - AI_FORCE_INTERRUPT = 0, // Forcibly kills any activity - AI_KEYPRESS = 0x01, - AI_FULL_HP = 0x02, // Player is fully healed - AI_FULL_MP = 0x04, // Player has recovered all mp - AI_STATUE = 0x08, // Bad statue has come into view - AI_HUNGRY = 0x10, // Hunger increased - AI_MESSAGE = 0x20, // Message was displayed - AI_HP_LOSS = 0x40, - AI_BURDEN_CHANGE = 0x80, - AI_STAT_CHANGE = 0x100, - AI_SEE_MONSTER = 0x200, - AI_TELEPORT = 0x400 -}; - -enum activity_interrupt_payload_type -{ - AIP_NONE, - AIP_INT, - AIP_STRING, - AIP_MONSTER, - AIP_HP_LOSS -}; - -enum ammunition_description_type -{ - DAMMO_ORCISH = 3, // 3 - DAMMO_ELVEN, - DAMMO_DWARVEN // 5 -}; - -// Various ways to get the acquirement effect. -enum acquirement_agent_type -{ - AQ_SCROLL = 0, - - // Empty space for the gods - - AQ_CARD_ACQUISITION = 100, - AQ_CARD_VIOLENCE, - AQ_CARD_PROTECTION, - AQ_CARD_KNOWLEDGE, - - AQ_WIZMODE = 200 -}; - -enum armour_type -{ - ARM_ROBE, // 0 - ARM_LEATHER_ARMOUR, - ARM_RING_MAIL, - ARM_SCALE_MAIL, - ARM_CHAIN_MAIL, - ARM_SPLINT_MAIL, // 5 - ARM_BANDED_MAIL, - ARM_PLATE_MAIL, - ARM_SHIELD, - ARM_CLOAK, - ARM_HELMET, // 10 - ARM_GLOVES, - ARM_BOOTS, - ARM_BUCKLER, - ARM_LARGE_SHIELD, - ARM_DRAGON_HIDE, // 15 - ARM_TROLL_HIDE, - ARM_CRYSTAL_PLATE_MAIL, - ARM_DRAGON_ARMOUR, - ARM_TROLL_LEATHER_ARMOUR, - ARM_ICE_DRAGON_HIDE, // 20 - ARM_ICE_DRAGON_ARMOUR, - ARM_STEAM_DRAGON_HIDE, - ARM_STEAM_DRAGON_ARMOUR, - ARM_MOTTLED_DRAGON_HIDE, - ARM_MOTTLED_DRAGON_ARMOUR, // 25 - ARM_STORM_DRAGON_HIDE, - ARM_STORM_DRAGON_ARMOUR, - ARM_GOLD_DRAGON_HIDE, - ARM_GOLD_DRAGON_ARMOUR, - ARM_ANIMAL_SKIN, // 30 - ARM_SWAMP_DRAGON_HIDE, - ARM_SWAMP_DRAGON_ARMOUR, - ARM_STUDDED_LEATHER_ARMOUR, - ARM_CAP, - ARM_CENTAUR_BARDING, // 35 - ARM_NAGA_BARDING, - - NUM_ARMOURS -}; - -// these are for the old system (still used for reading old files) -enum armour_description_type -{ - DARM_PLAIN, // added for the heck of it, 15 Apr 2000 {dlb} - DARM_EMBROIDERED_SHINY = 1, // which it is dependent upon armour subtype {dlb} - DARM_RUNED, - DARM_GLOWING, - DARM_ELVEN, - DARM_DWARVEN, // 5 - DARM_ORCISH -}; - -enum armour_property_type -{ - PARM_AC, // 0 - PARM_EVASION -}; - -enum attribute_type -{ - ATTR_DIVINE_LIGHTNING_PROTECTION, // 0 - // ATTR_SPEC_AIR, // don't use this! - // ATTR_SPEC_EARTH, - ATTR_CONTROL_TELEPORT = 3, - ATTR_WALK_SLOWLY, - ATTR_TRANSFORMATION, // 5 - ATTR_CARD_COUNTDOWN, - ATTR_CARD_TABLE, - ATTR_NUM_DEMONIC_POWERS, - ATTR_WAS_SILENCED, //jmf: added for silenced messages - ATTR_GOD_GIFT_COUNT, //jmf: added to help manage god gift giving - ATTR_EXPENSIVE_FLIGHT, //jmf: flag for "manual flight" (ie wings) - ATTR_DEMONIC_SCALES, //jmf: remember which kind of scales to improve - ATTR_WALLS, - ATTR_LAST_WALLS, - ATTR_DELAYED_FIREBALL, // bwr: reserve fireballs - ATTR_DEMONIC_POWER_1, - ATTR_DEMONIC_POWER_2, - ATTR_DEMONIC_POWER_3, - ATTR_DEMONIC_POWER_4, - ATTR_DEMONIC_POWER_5, // 19 - NUM_ATTRIBUTES = 30 // must be at least 30 -}; - -enum band_type -{ - BAND_NO_BAND = 0, - BAND_KOBOLDS = 1, - BAND_ORCS, - BAND_ORC_KNIGHT, - BAND_KILLER_BEES, - BAND_FLYING_SKULLS, // 5 - BAND_SLIME_CREATURES, - BAND_YAKS, - BAND_UGLY_THINGS, - BAND_HELL_HOUNDS, - BAND_JACKALS, // 10 - BAND_HELL_KNIGHTS, - BAND_ORC_HIGH_PRIEST, - BAND_GNOLLS, // 13 - BAND_BUMBLEBEES = 16, - BAND_CENTAURS, - BAND_YAKTAURS, - BAND_INSUBSTANTIAL_WISPS, - BAND_OGRE_MAGE, // 20 - BAND_DEATH_YAKS, - BAND_NECROMANCER, - BAND_BALRUG, - BAND_CACODEMON, - BAND_EXECUTIONER, // 25 - BAND_HELLWING, - BAND_DEEP_ELF_FIGHTER, - BAND_DEEP_ELF_KNIGHT, - BAND_DEEP_ELF_HIGH_PRIEST, - BAND_KOBOLD_DEMONOLOGIST, // 30 - BAND_NAGAS, - BAND_WAR_DOGS, - BAND_GREY_RATS, - BAND_GREEN_RATS, - BAND_ORANGE_RATS, // 35 - BAND_SHEEP, - BAND_GHOULS, - BAND_DEEP_TROLLS, - BAND_HOGS, - BAND_HELL_HOGS, // 40 - BAND_GIANT_MOSQUITOES, - BAND_BOGGARTS, - BAND_BLINK_FROGS, - BAND_SKELETAL_WARRIORS, // 44 - BAND_DRACONIAN, // 45 - NUM_BANDS // always last -}; - -enum beam_type // beam[].flavour -{ - BEAM_MISSILE, // 0 - BEAM_MMISSILE, // 1 - and similarly unresistable things - BEAM_FIRE, - BEAM_COLD, - BEAM_MAGIC, - BEAM_ELECTRICITY, // 5 - BEAM_POISON, - BEAM_NEG, - BEAM_ACID, - BEAM_MIASMA, - // BEAM_EXPLOSION, // 10 - use is_explosion, and BEAM of flavour - BEAM_SPORE = 11, - BEAM_POISON_ARROW, - BEAM_HELLFIRE, - BEAM_NAPALM, - BEAM_STEAM, // 15 - BEAM_HELLFROST, - BEAM_ENERGY, - BEAM_HOLY, // 18 - aka beam of cleansing, golden flame - BEAM_FRAG, - BEAM_LAVA, // 20 - BEAM_BACKLIGHT, - BEAM_SLEEP, - BEAM_ICE, // 23 - BEAM_NUKE = 27, // 27 - BEAM_RANDOM, // currently translates into FIRE..ACID - - // These used to be handled in the colour field: - BEAM_SLOW, // BLACK - BEAM_HASTE, // BLUE - BEAM_HEALING, // GREEN - BEAM_PARALYSIS, // CYAN - BEAM_CONFUSION, // RED - BEAM_INVISIBILITY, // MAGENTA - BEAM_DIGGING, // BROWN - BEAM_TELEPORT, // LIGHTGREY - BEAM_POLYMORPH, // DARKGREY - BEAM_CHARM, // LIGHTBLUE - BEAM_BANISH, // LIGHTGREEN - BEAM_DEGENERATE, // LIGHTCYAN - BEAM_ENSLAVE_UNDEAD, // LIGHTRED - BEAM_PAIN, // LIGHTMAGENTA - BEAM_DISPEL_UNDEAD, // YELLOW - BEAM_DISINTEGRATION, // WHITE - BEAM_ENSLAVE_DEMON, // colour "16" - BEAM_BLINK, - BEAM_PETRIFY, - - // new beams for evaporate - BEAM_POTION_STINKING_CLOUD, - BEAM_POTION_POISON, - BEAM_POTION_MIASMA, - BEAM_POTION_STEAM, - BEAM_POTION_FIRE, - BEAM_POTION_COLD, - BEAM_POTION_BLACK_SMOKE, - BEAM_POTION_BLUE_SMOKE, - BEAM_POTION_PURP_SMOKE, - BEAM_POTION_RANDOM, - - BEAM_LINE_OF_SIGHT // only used for checking monster LOS -}; - -enum book_type -{ - BOOK_MINOR_MAGIC_I, // 0 - BOOK_MINOR_MAGIC_II, - BOOK_MINOR_MAGIC_III, - BOOK_CONJURATIONS_I, - BOOK_CONJURATIONS_II, - BOOK_FLAMES, // 5 - BOOK_FROST, - BOOK_SUMMONINGS, - BOOK_FIRE, - BOOK_ICE, - BOOK_SURVEYANCES, // 10 - BOOK_SPATIAL_TRANSLOCATIONS, - BOOK_ENCHANTMENTS, - BOOK_YOUNG_POISONERS, - BOOK_TEMPESTS, - BOOK_DEATH, // 15 - BOOK_HINDERANCE, - BOOK_CHANGES, - BOOK_TRANSFIGURATIONS, - BOOK_PRACTICAL_MAGIC, - BOOK_WAR_CHANTS, // 20 - BOOK_CLOUDS, - BOOK_HEALING, - BOOK_NECROMANCY, - BOOK_NECRONOMICON, - BOOK_CALLINGS, // 25 - BOOK_CHARMS, - BOOK_DEMONOLOGY, - BOOK_AIR, - BOOK_SKY, - BOOK_DIVINATIONS, // 30 - BOOK_WARP, - BOOK_ENVENOMATIONS, - BOOK_ANNIHILATIONS, - BOOK_UNLIFE, - BOOK_DESTRUCTION, // 35 - BOOK_CONTROL, - BOOK_MUTATIONS, - BOOK_TUKIMA, - BOOK_GEOMANCY, - BOOK_EARTH, // 40 - BOOK_MANUAL, - BOOK_WIZARDRY, - BOOK_POWER, - BOOK_CANTRIPS, //jmf: 04jan2000 - BOOK_PARTY_TRICKS, // 45 //jmf: 04jan2000 - BOOK_BEASTS, - BOOK_STALKING, // renamed -- assassination was confusing -- bwr - NUM_BOOKS -}; - -enum branch_type // you.where_are_you -{ - BRANCH_MAIN_DUNGEON, // 0 - BRANCH_DIS, - BRANCH_GEHENNA, - BRANCH_VESTIBULE_OF_HELL, - BRANCH_COCYTUS, - BRANCH_TARTARUS, // 5 - BRANCH_INFERNO, // unimplemented - BRANCH_THE_PIT, // 7 // unimplemented - BRANCH_ORCISH_MINES = 10, // 10 - BRANCH_HIVE, - BRANCH_LAIR, - BRANCH_SLIME_PITS, - BRANCH_VAULTS, - BRANCH_CRYPT, // 15 - BRANCH_HALL_OF_BLADES, - BRANCH_HALL_OF_ZOT, - BRANCH_ECUMENICAL_TEMPLE, - BRANCH_SNAKE_PIT, - BRANCH_ELVEN_HALLS, // 20 - BRANCH_TOMB, - BRANCH_SWAMP, - BRANCH_CAVERNS -}; - -enum branch_stair_type // you.branch_stairs[] - 10 less than BRANCHES {dlb} -{ - STAIRS_ORCISH_MINES, // 0 - STAIRS_HIVE, - STAIRS_LAIR, - STAIRS_SLIME_PITS, - STAIRS_VAULTS, - STAIRS_CRYPT, // 5 - STAIRS_HALL_OF_BLADES, - STAIRS_HALL_OF_ZOT, - STAIRS_ECUMENICAL_TEMPLE, - STAIRS_SNAKE_PIT, - STAIRS_ELVEN_HALLS, // 10 - STAIRS_TOMB, - STAIRS_SWAMP, - STAIRS_CAVERNS -}; - -enum burden_state_type // you.burden_state -{ - BS_UNENCUMBERED, // 0 - BS_ENCUMBERED = 2, // 2 - BS_OVERLOADED = 5 // 5 -}; - -enum canned_message_type // canned_msg() - unsigned char -{ - MSG_SOMETHING_APPEARS, // 0 - MSG_NOTHING_HAPPENS, - MSG_YOU_RESIST, - MSG_TOO_BERSERK, - MSG_NOTHING_CARRIED, - MSG_CANNOT_DO_YET, - MSG_OK, - MSG_UNTHINKING_ACT, - MSG_SPELL_FIZZLES, - MSG_HUH, - MSG_EMPTY_HANDED, - MSG_NOT_IN_PRESENT_FORM, - MSG_TOO_CONFUSED, - MSG_DISORIENTED, - MSG_CANT_REACH -}; - -enum char_set_type -{ - CSET_ASCII, // flat 7-bit ASCII - CSET_IBM, // 8-bit ANSI/Code Page 437 - CSET_DEC, // 8-bit DEC, 0xE0-0xFF shifted for line drawing chars - NUM_CSET -}; - -enum cloud_type -{ - CLOUD_NONE, // 0 - CLOUD_FIRE, // 1 - CLOUD_STINK, // 2 - CLOUD_COLD, // 3 - CLOUD_POISON, // 4 - CLOUD_GREY_SMOKE = 5, // 5: found 11jan2000 {dlb} - CLOUD_BLUE_SMOKE = 6, // 6: found 11jan2000 {dlb} - CLOUD_PURP_SMOKE = 7, // was: CLOUD_ENERGY and wrong 19jan2000 {dlb} - CLOUD_STEAM, // 8 - CLOUD_MIASMA = 9, // 9: found 11jan2000 {dlb} - CLOUD_BLACK_SMOKE = 10, //was: CLOUD_STICKY_FLAME and wrong 19jan2000 {dlb} - CLOUD_RANDOM = 98, - CLOUD_DEBUGGING = 99, // 99: used once as 'nonexistent cloud' {dlb} -// if env.cloud_type > 100, it is a monster's cloud {dlb} - CLOUD_FIRE_MON = 101, // 101: found 11jan2000 {dlb} - CLOUD_STINK_MON = 102, // 102: found 11jan2000 {dlb} - CLOUD_COLD_MON = 103, // 103: added 11jan2000 {dlb} - CLOUD_POISON_MON = 104, // 104 - CLOUD_GREY_SMOKE_MON = 105, // 105: found 11jan2000 {dlb} - CLOUD_BLUE_SMOKE_MON = 106, // 106: found 11jan2000 {dlb} - CLOUD_PURP_SMOKE_MON = 107, // 107: - CLOUD_STEAM_MON = 108, // 108: added 11jan2000 {dlb} - CLOUD_MIASMA_MON = 109, // 109: added 11jan2000 {dlb} - CLOUD_BLACK_SMOKE_MON = 110 // 110: added 19jan2000 {dlb} -}; - -enum command_type -{ - CMD_NO_CMD = 1000, // 1000 - CMD_MOVE_NOWHERE, - CMD_MOVE_LEFT, - CMD_MOVE_DOWN, - CMD_MOVE_UP, - CMD_MOVE_RIGHT, - CMD_MOVE_UP_LEFT, - CMD_MOVE_DOWN_LEFT, - CMD_MOVE_UP_RIGHT, - CMD_MOVE_DOWN_RIGHT, - CMD_RUN_LEFT, // 1000 + 10 - CMD_RUN_DOWN, - CMD_RUN_UP, - CMD_RUN_RIGHT, - CMD_RUN_UP_LEFT, - CMD_RUN_DOWN_LEFT, - CMD_RUN_UP_RIGHT, - CMD_RUN_DOWN_RIGHT, - CMD_OPEN_DOOR_LEFT, - CMD_OPEN_DOOR_DOWN, - CMD_OPEN_DOOR_UP, // 1000 + 20 - CMD_OPEN_DOOR_RIGHT, - CMD_OPEN_DOOR_UP_LEFT, - CMD_OPEN_DOOR_DOWN_LEFT, - CMD_OPEN_DOOR_UP_RIGHT, - CMD_OPEN_DOOR_DOWN_RIGHT, - CMD_OPEN_DOOR, - CMD_CLOSE_DOOR, - CMD_REST, - CMD_GO_UPSTAIRS, - CMD_GO_DOWNSTAIRS, // 1000 + 30 - CMD_TOGGLE_AUTOPICKUP, - CMD_PICKUP, - CMD_DROP, - CMD_BUTCHER, - CMD_INSPECT_FLOOR, - CMD_EXAMINE_OBJECT, - CMD_EVOKE, - CMD_WIELD_WEAPON, - CMD_WEAPON_SWAP, - CMD_THROW, // 1000 + 40 - CMD_FIRE, - CMD_WEAR_ARMOUR, - CMD_REMOVE_ARMOUR, - CMD_WEAR_JEWELLERY, - CMD_REMOVE_JEWELLERY, - CMD_LIST_WEAPONS, - CMD_LIST_ARMOUR, - CMD_LIST_JEWELLERY, - CMD_ZAP_WAND, - CMD_CAST_SPELL, // 1000 + 50 - CMD_MEMORISE_SPELL, - CMD_USE_ABILITY, - CMD_PRAY, - CMD_EAT, - CMD_QUAFF, - CMD_READ, - CMD_LOOK_AROUND, - CMD_SEARCH, - CMD_SHOUT, - CMD_DISARM_TRAP, // 1000 + 60 - CMD_CHARACTER_DUMP, - CMD_DISPLAY_COMMANDS, - CMD_DISPLAY_INVENTORY, - CMD_DISPLAY_KNOWN_OBJECTS, - CMD_DISPLAY_MUTATIONS, - CMD_DISPLAY_SKILLS, - CMD_DISPLAY_MAP, - CMD_DISPLAY_OVERMAP, - CMD_DISPLAY_RELIGION, - CMD_DISPLAY_CHARACTER_STATUS, // 1000 + 70 - CMD_EXPERIENCE_CHECK, - CMD_GET_VERSION, - CMD_ADJUST_INVENTORY, - CMD_REPLAY_MESSAGES, - CMD_REDRAW_SCREEN, - CMD_MACRO_ADD, - CMD_MACRO_SAVE, - CMD_SAVE_GAME, - CMD_SAVE_GAME_NOW, - CMD_SUSPEND_GAME, // 1000 + 80 - CMD_QUIT, - CMD_WIZARD, - CMD_DESTROY_ITEM, - CMD_OBSOLETE_INVOKE, - - CMD_MARK_STASH, - CMD_FORGET_STASH, - CMD_SEARCH_STASHES, - CMD_EXPLORE, - CMD_INTERLEVEL_TRAVEL, - CMD_FIX_WAYPOINT, - - CMD_CLEAR_MAP -}; - -enum confirm_level_type -{ - CONFIRM_NONE_EASY, - CONFIRM_SAFE_EASY, - CONFIRM_ALL_EASY -}; - -enum conduct_type -{ - DID_NECROMANCY = 1, // vamp/drain/pain wpns, Zong/Curses - DID_UNHOLY, // demon wpns, demon spells - DID_ATTACK_HOLY, - DID_ATTACK_FRIEND, - DID_FRIEND_DIES, - DID_STABBING, - DID_POISON, - DID_DEDICATED_BUTCHERY, - DID_DEDICATED_KILL_LIVING, - DID_DEDICATED_KILL_UNDEAD, - DID_DEDICATED_KILL_DEMON, - DID_DEDICATED_KILL_NATURAL_EVIL, // unused - DID_DEDICATED_KILL_WIZARD, - DID_DEDICATED_KILL_PRIEST, // unused - - // [dshaligram] No distinction between killing Angels during prayer or - // otherwise, borrowed from bwr 4.1. - DID_KILL_ANGEL, - DID_LIVING_KILLED_BY_UNDEAD_SLAVE, - DID_LIVING_KILLED_BY_SERVANT, - DID_UNDEAD_KILLED_BY_SERVANT, - DID_DEMON_KILLED_BY_SERVANT, - DID_NATURAL_EVIL_KILLED_BY_SERVANT, // unused - DID_ANGEL_KILLED_BY_SERVANT, - DID_SPELL_MEMORISE, - DID_SPELL_CASTING, - DID_SPELL_PRACTISE, - DID_SPELL_NONUTILITY, // unused - DID_CARDS, - DID_STIMULANTS, // unused - DID_EAT_MEAT, // unused - DID_CREATED_LIFE, // unused - - NUM_CONDUCTS -}; - -enum corpse_effect_type -{ - CE_NOCORPSE, // 0 - CE_CLEAN, // 1 - CE_CONTAMINATED, // 2 - CE_POISONOUS, // 3 - CE_HCL, // 4 - CE_MUTAGEN_RANDOM, // 5 - CE_MUTAGEN_GOOD, // 6 - may be worth implementing {dlb} - CE_MUTAGEN_BAD, // 7 - may be worth implementing {dlb} - CE_RANDOM, // 8 - not used, but may be worth implementing {dlb} - CE_ROTTEN = 50 // 50 - must remain at 50 for now {dlb} -}; - -enum corpse_type -{ - CORPSE_BODY, // 0 - CORPSE_SKELETON -}; - -enum death_knight_type -{ - DK_NO_SELECTION, - DK_NECROMANCY, - DK_YREDELEMNUL, - DK_RANDOM -}; - -enum deck_type -{ - DECK_OF_WONDERS, // 0 - DECK_OF_SUMMONING, - DECK_OF_TRICKS, - DECK_OF_POWER, - DECK_OF_PUNISHMENT -}; - -enum delay_type -{ - DELAY_NOT_DELAYED, - DELAY_EAT, - DELAY_ARMOUR_ON, - DELAY_ARMOUR_OFF, - DELAY_MEMORISE, - DELAY_BUTCHER, - DELAY_AUTOPICKUP, - DELAY_WEAPON_SWAP, // for easy_butcher - DELAY_PASSWALL, - DELAY_DROP_ITEM, - DELAY_ASCENDING_STAIRS, - DELAY_DESCENDING_STAIRS, - DELAY_INTERUPTABLE = 100, // simple interuptable delay - DELAY_UNINTERUPTABLE // simple uninteruptable delay -}; - -enum demon_beam_type -{ - DMNBM_HELLFIRE, // 0 - DMNBM_SMITING, - DMNBM_BRAIN_FEED, - DMNBM_MUTATION -}; - -enum demon_class_type -{ - DEMON_LESSER, // 0: Class V - DEMON_COMMON, // 1: Class II-IV - DEMON_GREATER, // 2: Class I - DEMON_RANDOM // any of the above -}; - -enum description_level_type -{ - DESC_CAP_THE, // 0 - DESC_NOCAP_THE, // 1 - DESC_CAP_A, // 2 - DESC_NOCAP_A, // 3 - DESC_CAP_YOUR, // 4 - DESC_NOCAP_YOUR, // 5 - DESC_PLAIN, // 6 - DESC_NOCAP_ITS, // 7 - DESC_INVENTORY_EQUIP, // 8 - DESC_INVENTORY // 8 -}; - -enum dragon_class_type -{ - DRAGON_LIZARD, - DRAGON_DRACONIAN, - DRAGON_DRAGON -}; - -enum game_direction_type -{ - DIR_DESCENDING = 0, // 0 - change and lose savefile compatibility (!!!) - DIR_ASCENDING = 1 // 1 - change and lose savefile compatibility (!!!) -}; - -// NOTE: The order of these is very important to their usage! -enum dungeon_char_type -{ - DCHAR_WALL, // 0 - DCHAR_WALL_MAGIC, - DCHAR_FLOOR, - DCHAR_FLOOR_MAGIC, - DCHAR_DOOR_OPEN, - DCHAR_DOOR_CLOSED, // 5 - DCHAR_TRAP, - DCHAR_STAIRS_DOWN, - DCHAR_STAIRS_UP, - DCHAR_ALTAR, - DCHAR_ARCH, // 10 - DCHAR_FOUNTAIN, - DCHAR_WAVY, - DCHAR_STATUE, - DCHAR_INVIS_EXPOSED, - DCHAR_ITEM_DETECTED, // 15 - DCHAR_ITEM_ORB, - DCHAR_ITEM_WEAPON, - DCHAR_ITEM_ARMOUR, - DCHAR_ITEM_WAND, - DCHAR_ITEM_FOOD, // 20 - DCHAR_ITEM_SCROLL, - DCHAR_ITEM_RING, - DCHAR_ITEM_POTION, - DCHAR_ITEM_MISSILE, - DCHAR_ITEM_BOOK, // 25 - DCHAR_ITEM_STAVE, - DCHAR_ITEM_MISCELLANY, - DCHAR_ITEM_CORPSE, - DCHAR_ITEM_GOLD, - DCHAR_ITEM_AMULET, // 30 - DCHAR_CLOUD, // 31 - NUM_DCHAR_TYPES -}; - -enum drop_mode_type -{ - DM_SINGLE, - DM_MULTI -}; - -// lowest grid value which can be occupied (walk, swim, fly) -#define MINMOVE 31 - -// lowest grid value which can be seen through -#define MINSEE 11 - -enum dungeon_feature_type -{ - DNGN_UNSEEN, // 0 - DNGN_ROCK_WALL, - DNGN_STONE_WALL, - DNGN_CLOSED_DOOR, - DNGN_METAL_WALL, - DNGN_SECRET_DOOR, // 5 - DNGN_GREEN_CRYSTAL_WALL, - DNGN_ORCISH_IDOL, - DNGN_WAX_WALL, // 8 - DNGN_PERMAROCK_WALL, // 9 - for undiggable walls - - DNGN_SILVER_STATUE = 21, // 21 - DNGN_GRANITE_STATUE, - DNGN_ORANGE_CRYSTAL_STATUE, // 23 - DNGN_STATUE_RESERVED_1, - DNGN_STATUE_RESERVED_2, // 25 - - DNGN_LAVA = 61, // 61 - DNGN_DEEP_WATER, // 62 - DNGN_SHALLOW_WATER = 65, // 65 - DNGN_WATER_STUCK, - - DNGN_FLOOR, // 67 - DNGN_EXIT_HELL, // 68 - DNGN_ENTER_HELL, // 69 - DNGN_OPEN_DOOR, // 70 - // DNGN_BRANCH_STAIRS, // 71 - DNGN_TRAP_MECHANICAL = 75, // 75 - DNGN_TRAP_MAGICAL, - DNGN_TRAP_III, - DNGN_UNDISCOVERED_TRAP, // 78 - - DNGN_ENTER_SHOP = 80, // 80 - DNGN_ENTER_LABYRINTH, - - DNGN_STONE_STAIRS_DOWN_I, - DNGN_STONE_STAIRS_DOWN_II, - DNGN_STONE_STAIRS_DOWN_III, - DNGN_ROCK_STAIRS_DOWN, // 85 - was this supposed to be a ladder? {dlb} - - DNGN_STONE_STAIRS_UP_I, - DNGN_STONE_STAIRS_UP_II, - DNGN_STONE_STAIRS_UP_III, - DNGN_ROCK_STAIRS_UP, // 89 - was this supposed to be a ladder? {dlb} - - DNGN_ENTER_DIS = 92, // 92 - DNGN_ENTER_GEHENNA, - DNGN_ENTER_COCYTUS, - DNGN_ENTER_TARTARUS, // 95 - DNGN_ENTER_ABYSS, - DNGN_EXIT_ABYSS, - DNGN_STONE_ARCH, - DNGN_ENTER_PANDEMONIUM, - DNGN_EXIT_PANDEMONIUM, // 100 - DNGN_TRANSIT_PANDEMONIUM, // 101 - - DNGN_BUILDER_SPECIAL_WALL = 105, // 105; builder() only - DNGN_BUILDER_SPECIAL_FLOOR, // 106; builder() only - - DNGN_ENTER_ORCISH_MINES = 110, // 110 - DNGN_ENTER_HIVE, - DNGN_ENTER_LAIR, - DNGN_ENTER_SLIME_PITS, - DNGN_ENTER_VAULTS, - DNGN_ENTER_CRYPT, // 115 - DNGN_ENTER_HALL_OF_BLADES, - DNGN_ENTER_ZOT, - DNGN_ENTER_TEMPLE, - DNGN_ENTER_SNAKE_PIT, - DNGN_ENTER_ELVEN_HALLS, // 120 - DNGN_ENTER_TOMB, - DNGN_ENTER_SWAMP, // 122 - DNGN_ENTER_RESERVED_1, - DNGN_ENTER_RESERVED_2, - DNGN_ENTER_RESERVED_3, - DNGN_ENTER_RESERVED_4, // 126 - - DNGN_RETURN_FROM_ORCISH_MINES = 130, // 130 - DNGN_RETURN_FROM_HIVE, - DNGN_RETURN_FROM_LAIR, - DNGN_RETURN_FROM_SLIME_PITS, - DNGN_RETURN_FROM_VAULTS, - DNGN_RETURN_FROM_CRYPT, // 135 - DNGN_RETURN_FROM_HALL_OF_BLADES, - DNGN_RETURN_FROM_ZOT, - DNGN_RETURN_FROM_TEMPLE, - DNGN_RETURN_FROM_SNAKE_PIT, - DNGN_RETURN_FROM_ELVEN_HALLS, // 140 - DNGN_RETURN_FROM_TOMB, - DNGN_RETURN_FROM_SWAMP, // 142 - DNGN_RETURN_RESERVED_1, - DNGN_RETURN_RESERVED_2, - DNGN_RETURN_RESERVED_3, - DNGN_RETURN_RESERVED_4, // 146 - - DNGN_ALTAR_ZIN = 180, // 180 - DNGN_ALTAR_SHINING_ONE, - DNGN_ALTAR_KIKUBAAQUDGHA, - DNGN_ALTAR_YREDELEMNUL, - DNGN_ALTAR_XOM, - DNGN_ALTAR_VEHUMET, // 185 - DNGN_ALTAR_OKAWARU, - DNGN_ALTAR_MAKHLEB, - DNGN_ALTAR_SIF_MUNA, - DNGN_ALTAR_TROG, - DNGN_ALTAR_NEMELEX_XOBEH, // 190 - DNGN_ALTAR_ELYVILON, // 191 - - DNGN_BLUE_FOUNTAIN = 200, // 200 - DNGN_DRY_FOUNTAIN_I, - DNGN_SPARKLING_FOUNTAIN, // aka 'Magic Fountain' {dlb} - DNGN_DRY_FOUNTAIN_II, - DNGN_DRY_FOUNTAIN_III, - DNGN_DRY_FOUNTAIN_IV, // 205 - DNGN_DRY_FOUNTAIN_V, - DNGN_DRY_FOUNTAIN_VI, - DNGN_DRY_FOUNTAIN_VII, - DNGN_DRY_FOUNTAIN_VIII, - DNGN_PERMADRY_FOUNTAIN = 210, // added (from dungeon.cc/maps.cc) 22jan2000 {dlb} - - // Real terrain must all occur before 256 to guarantee it fits - // into the unsigned char used for the grid! - - // There aren't really terrain, but they're passed in and used - // to get their appearance character so I'm putting them here for now. - DNGN_ITEM_ORB = 256, - DNGN_INVIS_EXPOSED = 257, - DNGN_ITEM_WEAPON = 258, - DNGN_ITEM_ARMOUR = 259, - DNGN_ITEM_WAND = 260, - DNGN_ITEM_FOOD = 261, - DNGN_ITEM_UNUSED_1 = 262, - DNGN_ITEM_SCROLL = 263, - DNGN_ITEM_RING = 264, - DNGN_ITEM_POTION = 265, - DNGN_ITEM_MISSILE = 266, - DNGN_ITEM_BOOK = 267, - DNGN_ITEM_UNUSED_2 = 268, - DNGN_ITEM_STAVE = 269, - DNGN_ITEM_MISCELLANY = 270, - DNGN_ITEM_CORPSE = 271, - DNGN_ITEM_GOLD = 272, - DNGN_ITEM_AMULET = 273, - DNGN_ITEM_DETECTED = 274, - - DNGN_CLOUD = 280, - NUM_FEATURES, // for use in lookup table in view.cc - - DNGN_RANDOM, - DNGN_START_OF_MONSTERS = 297 // don't go past here! see view.cc -}; - -enum duration_type -{ - DUR_LIQUID_FLAMES, // 0 - DUR_ICY_ARMOUR, - DUR_REPEL_MISSILES, - DUR_PRAYER, - DUR_REGENERATION, - DUR_SWIFTNESS, // 5 - DUR_INSULATION, - DUR_STONEMAIL, - DUR_CONTROLLED_FLIGHT, - DUR_TELEPORT, - DUR_CONTROL_TELEPORT, // 10 - DUR_RESIST_POISON, - DUR_BREATH_WEAPON, - DUR_TRANSFORMATION, - DUR_DEATH_CHANNEL, - DUR_DEFLECT_MISSILES, // 15 -//jmf: new durations: - DUR_FORESCRY, - DUR_SEE_INVISIBLE, - DUR_WEAPON_BRAND, // general "branding" spell counter - DUR_SILENCE, - DUR_GLAMOUR, // 20 - DUR_CONDENSATION_SHIELD = 23, // 23 - DUR_STONESKIN, - DUR_REPEL_UNDEAD, // 25 - DUR_STUN, - DUR_CUT, // 27 - NUM_DURATIONS = 30 // must be at least 30 -}; - -// various elemental colour schemes... used for abstracting random short lists -enum element_type -{ - EC_FIRE = 32, // fiery colours (must be first and > higest colour) - EC_ICE, // icy colours - EC_EARTH, // earthy colours - EC_ELECTRICITY, // electrical side of air - EC_AIR, // non-electric and general air magic - EC_POISON, // used only for venom mage and stalker stuff - EC_WATER, // used only for the elemental - EC_MAGIC, // general magical effect - EC_MUTAGENIC, // transmute, poly, radiation effects - EC_WARP, // teleportation and anything similar - EC_ENCHANT, // magical enhancements - EC_HEAL, // holy healing (not necromantic stuff) - EC_HOLY, // general "good" god effects - EC_DARK, // darkness - EC_DEATH, // currently only assassin (and equal to EC_NECRO) - EC_NECRO, // necromancy stuff - EC_UNHOLY, // demonology stuff - EC_VEHUMET, // vehumet's odd-ball colours - EC_CRYSTAL, // colours of crystal - EC_BLOOD, // colours of blood - EC_SMOKE, // colours of smoke - EC_SLIME, // colours of slime - EC_JEWEL, // colourful - EC_ELVEN, // used for colouring elf fabric items - EC_DWARVEN, // used for colouring dwarf fabric items - EC_ORCISH, // used for colouring orc fabric items - EC_GILA, // gila monster colours - EC_FLOOR, // colour of the area's floor - EC_ROCK, // colour of the area's rock - EC_STONE, // colour of the area's stone - EC_RANDOM // any colour (except BLACK) -}; - -enum enchant_type -{ - ENCH_NONE = 0, // 0 - ENCH_SLOW, - ENCH_HASTE, // 2 - ENCH_FEAR = 4, // 4 - ENCH_CONFUSION, // 5 - ENCH_INVIS, - ENCH_YOUR_POISON_I, - ENCH_YOUR_POISON_II, - ENCH_YOUR_POISON_III, - ENCH_YOUR_POISON_IV, // 10 - ENCH_YOUR_SHUGGOTH_I, //jmf: Shuggothim! - ENCH_YOUR_SHUGGOTH_II, - ENCH_YOUR_SHUGGOTH_III, - ENCH_YOUR_SHUGGOTH_IV, - ENCH_YOUR_ROT_I, // 15 //jmf: rotting effect for monsters - ENCH_YOUR_ROT_II, - ENCH_YOUR_ROT_III, - ENCH_YOUR_ROT_IV, - ENCH_SUMMON = 19, // 19 - ENCH_ABJ_I, // 20 - ENCH_ABJ_II, - ENCH_ABJ_III, - ENCH_ABJ_IV, - ENCH_ABJ_V, - ENCH_ABJ_VI, // 25 - ENCH_BACKLIGHT_I, //jmf: backlight for Corona spell - ENCH_BACKLIGHT_II, - ENCH_BACKLIGHT_III, - ENCH_BACKLIGHT_IV, - ENCH_CHARM = 30, // 30 - ENCH_YOUR_STICKY_FLAME_I, - ENCH_YOUR_STICKY_FLAME_II, - ENCH_YOUR_STICKY_FLAME_III, - ENCH_YOUR_STICKY_FLAME_IV, // 34 - ENCH_GLOWING_SHAPESHIFTER = 38, // 38 - ENCH_SHAPESHIFTER, - ENCH_TP_I, // 40 - ENCH_TP_II, - ENCH_TP_III, - ENCH_TP_IV, // 43 - ENCH_POISON_I = 57, // 57 - ENCH_POISON_II, - ENCH_POISON_III, - ENCH_POISON_IV, // 60 - ENCH_STICKY_FLAME_I, - ENCH_STICKY_FLAME_II, - ENCH_STICKY_FLAME_III, - ENCH_STICKY_FLAME_IV, - ENCH_FRIEND_ABJ_I, // no longer used - ENCH_FRIEND_ABJ_II, // no longer used - ENCH_FRIEND_ABJ_III, // no longer used - ENCH_FRIEND_ABJ_IV, // no longer used - ENCH_FRIEND_ABJ_V, // no longer used - ENCH_FRIEND_ABJ_VI, // no longer used - ENCH_CREATED_FRIENDLY, // no longer used - ENCH_SLEEP_WARY, - ENCH_SUBMERGED, // 73 (includes air elementals in air) - ENCH_SHORT_LIVED, // 74 for ball lightning - NUM_ENCHANTMENTS -}; - -enum enchant_retval -{ - ERV_FAIL, - ERV_NEW, - ERV_INCREASED -}; - -enum enchant_stat_type -{ - ENCHANT_TO_HIT, - ENCHANT_TO_DAM -}; - -enum equipment_type -{ - EQ_NONE = -1, - - EQ_WEAPON, // 0 - EQ_CLOAK, - EQ_HELMET, - EQ_GLOVES, - EQ_BOOTS, - EQ_SHIELD, // 5 - EQ_BODY_ARMOUR, - EQ_LEFT_RING, - EQ_RIGHT_RING, - EQ_AMULET, - NUM_EQUIP, - - // these aren't actual equipment slots, they're categories for functions - EQ_STAFF = 100, // weapon with base_type OBJ_STAVES - EQ_RINGS, // check both rings - EQ_RINGS_PLUS, // check both rings and sum plus - EQ_RINGS_PLUS2, // check both rings and sum plus2 - EQ_ALL_ARMOUR // check all armour types -}; - -enum fire_type -{ - FIRE_NONE, - FIRE_LAUNCHER, - FIRE_DART, - FIRE_STONE, - FIRE_DAGGER, - FIRE_SPEAR, - FIRE_HAND_AXE, - FIRE_CLUB, - FIRE_ROCK, - NUM_FIRE_TYPES -}; - -enum flush_reason_type -{ - FLUSH_ON_FAILURE, // spell/ability failed to cast - FLUSH_BEFORE_COMMAND, // flush before getting a command - FLUSH_ON_MESSAGE, // flush when printing a message - FLUSH_ON_WARNING_MESSAGE, // flush on MSGCH_WARN messages - FLUSH_ON_DANGER_MESSAGE, // flush on MSGCH_DANGER messages - FLUSH_ON_PROMPT, // flush on MSGCH_PROMPT messages - FLUSH_ON_UNSAFE_YES_OR_NO_PROMPT, // flush when !safe set to yesno() - FLUSH_LUA, // flush when Lua wants to flush - NUM_FLUSH_REASONS -}; - -enum food_type -{ - FOOD_MEAT_RATION, // 0 - FOOD_BREAD_RATION, - FOOD_PEAR, - FOOD_APPLE, - FOOD_CHOKO, - FOOD_HONEYCOMB, // 5 - FOOD_ROYAL_JELLY, - FOOD_SNOZZCUMBER, - FOOD_PIZZA, - FOOD_APRICOT, - FOOD_ORANGE, // 10 - FOOD_BANANA, - FOOD_STRAWBERRY, - FOOD_RAMBUTAN, - FOOD_LEMON, - FOOD_GRAPE, // 15 - FOOD_SULTANA, - FOOD_LYCHEE, - FOOD_BEEF_JERKY, - FOOD_CHEESE, - FOOD_SAUSAGE, // 20 - FOOD_CHUNK, - NUM_FOODS -}; - -enum genus_type -{ - GENPC_DRACONIAN, // 0 - GENPC_ELVEN, // 1 - GENPC_DWARVEN // 2 -}; - -enum gender_type -{ - GENDER_NEUTER, - GENDER_MALE, - GENDER_FEMALE -}; - -enum ghost_value_type -{ - GVAL_MAX_HP, // 0 - GVAL_EV, - GVAL_AC, - GVAL_SEE_INVIS, - GVAL_RES_FIRE, - GVAL_RES_COLD, // 5 - GVAL_RES_ELEC, - GVAL_DAMAGE, - GVAL_BRAND, - GVAL_SPECIES, - GVAL_BEST_SKILL, // 10 - GVAL_SKILL_LEVEL, - GVAL_EXP_LEVEL, - GVAL_CLASS, - GVAL_SPELL_1, // 14 - GVAL_SPELL_2, - GVAL_SPELL_3, - GVAL_SPELL_4, - GVAL_SPELL_5, - GVAL_SPELL_6, // 19 - NUM_GHOST_VALUES, // should always be last value - - // these values are for demonlords, which override the above: - GVAL_DEMONLORD_SPELLCASTER = 9, - GVAL_DEMONLORD_FLY, // 10 - GVAL_DEMONLORD_UNUSED, // 11 - GVAL_DEMONLORD_HIT_DICE, // 12 - GVAL_DEMONLORD_CYCLE_COLOUR // 13 -}; - -enum god_type -{ - GOD_NO_GOD, // 0 -- must be zero - GOD_ZIN, - GOD_SHINING_ONE, - GOD_KIKUBAAQUDGHA, - GOD_YREDELEMNUL, - GOD_XOM, // 5 - GOD_VEHUMET, - GOD_OKAWARU, - GOD_MAKHLEB, - GOD_SIF_MUNA, - GOD_TROG, // 10 - GOD_NEMELEX_XOBEH, - GOD_ELYVILON, - NUM_GODS, // always after last god - - GOD_RANDOM = 100 -}; - -enum hands_reqd_type -{ - HANDS_ONE, - HANDS_HALF, - HANDS_TWO, - - HANDS_DOUBLE // not a level, marks double ended weapons (== half) -}; - -enum helmet_type -{ - THELM_HELMET = 0x0000, - THELM_HELM = 0x0001, - THELM_CAP = 0x0002, - THELM_WIZARD_HAT = 0x0003, - THELM_NUM_TYPES = 4, - - THELM_SPECIAL = 0x0004, // type used only for artefacts (mask, hat) - THELM_TYPE_MASK = 0x00ff, - - THELM_DESC_PLAIN = 0x0000, - THELM_DESC_WINGED = 0x0100, - THELM_DESC_HORNED = 0x0200, - THELM_DESC_CRESTED = 0x0300, - THELM_DESC_PLUMED = 0x0400, - THELM_DESC_SPIKED = 0x0500, - THELM_DESC_VISORED = 0x0600, - THELM_DESC_JEWELLED = 0x0700, - - THELM_DESC_MASK = 0xff00 -}; - - -enum boot_type // used in pluses2 -{ - TBOOT_BOOTS = 0, - TBOOT_NAGA_BARDING, - TBOOT_CENTAUR_BARDING, - NUM_BOOT_TYPES -}; - - -enum hunger_state // you.hunger_state -{ - HS_RAVENOUS, // 0: not used within code, really - HS_STARVING, - HS_HUNGRY, - HS_SATIATED, // "not hungry" state - HS_FULL, - HS_ENGORGED // 5 -}; - -enum item_status_flag_type // per item flags: ie. ident status, cursed status -{ - ISFLAG_KNOW_CURSE = 0x00000001, // curse status - ISFLAG_KNOW_TYPE = 0x00000002, // artefact name, sub/special types - ISFLAG_KNOW_PLUSES = 0x00000004, // to hit/to dam/to AC/charges - ISFLAG_KNOW_PROPERTIES = 0x00000008, // know special artefact properties - ISFLAG_IDENT_MASK = 0x0000000F, // mask of all id related flags - - // these three masks are of the minimal flags set upon using equipment: - ISFLAG_EQ_WEAPON_MASK = 0x0000000B, // mask of flags for weapon equip - ISFLAG_EQ_ARMOUR_MASK = 0x0000000F, // mask of flags for armour equip - ISFLAG_EQ_JEWELLERY_MASK = 0x0000000F, // mask of flags for known jewellery - - ISFLAG_CURSED = 0x00000100, // cursed - ISFLAG_RESERVED_1 = 0x00000200, // reserved - ISFLAG_RESERVED_2 = 0x00000400, // reserved - ISFLAG_RESERVED_3 = 0x00000800, // reserved - ISFLAG_CURSE_MASK = 0x00000F00, // mask of all curse related flags - - ISFLAG_RANDART = 0x00001000, // special value is seed - ISFLAG_UNRANDART = 0x00002000, // is an unrandart - ISFLAG_ARTEFACT_MASK = 0x00003000, // randart or unrandart - ISFLAG_DROPPED = 0x00004000, // dropped item (no autopickup) - ISFLAG_THROWN = 0x00008000, // thrown missile weapon - - // these don't have to remain as flags - ISFLAG_NO_DESC = 0x00000000, // used for clearing these flags - ISFLAG_GLOWING = 0x00010000, // weapons or armour - ISFLAG_RUNED = 0x00020000, // weapons or armour - ISFLAG_EMBROIDERED_SHINY = 0x00040000, // armour: depends on sub-type - ISFLAG_COSMETIC_MASK = 0x00070000, // mask of cosmetic descriptions - - ISFLAG_NO_RACE = 0x00000000, // used for clearing these flags - ISFLAG_ORCISH = 0x01000000, // low quality items - ISFLAG_DWARVEN = 0x02000000, // strong and robust items - ISFLAG_ELVEN = 0x04000000, // light and accurate items - ISFLAG_RACIAL_MASK = 0x07000000, // mask of racial equipment types - - ISFLAG_DEBUG_MARK = 0x80000000 // used for testing item structure -}; - -enum item_description_type -{ - IDESC_WANDS, - IDESC_POTIONS, - IDESC_SCROLLS, // special field (like the others) - IDESC_RINGS, - IDESC_SCROLLS_II, - NUM_IDESC -}; - -enum item_make_species_type -{ - MAKE_ITEM_ELVEN = 1, - MAKE_ITEM_DWARVEN = 2, - MAKE_ITEM_ORCISH = 3, - - MAKE_ITEM_NO_RACE = 100, - MAKE_ITEM_RANDOM_RACE = 250 -}; - -enum item_origin_dump_selector -{ - IODS_PRICE = 0, // Extra info is provided based on price - IODS_ARTIFACTS = 1, // Extra information on artifacts - IODS_EGO_ARMOUR = 2, - IODS_EGO_WEAPON = 4, - IODS_JEWELLERY = 8, - IODS_RUNES = 16, - IODS_RODS = 32, - IODS_STAVES = 64, - IODS_BOOKS = 128, - IODS_EVERYTHING = 0xFF -}; - -enum item_type_id_type -{ - IDTYPE_WANDS = 0, - IDTYPE_SCROLLS, - IDTYPE_JEWELLERY, - IDTYPE_POTIONS, - NUM_IDTYPE -}; - -enum item_type_id_state_type // used for values in id[4][50] -{ - ID_UNKNOWN_TYPE = 0, - ID_KNOWN_TYPE, - ID_TRIED_TYPE -}; - -enum jewellery_type -{ - RING_REGENERATION, // 0 - RING_PROTECTION, - RING_PROTECTION_FROM_FIRE, - RING_POISON_RESISTANCE, - RING_PROTECTION_FROM_COLD, - RING_STRENGTH, // 5 - RING_SLAYING, - RING_SEE_INVISIBLE, - RING_INVISIBILITY, - RING_HUNGER, - RING_TELEPORTATION, // 10 - RING_EVASION, - RING_SUSTAIN_ABILITIES, - RING_SUSTENANCE, - RING_DEXTERITY, - RING_INTELLIGENCE, // 15 - RING_WIZARDRY, - RING_MAGICAL_POWER, - RING_LEVITATION, - RING_LIFE_PROTECTION, - RING_PROTECTION_FROM_MAGIC, // 20 - RING_FIRE, - RING_ICE, - RING_TELEPORT_CONTROL, // 23 - AMU_RAGE = 35, // 35 - AMU_RESIST_SLOW, - AMU_CLARITY, - AMU_WARDING, - AMU_RESIST_CORROSION, - AMU_THE_GOURMAND, // 40 - AMU_CONSERVATION, - AMU_CONTROLLED_FLIGHT, - AMU_INACCURACY, - AMU_RESIST_MUTATION, - NUM_JEWELLERY -}; - -enum job_type -{ - JOB_FIGHTER, // 0 - JOB_WIZARD, - JOB_PRIEST, - JOB_THIEF, - JOB_GLADIATOR, - JOB_NECROMANCER, // 5 - JOB_PALADIN, - JOB_ASSASSIN, - JOB_BERSERKER, - JOB_HUNTER, - JOB_CONJURER, // 10 - JOB_ENCHANTER, - JOB_FIRE_ELEMENTALIST, - JOB_ICE_ELEMENTALIST, - JOB_SUMMONER, - JOB_AIR_ELEMENTALIST, // 15 - JOB_EARTH_ELEMENTALIST, - JOB_CRUSADER, - JOB_DEATH_KNIGHT, - JOB_VENOM_MAGE, - JOB_CHAOS_KNIGHT, // 20 - JOB_TRANSMUTER, - JOB_HEALER, // 22 - JOB_QUITTER, // 23 -- this is job 'x', don't use - JOB_REAVER, // 24 - JOB_STALKER, // 25 - JOB_MONK, - JOB_WARPER, - JOB_WANDERER, // 23 - NUM_JOBS, // always after the last job - - JOB_UNKNOWN = 100 -}; - -enum kill_method_type -{ - KILLED_BY_MONSTER, // 0 - KILLED_BY_POISON, - KILLED_BY_CLOUD, - KILLED_BY_BEAM, // 3 - KILLED_BY_DEATHS_DOOR, // should be deprecated, but you never know {dlb} - KILLED_BY_LAVA, // 5 - KILLED_BY_WATER, - KILLED_BY_STUPIDITY, - KILLED_BY_WEAKNESS, - KILLED_BY_CLUMSINESS, - KILLED_BY_TRAP, // 10 - KILLED_BY_LEAVING, - KILLED_BY_WINNING, - KILLED_BY_QUITTING, - KILLED_BY_DRAINING, - KILLED_BY_STARVATION, // 15 - KILLED_BY_FREEZING, - KILLED_BY_BURNING, - KILLED_BY_WILD_MAGIC, - KILLED_BY_XOM, - KILLED_BY_STATUE, // 20 - KILLED_BY_ROTTING, - KILLED_BY_TARGETTING, - KILLED_BY_SPORE, - KILLED_BY_TSO_SMITING, - KILLED_BY_PETRIFICATION, // 25 - KILLED_BY_SOMETHING = 27, - KILLED_BY_FALLING_DOWN_STAIRS, - KILLED_BY_ACID, - KILLED_BY_CURARE, - KILLED_BY_MELTING, - KILLED_BY_BLEEDING, - - NUM_KILLBY -}; - -enum kill_category -{ - KC_YOU, - KC_FRIENDLY, - KC_OTHER, - KC_NCATEGORIES -}; - -enum killer_type // monster_die(), thing_thrown -{ - KILL_YOU = 1, // 1 - KILL_MON, - KILL_YOU_MISSILE, - KILL_MON_MISSILE, - KILL_MISC, // 5 - KILL_RESET, // abjuration, etc. - KILL_DISMISSED // only on new game startup -}; - -#define YOU_KILL(x) ((x) == KILL_YOU || (x) == KILL_YOU_MISSILE) -#define MON_KILL(x) ((x) == KILL_MON || (x) == KILL_MON_MISSILE) - -enum launch_retval -{ - LRET_FUMBLED = 0, // must be left as 0 - LRET_LAUNCHED, - LRET_THROWN -}; - -enum level_area_type // you.level_type -{ - LEVEL_DUNGEON, // 0 - LEVEL_LABYRINTH, - LEVEL_ABYSS, - LEVEL_PANDEMONIUM -}; - -enum load_mode_type -{ - LOAD_START_GAME, - LOAD_RESTART_GAME, - LOAD_ENTER_LEVEL -}; - -enum map_section_type // see maps.cc and dungeon.cc {dlb} -{ - MAP_NORTH = 1, // 1 - MAP_NORTHWEST, - MAP_NORTHEAST, - MAP_SOUTHWEST, - MAP_SOUTHEAST, // 5 - MAP_ENCOMPASS, - MAP_NORTH_DIS -}; - -// if you mess with this list, you'll need to make changes in initfile.cc -enum msg_channel_type -{ - MSGCH_PLAIN, // regular text - MSGCH_PROMPT, // various prompts - MSGCH_GOD, // god/religion (param is god) - MSGCH_DURATION, // effect down/warnings - MSGCH_DANGER, // serious life threats (ie very large HP attacks) - MSGCH_WARN, // much less serious threats - MSGCH_FOOD, // hunger notices - MSGCH_RECOVERY, // recovery from disease/stat/poison condition - MSGCH_SOUND, // messages about things the player hears - MSGCH_TALK, // monster talk (param is monster type) - MSGCH_INTRINSIC_GAIN, // player level/stat/species-power gains - MSGCH_MUTATION, // player gain/lose mutations - MSGCH_MONSTER_SPELL, // monsters casting spells - MSGCH_MONSTER_ENCHANT,// monsters enchantments up and down - MSGCH_MONSTER_DAMAGE, // monster damage reports (param is level) - MSGCH_MONSTER_TARGET, // message marking the monster as a target - MSGCH_ROTTEN_MEAT, // messages about chunks/corpses becoming rotten - MSGCH_EQUIPMENT, // equipment listing messages - MSGCH_FLOOR_ITEMS, // like equipment, but lists of floor items - MSGCH_MULTITURN_ACTION, // delayed action messages - MSGCH_DIAGNOSTICS, // various diagnostic messages - NUM_MESSAGE_CHANNELS // always last -}; - -enum msg_colour_type -{ - MSGCOL_BLACK = 0, // the order of these colours is important - MSGCOL_BLUE, - MSGCOL_GREEN, - MSGCOL_CYAN, - MSGCOL_RED, - MSGCOL_MAGENTA, - MSGCOL_BROWN, - MSGCOL_LIGHTGRAY, - MSGCOL_DARKGRAY, - MSGCOL_LIGHTBLUE, - MSGCOL_LIGHTGREEN, - MSGCOL_LIGHTCYAN, - MSGCOL_LIGHTMAGENTA, - MSGCOL_YELLOW, - MSGCOL_WHITE, - MSGCOL_DEFAULT, // use default colour - MSGCOL_ALTERNATE, // use secondary default colour scheme - MSGCOL_MUTED, // don't print messages - MSGCOL_PLAIN // same as plain channel -}; - -enum misc_item_type -{ - MISC_BOTTLED_EFREET, // 0 - MISC_CRYSTAL_BALL_OF_SEEING, - MISC_AIR_ELEMENTAL_FAN, - MISC_LAMP_OF_FIRE, - MISC_STONE_OF_EARTH_ELEMENTALS, - MISC_LANTERN_OF_SHADOWS, // 5 - MISC_HORN_OF_GERYON, - MISC_BOX_OF_BEASTS, - MISC_DECK_OF_WONDERS, - MISC_DECK_OF_SUMMONINGS, - MISC_CRYSTAL_BALL_OF_ENERGY, // 10 - MISC_EMPTY_EBONY_CASKET, - MISC_CRYSTAL_BALL_OF_FIXATION, - MISC_DISC_OF_STORMS, - MISC_RUNE_OF_ZOT, - MISC_DECK_OF_TRICKS, // 15 - MISC_DECK_OF_POWER, - MISC_PORTABLE_ALTAR_OF_NEMELEX, - NUM_MISCELLANY // mv: used for random generation -}; - -enum missile_type -{ - MI_STONE, // 0 - MI_ARROW, - MI_BOLT, - MI_DART, - MI_NEEDLE, - MI_LARGE_ROCK, //jmf: it'd be nice to move MI_LARGE_ROCK to DEBRIS_ROCK - NUM_MISSILES, - MI_NONE // was MI_EGGPLANT... used for launch type detection -}; - -// properties of the monster class (other than resists/vulnerabilities) -enum mons_class_flags -{ - M_NO_FLAGS = 0, - - M_SPELLCASTER = (1<< 0), // any non-physical-attack powers, - M_ACTUAL_SPELLS = (1<< 1), // monster is a wizard, - M_PRIEST = (1<< 2), // monster is a priest - M_FIGHTER = (1<< 3), // monster is skilled fighter - - M_FLIES = (1<< 4), // will crash to ground if paralysed? - M_LEVITATE = (1<< 5), // ... but not if this is set - M_INVIS = (1<< 6), // is created invis - M_SEE_INVIS = (1<< 7), // can see invis - M_SPEAKS = (1<< 8), // uses talking code - M_CONFUSED = (1<< 9), // monster is perma-confused, - M_BATTY = (1<<10), // monster is batty - M_SPLITS = (1<<11), // monster can split - M_AMPHIBIOUS = (1<<12), // monster can swim in water, - M_THICK_SKIN = (1<<13), // monster has more effective AC, - M_HUMANOID = (1<<14), // for Glamour - M_COLD_BLOOD = (1<<15), // susceptible to cold - M_WARM_BLOOD = (1<<16), // no effect currently - M_REGEN = (1<<17), // regenerates quickly - M_BURROWS = (1<<18), // monster digs through rock - M_EVIL = (1<<19), // monster vulnerable to holy spells - - M_ON_FIRE = (1<<20), // XXX: Potentially ditchable - M_FROZEN = (1<<21), // XXX: Potentially ditchable - - - M_SPECIAL_ABILITY = (1<<26), // XXX: eventually make these spells? - M_COLOUR_SHIFT = (1<<27), // flag for element colour shifters - M_DCHAR_SYMBOL = (1<<28), // monster looks like a DCHAR terrain - - M_NO_SKELETON = (1<<29), // boneless corpses - M_NO_WOUNDS = (1<<30), // doesn't show would level - M_NO_EXP_GAIN = (1<<31) // worth 0 xp -}; - -enum mon_resist_flags -{ - MR_NO_FLAGS = 0, - - // resistances - // Notes: - // - negative energy is mostly handled via mons_has_life_force() - // - acid is handled mostly by genus (jellies) plus non-living - MR_RES_ELEC = (1<< 0), - MR_RES_POISON = (1<< 1), - MR_RES_FIRE = (1<< 2), - MR_RES_HELLFIRE = (1<< 3), - MR_RES_COLD = (1<< 4), - MR_RES_HELLFROST = (1<< 5), - - // vulnerabilities - MR_VUL_ELEC = (1<< 6), - MR_VUL_POISON = (1<< 7), - MR_VUL_FIRE = (1<< 8), - MR_VUL_COLD = (1<< 9), - - // melee armour resists/vulnerabilities - // XXX: how to do combos (bludgeon/slice, bludgeon/pierce) - MR_RES_PIERCE = (1<<10), - MR_RES_SLICE = (1<<11), - MR_RES_BLUDGEON = (1<<12), - - MR_VUL_PIERCE = (1<<13), - MR_VUL_SLICE = (1<<14), - MR_VUL_BLUDGEON = (1<<15) -}; - -enum targ_mode_type -{ - TARG_ANY, - TARG_ENEMY, - TARG_FRIEND, - TARG_NUM_MODES -}; - -// note this order is very sensitive... look at mons_is_unique() -enum monster_type // (int) menv[].type -{ - MONS_GIANT_ANT, // 0 - MONS_GIANT_BAT, - MONS_CENTAUR, - MONS_RED_DEVIL, - MONS_ETTIN, - MONS_FUNGUS, // 5 - MONS_GOBLIN, - MONS_HOUND, - MONS_IMP, - MONS_JACKAL, - MONS_KILLER_BEE, // 10 - MONS_KILLER_BEE_LARVA, - MONS_MANTICORE, - MONS_NECROPHAGE, - MONS_ORC, - MONS_PHANTOM, // 15 - MONS_QUASIT, - MONS_RAT, - MONS_SCORPION, // 18 - //MONS_TUNNELING_WORM, // deprecated and now officially removed {dlb} - MONS_UGLY_THING = 20, // 20 - MONS_FIRE_VORTEX, - MONS_WORM, - MONS_ABOMINATION_SMALL, - MONS_YELLOW_WASP, - MONS_ZOMBIE_SMALL, // 25 - MONS_ANGEL, - MONS_GIANT_BEETLE, - MONS_CYCLOPS, - MONS_DRAGON, - MONS_TWO_HEADED_OGRE, // 30 - MONS_FIEND, - MONS_GIANT_SPORE, - MONS_HOBGOBLIN, - MONS_ICE_BEAST, - MONS_JELLY, // 35 - MONS_KOBOLD, - MONS_LICH, - MONS_MUMMY, - MONS_GUARDIAN_NAGA, - MONS_OGRE, // 40 - MONS_PLANT, - MONS_QUEEN_BEE, - MONS_RAKSHASA, - MONS_SNAKE, - MONS_TROLL, // 45 - MONS_UNSEEN_HORROR, - MONS_VAMPIRE, - MONS_WRAITH, - MONS_ABOMINATION_LARGE, - MONS_YAK, // 50 - MONS_ZOMBIE_LARGE, - MONS_ORC_WARRIOR, - MONS_KOBOLD_DEMONOLOGIST, - MONS_ORC_WIZARD, - MONS_ORC_KNIGHT, // 55 - //MONS_WORM_TAIL = 56, // deprecated and now officially removed {dlb} - MONS_WYVERN = 57, // 57 - MONS_BIG_KOBOLD, - MONS_GIANT_EYEBALL, - MONS_WIGHT, // 60 - MONS_OKLOB_PLANT, - MONS_WOLF_SPIDER, - MONS_SHADOW, - MONS_HUNGRY_GHOST, - MONS_EYE_OF_DRAINING, // 65 - MONS_BUTTERFLY, - MONS_WANDERING_MUSHROOM, - MONS_EFREET, - MONS_BRAIN_WORM, - MONS_GIANT_ORANGE_BRAIN, // 70 - MONS_BOULDER_BEETLE, - MONS_FLYING_SKULL, - MONS_HELL_HOUND, - MONS_MINOTAUR, - MONS_ICE_DRAGON, // 75 - MONS_SLIME_CREATURE, - MONS_FREEZING_WRAITH, - MONS_RAKSHASA_FAKE, - MONS_GREAT_ORB_OF_EYES, - MONS_HELLION, // 80 - MONS_ROTTING_DEVIL, - MONS_TORMENTOR, - MONS_REAPER, - MONS_SOUL_EATER, - MONS_HAIRY_DEVIL, // 85 - MONS_ICE_DEVIL, - MONS_BLUE_DEVIL, - MONS_BEAST, - MONS_IRON_DEVIL, // 89 - MONS_GLOWING_SHAPESHIFTER = 98, // 98 - MONS_SHAPESHIFTER, - MONS_GIANT_MITE, // 100 - MONS_STEAM_DRAGON, - MONS_VERY_UGLY_THING, - MONS_ORC_SORCERER, - MONS_HIPPOGRIFF, - MONS_GRIFFON, // 105 - MONS_HYDRA, - MONS_SKELETON_SMALL, - MONS_SKELETON_LARGE, - MONS_HELL_KNIGHT, - MONS_NECROMANCER, // 110 - MONS_WIZARD, - MONS_ORC_PRIEST, - MONS_ORC_HIGH_PRIEST, - MONS_HUMAN, - MONS_GNOLL, // 115 - MONS_CLAY_GOLEM, - MONS_WOOD_GOLEM, - MONS_STONE_GOLEM, - MONS_IRON_GOLEM, - MONS_CRYSTAL_GOLEM, // 120 - MONS_TOENAIL_GOLEM, - MONS_MOTTLED_DRAGON, - MONS_EARTH_ELEMENTAL, - MONS_FIRE_ELEMENTAL, - MONS_AIR_ELEMENTAL, // 125 - MONS_ICE_FIEND, - MONS_SHADOW_FIEND, - MONS_BROWN_SNAKE, - MONS_GIANT_LIZARD, - MONS_SPECTRAL_WARRIOR, // 130 - MONS_PULSATING_LUMP, - MONS_STORM_DRAGON, - MONS_YAKTAUR, - MONS_DEATH_YAK, - MONS_ROCK_TROLL, // 135 - MONS_STONE_GIANT, - MONS_FLAYED_GHOST, - MONS_BUMBLEBEE, - MONS_REDBACK, - MONS_INSUBSTANTIAL_WISP, // 140 - MONS_VAPOUR, - MONS_OGRE_MAGE, - MONS_SPINY_WORM, - MONS_DANCING_WEAPON, - MONS_TITAN, // 145 - MONS_GOLDEN_DRAGON, - MONS_ELF, - MONS_LINDWURM, - MONS_ELEPHANT_SLUG, - MONS_WAR_DOG, // 150 - MONS_GREY_RAT, - MONS_GREEN_RAT, - MONS_ORANGE_RAT, - MONS_BLACK_SNAKE, - MONS_SHEEP, // 155 - MONS_GHOUL, - MONS_HOG, - MONS_GIANT_MOSQUITO, - MONS_GIANT_CENTIPEDE, - MONS_IRON_TROLL, // 160 - MONS_NAGA, - MONS_FIRE_GIANT, - MONS_FROST_GIANT, - MONS_FIREDRAKE, - MONS_SHADOW_DRAGON, // 165 - MONS_YELLOW_SNAKE, - MONS_GREY_SNAKE, - MONS_DEEP_TROLL, - MONS_GIANT_BLOWFLY, - MONS_RED_WASP, // 170 - MONS_SWAMP_DRAGON, - MONS_SWAMP_DRAKE, - MONS_DEATH_DRAKE, - MONS_SOLDIER_ANT, - MONS_HILL_GIANT, - MONS_QUEEN_ANT, // 175 - MONS_ANT_LARVA, - MONS_GIANT_FROG, - MONS_GIANT_BROWN_FROG, - MONS_SPINY_FROG, - MONS_BLINK_FROG, // 180 - MONS_GIANT_COCKROACH, - MONS_SMALL_SNAKE, // 182 - //jmf: new monsters - MONS_SHUGGOTH, //jmf: added for evil spells - MONS_WOLF, //jmf: added - MONS_WARG, //jmf: added for orc mines - MONS_BEAR, //jmf: added bears! - MONS_GRIZZLY_BEAR, - MONS_POLAR_BEAR, - MONS_BLACK_BEAR, // 189 - MONS_SIMULACRUM_SMALL, - MONS_SIMULACRUM_LARGE, - //jmf: end new monsters - MONS_WHITE_IMP = 220, // 220 - MONS_LEMURE, - MONS_UFETUBUS, - MONS_MANES, - MONS_MIDGE, - MONS_NEQOXEC, // 225 - MONS_ORANGE_DEMON, - MONS_HELLWING, - MONS_SMOKE_DEMON, - MONS_YNOXINUL, - MONS_EXECUTIONER, // 230 - MONS_GREEN_DEATH, - MONS_BLUE_DEATH, - MONS_BALRUG, - MONS_CACODEMON, - MONS_DEMONIC_CRAWLER, // 235 - MONS_SUN_DEMON, - MONS_SHADOW_IMP, - MONS_SHADOW_DEMON, - MONS_LOROCYPROCA, - MONS_SHADOW_WRAITH, // 240 - MONS_GIANT_AMOEBA, - MONS_GIANT_SLUG, - MONS_GIANT_SNAIL, - MONS_SPATIAL_VORTEX, - MONS_PIT_FIEND, // 245 - MONS_BORING_BEETLE, - MONS_GARGOYLE, - MONS_METAL_GARGOYLE, - MONS_MOLTEN_GARGOYLE, - MONS_PROGRAM_BUG, // 250 -// BCR - begin first batch of uniques. - MONS_MNOLEG, - MONS_LOM_LOBON, - MONS_CEREBOV, - MONS_GLOORX_VLOQ, // 254 - MONS_MOLLUSC_LORD, // 255 - deprecated, but still referenced in code {dlb} -// BCR - End first batch of uniques. - MONS_NAGA_MAGE = 260, // 260 - MONS_NAGA_WARRIOR, - MONS_ORC_WARLORD, - MONS_DEEP_ELF_SOLDIER, - MONS_DEEP_ELF_FIGHTER, - MONS_DEEP_ELF_KNIGHT, // 265 - MONS_DEEP_ELF_MAGE, - MONS_DEEP_ELF_SUMMONER, - MONS_DEEP_ELF_CONJURER, - MONS_DEEP_ELF_PRIEST, - MONS_DEEP_ELF_HIGH_PRIEST, // 270 - MONS_DEEP_ELF_DEMONOLOGIST, - MONS_DEEP_ELF_ANNIHILATOR, - MONS_DEEP_ELF_SORCERER, - MONS_DEEP_ELF_DEATH_MAGE, - MONS_BROWN_OOZE, // 275 - MONS_AZURE_JELLY, - MONS_DEATH_OOZE, - MONS_ACID_BLOB, - MONS_ROYAL_JELLY, -// BCR - begin second batch of uniques. - MONS_TERENCE, // 280 - MONS_JESSICA, - MONS_IJYB, - MONS_SIGMUND, - MONS_BLORK_THE_ORC, - MONS_EDMUND, // 285 - MONS_PSYCHE, - MONS_EROLCHA, - MONS_DONALD, - MONS_URUG, - MONS_MICHAEL, // 290 - MONS_JOSEPH, - MONS_SNORG, // was Anita - Snorg is correct 16jan2000 {dlb} - MONS_ERICA, - MONS_JOSEPHINE, - MONS_HAROLD, // 295 - MONS_NORBERT, - MONS_JOZEF, - MONS_AGNES, - MONS_MAUD, - MONS_LOUISE, // 300 - MONS_FRANCIS, - MONS_FRANCES, - MONS_RUPERT, - MONS_WAYNE, - MONS_DUANE, // 305 - MONS_XTAHUA, - MONS_NORRIS, - MONS_ADOLF, - MONS_MARGERY, - MONS_BORIS, // 310 -// BCR - end second batch of uniques. - - MONS_DRACONIAN, - MONS_BLACK_DRACONIAN, - MONS_MOTTLED_DRACONIAN, - MONS_YELLOW_DRACONIAN, - MONS_GREEN_DRACONIAN, // 315 - MONS_PURPLE_DRACONIAN, - MONS_RED_DRACONIAN, - MONS_WHITE_DRACONIAN, - MONS_PALE_DRACONIAN, - MONS_DRACONIAN_CALLER, // 320 - MONS_DRACONIAN_MONK, - MONS_DRACONIAN_ZEALOT, - MONS_DRACONIAN_SHIFTER, - MONS_DRACONIAN_ANNIHILATOR, - MONS_DRACONIAN_KNIGHT, // 325 - MONS_DRACONIAN_SCORCHER, - - // The Lords of Hell: - MONS_GERYON = 340, // 340 - MONS_DISPATER, - MONS_ASMODEUS, - MONS_ANTAEUS, - MONS_ERESHKIGAL, // 344 - - MONS_ANCIENT_LICH = 356, // 356 - MONS_OOZE, // 357 - - MONS_VAULT_GUARD = 360, // 360 - MONS_CURSE_SKULL, - MONS_VAMPIRE_KNIGHT, - MONS_VAMPIRE_MAGE, - MONS_SHINING_EYE, - MONS_ORB_GUARDIAN, // 365 - MONS_DAEVA, - MONS_SPECTRAL_THING, - MONS_GREATER_NAGA, - MONS_SKELETAL_DRAGON, - MONS_TENTACLED_MONSTROSITY, // 370 - MONS_SPHINX, - MONS_ROTTING_HULK, - MONS_GUARDIAN_MUMMY, - MONS_GREATER_MUMMY, - MONS_MUMMY_PRIEST, // 375 - MONS_CENTAUR_WARRIOR, - MONS_YAKTAUR_CAPTAIN, - MONS_KILLER_KLOWN, - MONS_ELECTRIC_GOLEM, // replacing the guardian robot -- bwr - MONS_BALL_LIGHTNING, // replacing the dorgi -- bwr - MONS_ORB_OF_FIRE, // Swords renamed to fit -- bwr - MONS_QUOKKA, // Quokka are a type of wallaby, returned -- bwr 382 - - - MONS_EYE_OF_DEVASTATION = 385, // 385 - MONS_MOTH_OF_WRATH, - MONS_DEATH_COB, - MONS_CURSE_TOE, - MONS_GOLD_MIMIC, - MONS_WEAPON_MIMIC, // 390 - MONS_ARMOUR_MIMIC, - MONS_SCROLL_MIMIC, - MONS_POTION_MIMIC, - MONS_HELL_HOG, - MONS_SERPENT_OF_HELL, // 395 - MONS_BOGGART, - MONS_QUICKSILVER_DRAGON, - MONS_IRON_DRAGON, - MONS_SKELETAL_WARRIOR, // 399 - MONS_PLAYER_GHOST, // 400 - MONS_PANDEMONIUM_DEMON, // 401 - - MONS_GIANT_NEWT, // 402 - MONS_GIANT_GECKO, // 403 - MONS_GIANT_IGUANA, // 404 - MONS_GILA_MONSTER, // 405 - MONS_KOMODO_DRAGON, // 406 - - // Lava monsters: - MONS_LAVA_WORM = 420, // 420 - MONS_LAVA_FISH, - MONS_LAVA_SNAKE, - MONS_SALAMANDER, // 423 mv: was another lava thing - - // Water monsters: - MONS_BIG_FISH = 430, // 430 - MONS_GIANT_GOLDFISH, - MONS_ELECTRICAL_EEL, - MONS_JELLYFISH, - MONS_WATER_ELEMENTAL, - MONS_SWAMP_WORM, // 435 - - NUM_MONSTERS, // used for polymorph - RANDOM_MONSTER = 1000, // used to distinguish between a random monster and using program bugs for error trapping {dlb} - WANDERING_MONSTER = 2500 // only used in monster placement routines - forced limit checks {dlb} - -}; - -enum beh_type -{ - BEH_SLEEP, // 0 - BEH_WANDER, - BEH_SEEK, - BEH_FLEE, - BEH_CORNERED, - BEH_PANIC, // like flee but without running away - BEH_INVESTIGATE, // investigating an ME_DISTURB - NUM_BEHAVIOURS, // max # of legal states - BEH_CHARMED, // hostile-but-charmed; create only - BEH_FRIENDLY, // used during creation only - BEH_HOSTILE, // creation only - BEH_GOD_GIFT, // creation only - BEH_GUARD // creation only - monster is guard -}; - -enum mon_attitude_type -{ - ATT_HOSTILE, // 0, default in most cases - ATT_FRIENDLY, // created friendly (or tamed?) - ATT_NEUTRAL -}; - -enum mon_event_type -{ - ME_EVAL, // 0, evaluate monster AI state - ME_DISTURB, // noisy - ME_ANNOY, // annoy at range - ME_ALERT, // alert to presence - ME_WHACK, // physical attack - ME_SHOT, // attack at range - ME_SCARE, // frighten monster - ME_CORNERED // cannot flee -}; - -enum mon_flight_type -{ - FLY_NOT, - FLY_POWERED, // wings, etc... paralysis == fall - FLY_LEVITATION // doesn't require physical effort -}; - -// Note: These are currently stored in chars!!! -// Need to fix struct monsters and the savefile if you want more. -enum monster_flag_type -{ - MF_CREATED_FRIENDLY = 0x01, // no benefit from killing - MF_GOD_GIFT = 0x02, // player not penalized by its death - MF_BATTY = 0x04, // flutters like a bat - MF_JUST_SUMMONED = 0x08, // monster skips next available action - MF_TAKING_STAIRS = 0x10, // is following player through stairs - - MF_UNUSED_I = 0x20, - MF_UNUSED_II = 0x40, - MF_UNUSED_III = 0x80 -}; - -enum mon_dam_level_type -{ - MDAM_OKAY, - MDAM_LIGHTLY_DAMAGED, - MDAM_MODERATELY_DAMAGED, - MDAM_HEAVILY_DAMAGED, - MDAM_HORRIBLY_DAMAGED, - MDAM_ALMOST_DEAD, - MDAM_DEAD -}; - -enum mon_desc_type // things that cross categorical lines {dlb} -{ - MDSC_LEAVES_HIDE, // 0 - MDSC_REGENERATES, - MDSC_NOMSG_WOUNDS -}; - -enum mon_holy_type // matches (char) H_foo in mon-util.h, see: monster_holiness() -{ - MH_HOLY, // 0 - was -1 - MH_NATURAL, // 1 - was 0 - MH_UNDEAD, // 2 - was 1 - MH_DEMONIC, // 3 - was 2 - MH_NONLIVING, // golems and other constructs - MH_PLANT // plants -}; - -enum mon_inv_type // (int) menv[].inv[] -{ - MSLOT_WEAPON, - MSLOT_MISSILE, // although it is a second weapon for MONS_TWO_HEADED_OGRE - how to reconcile cleanly? {dlb} - MSLOT_ARMOUR, - MSLOT_MISCELLANY, //mv: used for misc. obj. (7 Aug 2001) - MSLOT_POTION, // mv: now used only for potions (7 Aug 2001) - MSLOT_WAND, // - MSLOT_SCROLL, - MSLOT_GOLD, //mv: used for money :) (7 Aug 2001) - NUM_MONSTER_SLOTS = 8 // value must remain 8 for savefile compatibility {dlb} -}; - -// order of these is important: -enum mon_itemuse_type -{ - MONUSE_NOTHING, - MONUSE_EATS_ITEMS, - MONUSE_OPEN_DOORS, - MONUSE_STARTING_EQUIPMENT, - MONUSE_WEAPONS_ARMOUR, - MONUSE_MAGIC_ITEMS -}; - -// XXX: someday merge these into SPELL_ -enum mon_spell_type -{ - MS_MMISSILE, // 0 - MS_FLAME, - MS_FROST, - MS_PARALYSIS, - MS_SLOW, - MS_HASTE, // 5 - MS_CONFUSE, // 6 - do not deprecate!!! 13jan2000 {dlb} - MS_VENOM_BOLT, - MS_FIRE_BOLT, - MS_COLD_BOLT, - MS_LIGHTNING_BOLT, // 10 - MS_INVIS, - MS_FIREBALL, - MS_HEAL, - MS_TELEPORT, - MS_TELEPORT_OTHER, // 15 - MS_BLINK, - MS_CRYSTAL_SPEAR, - MS_DIG, - MS_NEGATIVE_BOLT, - MS_HELLFIRE_BURST, // 20 - MS_VAMPIRE_SUMMON, - MS_ORB_ENERGY, - MS_BRAIN_FEED, - MS_LEVEL_SUMMON, - MS_FAKE_RAKSHASA_SUMMON, // 25 - MS_STEAM_BALL, - MS_SUMMON_DEMON, - MS_ANIMATE_DEAD, - MS_PAIN, - MS_SMITE, // 30 - MS_STICKY_FLAME, - MS_POISON_BLAST, - MS_SUMMON_DEMON_LESSER, - MS_SUMMON_UFETUBUS, - MS_PURPLE_BLAST, // 35 - MS_SUMMON_BEAST, // MS_GERYON was not descriptive - renamed 13jan2000 {dlb} - MS_ENERGY_BOLT, - MS_STING, - MS_IRON_BOLT, - MS_STONE_ARROW, // 40 - MS_POISON_SPLASH, - MS_SUMMON_UNDEAD, - MS_MUTATION, // 43 - MS_CANTRIP, - MS_DISINTEGRATE, // 45 - MS_MARSH_GAS, - MS_QUICKSILVER_BOLT, - MS_TORMENT, - MS_HELLFIRE, - MS_METAL_SPLINTERS, // 50 - MS_SUMMON_DEMON_GREATER, // [foo]_1 was confusing - renamed 13jan2000 {dlb} - MS_BANISHMENT, - MS_CONTROLLED_BLINK, - MS_CONTROL_UNDEAD, - MS_MIASMA, // 55 - MS_SUMMON_LIZARDS, - MS_BLINK_OTHER, - MS_DISPEL_UNDEAD, - MS_HELLFROST, - MS_POISON_ARROW, // 60 - // XXX: before adding more monster versions of player spells we should - // consider merging the two lists into one and just having monsters - // fail to implement the ones that are impractical. - NUM_MONSTER_SPELLS, - MS_NO_SPELL = 100 -}; - -// XXX: These still need to be applied in mon-data.h -enum mon_spellbook_type -{ - MST_ORC_WIZARD_I = 0, - MST_ORC_WIZARD_II, - MST_ORC_WIZARD_III, - MST_GUARDIAN_NAGA = 10, - MST_LICH_I = 20, - MST_LICH_II, - MST_LICH_III, - MST_LICH_IV, - MST_BURNING_DEVIL = 30, - MST_VAMPIRE = 40, - MST_VAMPIRE_KNIGHT, - MST_VAMPIRE_MAGE, - MST_EFREET = 50, - MST_KILLER_KLOWN, - MST_BRAIN_WORM, - MST_GIANT_ORANGE_BRAIN, - MST_RAKSHASA, - MST_GREAT_ORB_OF_EYES, // 55 - MST_ORC_SORCERER, - MST_STEAM_DRAGON, - MST_HELL_KNIGHT_I, - MST_HELL_KNIGHT_II, - MST_NECROMANCER_I, // 60 - MST_NECROMANCER_II, - MST_WIZARD_I, - MST_WIZARD_II, - MST_WIZARD_III, - MST_WIZARD_IV, // 65 - MST_WIZARD_V, - MST_ORC_PRIEST, - MST_ORC_HIGH_PRIEST, - MST_MOTTLED_DRAGON, - MST_ICE_FIEND, // 70 - MST_SHADOW_FIEND, - MST_TORMENTOR, - MST_STORM_DRAGON, - MST_WHITE_IMP, - MST_YNOXINUL, // 75 - MST_NEQOXEC, - MST_HELLWING, - MST_SMOKE_DEMON, - MST_CACODEMON, - MST_GREEN_DEATH, // 80 - MST_BALRUG, - MST_BLUE_DEATH, - MST_GERYON, - MST_DISPATER, - MST_ASMODEUS, // 85 - MST_ERESHKIGAL, - MST_ANTAEUS, // 87 - MST_MNOLEG = 90, - MST_LOM_LOBON, - MST_CEREBOV, - MST_GLOORX_VLOQ, - MST_TITAN, - MST_GOLDEN_DRAGON, // 95 - MST_DEEP_ELF_SUMMONER, - MST_DEEP_ELF_CONJURER_I, - MST_DEEP_ELF_CONJURER_II, - MST_DEEP_ELF_PRIEST, - MST_DEEP_ELF_HIGH_PRIEST, // 100 - MST_DEEP_ELF_DEMONOLOGIST, - MST_DEEP_ELF_ANNIHILATOR, - MST_DEEP_ELF_SORCERER, - MST_DEEP_ELF_DEATH_MAGE, - MST_KOBOLD_DEMONOLOGIST, // 105 - MST_NAGA, - MST_NAGA_MAGE, - MST_CURSE_SKULL, - MST_SHINING_EYE, - MST_FROST_GIANT, // 110 - MST_ANGEL, - MST_DAEVA, - MST_SHADOW_DRAGON, - MST_SPHINX, - MST_MUMMY, // 115 - MST_ELECTRIC_GOLEM, - MST_ORB_OF_FIRE, - MST_SHADOW_IMP, - MST_GHOST, - MST_HELL_HOG, // 120 - MST_SWAMP_DRAGON, - MST_SWAMP_DRAKE, - MST_SERPENT_OF_HELL, - MST_BOGGART, - MST_EYE_OF_DEVASTATION, // 125 - MST_QUICKSILVER_DRAGON, - MST_IRON_DRAGON, - MST_SKELETAL_WARRIOR, - MST_MYSTIC, - MST_DEATH_DRAKE, // 130 - MST_DRAC_SCORCHER, // As Bioster would say.. pig*s - MST_DRAC_CALLER, - MST_DRAC_SHIFTER, - NUM_MSTYPES, - MST_NO_SPELLS = 250 -}; - -enum mutation_type -{ - MUT_TOUGH_SKIN, // 0 - MUT_STRONG, - MUT_CLEVER, - MUT_AGILE, - MUT_GREEN_SCALES, - MUT_BLACK_SCALES, // 5 - MUT_GREY_SCALES, - MUT_BONEY_PLATES, - MUT_REPULSION_FIELD, - MUT_POISON_RESISTANCE, - MUT_CARNIVOROUS, // 10 - MUT_HERBIVOROUS, - MUT_HEAT_RESISTANCE, - MUT_COLD_RESISTANCE, - MUT_SHOCK_RESISTANCE, - MUT_REGENERATION, // 15 - MUT_FAST_METABOLISM, - MUT_SLOW_METABOLISM, - MUT_WEAK, - MUT_DOPEY, - MUT_CLUMSY, // 20 - MUT_TELEPORT_CONTROL, - MUT_TELEPORT, - MUT_MAGIC_RESISTANCE, - MUT_FAST, - MUT_ACUTE_VISION, // 25 - MUT_DEFORMED, - MUT_TELEPORT_AT_WILL, - MUT_SPIT_POISON, - MUT_MAPPING, - MUT_BREATHE_FLAMES, // 30 - MUT_BLINK, - MUT_HORNS, - MUT_STRONG_STIFF, - MUT_FLEXIBLE_WEAK, - MUT_LOST, // 35 - MUT_CLARITY, - MUT_BERSERK, - MUT_DETERIORATION, - MUT_BLURRY_VISION, - MUT_MUTATION_RESISTANCE, // 40 - MUT_FRAIL, - MUT_ROBUST, - MUT_TORMENT_RESISTANCE, - MUT_NEGATIVE_ENERGY_RESISTANCE, - MUT_SUMMON_MINOR_DEMONS, // 45 - MUT_SUMMON_DEMONS, - MUT_HURL_HELLFIRE, - MUT_CALL_TORMENT, - MUT_RAISE_DEAD, - MUT_CONTROL_DEMONS, // 50 - MUT_PANDEMONIUM, - MUT_DEATH_STRENGTH, - MUT_CHANNEL_HELL, - MUT_DRAIN_LIFE, - MUT_THROW_FLAMES, // 55 - MUT_THROW_FROST, - MUT_SMITE, // 57 - MUT_CLAWS, //jmf: added - MUT_HOOVES, //jmf: etc. - MUT_BREATHE_POISON, // 60 - MUT_STINGER, - MUT_BIG_WINGS, - MUT_BLUE_MARKS, // 63 - decorative, as in "mark of the devil" - MUT_GREEN_MARKS, // 64 - MUT_RED_SCALES = 70, // 70 - MUT_NACREOUS_SCALES, - MUT_GREY2_SCALES, - MUT_METALLIC_SCALES, - MUT_BLACK2_SCALES, - MUT_WHITE_SCALES, // 75 - MUT_YELLOW_SCALES, - MUT_BROWN_SCALES, - MUT_BLUE_SCALES, - MUT_PURPLE_SCALES, - MUT_SPECKLED_SCALES, // 80 - MUT_ORANGE_SCALES, - MUT_INDIGO_SCALES, - MUT_RED2_SCALES, - MUT_IRIDESCENT_SCALES, - MUT_PATTERNED_SCALES, // 85 - NUM_MUTATIONS -}; - -enum object_class_type // (unsigned char) mitm[].base_type -{ - OBJ_WEAPONS, // 0 - OBJ_MISSILES, - OBJ_ARMOUR, - OBJ_WANDS, - OBJ_FOOD, // 4 - OBJ_UNKNOWN_I = 5, // (use unknown) labeled as books in invent.cc {dlb} - OBJ_SCROLLS = 6, // 6 - OBJ_JEWELLERY, - OBJ_POTIONS, // 8 - OBJ_UNKNOWN_II = 9, // (use unknown, stackable) labeled as gems in invent.cc {dlb} - OBJ_BOOKS = 10, // 10 - OBJ_STAVES, - OBJ_ORBS, - OBJ_MISCELLANY, - OBJ_CORPSES, - OBJ_GOLD, // important role as upper limit to chardump::dump_inventory() {dlb} - OBJ_GEMSTONES, // found in itemname.cc, labeled as miscellaneous in invent.cc {dlb} - NUM_OBJECT_CLASSES, - OBJ_UNASSIGNED = 100, // must remain set to 100 {dlb} - OBJ_RANDOM = 255 // must remain set to 255 {dlb} - also used - // for blanket random sub_type .. see dungeon::items() -}; - -enum object_selector -{ - OSEL_ANY = -1, - OSEL_WIELD = -2 -}; - -enum orb_type -{ - ORB_ZOT // 0 -}; - -enum potion_type -{ - POT_HEALING, // 0 - POT_HEAL_WOUNDS, - POT_SPEED, - POT_MIGHT, - POT_GAIN_STRENGTH, - POT_GAIN_DEXTERITY, // 5 - POT_GAIN_INTELLIGENCE, - POT_LEVITATION, - POT_POISON, - POT_SLOWING, - POT_PARALYSIS, // 10 - POT_CONFUSION, - POT_INVISIBILITY, - POT_PORRIDGE, - POT_DEGENERATION, - POT_DECAY, // 15 - POT_WATER, - POT_EXPERIENCE, - POT_MAGIC, - POT_RESTORE_ABILITIES, - POT_STRONG_POISON, // 20 - POT_BERSERK_RAGE, - POT_CURE_MUTATION, - POT_MUTATION, - NUM_POTIONS -}; - -enum pronoun_type -{ - PRONOUN_CAP, // 0 - PRONOUN_NOCAP, // 1 - PRONOUN_CAP_POSSESSIVE, // 2 - PRONOUN_NOCAP_POSSESSIVE, // 3 - PRONOUN_REFLEXIVE // 4 (reflexive is always lowercase) -}; - -enum proximity_type // proximity to player to create monster -{ - PROX_ANYWHERE, - PROX_CLOSE_TO_PLAYER, - PROX_AWAY_FROM_PLAYER, - PROX_NEAR_STAIRS -}; - -enum randart_prop_type -{ - RAP_BRAND, // 0 - RAP_AC, - RAP_EVASION, - RAP_STRENGTH, - RAP_INTELLIGENCE, - RAP_DEXTERITY, // 5 - RAP_FIRE, - RAP_COLD, - RAP_ELECTRICITY, - RAP_POISON, - RAP_NEGATIVE_ENERGY, // 10 - RAP_MAGIC, - RAP_EYESIGHT, - RAP_INVISIBLE, - RAP_LEVITATE, - RAP_BLINK, // 15 - RAP_CAN_TELEPORT, - RAP_BERSERK, - RAP_MAPPING, - RAP_NOISES, - RAP_PREVENT_SPELLCASTING, // 20 - RAP_CAUSE_TELEPORTATION, - RAP_PREVENT_TELEPORTATION, - RAP_ANGRY, - RAP_METABOLISM, - RAP_MUTAGENIC, // 25 - RAP_ACCURACY, - RAP_DAMAGE, - RAP_CURSED, - RAP_STEALTH, - RAP_NUM_PROPERTIES -}; - -enum read_book_action_type -{ - RBOOK_USE_STAFF, - RBOOK_MEMORISE, - RBOOK_READ_SPELL -}; - -enum run_check_type -{ - RCHECK_LEFT, - RCHECK_FRONT, - RCHECK_RIGHT -}; - -enum run_dir_type -{ - RDIR_UP = 0, - RDIR_UP_RIGHT, - RDIR_RIGHT, - RDIR_DOWN_RIGHT, - RDIR_DOWN, - RDIR_DOWN_LEFT, - RDIR_LEFT, - RDIR_UP_LEFT, - RDIR_REST -}; - -enum rune_type -{ - // Note: that runes DIS-SWAMP have the same numberic value as the branch - RUNE_DIS = 1, - RUNE_GEHENNA, - RUNE_COCYTUS = 4, - RUNE_TARTARUS, - RUNE_SLIME_PITS = 13, - RUNE_VAULTS, - RUNE_SNAKE_PIT = 19, - RUNE_ELVEN_HALLS, // unused - RUNE_TOMB, - RUNE_SWAMP, - - // Runes 50 and 51 are for Pandemonium (general demon) and the Abyss - RUNE_DEMONIC = 50, - RUNE_ABYSSAL, - - // Runes 60-63 correspond to the Pandemonium demonlords, - // and are equal to the corresponding vault. - RUNE_MNOLEG = 60, - RUNE_LOM_LOBON, - RUNE_CEREBOV, - RUNE_GLOORX_VLOQ, - NUM_RUNE_TYPES, // should always be last - RUNE_NONE -}; - -enum score_format_type -{ - SCORE_TERSE, // one line - SCORE_REGULAR, // two lines (name, cause, blank) - SCORE_VERBOSE // everything (dates, times, god, etc) -}; - -enum scroll_type -{ - SCR_IDENTIFY, // 0 - SCR_TELEPORTATION, - SCR_FEAR, - SCR_NOISE, - SCR_REMOVE_CURSE, - SCR_DETECT_CURSE, // 5 - SCR_SUMMONING, - SCR_ENCHANT_WEAPON_I, - SCR_ENCHANT_ARMOUR, - SCR_TORMENT, - SCR_RANDOM_USELESSNESS, // 10 - SCR_CURSE_WEAPON, - SCR_CURSE_ARMOUR, - SCR_IMMOLATION, - SCR_BLINKING, - SCR_PAPER, // 15 - SCR_MAGIC_MAPPING, - SCR_FORGETFULNESS, - SCR_ACQUIREMENT, - SCR_ENCHANT_WEAPON_II, - SCR_VORPALISE_WEAPON, // 20 - SCR_RECHARGING, - SCR_ENCHANT_WEAPON_III, - NUM_SCROLLS -}; - -enum shop_type // (unsigned char) env.sh_type[], item_in_shop(), in_a_shop() -{ - SHOP_WEAPON, // 0 - SHOP_ARMOUR, - SHOP_WEAPON_ANTIQUE, - SHOP_ARMOUR_ANTIQUE, - SHOP_GENERAL_ANTIQUE, - SHOP_JEWELLERY, // 5 - SHOP_WAND, - SHOP_BOOK, - SHOP_FOOD, - SHOP_DISTILLERY, - SHOP_SCROLL, // 10 - SHOP_GENERAL, - NUM_SHOPS, // must remain last 'regular' member {dlb} - SHOP_UNASSIGNED = 100, // keep set at 100 for now {dlb} - SHOP_RANDOM = 255 // keep set at 255 for now {dlb} -}; - -enum shout_type -{ - S_SILENT, // silent - S_SHOUT, // shout - S_BARK, // bark - S_SHOUT2, // shout twice - S_ROAR, // roar - S_SCREAM, // scream - S_BELLOW, // bellow (?) - S_SCREECH, // screech - S_BUZZ, // buzz - S_MOAN, // moan - S_WHINE, // irritating whine (mosquito) - S_CROAK, // frog croak - S_GROWL, // for bears - S_HISS, // for snakes and lizards - NUM_SHOUTS, - S_RANDOM -}; - -// These are often addressed relative to each other (esp. delta SIZE_MEDIUM) -enum size_type -{ - SIZE_TINY, // rat/bat - SIZE_LITTLE, // spriggan - SIZE_SMALL, // halfling/kobold/gnome - SIZE_MEDIUM, // human/elf/dwarf - SIZE_LARGE, // troll/ogre - SIZE_BIG, // centaur/naga/large quadrupeds - SIZE_GIANT, // giant - SIZE_HUGE, // dragon - NUM_SIZE_LEVELS, - SIZE_CHARACTER // transformations that don't change size -}; - -enum skill_type -{ - SK_FIGHTING, // 0 - SK_SHORT_BLADES, - SK_LONG_SWORDS, - SK_UNUSED_1, // SK_GREAT_SWORDS - now unused - SK_AXES, - SK_MACES_FLAILS, // 5 - SK_POLEARMS, - SK_STAVES, - SK_SLINGS, - SK_BOWS, - SK_CROSSBOWS, // 10 - SK_DARTS, - SK_RANGED_COMBAT, - SK_ARMOUR, - SK_DODGING, - SK_STEALTH, // 15 - SK_STABBING, - SK_SHIELDS, - SK_TRAPS_DOORS, - SK_UNARMED_COMBAT, // 19 - SK_SPELLCASTING = 25, // 25 - SK_CONJURATIONS, - SK_ENCHANTMENTS, - SK_SUMMONINGS, - SK_NECROMANCY, - SK_TRANSLOCATIONS, // 30 - SK_TRANSMIGRATION, - SK_DIVINATIONS, - SK_FIRE_MAGIC, - SK_ICE_MAGIC, - SK_AIR_MAGIC, // 35 - SK_EARTH_MAGIC, - SK_POISON_MAGIC, - SK_INVOCATIONS, - SK_EVOCATIONS, - NUM_SKILLS, // must remain last regular member - - SK_BLANK_LINE, // used for skill output - SK_COLUMN_BREAK, // used for skill output - SK_NONE -}; - -enum special_armour_type -{ - SPARM_NORMAL, // 0 - SPARM_RUNNING, - SPARM_FIRE_RESISTANCE, - SPARM_COLD_RESISTANCE, - SPARM_POISON_RESISTANCE, - SPARM_SEE_INVISIBLE, // 5 - SPARM_DARKNESS, - SPARM_STRENGTH, - SPARM_DEXTERITY, - SPARM_INTELLIGENCE, - SPARM_PONDEROUSNESS, // 10 - SPARM_LEVITATION, - SPARM_MAGIC_RESISTANCE, - SPARM_PROTECTION, - SPARM_STEALTH, - SPARM_RESISTANCE, // 15 - SPARM_POSITIVE_ENERGY, - SPARM_ARCHMAGI, - SPARM_PRESERVATION, // 18 - SPARM_RANDART_I = 25, // must remain at 25 for now - how high do they go? {dlb} - SPARM_RANDART_II = 26, // 26 - SPARM_RANDART_III = 27, // 27 - SPARM_RANDART_IV = 28, // 28 - SPARM_RANDART_V = 29 // 29 - highest value found thus far {dlb} -}; - -enum special_missile_type // to separate from weapons in general {dlb} -{ - SPMSL_NORMAL, // 0 - SPMSL_FLAME, // 1 - SPMSL_ICE, // 2 - SPMSL_POISONED, // 3 - from poison_ammo() enchantment {dlb} - SPMSL_POISONED_II, // 4 - SPMSL_CURARE // 5 -}; - -enum special_room_type -{ - SROOM_LAIR_ORC, // 0 - SROOM_LAIR_KOBOLD, - SROOM_TREASURY, - SROOM_BEEHIVE, - SROOM_JELLY_PIT, - SROOM_MORGUE, - NUM_SPECIAL_ROOMS // 5 - must remain final member {dlb} -}; - -enum special_ring_type // jewellery mitm[].special values -{ - SPRING_RANDART = 200, - SPRING_UNRANDART = 201 -}; - -// order is important on these (see player_speed()) -enum speed_type -{ - SPEED_SLOWED, - SPEED_NORMAL, - SPEED_HASTED -}; - -enum brand_type // equivalent to (you.inv[].special or mitm[].special) % 30 -{ - SPWPN_NORMAL, // 0 - SPWPN_FLAMING, - SPWPN_FREEZING, - SPWPN_HOLY_WRATH, - SPWPN_ELECTROCUTION, - SPWPN_ORC_SLAYING, // 5 - SPWPN_VENOM, - SPWPN_PROTECTION, - SPWPN_DRAINING, - SPWPN_SPEED, - SPWPN_VORPAL, // 10 - SPWPN_FLAME, - SPWPN_FROST, - SPWPN_VAMPIRICISM, - SPWPN_DISRUPTION, - SPWPN_PAIN, // 15 - SPWPN_DISTORTION, - SPWPN_REACHING, // 17 - SPWPN_CONFUSE, - SPWPN_RANDART_I = 25, // 25 - SPWPN_RANDART_II, - SPWPN_RANDART_III, - SPWPN_RANDART_IV, - SPWPN_RANDART_V, - NUM_SPECIAL_WEAPONS, - SPWPN_DUMMY_CRUSHING, // ONLY TEMPORARY USAGE -- converts to VORPAL - - // everything above this point is a special artefact wield: - SPWPN_SINGING_SWORD = 181, // 181 - SPWPN_WRATH_OF_TROG, - SPWPN_SCYTHE_OF_CURSES, - SPWPN_MACE_OF_VARIABILITY, - SPWPN_GLAIVE_OF_PRUNE, // 185 - SPWPN_SCEPTRE_OF_TORMENT, - SPWPN_SWORD_OF_ZONGULDROK, - - // these three are not generated randomly {dlb} - SPWPN_SWORD_OF_CEREBOV, - SPWPN_STAFF_OF_DISPATER, - SPWPN_SCEPTRE_OF_ASMODEUS, // 190 - - SPWPN_SWORD_OF_POWER, - SPWPN_KNIFE_OF_ACCURACY, - SPWPN_STAFF_OF_OLGREB, - SPWPN_VAMPIRES_TOOTH, - SPWPN_STAFF_OF_WUCAD_MU // 195 -}; - -enum special_wield_type // you.special_wield -{ - SPWLD_NONE, // 0 - SPWLD_SING, - SPWLD_TROG, - SPWLD_CURSE, - SPWLD_VARIABLE, // 4 - SPWLD_PRUNE, // 5 - implicit in it_use3::special_wielded() {dlb} - SPWLD_TORMENT, // 6 - SPWLD_ZONGULDROK, - SPWLD_POWER, - SPWLD_WUCAD_MU, // 9 - SPWLD_OLGREB, // 10 - SPWLD_SHADOW = 50, // 50 - SPWLD_HUM, // 51 - see it_use3::special_wielded() {dlb} - SPWLD_CHIME, // 52 - see it_use3::special_wielded() {dlb} - SPWLD_BECKON, // 53 - see it_use3::special_wielded() {dlb} - SPWLD_SHOUT // 54 - see it_use3::special_wielded() {dlb} -}; - -enum species_type -{ - SP_HUMAN = 1, // 1 - SP_ELF, - SP_HIGH_ELF, - SP_GREY_ELF, - SP_DEEP_ELF, // 5 - SP_SLUDGE_ELF, - SP_HILL_DWARF, - SP_MOUNTAIN_DWARF, - SP_HALFLING, - SP_HILL_ORC, // 10 - SP_KOBOLD, - SP_MUMMY, - SP_NAGA, - SP_GNOME, - SP_OGRE, // 15 - SP_TROLL, - SP_OGRE_MAGE, - SP_RED_DRACONIAN, - SP_WHITE_DRACONIAN, - SP_GREEN_DRACONIAN, // 20 - SP_GOLDEN_DRACONIAN, - SP_GREY_DRACONIAN, - SP_BLACK_DRACONIAN, - SP_PURPLE_DRACONIAN, - SP_MOTTLED_DRACONIAN, // 25 - SP_PALE_DRACONIAN, - SP_UNK0_DRACONIAN, - SP_UNK1_DRACONIAN, - SP_BASE_DRACONIAN, - SP_CENTAUR, // 30 - SP_DEMIGOD, - SP_SPRIGGAN, - SP_MINOTAUR, - SP_DEMONSPAWN, - SP_GHOUL, // 35 - SP_KENKU, - SP_MERFOLK, - NUM_SPECIES, // always after the last species - - SP_UNKNOWN = 100 -}; - -enum spell_type -{ - SPELL_IDENTIFY, // 0 - SPELL_TELEPORT_SELF, - SPELL_CAUSE_FEAR, - SPELL_CREATE_NOISE, - SPELL_REMOVE_CURSE, - SPELL_MAGIC_DART, // 5 - SPELL_FIREBALL, - SPELL_SWAP, - SPELL_APPORTATION, - SPELL_TWIST, - SPELL_FAR_STRIKE, // 10 - SPELL_DELAYED_FIREBALL, - SPELL_STRIKING, - SPELL_CONJURE_FLAME, - SPELL_DIG, - SPELL_BOLT_OF_FIRE, // 15 - SPELL_BOLT_OF_COLD, - SPELL_LIGHTNING_BOLT, - SPELL_BOLT_OF_MAGMA, // 18 - SPELL_POLYMORPH_OTHER = 20, // 20 - SPELL_SLOW, - SPELL_HASTE, - SPELL_PARALYZE, - SPELL_CONFUSE, - SPELL_INVISIBILITY, // 25 - SPELL_THROW_FLAME, - SPELL_THROW_FROST, - SPELL_CONTROLLED_BLINK, - SPELL_FREEZING_CLOUD, - SPELL_MEPHITIC_CLOUD, // 30 - SPELL_RING_OF_FLAMES, - SPELL_RESTORE_STRENGTH, - SPELL_RESTORE_INTELLIGENCE, - SPELL_RESTORE_DEXTERITY, - SPELL_VENOM_BOLT, // 35 - SPELL_OLGREBS_TOXIC_RADIANCE, - SPELL_TELEPORT_OTHER, - SPELL_LESSER_HEALING, - SPELL_GREATER_HEALING, - SPELL_CURE_POISON_I, // 40 - SPELL_PURIFICATION, - SPELL_DEATHS_DOOR, - SPELL_SELECTIVE_AMNESIA, - SPELL_MASS_CONFUSION, - SPELL_SMITING, // 45 - SPELL_REPEL_UNDEAD, - SPELL_HOLY_WORD, - SPELL_DETECT_CURSE, - SPELL_SUMMON_SMALL_MAMMAL, - SPELL_ABJURATION_I, // 50 - SPELL_SUMMON_SCORPIONS, - SPELL_LEVITATION, - SPELL_BOLT_OF_DRAINING, - SPELL_LEHUDIBS_CRYSTAL_SPEAR, - SPELL_BOLT_OF_INACCURACY, // 55 - SPELL_POISONOUS_CLOUD, - SPELL_FIRE_STORM, - SPELL_DETECT_TRAPS, - SPELL_BLINK, - SPELL_ISKENDERUNS_MYSTIC_BLAST, // 60 - SPELL_SWARM, - SPELL_SUMMON_HORRIBLE_THINGS, - SPELL_ENSLAVEMENT, - SPELL_MAGIC_MAPPING, - SPELL_HEAL_OTHER, // 65 - SPELL_ANIMATE_DEAD, - SPELL_PAIN, - SPELL_EXTENSION, - SPELL_CONTROL_UNDEAD, - SPELL_ANIMATE_SKELETON, // 70 - SPELL_VAMPIRIC_DRAINING, - SPELL_SUMMON_WRAITHS, - SPELL_DETECT_ITEMS, - SPELL_BORGNJORS_REVIVIFICATION, - SPELL_BURN, // 75 - SPELL_FREEZE, - SPELL_SUMMON_ELEMENTAL, - SPELL_OZOCUBUS_REFRIGERATION, - SPELL_STICKY_FLAME, - SPELL_SUMMON_ICE_BEAST, // 80 - SPELL_OZOCUBUS_ARMOUR, - SPELL_CALL_IMP, - SPELL_REPEL_MISSILES, - SPELL_BERSERKER_RAGE, - SPELL_DISPEL_UNDEAD, // 85 - SPELL_GUARDIAN, - SPELL_PESTILENCE, - SPELL_THUNDERBOLT, - SPELL_FLAME_OF_CLEANSING, - SPELL_SHINING_LIGHT, // 90 - SPELL_SUMMON_DAEVA, - SPELL_ABJURATION_II, - SPELL_FULSOME_DISTILLATION, // 93 - SPELL_POISON_ARROW, // 94 - SPELL_TWISTED_RESURRECTION = 110, // 110 - SPELL_REGENERATION, - SPELL_BONE_SHARDS, - SPELL_BANISHMENT, - SPELL_CIGOTUVIS_DEGENERATION, - SPELL_STING, // 115 - SPELL_SUBLIMATION_OF_BLOOD, - SPELL_TUKIMAS_DANCE, - SPELL_HELLFIRE, - SPELL_SUMMON_DEMON, - SPELL_DEMONIC_HORDE, // 120 - SPELL_SUMMON_GREATER_DEMON, - SPELL_CORPSE_ROT, - SPELL_TUKIMAS_VORPAL_BLADE, - SPELL_FIRE_BRAND, - SPELL_FREEZING_AURA, // 125 - SPELL_LETHAL_INFUSION, - SPELL_CRUSH, - SPELL_BOLT_OF_IRON, - SPELL_STONE_ARROW, - SPELL_TOMB_OF_DOROKLOHE, // 130 - SPELL_STONEMAIL, - SPELL_SHOCK, - SPELL_SWIFTNESS, - SPELL_FLY, - SPELL_INSULATION, // 135 - SPELL_ORB_OF_ELECTROCUTION, - SPELL_DETECT_CREATURES, - SPELL_CURE_POISON_II, - SPELL_CONTROL_TELEPORT, - SPELL_POISON_AMMUNITION, // 140 - SPELL_POISON_WEAPON, - SPELL_RESIST_POISON, - SPELL_PROJECTED_NOISE, - SPELL_ALTER_SELF, - SPELL_DEBUGGING_RAY, // 145 - SPELL_RECALL, - SPELL_PORTAL, - SPELL_AGONY, - SPELL_SPIDER_FORM, - SPELL_DISRUPT, // 150 - SPELL_DISINTEGRATE, - SPELL_BLADE_HANDS, - SPELL_STATUE_FORM, - SPELL_ICE_FORM, - SPELL_DRAGON_FORM, // 155 - SPELL_NECROMUTATION, - SPELL_DEATH_CHANNEL, - SPELL_SYMBOL_OF_TORMENT, - SPELL_DEFLECT_MISSILES, - SPELL_ORB_OF_FRAGMENTATION, // 160 - SPELL_ICE_BOLT, - SPELL_ICE_STORM, - SPELL_ARC, - SPELL_AIRSTRIKE, - SPELL_SHADOW_CREATURES, // 165 - SPELL_CONFUSING_TOUCH, - SPELL_SURE_BLADE, -//jmf: new spells - SPELL_FLAME_TONGUE, - SPELL_PASSWALL, - SPELL_IGNITE_POISON, // 170 - SPELL_STICKS_TO_SNAKES, - SPELL_SUMMON_LARGE_MAMMAL, // e.g. hound - SPELL_SUMMON_DRAGON, - SPELL_TAME_BEASTS, // charm/enslave but only animals - SPELL_SLEEP, // 175 - SPELL_MASS_SLEEP, - SPELL_DETECT_MAGIC, //jmf: unfinished, perhaps useless - SPELL_DETECT_SECRET_DOORS, - SPELL_SEE_INVISIBLE, - SPELL_FORESCRY, // 180 - SPELL_SUMMON_BUTTERFLIES, - SPELL_WARP_BRAND, - SPELL_SILENCE, - SPELL_SHATTER, - SPELL_DISPERSAL, // 185 - SPELL_DISCHARGE, - SPELL_BEND, - SPELL_BACKLIGHT, - SPELL_INTOXICATE, // confusion but only "smart" creatures - SPELL_GLAMOUR, // charm/confuse/sleep but only "smart" creatures 190 - SPELL_EVAPORATE, // turn a potion into a cloud - SPELL_ERINGYAS_SURPRISING_BOUQUET, // turn sticks into herbivore food - SPELL_FRAGMENTATION, // replacement for "orb of frag" - SPELL_AIR_WALK, // "dematerialize" (air/transmigration) - SPELL_SANDBLAST, // mini-frag; can use stones for material comp 195 - SPELL_ROTTING, // evil god power or necromantic transmigration - SPELL_MAXWELLS_SILVER_HAMMER, // vorpal-brand maces etc. - SPELL_CONDENSATION_SHIELD, // "shield" of icy vapour - SPELL_SEMI_CONTROLLED_BLINK, //jmf: to test effect - SPELL_STONESKIN, // 200 - SPELL_SIMULACRUM, - SPELL_CONJURE_BALL_LIGHTNING, - SPELL_CHAIN_LIGHTNING, // 203 (be wary of 209/210, see below) - NUM_SPELLS, - SPELL_NO_SPELL = 210 // 210 - added 22jan2000 {dlb} -}; - -enum spflag_type -{ - SPFLAG_NONE = 0x0000, - SPFLAG_DIR_OR_TARGET = 0x0001, // use DIR_NONE targeting - SPFLAG_TARGET = 0x0002, // use DIR_TARGET targeting - SPFLAG_GRID = 0x0004, // use DIR_GRID targeting - SPFLAG_DIR = 0x0008, // use DIR_DIR targeting - SPFLAG_TARGETING_MASK = 0x000f, // used to test for targeting - SPFLAG_HELPFUL = 0x0010, // TARG_FRIENDS used - SPFLAG_NOT_SELF = 0x0020, // aborts on isMe - SPFLAG_UNHOLY = 0x0040 // counts at "unholy" -}; - -enum spret_type -{ - SPRET_ABORT = 0, // should be left as 0 - SPRET_FAIL, - SPRET_SUCCESS -}; - -enum spschool_flag_type -{ - SPTYP_NONE = 0, // "0" is reserved for no type at all {dlb} - SPTYP_CONJURATION = 1, // was 11, but only for old typematch routine {dlb} - SPTYP_ENCHANTMENT = 1<<1, - SPTYP_FIRE = 1<<2, - SPTYP_ICE = 1<<3, - SPTYP_TRANSMIGRATION = 1<<4, - SPTYP_NECROMANCY = 1<<5, - SPTYP_SUMMONING = 1<<6, - SPTYP_DIVINATION = 1<<7, - SPTYP_TRANSLOCATION = 1<<8, - SPTYP_POISON = 1<<9, - SPTYP_EARTH = 1<<10, - SPTYP_AIR = 1<<11, - SPTYP_HOLY = 1<<12, //jmf: moved to accomodate "random" miscast f/x - SPTYP_LAST_EXPONENT = 12, //jmf: ``NUM_SPELL_TYPES'' kinda useless - NUM_SPELL_TYPES = 14, - SPTYP_RANDOM = 1<<14 -}; - -enum slot_select_mode -{ - SS_FORWARD = 0, - SS_BACKWARD = 1 -}; - -enum stat_type -{ - STAT_STRENGTH, // 0 - STAT_DEXTERITY, - STAT_INTELLIGENCE, - NUM_STATS, // added for increase_stats() {dlb} - STAT_ALL, // must remain after NUM_STATS -- added to handle royal jelly, etc. {dlb} - STAT_RANDOM = 255 // leave at 255, added for increase_stats() handling {dlb} -}; - -enum statue_type -{ - STATUE_SILVER, - STATUE_ORANGE_CRYSTAL, - NUM_STATUE_TYPES -}; - -enum status_redraw_flag_type -{ - REDRAW_HUNGER = 0x00000001, - REDRAW_BURDEN = 0x00000002, - REDRAW_LINE_1_MASK = 0x00000003, - - REDRAW_PRAYER = 0x00000100, - REDRAW_REPEL_UNDEAD = 0x00000200, - REDRAW_BREATH = 0x00000400, - REDRAW_REPEL_MISSILES = 0x00000800, - REDRAW_REGENERATION = 0x00001000, - REDRAW_INSULATION = 0x00002000, - REDRAW_FLY = 0x00004000, - REDRAW_INVISIBILITY = 0x00008000, - REDRAW_LINE_2_MASK = 0x0000ff00, - - REDRAW_CONFUSION = 0x00010000, - REDRAW_POISONED = 0x00020000, - REDRAW_LIQUID_FLAMES = 0x00040000, - REDRAW_DISEASED = 0x00080000, - REDRAW_CONTAMINATED = 0x00100000, - REDRAW_SWIFTNESS = 0x00200000, - REDRAW_SPEED = 0x00400000, - REDRAW_LINE_3_MASK = 0x007f0000 -}; - -enum stave_type -{ - STAFF_WIZARDRY, // 0 - STAFF_POWER, - STAFF_FIRE, - STAFF_COLD, - STAFF_POISON, - STAFF_ENERGY, // 5 - STAFF_DEATH, - STAFF_CONJURATION, - STAFF_ENCHANTMENT, - STAFF_SUMMONING, - STAFF_SMITING, // 10 - STAFF_SPELL_SUMMONING, - STAFF_DESTRUCTION_I, - STAFF_DESTRUCTION_II, - STAFF_DESTRUCTION_III, - STAFF_DESTRUCTION_IV, // 15 - STAFF_WARDING, - STAFF_DISCOVERY, - STAFF_DEMONOLOGY, // 18 - STAFF_STRIKING, // 19 - STAFF_AIR = 25, // 25 - STAFF_EARTH, - STAFF_CHANNELING, - NUM_STAVES // must remain last member {dlb} -}; - -// beam[].type - note that this (and its variants) also accepts values from other enums - confusing {dlb} -enum zap_symbol_type -{ - SYM_SPACE = ' ', // 32 - SYM_FLASK = '!', // 33 - SYM_BOLT = '#', // 35 - SYM_CHUNK = '%', // 37 - SYM_OBJECT = '(', // 40 - actually used for books, but... {dlb} - SYM_WEAPON = ')', // 41 - SYM_ZAP = '*', // 42 - SYM_BURST = '+', // 43 - SYM_STICK = '/', // 47 - SYM_TRINKET = '=', // 61 - SYM_SCROLL = '?', // 63 - SYM_DEBUG = 'X', // 88 - SYM_ARMOUR = '[', // 91 - SYM_MISSILE = '`', // 96 - SYM_EXPLOSION = '#' -}; - -enum tag_type // used during save/load process to identify data blocks -{ - TAG_VERSION = 0, // should NEVER be read in! - TAG_YOU = 1, // 'you' structure - TAG_YOU_ITEMS, // your items - TAG_YOU_DUNGEON, // dungeon specs (stairs, branches, features) - TAG_LEVEL, // various grids & clouds - TAG_LEVEL_ITEMS, // items/traps - TAG_LEVEL_MONSTERS, // monsters - TAG_GHOST, // ghost - TAG_LEVEL_ATTITUDE, // monster attitudes - NUM_TAGS -}; - -enum tag_file_type // file types supported by tag system -{ - TAGTYPE_PLAYER=0, // Foo.sav - TAGTYPE_LEVEL, // Foo.00a, .01a, etc. - TAGTYPE_GHOST // bones.xxx -}; - - -enum transformation_type -{ - TRAN_NONE, // 0 - TRAN_SPIDER, - TRAN_BLADE_HANDS, - TRAN_STATUE, - TRAN_ICE_BEAST, - TRAN_DRAGON, // 5 - TRAN_LICH, - TRAN_SERPENT_OF_HELL, - TRAN_AIR, - NUM_TRANSFORMATIONS // must remain last member {dlb} -}; - -enum trap_type // env.trap_type[] -{ - TRAP_DART, // 0 - TRAP_ARROW, - TRAP_SPEAR, - TRAP_AXE, - TRAP_TELEPORT, - TRAP_AMNESIA, // 5 - TRAP_BLADE, - TRAP_BOLT, - TRAP_ZOT, - TRAP_NEEDLE, - NUM_TRAPS, // must remain last 'regular' member {dlb} - TRAP_UNASSIGNED = 100, // keep set at 100 for now {dlb} - TRAP_NONTELEPORT = 254, - TRAP_RANDOM = 255 // set at 255 to avoid potential conflicts {dlb} -}; - -enum unarmed_attack_type -{ - UNAT_NO_ATTACK, // 0 - UNAT_KICK, - UNAT_HEADBUTT, - UNAT_TAILSLAP, - UNAT_PUNCH -}; - -enum undead_state_type // you.is_undead -{ - US_ALIVE, // 0 - US_HUNGRY_DEAD, - US_UNDEAD -}; - -enum unique_item_status_type -{ - UNIQ_NOT_EXISTS = 0, - UNIQ_EXISTS = 1, - UNIQ_LOST_IN_ABYSS = 2 -}; - -// NOTE: THE ORDER AND VALUE OF THESE IS CURRENTLY VERY IMPORTANT! -enum vault_type -{ - VAULT_VAULT_1 = 0, - VAULT_VAULT_2 = 1, - VAULT_VAULT_3 = 2, - VAULT_VAULT_4 = 3, - VAULT_VAULT_5 = 4, - VAULT_VAULT_6 = 5, - VAULT_VAULT_7 = 6, - VAULT_VAULT_8 = 7, - VAULT_VAULT_9 = 8, - VAULT_VAULT_10 = 9, - VAULT_ORC_TEMPLE = 10, - VAULT_FARM_AND_COUNTRY = 11, - VAULT_FORT_YAKTAUR = 12, - VAULT_BOX_LEVEL = 13, - VAULT_MY_MAP = 14, - - VAULT_VESTIBULE_MAP = 50, - VAULT_CASTLE_DIS = 51, - VAULT_ASMODEUS = 52, - VAULT_ANTAEUS = 53, - VAULT_ERESHKIGAL = 54, - - VAULT_MNOLEG = 60, - VAULT_LOM_LOBON = 61, - VAULT_CEREBOV = 62, - VAULT_GLOORX_VLOQ = 63, - // VAULT_MOLLUSC = 64, - - VAULT_BEEHIVE = 80, - VAULT_SLIME_PIT = 81, - VAULT_BOTTOM_OF_VAULTS = 82, - VAULT_HALL_OF_BLADES = 83, - VAULT_HALL_OF_ZOT = 84, - VAULT_TEMPLE = 85, - VAULT_SNAKE_PIT = 86, - VAULT_ELF_HALL = 87, - VAULT_TOMB_1 = 88, - VAULT_TOMB_2 = 89, - VAULT_TOMB_3 = 90, - VAULT_SWAMP = 91, - - VAULT_RANDOM = 100, - - VAULT_MINIVAULT_1 = 200, - VAULT_MINIVAULT_2 = 201, - VAULT_MINIVAULT_3 = 202, - VAULT_MINIVAULT_4 = 203, - VAULT_MINIVAULT_5 = 204, - VAULT_MINIVAULT_6 = 205, - VAULT_MINIVAULT_7 = 206, - VAULT_MINIVAULT_8 = 207, - VAULT_MINIVAULT_9 = 208, - VAULT_MINIVAULT_10 = 209, - VAULT_MINIVAULT_11 = 210, - VAULT_MINIVAULT_12 = 211, - VAULT_MINIVAULT_13 = 212, - VAULT_MINIVAULT_14 = 213, - VAULT_MINIVAULT_15 = 214, - VAULT_MINIVAULT_16 = 215, - VAULT_MINIVAULT_17 = 216, - VAULT_MINIVAULT_18 = 217, - VAULT_MINIVAULT_19 = 218, - VAULT_MINIVAULT_20 = 219, - VAULT_MINIVAULT_21 = 220, - VAULT_MINIVAULT_22 = 221, - VAULT_MINIVAULT_23 = 222, - VAULT_MINIVAULT_24 = 223, - VAULT_MINIVAULT_25 = 224, - VAULT_MINIVAULT_26 = 225, - VAULT_MINIVAULT_27 = 226, - VAULT_MINIVAULT_28 = 227, - VAULT_MINIVAULT_29 = 228, - VAULT_MINIVAULT_30 = 229, - VAULT_MINIVAULT_31 = 230, - VAULT_MINIVAULT_32 = 231, - VAULT_MINIVAULT_33 = 232, - VAULT_MINIVAULT_34 = 233, - VAULT_MINIVAULT_35 = 234, - - VAULT_RAND_DEMON_1 = 300, - VAULT_RAND_DEMON_2 = 301, - VAULT_RAND_DEMON_3 = 302, - VAULT_RAND_DEMON_4 = 303, - VAULT_RAND_DEMON_5 = 304, - VAULT_RAND_DEMON_6 = 305, - VAULT_RAND_DEMON_7 = 306, - VAULT_RAND_DEMON_8 = 307, - VAULT_RAND_DEMON_9 = 308 -}; - -enum vorpal_damage_type -{ - // Types of damage a weapon can do... currently assuming that anything - // with BLUDGEON always does "AND" with any other specified types, - // and and sets not including BLUDGEON are "OR". - DAM_BASH = 0x0000, // non-melee weapon blugeoning - DAM_BLUDGEON = 0x0001, // crushing - DAM_SLICE = 0x0002, // slicing/chopping - DAM_PIERCE = 0x0004, // stabbing/piercing - DAM_WHIP = 0x0008, // whip slashing (no butcher) - - // These are used for vorpal weapon desc (don't set more than one) - DVORP_NONE = 0x0000, // used for non-melee weapons - DVORP_CRUSHING = 0x1000, - DVORP_SLICING = 0x2000, - DVORP_PIERCING = 0x3000, - DVORP_CHOPPING = 0x4000, // used for axes - DVORP_SLASHING = 0x5000, // used for whips - DVORP_STABBING = 0x6000, // used for knives/daggers - - // These are shortcuts to tie vorpal/damage types for easy setting... - // as above, setting more than one vorpal type is trouble. - DAMV_NON_MELEE = DVORP_NONE | DAM_BASH, // launchers - DAMV_CRUSHING = DVORP_CRUSHING | DAM_BLUDGEON, - DAMV_SLICING = DVORP_SLICING | DAM_SLICE, - DAMV_PIERCING = DVORP_PIERCING | DAM_PIERCE, - DAMV_CHOPPING = DVORP_CHOPPING | DAM_SLICE, - DAMV_SLASHING = DVORP_SLASHING | DAM_WHIP, - DAMV_STABBING = DVORP_STABBING | DAM_PIERCE, - - DAM_MASK = 0x0fff, // strips vorpal specification - DAMV_MASK = 0xf000 // strips non-vorpal specification -}; - -// NOTE: This order is very special! Its basically the same as ZAP_*, -// and there are bits of the code that still use that fact.. see zap_wand(). -enum wand_type // mitm[].subtype -{ - WAND_FLAME, // 0 - WAND_FROST, - WAND_SLOWING, - WAND_HASTING, - WAND_MAGIC_DARTS, - WAND_HEALING, // 5 - WAND_PARALYSIS, - WAND_FIRE, - WAND_COLD, - WAND_CONFUSION, - WAND_INVISIBILITY, // 10 - WAND_DIGGING, - WAND_FIREBALL, - WAND_TELEPORTATION, - WAND_LIGHTNING, - WAND_POLYMORPH_OTHER, // 15 - WAND_ENSLAVEMENT, - WAND_DRAINING, - WAND_RANDOM_EFFECTS, - WAND_DISINTEGRATION, - NUM_WANDS // must remain last member {dlb} -}; - -enum weapon_type -{ -// Base weapons - WPN_CLUB, // 0 - WPN_MACE, - WPN_FLAIL, - WPN_DAGGER, - WPN_MORNINGSTAR, - WPN_SHORT_SWORD, // 5 - WPN_LONG_SWORD, - WPN_GREAT_SWORD, - WPN_SCIMITAR, - WPN_HAND_AXE, - WPN_BATTLEAXE, // 10 - WPN_SPEAR, - WPN_HALBERD, - WPN_SLING, - WPN_BOW, - WPN_CROSSBOW, // 15 - WPN_HAND_CROSSBOW, - WPN_GLAIVE, - WPN_QUARTERSTAFF, -// these three not created ordinarily - WPN_SCYTHE, - WPN_GIANT_CLUB, // 20 - WPN_GIANT_SPIKED_CLUB, -// "rare" weapons - some have special cases and are uncommon - WPN_EVENINGSTAR, - WPN_QUICK_BLADE, - WPN_KATANA, - WPN_EXECUTIONERS_AXE, // 25 - WPN_DOUBLE_SWORD, - WPN_TRIPLE_SWORD, - WPN_HAMMER, - WPN_ANCUS, - WPN_WHIP, // 30 - WPN_SABRE, - WPN_DEMON_BLADE, - WPN_DEMON_WHIP, - WPN_DEMON_TRIDENT, - WPN_BROAD_AXE, // 35 -// base items (continued) - WPN_WAR_AXE, - WPN_TRIDENT, - WPN_SPIKED_FLAIL, - WPN_GREAT_MACE, - WPN_DIRE_FLAIL, // 40 - WPN_KNIFE, - WPN_BLOWGUN, - WPN_FALCHION, - WPN_BLESSED_BLADE, // 44 - WPN_LONGBOW, - WPN_LAJATANG, - WPN_LOCHABER_AXE, - - NUM_WEAPONS, // 48 - must be last regular member {dlb} - -// special cases - WPN_UNARMED = 500, // 500 - WPN_UNKNOWN = 1000, // 1000 - WPN_RANDOM -}; - -enum weapon_description_type -{ - DWPN_PLAIN = 0, // 0 - added to round out enum {dlb} - DWPN_RUNED = 1, // 1 - DWPN_GLOWING, - DWPN_ORCISH, - DWPN_ELVEN, - DWPN_DWARVEN // 5 -}; - -enum weapon_property_type -{ - PWPN_DAMAGE, // 0 - PWPN_HIT, - PWPN_SPEED -}; - -#ifdef WIZARD - -enum wizard_option_type -{ - WIZ_NEVER, // protect player from accidental wiz - WIZ_NO, // don't start character in wiz mode - WIZ_YES // start character in wiz mode -}; - -#endif - -enum zap_type -{ - ZAP_FLAME, // 0 - ZAP_FROST, - ZAP_SLOWING, - ZAP_HASTING, - ZAP_MAGIC_DARTS, - ZAP_HEALING, // 5 - ZAP_PARALYSIS, - ZAP_FIRE, - ZAP_COLD, - ZAP_CONFUSION, - ZAP_INVISIBILITY, // 10 - ZAP_DIGGING, - ZAP_FIREBALL, - ZAP_TELEPORTATION, - ZAP_LIGHTNING, - ZAP_POLYMORPH_OTHER, // 15 - ZAP_VENOM_BOLT, - ZAP_NEGATIVE_ENERGY, - ZAP_CRYSTAL_SPEAR, - ZAP_BEAM_OF_ENERGY, - ZAP_MYSTIC_BLAST, // 20 - ZAP_ENSLAVEMENT, - ZAP_PAIN, - ZAP_STICKY_FLAME, - ZAP_DISPEL_UNDEAD, - ZAP_CLEANSING_FLAME, // 25 - ZAP_BONE_SHARDS, - ZAP_BANISHMENT, - ZAP_DEGENERATION, - ZAP_STING, - ZAP_HELLFIRE, // 30 - ZAP_IRON_BOLT, - ZAP_STRIKING, - ZAP_STONE_ARROW, - ZAP_ELECTRICITY, - ZAP_ORB_OF_ELECTRICITY, // 35 - ZAP_SPIT_POISON, - ZAP_DEBUGGING_RAY, - ZAP_BREATHE_FIRE, - ZAP_BREATHE_FROST, - ZAP_BREATHE_ACID, // 40 - ZAP_BREATHE_POISON, - ZAP_BREATHE_POWER, - ZAP_ENSLAVE_UNDEAD, - ZAP_AGONY, - ZAP_DISRUPTION, // 45 - ZAP_DISINTEGRATION, // 46 - // ZAP_ISKS_CROSS, // 47: Isk's Cross -- commented out, deprecated {dlb} - ZAP_BREATHE_STEAM = 48, // 48 - ZAP_CONTROL_DEMON, - ZAP_ORB_OF_FRAGMENTATION, // 50 - ZAP_ICE_BOLT, - ZAP_ICE_STORM, - ZAP_BACKLIGHT, //jmf: added next bunch 19mar2000 - ZAP_SLEEP, - ZAP_FLAME_TONGUE, - ZAP_SANDBLAST, - ZAP_SMALL_SANDBLAST, - ZAP_MAGMA, - ZAP_POISON_ARROW, - ZAP_BREATHE_STICKY_FLAME, - ZAP_BREATHE_LIGHTNING, - ZAP_PETRIFY, - ZAP_HELLFROST, - NUM_ZAPS // must remain last member {dlb} -}; - -enum zombie_size_type -{ - Z_NOZOMBIE, - Z_SMALL, - Z_BIG -}; - -#endif // ENUM_H |