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
|
/**
* @file
* @brief Collects information for output of status effects.
**/
#ifndef STATUS_H
#define STATUS_H
enum status_type
{
STATUS_AIRBORNE = NUM_DURATIONS + 1,
STATUS_BEHELD,
STATUS_CONTAMINATION,
STATUS_NET,
STATUS_HUNGER,
STATUS_REGENERATION,
STATUS_ROT,
STATUS_DIG,
STATUS_SICK,
STATUS_SPEED,
STATUS_STR_ZERO,
STATUS_INT_ZERO,
STATUS_DEX_ZERO,
STATUS_FIREBALL,
STATUS_BACKLIT,
STATUS_UMBRA,
STATUS_CONSTRICTED,
STATUS_MANUAL,
STATUS_AUGMENTED,
STATUS_TERRAIN,
STATUS_SILENCE,
STATUS_MISSILES,
STATUS_NO_CTELE,
STATUS_BEOGH,
STATUS_RECALL,
STATUS_LIQUEFIED,
STATUS_DRAINED,
STATUS_RAY,
STATUS_ELIXIR,
STATUS_INVISIBLE,
STATUS_MAGIC_SAPPED,
#if TAG_MAJOR_VERSION == 34
STATUS_GOLDEN,
#endif
STATUS_BRIBE,
STATUS_LAST_STATUS = STATUS_BRIBE
};
struct status_info
{
int light_colour;
string light_text; // status light
string short_text; // @: line
string long_text; // @ message
};
// status should be a duration or status_type
// *info will be filled in as appropriate for current
// character state
// returns true if the status has a description
bool fill_status_info(int status, status_info* info);
const char *duration_name(duration_type dur);
void init_duration_index();
#endif
|