1 /* 2 This file is part of "Avanor, the Land of Mystery" roguelike game 3 Home page: http://www.avanor.com/ 4 Copyright (C) 2000-2003 Vadim Gaidukevich 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2 of the License, or 9 (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program; if not, write to the Free Software 18 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 19 */ 20 21 #ifndef __CR_DEFS_H 22 #define __CR_DEFS_H 23 24 enum CREATURE_CLASS 25 { 26 CR_NONE = 0x00000000, 27 CR_RAT = 0x00000001, 28 CR_FELINE = 0x00000002, 29 CR_CANINE = 0x00000004, 30 CR_REPTILE = 0x00000008, 31 CR_INSECT = 0x00000010, 32 CR_HUMAN = 0x00000020, 33 CR_ORC = 0x00000040, 34 CR_GIANT = 0x00000080, 35 CR_KOBOLD = 0x00000100, 36 CR_UNDEAD = 0x00000200, 37 CR_GOBLIN = 0x00000400, 38 CR_DEMON = 0x00000800, 39 CR_HUMANOID = 0x00001000, 40 CR_BLOB = 0x00002000, //warm mass, ooze 41 CR_OTHER = 0x00004000, 42 CR_ALL = CR_HUMAN| CR_INSECT | CR_KOBOLD | CR_UNDEAD | CR_GOBLIN | CR_REPTILE | CR_FELINE | CR_RAT | CR_CANINE | CR_HUMANOID, 43 CR_ALL_IMPL = CR_RAT | CR_FELINE | CR_CANINE | CR_REPTILE | CR_KOBOLD | CR_INSECT | CR_GOBLIN | CR_UNDEAD, 44 }; 45 46 47 enum CREATURE_NAME 48 { 49 CN_NONE = 0, 50 51 //CR_RAT 52 CN_RAT, 53 CN_LARGE_RAT, 54 CN_BLACK_RAT, 55 CN_HUGE_RAT, 56 57 CN_BAT, 58 CN_HUGE_BAT, 59 60 61 //CR_FELINE 62 CN_CAT, 63 CN_WILD_CAT, 64 65 //CR_CANINE 66 CN_DOG, 67 CN_LARGE_DOG, 68 CN_RABID_DOG, 69 CN_WOLF, 70 CN_LARGE_WOLF, 71 CN_WEREWOLF, 72 73 //CR_REPTILE 74 CN_SMALL_SNAKE, 75 CN_GRAY_SNAKE, 76 CN_BROWN_SNAKE, 77 CN_SALAMANDER, 78 CN_LARGE_SNAKE, 79 CN_COBRA, 80 CN_KING_COBRA, 81 CN_RATTLESNAKE, 82 83 //CR_INSECT 84 CN_SPIDER, 85 CN_GIANT_SPIDER, 86 CN_TARANTULA, 87 CN_SCORPION, 88 CN_BLACK_SCORPION, 89 CN_PINK_SCORPION, 90 91 CN_FIRE_BEETLE, 92 CN_FROST_BEETLE, 93 CN_GREEN_BEETLE, 94 CN_KILLER_BEETLE, 95 CN_DEATH_BEETLE, 96 97 CN_GIANT_BEE, 98 CN_GIANT_WASP, 99 CN_GIANT_HORNET, 100 101 CN_CENTIPEDE, 102 CN_STEGOCENTIPEDE, 103 104 CN_DUNGEON_CRAWLER, 105 CN_GIANT_CRAWLER, 106 CN_CARRION_CRAWLER, 107 108 //CR_HUMAN 109 CN_FARMER, 110 CN_GOODWIFE, 111 CN_CITIZEN, 112 CN_FCITIZEN, 113 CN_CHILD, 114 CN_WARRIOR, 115 CN_GUARD, 116 CN_ROYAL_GUARD, 117 CN_DEATH_KNIGHT, 118 119 //CR_ORC 120 CN_ORC, 121 CN_LARGE_ORC, 122 CN_HILL_ORC, 123 CN_DARK_ORC, 124 CN_SERGEANT_ORC, 125 CN_LIEUTENANT_ORC, 126 CN_CAPTAIN_ORC, 127 CN_CHIEFTAIN_ORC, 128 129 //CR_GIANT 130 CN_OGRE, 131 CN_BLACK_OGRE, 132 CN_GIANT, 133 CN_FROST_GIANT, 134 CN_FIRE_GIANT, 135 CN_CYCLOPE, 136 CN_TITAN, 137 138 //CR_KOBOLD 139 CN_KOBOLD, 140 CN_LARGE_KOBOLD, 141 CN_CHIEFTAIN_KOBOLD, 142 CN_SHAMAN_KOBOLD, 143 CN_GNOLL, 144 CN_GNOLL_WARMASTER, 145 146 //CR_UNDEAD 147 CN_SKELETON, 148 CN_ZOMBIE, 149 CN_GHOUL, 150 CN_GHOST, 151 CN_SPECTRE, 152 CN_DREAD, 153 CN_VAMPIRE, 154 CN_LICH, 155 156 //CR_GOBLIN 157 CN_GOBLIN, 158 CN_GOBLIN_WARRIOR, 159 CN_GOBLIN_WARMASTER, 160 CN_GOBLIN_CHIEFTAIN, 161 162 //CR_HUMANOIDS 163 CN_DWARF, 164 CN_DWARF_GUARD, 165 166 //CR_BLOBS 167 CN_GRAY_OOZE, 168 CN_WHITE_OOZE, 169 CN_GELATINOUS_CUBE, 170 171 //UNIQUE 172 CN_UNIQUE, 173 174 CN_ELDER_GRIDOR, 175 CN_BANDIT, 176 CN_SHOPKEEPER, 177 CN_AHKULAN, 178 CN_GEFEON, 179 CN_OZORIK, 180 CN_RODERIK, 181 CN_GEKTA, 182 CN_TODIN, 183 CN_TORIN, 184 CN_JORGUS, 185 CN_BEELZEVILE, 186 CN_YOHJISHIRO, 187 CN_XSHEE_VOO, 188 CN_MAGNUSH, 189 CN_HIGHPRIEST, 190 CN_EOF 191 }; 192 193 194 195 enum CREATURE_LEVEL { 196 CRL_VERY_LOW = 0x0001, 197 CRL_LOW = 0x0002, 198 CRL_ABOVE_LOW = 0x0004, 199 CRL_AVG = 0x0008, 200 CRL_ABOVE_AVG = 0x0010, 201 CRL_HI = 0x0020, 202 CRL_ABOVE_HI = 0x0040, 203 CRL_VERY_HI = 0x0080, 204 CRL_EXTREM_HI = 0x0100, 205 CRL_UNIQUE = 0x0200, 206 CRL_ANY = CRL_VERY_LOW | CRL_LOW | CRL_AVG | CRL_HI | CRL_VERY_HI, 207 CRL_VL = CRL_VERY_LOW | CRL_LOW, 208 CRL_LA = CRL_LOW | CRL_AVG, 209 CRL_AH = CRL_AVG | CRL_HI, 210 CRL_HVH = CRL_HI | CRL_VERY_HI 211 }; 212 213 enum CREATURE_EXP { 214 CRE_NONE = 0x0001, 215 CRE_LOW = 0x0002, //1-8 216 CRE_AVG = 0x0004, //8-16 217 CRE_HI = 0x0008, //16 - 24 218 CRE_ANY = CRE_LOW | CRE_AVG | CRE_HI 219 }; 220 221 222 enum CARRY_STATE { 223 CSTATE_NORMAL = 0x001, //the normal carryng 224 CSTATE_BURDENED = 0x002, 225 CSTATE_STRAINED = 0x003, 226 CSTATE_OVERBURDEN = 0x004, 227 CSTATE_DIE = 0x005, 228 }; 229 230 231 enum GROUP_ID 232 { 233 GID_NONE = 0, 234 GID_ORCS_WARPARTY, 235 GID_FOREST_BROTHER, 236 GID_GUARDIAN, 237 GID_SMALL_VILLAGE_FARMER, 238 GID_TOWNEE_1, 239 GID_DWARVEN_GUARDIAN, 240 GID_AHKULAN_GUARDIAN, 241 GID_RODERICK_GUARDIAN, 242 GID_RANDOM_GUARDIAN, 243 244 }; 245 246 enum CREATURE_SIZE 247 { 248 CS_VERY_SMALL = 1, //insects like, rats, bats 249 CS_SMALL = 2, //kobold, hobbit like 250 CS_NORMAL = 3, //human like 251 CS_LARGE = 4, //TROLL 252 CS_VERY_LARGE = 5, //Titan, dragon 253 }; 254 255 enum FOOD_FEELING 256 { 257 FF_TOLERANT, 258 FF_NORMAL, 259 FF_SENSETIVE, 260 }; 261 262 enum CR_GENDER 263 { 264 GEN_NEUTER = 0x00, 265 GEN_MALE = 0x01, 266 GEN_FEMALE = 0x02, 267 268 // TODO: Write code to pick a random gender if male & female flags on. 269 GEN_RANDOM = (GEN_FEMALE | GEN_MALE) 270 }; 271 272 enum CR_PERSON_TYPE 273 { 274 CPT_IT = GEN_NEUTER, // It 275 CPT_HE = GEN_MALE, // He 276 CPT_SHE = GEN_FEMALE, // She 277 278 // Default you 279 CPT_YOU = 0x08, 280 281 // Genderized you 282 CPT_MALE_YOU = (CPT_HE | CPT_YOU), 283 CPT_FEMALE_YOU = (CPT_SHE | CPT_YOU), 284 285 // Unique creatures 286 CPT_UNIQUE = 0x10, 287 288 // Backward compatibility 289 CPT_NAMED_HE = (CPT_HE | CPT_UNIQUE), // Munch-Munch the Dread 290 CPT_NAMED_SHE = (CPT_SHE | CPT_UNIQUE), // Yohjishiro, the elven wizard 291 CPT_NAMED_IT = (CPT_IT | CPT_UNIQUE) // Gekta, the sheep dog 292 }; 293 294 enum CR_ATTACK_TYPE 295 { 296 CRAT_MELEE_ONLY, 297 CRAT_BOTH 298 }; 299 300 301 302 303 #endif 304