1 #pragma once 2 3 #include "enum.h" 4 5 enum band_type 6 { 7 BAND_NO_BAND = 0, 8 BAND_KOBOLDS, 9 BAND_ORCS, 10 BAND_ORC_WARRIOR, 11 BAND_ORC_KNIGHT, 12 BAND_ORC_WARLORD, 13 BAND_KILLER_BEES, 14 BAND_CAUSTIC_SHRIKE, 15 BAND_SHARD_SHRIKE, 16 BAND_FLYING_SKULLS, 17 BAND_SLIME_CREATURES, 18 BAND_YAKS, 19 BAND_UGLY_THINGS, 20 BAND_VERY_UGLY_THINGS, 21 BAND_HELL_HOUNDS, 22 BAND_JACKALS, 23 BAND_HELL_KNIGHTS, 24 BAND_GNOLLS, 25 BAND_WIGHTS, 26 BAND_CENTAURS, 27 BAND_CENTAUR_WARRIORS, 28 BAND_YAKTAURS, 29 BAND_OGRE_MAGE, 30 BAND_OGRE_MAGE_EXTERN, 31 BAND_DEATH_YAKS, 32 BAND_NECROMANCER, 33 BAND_BALRUG, 34 BAND_CACODEMON, 35 BAND_EXECUTIONER, 36 BAND_HELLWING, 37 BAND_DEEP_ELF_KNIGHT, 38 BAND_DEEP_ELF_HIGH_PRIEST, 39 BAND_KOBOLD_DEMONOLOGIST, 40 BAND_NAGAS, 41 BAND_GUARDIAN_SERPENT, 42 BAND_WOLVES, 43 BAND_GREEN_RATS, 44 BAND_HELL_RATS, 45 BAND_DREAM_SHEEP, 46 BAND_GHOULS, 47 BAND_DEEP_TROLLS, 48 BAND_DEEP_TROLL_SHAMAN, 49 BAND_HOGS, 50 BAND_HELL_HOGS, 51 BAND_VAMPIRE_MOSQUITOES, 52 BAND_FIRE_BATS, 53 BAND_BOGGARTS, 54 BAND_BLINK_FROGS, 55 BAND_SKELETAL_WARRIORS, 56 BAND_DRACONIAN, 57 BAND_PANDEMONIUM_LORD, 58 BAND_HARPIES, 59 BAND_ILSUIW, 60 BAND_AZRAEL, 61 BAND_DUVESSA, 62 BAND_KHUFU, 63 BAND_GOLDEN_EYE, 64 BAND_PIKEL, 65 BAND_MERFOLK_AQUAMANCER, 66 BAND_MERFOLK_IMPALER, 67 BAND_MERFOLK_JAVELINEER, 68 BAND_ALLIGATOR, 69 BAND_ELEPHANT, 70 BAND_REDBACK, 71 BAND_JUMPING_SPIDER, 72 BAND_TARANTELLA, 73 BAND_POLYPHEMUS, 74 BAND_VAULT_WARDEN, 75 BAND_DEATH_KNIGHT, 76 BAND_JIANGSHI, 77 BAND_FAUNS, 78 BAND_TENGU, 79 BAND_SOJOBO, 80 BAND_SPRIGGANS, 81 BAND_SPRIGGAN_ELITES, 82 BAND_ENCHANTRESS, 83 BAND_SPRIGGAN_DRUID, 84 BAND_SPRIGGAN_RIDERS, 85 BAND_PHANTASMAL_WARRIORS, 86 BAND_THRASHING_HORRORS, 87 BAND_RAIJU, 88 BAND_FAUN_PARTY, 89 BAND_NAGA_RITUALIST, 90 BAND_NAGA_SHARPSHOOTER, 91 BAND_SALAMANDERS, 92 BAND_SALAMANDER_ELITES, 93 BAND_MONSTROUS_DEMONSPAWN, 94 BAND_GELID_DEMONSPAWN, 95 BAND_INFERNAL_DEMONSPAWN, 96 BAND_TORTUROUS_DEMONSPAWN, 97 BAND_BLOOD_SAINT, 98 BAND_WARMONGER, 99 BAND_CORRUPTER, 100 BAND_BLACK_SUN, 101 BAND_VASHNIA, 102 BAND_CEREBOV, 103 BAND_GLOORX_VLOQ, 104 BAND_LOM_LOBON, 105 BAND_MNOLEG, 106 BAND_DEATH_SCARABS, 107 BAND_HOLIES, 108 BAND_ROBIN, 109 BAND_SPARK_WASPS, 110 BAND_RANDOM_SINGLE, 111 BAND_JOSEPHINE, 112 BAND_HOWLER_MONKEY, 113 BAND_MELIAI, 114 BAND_ANCIENT_CHAMPIONS, 115 BAND_SALTLINGS, 116 BAND_DANCING_WEAPONS, 117 BAND_MOLTEN_GARGOYLES, 118 BAND_GOLEMS, 119 BAND_LINDWURMS, 120 BAND_DIRE_ELEPHANTS, 121 NUM_BANDS // always last 122 }; 123 124 enum dragon_class_type 125 { 126 DRAGON_LIZARD, 127 DRAGON_DRACONIAN, 128 DRAGON_DRAGON, 129 }; 130 131 enum proximity_type // proximity to player to create monster 132 { 133 PROX_ANYWHERE, 134 PROX_CLOSE_TO_PLAYER, 135 PROX_AWAY_FROM_PLAYER, 136 PROX_AWAY_FROM_STAIRS, 137 PROX_AWAY_FROM_ENTRANCE, 138 }; 139 140 enum mgen_flag 141 { 142 MG_NONE = 0x000, 143 MG_PERMIT_BANDS = 0x001, ///< allow placing band members too 144 MG_FORCE_PLACE = 0x002, 145 MG_FORCE_BEH = 0x004, 146 MG_AUTOFOE = 0x008, ///< will automatically choose in-sight foe (if friendly) 147 MG_PATROLLING = 0x010, 148 MG_BAND_MINION = 0x020, 149 MG_DONT_COME = 0x040, ///< suppress the "comes into view" spam 150 MG_DONT_CAP = 0x080, ///< don't automatically apply the summon cap to this monster 151 MG_FORBID_BANDS = 0x100, ///< override MG_PERMIT_BANDS 152 MG_NO_OOD = 0x200, ///< don't choose out-of-depth random monsters 153 }; 154 DEF_BITFIELD(mgen_flags, mgen_flag); 155