22 #ifndef MM1_DATA_MONSTERS_H 23 #define MM1_DATA_MONSTERS_H 25 #include "mm/mm1/gfx/dta.h" 26 #include "mm/mm1/data/text_parser.h" 27 #include "common/str.h" 28 #include "graphics/managed_surface.h" 33 #define MONSTERS_COUNT 195 36 MON_PARALYZED = 0, MON_WEBBED = 1, MON_HELD = 2,
37 MON_ASLEEP = 3, MON_MINDLESS = 4, MON_SILENCED = 5,
38 MON_BLINDED = 6, MON_AFRAID = 7, MON_DEAD = 8
40 enum MonsterStatusFlag {
41 MONFLAG_AFRAID = 1, MONFLAG_BLIND = 2, MONFLAG_SILENCED = 4,
42 MONFLAG_MINDLESS = 8, MONFLAG_ASLEEP = 0x10,
43 MONFLAG_HELD = 0x20, MONFLAG_WEBBED = 0x40,
44 MONFLAG_PARALYZED = 0x80, MONFLAG_DEAD = 0xff
52 enum MonsterResistUndead {
53 MAGIC_RESISTANCE = 0x7f,
57 enum MonsterBonusOnTouch {
58 TOUCH_BONUS_VALUE = 0x7f,
62 enum MonsterResistances {
63 MONRES_ASLEEP = 1, MONRES_FEAR = 2, MONRES_PARALYSIS = 4,
64 MONRES_ENERGY = 8, MONRES_COLD = 0x10,
65 MONRES_ELECTRICITY = 0x20, MONRES_FIRE = 0x40,
66 MONRES_PHYSICAL_ATTACK = 0x80,
69 enum MonsterSpecialAbility {
70 HAS_RANGED_ATTACK = 0x80,
76 COUNTER_THRESHOLD1 = 0x10, COUNTER_THRESHOLD2 = 0x20,
77 COUNTER_REGENERATE = 0x40, COUNTER_ADVANCES = 0x80
87 byte _numberOfAttacks;
95 byte _specialThreshold;
101 bool _checked =
false;
113 Monster _monsters[MONSTERS_COUNT];
127 assert(i >= 1 && i <= MONSTERS_COUNT);
128 return _monsters[i - 1];
Definition: managed_surface.h:51
Definition: text_parser.h:33
const Monster & operator[](uint i)
Definition: monsters.h:126
Definition: monsters.h:111
Definition: detection.h:27
Definition: monsters.h:80