blob: b578d03e92a127e468830b89b4cd09136a37dce1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
#pragma once
#include "h-basic.h"
#include "monster_blow.hpp"
#include "monster_race_flag_set.hpp"
#include "monster_spell_flag_set.hpp"
#include <array>
/**
* Monster ego descriptors.
*/
struct monster_ego
{
const char *name = nullptr; /* Name */
bool_ before = false; /* Display ego before or after */
std::array<monster_blow, 4> blow { }; /* Up to four blows per round */
byte blowm[4][2] = {
{ 0, 0 },
{ 0, 0 },
{ 0, 0 },
{ 0, 0 }
};
s16b hdice = 0; /* Creatures hit dice count */
s16b hside = 0; /* Creatures hit dice sides */
s16b ac = 0; /* Armour Class */
s16b sleep = 0; /* Inactive counter (base) */
s16b aaf = 0; /* Area affect radius (1-100) */
s16b speed = 0; /* Speed (normally 110) */
s32b mexp = 0; /* Exp value for kill */
s32b weight = 0; /* Weight of the monster */
byte freq_inate = 0; /* Inate spell frequency */
byte freq_spell = 0; /* Other spell frequency */
/* Ego flags */
monster_race_flag_set flags;
monster_race_flag_set hflags;
/* Monster flags */
monster_race_flag_set mflags;
/* Monster spells */
monster_spell_flag_set mspells;
/* Negative flags, to be removed from the monster flags */
monster_race_flag_set nflags;
/* Negative spells; to be removed from the monster spells */
monster_spell_flag_set nspells;
s16b level = 0; /* Level of creature */
s16b rarity = 0; /* Rarity of creature */
byte d_attr = 0; /* Default monster attribute */
char d_char = '\0'; /* Default monster character */
byte g_attr = 0; /* Overlay graphic attribute */
char g_char = '\0'; /* Overlay graphic character */
char r_char[5] = { '\0' }; /* Monster race allowed */
char nr_char[5] = { '\0' }; /* Monster race not allowed */
};
|