1 /**
2  * @file objdat.cpp
3  *
4  * Implementation of all object data.
5  */
6 #include "all.h"
7 
8 DEVILUTION_BEGIN_NAMESPACE
9 
10 /** Maps from dun_object_id to object_id. */
11 const int ObjTypeConv[] = {
12 	0,
13 	OBJ_LEVER,
14 	OBJ_CRUX1,
15 	OBJ_CRUX2,
16 	OBJ_CRUX3,
17 	OBJ_ANGEL,
18 	OBJ_BANNERL,
19 	OBJ_BANNERM,
20 	OBJ_BANNERR,
21 	0,
22 	0,
23 	0,
24 	0,
25 	0,
26 	OBJ_BOOK2L,
27 	OBJ_BOOK2R,
28 	OBJ_BCROSS,
29 	0,
30 	OBJ_CANDLE1,
31 	OBJ_CANDLE2,
32 	OBJ_CANDLEO,
33 	OBJ_CAULDRON,
34 	0,
35 	0,
36 	0,
37 	0,
38 	0,
39 	0,
40 	0,
41 	0,
42 	OBJ_FLAMEHOLE,
43 	0,
44 	0,
45 	0,
46 	0,
47 	0,
48 	OBJ_MCIRCLE1,
49 	OBJ_MCIRCLE2,
50 	OBJ_SKFIRE,
51 	OBJ_SKPILE,
52 	OBJ_SKSTICK1,
53 	OBJ_SKSTICK2,
54 	OBJ_SKSTICK3,
55 	OBJ_SKSTICK4,
56 	OBJ_SKSTICK5,
57 	0,
58 	0,
59 	0,
60 	0,
61 	0,
62 	0,
63 	OBJ_SWITCHSKL,
64 	0,
65 	OBJ_TRAPL,
66 	OBJ_TRAPR,
67 	OBJ_TORTURE1,
68 	OBJ_TORTURE2,
69 	OBJ_TORTURE3,
70 	OBJ_TORTURE4,
71 	OBJ_TORTURE5,
72 	0,
73 	0,
74 	0,
75 	0,
76 	0,
77 	OBJ_NUDEW2R,
78 	0,
79 	0,
80 	0,
81 	0,
82 	OBJ_TNUDEM1,
83 	OBJ_TNUDEM2,
84 	OBJ_TNUDEM3,
85 	OBJ_TNUDEM4,
86 	OBJ_TNUDEW1,
87 	OBJ_TNUDEW2,
88 	OBJ_TNUDEW3,
89 	OBJ_CHEST1,
90 	OBJ_CHEST1,
91 	OBJ_CHEST1,
92 	OBJ_CHEST2,
93 	OBJ_CHEST2,
94 	OBJ_CHEST2,
95 	OBJ_CHEST3,
96 	OBJ_CHEST3,
97 	OBJ_CHEST3,
98 	0,
99 	0,
100 	0,
101 	0,
102 	0,
103 	OBJ_PEDISTAL,
104 	0,
105 	0,
106 	0,
107 	0,
108 	0,
109 	0,
110 	0,
111 	0,
112 	0,
113 	0,
114 	0,
115 	0,
116 	0,
117 	OBJ_ALTBOY,
118 	0,
119 	0,
120 	OBJ_WARARMOR,
121 	OBJ_WARWEAP,
122 	OBJ_TORCHR2,
123 	OBJ_TORCHL2,
124 	OBJ_MUSHPATCH,
125 	OBJ_STAND,
126 	OBJ_TORCHL,
127 	OBJ_TORCHR,
128 	OBJ_FLAMELVR,
129 	OBJ_SARC,
130 	OBJ_BARREL,
131 	OBJ_BARRELEX,
132 	OBJ_BOOKSHELF,
133 	OBJ_BOOKCASEL,
134 	OBJ_BOOKCASER,
135 	OBJ_ARMORSTANDN,
136 	OBJ_WEAPONRACKN,
137 	OBJ_BLOODFTN,
138 	OBJ_PURIFYINGFTN,
139 	OBJ_SHRINEL,
140 	OBJ_SHRINER,
141 	OBJ_GOATSHRINE,
142 	OBJ_MURKYFTN,
143 	OBJ_TEARFTN,
144 	OBJ_DECAP,
145 	OBJ_TCHEST1,
146 	OBJ_TCHEST2,
147 	OBJ_TCHEST3,
148 	OBJ_LAZSTAND,
149 	OBJ_BOOKSTAND,
150 	OBJ_BOOKSHELFR,
151 };
152 
153 /** Contains the data related to each object ID. */
154 const ObjDataStruct AllObjects[] = {
155 	// clang-format off
156 	// oload, ofindex,   ominlvl, omaxlvl, olvltype,        otheme,                  oquest,     oAnimFlag, oAnimDelay, oAnimLen, oAnimWidth, oSolidFlag, oMissFlag, oLightFlag, oBreak, oSelFlag, oTrapFlag
157 	{      1, OFILE_L1BRAZ,    1,       4, DTYPE_CATHEDRAL, THEME_NONE,              -1,                 1,          1,       26,         64, TRUE,       TRUE,      FALSE,           0,        0, FALSE     },
158 	{      1, OFILE_L1DOORS,   1,       4, DTYPE_CATHEDRAL, THEME_NONE,              -1,                 0,          1,        0,         64, FALSE,      FALSE,     TRUE,            0,        3, TRUE      },
159 	{      1, OFILE_L1DOORS,   1,       4, DTYPE_CATHEDRAL, THEME_NONE,              -1,                 0,          2,        0,         64, FALSE,      FALSE,     TRUE,            0,        3, TRUE      },
160 	{      3, OFILE_SKULFIRE,  0,       0, 0,               THEME_SKELROOM,          -1,                 1,          2,       11,         96, TRUE,       TRUE,      FALSE,           0,        0, FALSE     },
161 	{      1, OFILE_LEVER,     1,       4, DTYPE_CATHEDRAL, THEME_NONE,              -1,                 0,          1,        1,         96, TRUE,       TRUE,      TRUE,            0,        1, TRUE      },
162 	{      1, OFILE_CHEST1,    1,      16, 0,               THEME_NONE,              -1,                 0,          1,        0,         96, TRUE,       TRUE,      TRUE,            0,        1, TRUE      },
163 	{      1, OFILE_CHEST2,    1,      16, 0,               THEME_NONE,              -1,                 0,          1,        0,         96, TRUE,       TRUE,      TRUE,            0,        1, TRUE      },
164 	{      1, OFILE_CHEST3,    1,      16, 0,               THEME_NONE,              -1,                 0,          1,        0,         96, TRUE,       TRUE,      TRUE,            0,        1, TRUE      },
165 	{      2, OFILE_L1BRAZ,    0,       0, 0,               THEME_NONE,              -1,                 0,          0,        0,          0, FALSE,      FALSE,     FALSE,           0,        0, FALSE     },
166 	{      3, OFILE_CANDLE2,   0,       0, 0,               THEME_SHRINE,            -1,                 1,          2,        4,         96, TRUE,       TRUE,      TRUE,            0,        0, FALSE     },
167 	{      2, OFILE_L1BRAZ,    0,       0, 0,               THEME_NONE,              -1,                 0,          0,        0,          0, FALSE,      FALSE,     FALSE,           0,        0, FALSE     },
168 	{      3, OFILE_BANNER,    0,       0, 0,               THEME_SKELROOM,          -1,                 0,          2,        0,         96, TRUE,       TRUE,      TRUE,            0,        0, FALSE     },
169 	{      3, OFILE_BANNER,    0,       0, 0,               THEME_SKELROOM,          -1,                 0,          1,        0,         96, TRUE,       TRUE,      TRUE,            0,        0, FALSE     },
170 	{      3, OFILE_BANNER,    0,       0, 0,               THEME_SKELROOM,          -1,                 0,          3,        0,         96, TRUE,       TRUE,      TRUE,            0,        0, FALSE     },
171 	{      2, OFILE_SKULPILE,  1,       4, 0,               THEME_NONE,              -1,                 0,          1,        1,         96, TRUE,       TRUE,      TRUE,            0,        0, FALSE     },
172 	{      2, OFILE_L1BRAZ,    0,       0, 0,               THEME_NONE,              -1,                 0,          0,        0,          0, FALSE,      FALSE,     FALSE,           0,        0, FALSE     },
173 	{      2, OFILE_L1BRAZ,    0,       0, 0,               THEME_NONE,              -1,                 0,          0,        0,          0, FALSE,      FALSE,     FALSE,           0,        0, FALSE     },
174 	{      2, OFILE_L1BRAZ,    0,       0, 0,               THEME_NONE,              -1,                 0,          0,        0,          0, FALSE,      FALSE,     FALSE,           0,        0, FALSE     },
175 	{      2, OFILE_L1BRAZ,    0,       0, 0,               THEME_NONE,              -1,                 0,          0,        0,          0, FALSE,      FALSE,     FALSE,           0,        0, FALSE     },
176 	{      2, OFILE_L1BRAZ,    0,       0, 0,               THEME_NONE,              -1,                 0,          0,        0,          0, FALSE,      FALSE,     FALSE,           0,        0, FALSE     },
177 	{      2, OFILE_CRUXSK1,   0,       0, 0,               THEME_NONE,              -1,                 0,          1,       15,         96, TRUE,       FALSE,     TRUE,            1,        3, FALSE     },
178 	{      2, OFILE_CRUXSK2,   0,       0, 0,               THEME_NONE,              -1,                 0,          1,       15,         96, TRUE,       FALSE,     TRUE,            1,        3, FALSE     },
179 	{      2, OFILE_CRUXSK3,   0,       0, 0,               THEME_NONE,              -1,                 0,          1,       15,         96, TRUE,       FALSE,     TRUE,            1,        3, FALSE     },
180 	{      1, OFILE_ROCKSTAN,  5,       5, 0,               THEME_NONE,              -1,                 0,          1,        0,         96, TRUE,       TRUE,      TRUE,            0,        0, FALSE     },
181 	{      2, OFILE_ANGEL,     0,       0, 0,               THEME_NONE,              -1,                 0,          1,        0,         96, TRUE,       FALSE,     TRUE,            0,        0, FALSE     },
182 	{      2, OFILE_BOOK2,     0,       0, 0,               THEME_NONE,              -1,                 0,          1,        0,         96, TRUE,       TRUE,      TRUE,            0,        3, FALSE     },
183 	{      2, OFILE_BURNCROS,  0,       0, 0,               THEME_NONE,              -1,                 1,          0,       10,        160, TRUE,       FALSE,     FALSE,           0,        0, FALSE     },
184 	{      2, OFILE_NUDE2,     0,       0, 0,               THEME_NONE,              -1,                 1,          3,        6,        128, TRUE,       FALSE,     TRUE,            0,        0, FALSE     },
185 	{      1, OFILE_SWITCH4,  16,      16, 0,               THEME_NONE,              -1,                 0,          1,        0,         96, TRUE,       TRUE,      TRUE,            0,        1, TRUE      },
186 	{      1, OFILE_TNUDEM,   13,      16, 0,               THEME_NONE,              Q_BUTCHER,          0,          1,        0,        128, TRUE,       FALSE,     TRUE,            0,        0, FALSE     },
187 	{      1, OFILE_TNUDEM,   13,      16, 0,               THEME_TORTURE,           Q_BUTCHER,          0,          2,        0,        128, TRUE,       FALSE,     TRUE,            0,        0, FALSE     },
188 	{      1, OFILE_TNUDEM,   13,      16, 0,               THEME_TORTURE,           Q_BUTCHER,          0,          3,        0,        128, TRUE,       FALSE,     TRUE,            0,        0, FALSE     },
189 	{      1, OFILE_TNUDEM,   13,      16, 0,               THEME_TORTURE,           Q_BUTCHER,          0,          4,        0,        128, TRUE,       FALSE,     TRUE,            0,        0, FALSE     },
190 	{      1, OFILE_TNUDEW,   13,      16, 0,               THEME_TORTURE,           Q_BUTCHER,          0,          1,        0,        128, TRUE,       FALSE,     TRUE,            0,        0, FALSE     },
191 	{      1, OFILE_TNUDEW,   13,      16, 0,               THEME_TORTURE,           Q_BUTCHER,          0,          2,        0,        128, TRUE,       FALSE,     TRUE,            0,        0, FALSE     },
192 	{      1, OFILE_TNUDEW,   13,      16, 0,               THEME_TORTURE,           Q_BUTCHER,          0,          3,        0,        128, TRUE,       FALSE,     TRUE,            0,        0, FALSE     },
193 	{      1, OFILE_TSOUL,    13,      16, 0,               THEME_NONE,              Q_BUTCHER,          0,          1,        0,        128, TRUE,       FALSE,     TRUE,            0,        0, FALSE     },
194 	{      1, OFILE_TSOUL,    13,      16, 0,               THEME_NONE,              Q_BUTCHER,          0,          2,        0,        128, TRUE,       FALSE,     TRUE,            0,        0, FALSE     },
195 	{      1, OFILE_TSOUL,    13,      16, 0,               THEME_NONE,              Q_BUTCHER,          0,          3,        0,        128, TRUE,       FALSE,     TRUE,            0,        0, FALSE     },
196 	{      1, OFILE_TSOUL,    13,      16, 0,               THEME_NONE,              Q_BUTCHER,          0,          4,        0,        128, TRUE,       FALSE,     TRUE,            0,        0, FALSE     },
197 	{      1, OFILE_TSOUL,    13,      16, 0,               THEME_NONE,              Q_BUTCHER,          0,          5,        0,        128, TRUE,       FALSE,     TRUE,            0,        0, FALSE     },
198 	{      1, OFILE_BOOK2,     6,       6, 0,               THEME_NONE,              -1,                 0,          4,        0,         96, TRUE,       TRUE,      TRUE,            0,        3, FALSE     },
199 	{      1, OFILE_L2DOORS,   5,       8, DTYPE_CATACOMBS, THEME_NONE,              -1,                 0,          1,        0,         64, FALSE,      FALSE,     TRUE,            0,        3, TRUE      },
200 	{      1, OFILE_L2DOORS,   5,       8, DTYPE_CATACOMBS, THEME_NONE,              -1,                 0,          2,        0,         64, FALSE,      FALSE,     TRUE,            0,        3, TRUE      },
201 	{      1, OFILE_WTORCH4,   5,       8, DTYPE_CATACOMBS, THEME_NONE,              -1,                 1,          1,        9,         96, FALSE,      TRUE,      FALSE,           0,        0, FALSE     },
202 	{      1, OFILE_WTORCH3,   5,       8, DTYPE_CATACOMBS, THEME_NONE,              -1,                 1,          1,        9,         96, FALSE,      TRUE,      FALSE,           0,        0, FALSE     },
203 	{      1, OFILE_WTORCH1,   5,       8, DTYPE_CATACOMBS, THEME_NONE,              -1,                 1,          1,        9,         96, FALSE,      TRUE,      FALSE,           0,        0, FALSE     },
204 	{      1, OFILE_WTORCH2,   5,       8, DTYPE_CATACOMBS, THEME_NONE,              -1,                 1,          1,        9,         96, FALSE,      TRUE,      FALSE,           0,        0, FALSE     },
205 	{      1, OFILE_SARC,      1,       4, DTYPE_CATHEDRAL, THEME_NONE,              -1,                 0,          1,        5,        128, TRUE,       TRUE,      TRUE,            0,        3, TRUE      },
206 	{      2, OFILE_FLAME1,    1,       4, DTYPE_CATHEDRAL, THEME_NONE,              -1,                 0,          1,       20,         96, FALSE,      TRUE,      TRUE,            0,        0, FALSE     },
207 	{      2, OFILE_LEVER,     1,       4, DTYPE_CATHEDRAL, THEME_NONE,              -1,                 0,          1,        2,         96, TRUE,       TRUE,      TRUE,            0,        1, TRUE      },
208 	{      2, OFILE_MINIWATR,  1,       4, DTYPE_CATHEDRAL, THEME_NONE,              -1,                 1,          1,       10,         64, TRUE,       FALSE,     TRUE,            0,        0, FALSE     },
209 	{      1, OFILE_BOOK1,     3,       4, DTYPE_CATHEDRAL, THEME_NONE,              -1,                 0,          1,        0,         96, TRUE,       TRUE,      TRUE,            0,        3, FALSE     },
210 	{      1, OFILE_TRAPHOLE,  1,      16, 0,               THEME_NONE,              -1,                 0,          1,        0,         64, FALSE,      TRUE,      TRUE,            0,        0, FALSE     },
211 	{      1, OFILE_TRAPHOLE,  1,      16, 0,               THEME_NONE,              -1,                 0,          2,        0,         64, FALSE,      TRUE,      TRUE,            0,        0, FALSE     },
212 	{      2, OFILE_BCASE,     0,       0, 0,               THEME_NONE,              -1,                 0,          1,        0,         96, TRUE,       FALSE,     TRUE,            0,        0, FALSE     },
213 	{      2, OFILE_WEAPSTND,  0,       0, 0,               THEME_NONE,              -1,                 0,          1,        0,         96, TRUE,       FALSE,     TRUE,            0,        0, FALSE     },
214 	{      1, OFILE_BARREL,    1,      16, 0,               THEME_NONE,              -1,                 0,          1,        9,         96, TRUE,       TRUE,      TRUE,            1,        3, FALSE     },
215 	{      1, OFILE_BARRELEX,  1,      16, 0,               THEME_NONE,              -1,                 0,          1,       10,         96, TRUE,       TRUE,      TRUE,            1,        3, FALSE     },
216 	{      3, OFILE_LSHRINEG,  0,       0, 0,               THEME_SHRINE,            -1,                 0,          1,       11,        128, FALSE,      FALSE,     TRUE,            0,        3, FALSE     },
217 	{      3, OFILE_RSHRINEG,  0,       0, 0,               THEME_SHRINE,            -1,                 0,          1,       11,        128, FALSE,      FALSE,     TRUE,            0,        3, FALSE     },
218 	{      3, OFILE_BOOK2,     0,       0, 0,               THEME_SKELROOM,          -1,                 0,          4,        0,         96, TRUE,       TRUE,      TRUE,            0,        3, FALSE     },
219 	{      3, OFILE_BCASE,     0,       0, 0,               THEME_LIBRARY,           -1,                 0,          3,        0,         96, FALSE,      FALSE,     TRUE,            0,        3, FALSE     },
220 	{      3, OFILE_BCASE,     0,       0, 0,               THEME_LIBRARY,           -1,                 0,          4,        0,         96, FALSE,      FALSE,     TRUE,            0,        3, FALSE     },
221 	{      3, OFILE_BOOK2,     0,       0, 0,               THEME_LIBRARY,           -1,                 0,          1,        0,         96, TRUE,       TRUE,      TRUE,            0,        3, FALSE     },
222 	{      3, OFILE_CANDLE2,   0,       0, 0,               THEME_LIBRARY,           -1,                 1,          2,        4,         96, TRUE,       TRUE,      TRUE,            0,        0, FALSE     },
223 	{      3, OFILE_BLOODFNT,  0,       0, 0,               THEME_BLOODFOUNTAIN,     -1,                 1,          2,       10,         96, TRUE,       TRUE,      TRUE,            0,        3, FALSE     },
224 	{      1, OFILE_DECAP,    13,      16, 0,               THEME_DECAPITATED,       -1,                 0,          1,        0,         96, TRUE,       TRUE,      TRUE,            0,        1, FALSE     },
225 	{      1, OFILE_CHEST1,    1,      16, 0,               THEME_NONE,              -1,                 0,          1,        0,         96, TRUE,       TRUE,      TRUE,            0,        1, TRUE      },
226 	{      1, OFILE_CHEST2,    1,      16, 0,               THEME_NONE,              -1,                 0,          1,        0,         96, TRUE,       TRUE,      TRUE,            0,        1, TRUE      },
227 	{      1, OFILE_CHEST3,    1,      16, 0,               THEME_NONE,              -1,                 0,          1,        0,         96, TRUE,       TRUE,      TRUE,            0,        1, TRUE      },
228 	{      1, OFILE_BOOK1,     7,       7, DTYPE_CATACOMBS, THEME_NONE,              Q_BLIND,            0,          1,        0,         96, TRUE,       TRUE,      TRUE,            0,        3, FALSE     },
229 	{      1, OFILE_BOOK1,     5,       5, DTYPE_CATACOMBS, THEME_NONE,              Q_BLOOD,            0,          4,        0,         96, TRUE,       TRUE,      TRUE,            0,        3, FALSE     },
230 	{      1, OFILE_PEDISTL,   5,       5, DTYPE_CATACOMBS, THEME_NONE,              Q_BLOOD,            0,          1,        0,         96, TRUE,       TRUE,      TRUE,            0,        3, FALSE     },
231 	{      1, OFILE_L3DOORS,   9,      12, DTYPE_CAVES,     THEME_NONE,              -1,                 0,          1,        0,         64, FALSE,      FALSE,     TRUE,            0,        3, TRUE      },
232 	{      1, OFILE_L3DOORS,   9,      12, DTYPE_CAVES,     THEME_NONE,              -1,                 0,          2,        0,         64, FALSE,      FALSE,     TRUE,            0,        3, TRUE      },
233 	{      3, OFILE_PFOUNTN,   0,       0, 0,               THEME_PURIFYINGFOUNTAIN, -1,                 1,          2,       10,        128, TRUE,       TRUE,      TRUE,            0,        3, FALSE     },
234 	{      3, OFILE_ARMSTAND,  0,       0, 0,               THEME_ARMORSTAND,        -1,                 0,          1,        0,         96, TRUE,       FALSE,     TRUE,            0,        3, FALSE     },
235 	{      3, OFILE_ARMSTAND,  0,       0, 0,               THEME_ARMORSTAND,        -1,                 0,          2,        0,         96, TRUE,       FALSE,     TRUE,            0,        0, FALSE     },
236 	{      3, OFILE_GOATSHRN,  0,       0, 0,               THEME_GOATSHRINE,        -1,                 1,          2,       10,         96, TRUE,       TRUE,      TRUE,            0,        3, FALSE     },
237 	{      1, OFILE_CAULDREN, 13,      16, 0,               THEME_NONE,              -1,                 0,          1,        0,         96, TRUE,       FALSE,     TRUE,            0,        3, FALSE     },
238 	{      3, OFILE_MFOUNTN,   0,       0, 0,               THEME_MURKYFOUNTAIN,     -1,                 1,          2,       10,        128, TRUE,       TRUE,      TRUE,            0,        3, FALSE     },
239 	{      3, OFILE_TFOUNTN,   0,       0, 0,               THEME_TEARFOUNTAIN,      -1,                 1,          2,        4,        128, TRUE,       TRUE,      TRUE,            0,        3, FALSE     },
240 	{      1, OFILE_ALTBOY,    0,       0, DTYPE_CATHEDRAL, THEME_NONE,              Q_BETRAYER,         0,          1,        0,        128, TRUE,       TRUE,      TRUE,            0,        0, FALSE     },
241 	{      1, OFILE_MCIRL,     0,       0, DTYPE_CATHEDRAL, THEME_NONE,              Q_BETRAYER,         0,          1,        0,         96, FALSE,      TRUE,      TRUE,            0,        0, FALSE     },
242 	{      1, OFILE_MCIRL,     0,       0, DTYPE_CATHEDRAL, THEME_NONE,              Q_BETRAYER,         0,          1,        0,         96, FALSE,      TRUE,      TRUE,            0,        0, FALSE     },
243 	{      1, OFILE_BKSLBRNT,  1,      12, 0,               THEME_NONE,              -1,                 0,          1,        0,         96, TRUE,       TRUE,      TRUE,            0,        3, FALSE     }, // BUGFIX should only be loaded on level 1-12 (crypt masks as 1-4) (fixed)
244 	{      1, OFILE_CANDLE2,   2,      12, 0,               THEME_NONE,              Q_BETRAYER,         1,          2,        4,         96, TRUE,       TRUE,      TRUE,            0,        0, FALSE     },
245 	{      1, OFILE_BOOK1,    13,      13, DTYPE_HELL,      THEME_NONE,              Q_WARLORD,          0,          4,        0,         96, TRUE,       TRUE,      TRUE,            0,        3, FALSE     },
246 	{      1, OFILE_ARMSTAND, 13,      13, 0,               THEME_NONE,              Q_WARLORD,          0,          1,        0,         96, TRUE,       FALSE,     TRUE,            0,        3, FALSE     },
247 	{      2, OFILE_WEAPSTND, 13,      13, 0,               THEME_NONE,              Q_WARLORD,          0,          1,        0,         96, TRUE,       FALSE,     TRUE,            0,        3, FALSE     },
248 	{      2, OFILE_BURNCROS,  0,       0, 0,               THEME_BRNCROSS,          -1,                 1,          0,       10,        160, TRUE,       FALSE,     FALSE,           0,        0, FALSE     },
249 	{      2, OFILE_WEAPSTND,  0,       0, 0,               THEME_WEAPONRACK,        -1,                 0,          1,        0,         96, TRUE,       FALSE,     TRUE,            0,        3, FALSE     },
250 	{      2, OFILE_WEAPSTND,  0,       0, 0,               THEME_WEAPONRACK,        -1,                 0,          2,        0,         96, TRUE,       FALSE,     TRUE,            0,        0, FALSE     },
251 	{      2, OFILE_MUSHPTCH,  0,       0, 0,               THEME_NONE,              Q_MUSHROOM,         0,          1,        0,         96, TRUE,       TRUE,      TRUE,            0,        3, TRUE      },
252 	{      2, OFILE_LZSTAND,   0,       0, 0,               THEME_NONE,              Q_BETRAYER,         0,          1,        0,        128, TRUE,       FALSE,     TRUE,            0,        3, FALSE     },
253 	{      1, OFILE_DECAP,     9,       9, DTYPE_CAVES,     THEME_NONE,              -1,                 0,          2,        0,         96, TRUE,       TRUE,      TRUE,            0,        1, FALSE     },
254 	{      2, OFILE_CHEST3,    0,       0, 0,               THEME_NONE,              -1,                 0,          1,        0,         96, TRUE,       TRUE,      TRUE,            0,        1, TRUE      },
255 	{      2, OFILE_BCASE,     0,       0, 0,               THEME_NONE,              -1,                 0,          2,        0,         96, TRUE,       FALSE,     TRUE,            0,        0, FALSE     },
256 	{     -1, 0,               0,       0, -1,              THEME_NONE,              -1,                 0,          0,        0,          0, FALSE,      FALSE,     FALSE,           0,        0, FALSE     }
257 	// clang-format on
258 };
259 
260 /** Maps from object_graphic_id to object CEL name. */
261 const char *const ObjMasterLoadList[] = {
262 	"L1Braz",
263 	"L1Doors",
264 	"Lever",
265 	"Chest1",
266 	"Chest2",
267 	"Banner",
268 	"SkulPile",
269 	"SkulFire",
270 	"SkulStik",
271 	"CruxSk1",
272 	"CruxSk2",
273 	"CruxSk3",
274 	"Book1",
275 	"Book2",
276 	"Rockstan",
277 	"Angel",
278 	"Chest3",
279 	"Burncros",
280 	"Candle2",
281 	"Nude2",
282 	"Switch4",
283 	"TNudeM",
284 	"TNudeW",
285 	"TSoul",
286 	"L2Doors",
287 	"WTorch4",
288 	"WTorch3",
289 	"Sarc",
290 	"Flame1",
291 	"Prsrplt1",
292 	"Traphole",
293 	"MiniWatr",
294 	"WTorch2",
295 	"WTorch1",
296 	"BCase",
297 	"BShelf",
298 	"WeapStnd",
299 	"Barrel",
300 	"Barrelex",
301 	"LShrineG",
302 	"RShrineG",
303 	"Bloodfnt",
304 	"Decap",
305 	"Pedistl",
306 	"L3Doors",
307 	"PFountn",
308 	"Armstand",
309 	"Goatshrn",
310 	"Cauldren",
311 	"MFountn",
312 	"TFountn",
313 	"Altboy",
314 	"Mcirl",
315 	"Bkslbrnt",
316 	"Mushptch",
317 	"LzStand"
318 };
319 /** Maps from object_graphic_id to object CEL name (Hellfire Crypt overwrite). */
320 const char *ObjCryptLoadList[] = {
321 	"L1Braz",
322 	"L5Door",
323 	"L5Lever",
324 	"Chest1",
325 	"Chest2",
326 	"Banner",
327 	"SkulPile",
328 	"SkulFire",
329 	"SkulStik",
330 	"CruxSk1",
331 	"CruxSk2",
332 	"CruxSk3",
333 	"Book1",
334 	"Book2",
335 	"Rockstan",
336 	"Angel",
337 	"Chest3",
338 	"Burncros",
339 	"L5Light",
340 	"Nude2",
341 	"Switch4",
342 	"TNudeM",
343 	"TNudeW",
344 	"TSoul",
345 	"L2Doors",
346 	"WTorch4",
347 	"WTorch3",
348 	"L5Sarco",
349 	"Flame1",
350 	"Prsrplt1",
351 	"Traphole",
352 	"MiniWatr",
353 	"WTorch2",
354 	"WTorch1",
355 	"BCase",
356 	"BShelf",
357 	"WeapStnd",
358 	"Urn",
359 	"Urnexpld",
360 	"LShrineG",
361 	"RShrineG",
362 	"Bloodfnt",
363 	"Decap",
364 	"Pedistl",
365 	"L3Doors",
366 	"PFountn",
367 	"Armstand",
368 	"Goatshrn",
369 	"Cauldren",
370 	"MFountn",
371 	"TFountn",
372 	"Altboy",
373 	"Mcirl",
374 	"L5Books",
375 	"Mushptch",
376 	"LzStand",
377 };
378 /** Maps from object_graphic_id to object CEL name (Hellfire Hive overwrite). */
379 const char *ObjHiveLoadList[] = {
380 	"L1Braz",
381 	"L1Doors",
382 	"Lever",
383 	"Chest1",
384 	"Chest2",
385 	"Banner",
386 	"SkulPile",
387 	"SkulFire",
388 	"SkulStik",
389 	"CruxSk1",
390 	"CruxSk2",
391 	"CruxSk3",
392 	"Book1",
393 	"Book2",
394 	"Rockstan",
395 	"Angel",
396 	"Chest3",
397 	"Burncros",
398 	"Candle2",
399 	"Nude2",
400 	"Switch4",
401 	"TNudeM",
402 	"TNudeW",
403 	"TSoul",
404 	"L2Doors",
405 	"WTorch4",
406 	"WTorch3",
407 	"Sarc",
408 	"Flame1",
409 	"Prsrplt1",
410 	"Traphole",
411 	"MiniWatr",
412 	"WTorch2",
413 	"WTorch1",
414 	"BCase",
415 	"BShelf",
416 	"WeapStnd",
417 	"L6Pod1",
418 	"L6Pod2",
419 	"LShrineG",
420 	"RShrineG",
421 	"Bloodfnt",
422 	"Decap",
423 	"Pedistl",
424 	"L3Doors",
425 	"PFountn",
426 	"Armstand",
427 	"Goatshrn",
428 	"Cauldren",
429 	"MFountn",
430 	"TFountn",
431 	"Altboy",
432 	"Mcirl",
433 	"Bkslbrnt",
434 	"Mushptch",
435 	"LzStand",
436 };
437 
438 DEVILUTION_END_NAMESPACE
439