OSDN Git Service

fix #37913
[jnethack/source.git] / include / botl.h
1 /* NetHack 3.6  botl.h  $NHDT-Date: 1433105378 2015/05/31 20:49:38 $  $NHDT-Branch: status_hilite $:$NHDT-Revision: 1.14 $ */
2 /* Copyright (c) Michael Allison, 2003                            */
3 /* NetHack may be freely redistributed.  See license for details. */
4
5 #ifndef BOTL_H
6 #define BOTL_H
7
8 /* MAXCO must hold longest uncompressed status line, and must be larger
9  * than COLNO
10  *
11  * longest practical second status line at the moment is
12  *      Astral Plane $:12345 HP:700(700) Pw:111(111) AC:-127 Xp:30/123456789
13  *      T:123456 Satiated Conf FoodPois Ill Blind Stun Hallu Overloaded
14  * -- or somewhat over 130 characters
15  */
16 #if COLNO <= 140
17 #define MAXCO 160
18 #else
19 #define MAXCO (COLNO + 20)
20 #endif
21
22 #ifdef STATUS_VIA_WINDOWPORT
23 #if 0
24 /* clang-format off */
25 #define BL_FLUSH        -1
26 #define BL_TITLE        0
27 #define BL_STR          1
28 #define BL_DX           2
29 #define BL_CO           3
30 #define BL_IN           4
31 #define BL_WI           5
32 #define BL_CH           6
33 #define BL_ALIGN        7
34 #define BL_SCORE        8
35 #define BL_CAP          9
36 #define BL_GOLD         10
37 #define BL_ENE          11
38 #define BL_ENEMAX       12
39 #define BL_XP           13
40 #define BL_AC           14
41 #define BL_HD           15
42 #define BL_TIME         16
43 #define BL_HUNGER       17
44 #define BL_HP           18
45 #define BL_HPMAX        19
46 #define BL_LEVELDESC    20
47 #define BL_EXP          21
48 #define BL_CONDITION    22
49 /* clang-format on */
50
51 #else
52 enum statusfields { BL_FLUSH = -1, BL_TITLE = 0, BL_STR, BL_DX, BL_CO, BL_IN,
53 BL_WI, BL_CH, BL_ALIGN, BL_SCORE, BL_CAP, BL_GOLD, BL_ENE, BL_ENEMAX,
54 BL_XP, BL_AC, BL_HD, BL_TIME, BL_HUNGER, BL_HP, BL_HPMAX, BL_LEVELDESC,
55 BL_EXP, BL_CONDITION };
56 #define MAXBLSTATS      BL_CONDITION+1
57
58 #define BEFORE  0
59 #define NOW     1
60 #endif
61
62 /* Boolean condition bits for the condition mask */
63
64 /* clang-format off */
65 #define BL_MASK_BLIND           0x00000001L
66 #define BL_MASK_CONF            0x00000002L
67 #define BL_MASK_FOODPOIS        0x00000004L
68 #define BL_MASK_ILL             0x00000008L
69 #define BL_MASK_HALLU           0x00000010L
70 #define BL_MASK_STUNNED         0x00000020L
71 #define BL_MASK_SLIMED          0x00000040L
72 /* clang-format on */
73
74 #define REASSESS_ONLY TRUE
75
76 #ifdef STATUS_HILITES
77 /* hilite status field behavior - coloridx values */
78 #define BL_HILITE_NONE -1    /* no hilite of this field */
79 #define BL_HILITE_INVERSE -2 /* inverse hilite */
80 #define BL_HILITE_BOLD -3    /* bold hilite */
81                              /* or any CLR_ index (0 - 15) */
82 #define BL_TH_NONE 0
83 #define BL_TH_VAL_PERCENTAGE 100 /* threshold is percentage */
84 #define BL_TH_VAL_ABSOLUTE 101   /* threshold is particular value */
85 #define BL_TH_UPDOWN 102         /* threshold is up or down change */
86 #define BL_TH_CONDITION 103      /* threshold is bitmask of conditions */
87 #endif
88
89 extern const char *status_fieldnames[]; /* in botl.c */
90 #endif
91
92 #endif /* BOTL_H */