diff options
Diffstat (limited to 'src/monster_ego.hpp')
-rw-r--r-- | src/monster_ego.hpp | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/src/monster_ego.hpp b/src/monster_ego.hpp new file mode 100644 index 00000000..00464c2e --- /dev/null +++ b/src/monster_ego.hpp @@ -0,0 +1,81 @@ +#pragma once + +#include "h-basic.h" +#include "monster_blow.hpp" + +/** + * Monster ego descriptors. + */ +struct monster_ego +{ + const char *name; /* Name */ + bool_ before; /* Display ego before or after */ + + monster_blow blow[4]; /* Up to four blows per round */ + byte blowm[4][2]; + + s16b hdice; /* Creatures hit dice count */ + s16b hside; /* Creatures hit dice sides */ + + s16b ac; /* Armour Class */ + + s16b sleep; /* Inactive counter (base) */ + s16b aaf; /* Area affect radius (1-100) */ + s16b speed; /* Speed (normally 110) */ + + s32b mexp; /* Exp value for kill */ + + s32b weight; /* Weight of the monster */ + + byte freq_inate; /* Inate spell frequency */ + byte freq_spell; /* Other spell frequency */ + + /* Ego flags */ + u32b flags1; /* Flags 1 */ + u32b flags2; /* Flags 1 */ + u32b flags3; /* Flags 1 */ + u32b flags7; /* Flags 1 */ + u32b flags8; /* Flags 1 */ + u32b flags9; /* Flags 1 */ + u32b hflags1; /* Flags 1 */ + u32b hflags2; /* Flags 1 */ + u32b hflags3; /* Flags 1 */ + u32b hflags7; /* Flags 1 */ + u32b hflags8; /* Flags 1 */ + u32b hflags9; /* Flags 1 */ + + /* Monster flags */ + u32b mflags1; /* Flags 1 (general) */ + u32b mflags2; /* Flags 2 (abilities) */ + u32b mflags3; /* Flags 3 (race/resist) */ + u32b mflags4; /* Flags 4 (inate/breath) */ + u32b mflags5; /* Flags 5 (normal spells) */ + u32b mflags6; /* Flags 6 (special spells) */ + u32b mflags7; /* Flags 7 (movement related abilities) */ + u32b mflags8; /* Flags 8 (wilderness info) */ + u32b mflags9; /* Flags 9 (drops info) */ + + /* Negative Flags, to be removed from the monster flags */ + u32b nflags1; /* Flags 1 (general) */ + u32b nflags2; /* Flags 2 (abilities) */ + u32b nflags3; /* Flags 3 (race/resist) */ + u32b nflags4; /* Flags 4 (inate/breath) */ + u32b nflags5; /* Flags 5 (normal spells) */ + u32b nflags6; /* Flags 6 (special spells) */ + u32b nflags7; /* Flags 7 (movement related abilities) */ + u32b nflags8; /* Flags 8 (wilderness info) */ + u32b nflags9; /* Flags 9 (drops info) */ + + s16b level; /* Level of creature */ + s16b rarity; /* Rarity of creature */ + + + byte d_attr; /* Default monster attribute */ + char d_char; /* Default monster character */ + + byte g_attr; /* Overlay graphic attribute */ + char g_char; /* Overlay graphic character */ + + char r_char[5]; /* Monster race allowed */ + char nr_char[5]; /* Monster race not allowed */ +}; |