1 /** 2 * @file 3 * @brief Mutant beast-related enums & values, plus small util functions. 4 **/ 5 6 #pragma once 7 8 #include "god-type.h" 9 10 #define MUTANT_BEAST_TIER "mutant_beast_tier" 11 #define MUTANT_BEAST_FACETS "mutant_beast_facets" 12 13 /// types of mutant beast (MONS_MUTANT_BEAST) 14 enum beast_facet 15 { 16 BF_NONE, 17 BF_STING, 18 BF_FIRST = BF_STING, 19 BF_BAT, 20 BF_FIRE, 21 BF_WEIRD, 22 BF_SHOCK, 23 BF_OX, 24 BF_LAST = BF_OX, 25 NUM_BEAST_FACETS, 26 }; 27 28 /// tiers of mutant beast (correspond to HD) 29 enum beast_tier 30 { 31 BT_NONE, 32 BT_LARVAL, 33 BT_FIRST = BT_LARVAL, 34 BT_JUVENILE, 35 BT_MATURE, 36 BT_ELDER, 37 BT_PRIMAL, 38 NUM_BEAST_TIERS, 39 }; 40 41 /// HD of mutant beast tiers 42 const short beast_tiers[] = { 0, 3, 9, 15, 21, 27, }; 43 COMPILE_CHECK(ARRAYSZ(beast_tiers) == NUM_BEAST_TIERS); 44 45 /// names of beast facets 46 const string mutant_beast_facet_names[] = { 47 "buggy", "sting", "bat", "fire", "weird", "shock", "ox", 48 }; 49 COMPILE_CHECK(ARRAYSZ(mutant_beast_facet_names) == NUM_BEAST_FACETS); 50 51 /// names of beast tiers 52 const char* const mutant_beast_tier_names[] = { 53 "buggy", "larval", "juvenile", "mature", "elder", "primal", 54 }; 55 COMPILE_CHECK(ARRAYSZ(mutant_beast_tier_names) == NUM_BEAST_TIERS); 56