Make Lair Rune branches only 4 levels long
[crawl.git] / crawl-ref / source / branch-data.h
1 #include "colour.h"
2
3 const Branch branches[NUM_BRANCHES] =
4 {
5     // Branch struct:
6     //  branch id, parent branch, mindepth, maxdepth, depth, absdepth,
7     //  branch flags, level flags
8     //  entry stairs, exit stairs, short name, long name, abbrev name
9     //  entry message
10     //  floor colour, rock colour
11     //  travel shortcut, ambient noise level
12
13     { BRANCH_DUNGEON, NUM_BRANCHES, 0, 0, 15, 0,
14       0, 0,
15       NUM_FEATURES, DNGN_EXIT_DUNGEON,
16       "Dungeon", "the Dungeon", "D",
17       nullptr,
18       LIGHTGREY, BROWN,
19       'D', 0 },
20
21     { BRANCH_TEMPLE, BRANCH_DUNGEON, 4, 7, 1, 5,
22       BFLAG_NO_ITEMS, 0,
23       DNGN_ENTER_TEMPLE, DNGN_EXIT_TEMPLE,
24       "Temple", "the Ecumenical Temple", "Temple",
25       nullptr,
26       LIGHTGREY, BROWN,
27       'T', 0 },
28
29     { BRANCH_ORC, BRANCH_DUNGEON, 9, 12, 4, 8,
30       BFLAG_SPOTTY, 0,
31       DNGN_ENTER_ORC, DNGN_EXIT_ORC,
32       "Orcish Mines", "the Orcish Mines", "Orc",
33       nullptr,
34       BROWN, BROWN,
35       'O', 4 },
36
37     { BRANCH_ELF, BRANCH_ORC, 3, 4, 3, 15,
38       BFLAG_DANGEROUS_END, 0,
39       DNGN_ENTER_ELF, DNGN_EXIT_ELF,
40       "Elven Halls", "the Elven Halls", "Elf",
41       nullptr,
42       WHITE, ETC_ELVEN_BRICK,
43       'E', 0 },
44
45 #if TAG_MAJOR_VERSION == 34
46     { BRANCH_DWARF, BRANCH_ELF, -1, -1, 0, 17,
47       0, 0,
48       DNGN_ENTER_DWARF, DNGN_EXIT_DWARF,
49       "Dwarven Hall", "the Dwarven Hall", "Dwarf",
50       nullptr,
51       BROWN, BROWN,
52       'K', 0 },
53 #endif
54
55     { BRANCH_LAIR, BRANCH_DUNGEON, 8, 11, 8, 10,
56       0, 0,
57       DNGN_ENTER_LAIR, DNGN_EXIT_LAIR,
58       "Lair", "the Lair of Beasts", "Lair",
59       nullptr,
60       GREEN, BROWN,
61       'L', 4 },
62
63     { BRANCH_SWAMP, BRANCH_LAIR, 3, 6, 4, 15,
64       BFLAG_DANGEROUS_END | BFLAG_SPOTTY, 0,
65       DNGN_ENTER_SWAMP, DNGN_EXIT_SWAMP,
66       "Swamp", "the Swamp", "Swamp",
67       nullptr,
68       BROWN, BROWN,
69       'S', 0 },
70
71     { BRANCH_SHOALS, BRANCH_LAIR, 3, 6, 4, 15,
72       BFLAG_DANGEROUS_END, 0,
73       DNGN_ENTER_SHOALS, DNGN_EXIT_SHOALS,
74       "Shoals", "the Shoals", "Shoals",
75       nullptr,
76       BROWN, BROWN,
77       'A', 3 },
78
79     { BRANCH_SNAKE, BRANCH_LAIR, 3, 6, 4, 15,
80       BFLAG_DANGEROUS_END, 0,
81       DNGN_ENTER_SNAKE, DNGN_EXIT_SNAKE,
82       "Snake Pit", "the Snake Pit", "Snake",
83       nullptr,
84       LIGHTGREEN, YELLOW,
85       'P', 0 },
86
87     { BRANCH_SPIDER, BRANCH_LAIR, 3, 6, 4, 15,
88       BFLAG_DANGEROUS_END, 0,
89       DNGN_ENTER_SPIDER, DNGN_EXIT_SPIDER,
90       "Spider Nest", "the Spider Nest", "Spider",
91       nullptr,
92       BROWN, YELLOW,
93       'N', 0 },
94
95     { BRANCH_SLIME, BRANCH_LAIR, 6, 8, 6, 17,
96       BFLAG_NO_ITEMS | BFLAG_DANGEROUS_END | BFLAG_SPOTTY, 0,
97       DNGN_ENTER_SLIME, DNGN_EXIT_SLIME,
98       "Slime Pits", "the Pits of Slime", "Slime",
99       nullptr,
100       GREEN, BROWN,
101       'M', -5 },
102
103     { BRANCH_VAULTS, BRANCH_DUNGEON, 13, 14, 5, 19,
104       BFLAG_DANGEROUS_END, 0,
105       DNGN_ENTER_VAULTS, DNGN_EXIT_VAULTS,
106       "Vaults", "the Vaults", "Vaults",
107       nullptr,
108       LIGHTGREY, BROWN,
109       'V', 0 },
110 #if TAG_MAJOR_VERSION == 34
111     { BRANCH_BLADE, BRANCH_VAULTS, 3, 4, 1, 21,
112       BFLAG_NO_ITEMS, 0,
113       DNGN_ENTER_BLADE, DNGN_EXIT_BLADE,
114       "Hall of Blades", "the Hall of Blades", "Blade",
115       nullptr,
116       LIGHTGREY, BROWN,
117       'B', -7 },
118 #endif
119
120     { BRANCH_CRYPT, BRANCH_VAULTS, 2, 3, 3, 19,
121       BFLAG_DANGEROUS_END, 0,
122       DNGN_ENTER_CRYPT, DNGN_EXIT_CRYPT,
123       "Crypt", "the Crypt", "Crypt",
124       nullptr,
125       LIGHTGREY, BROWN,
126       'C', -3 },
127
128     { BRANCH_TOMB, BRANCH_CRYPT, 3, 3, 3, 21,
129       BFLAG_ISLANDED | BFLAG_DANGEROUS_END, LFLAG_NO_TELE_CONTROL,
130       DNGN_ENTER_TOMB, DNGN_EXIT_TOMB,
131       "Tomb", "the Tomb of the Ancients", "Tomb",
132       nullptr,
133       BROWN, BROWN,
134       'W', -10 },
135
136     { BRANCH_VESTIBULE, NUM_BRANCHES, 27, 27, 1, 27,
137       BFLAG_NO_ITEMS, 0,
138       DNGN_ENTER_HELL, DNGN_EXIT_HELL,
139       "Hell", "the Vestibule of Hell", "Hell",
140       "Welcome to Hell!\nPlease enjoy your stay.",
141       LIGHTGREY, LIGHTRED,
142       'H', 0 },
143
144     { BRANCH_DIS, BRANCH_VESTIBULE, 1, 1, 7, 28,
145       BFLAG_ISLANDED | BFLAG_NO_ITEMS | BFLAG_DANGEROUS_END, 0,
146       DNGN_ENTER_DIS, DNGN_ENTER_HELL,
147       "Dis", "the Iron City of Dis", "Dis",
148       nullptr,
149       CYAN, BROWN,
150       'I', 0 },
151
152     { BRANCH_GEHENNA, BRANCH_VESTIBULE, 1, 1, 7, 28,
153       BFLAG_ISLANDED | BFLAG_NO_ITEMS | BFLAG_DANGEROUS_END, 0,
154       DNGN_ENTER_GEHENNA, DNGN_ENTER_HELL,
155       "Gehenna", "Gehenna", "Geh",
156       nullptr,
157       BROWN, RED,
158       'G', 0 },
159
160     { BRANCH_COCYTUS, BRANCH_VESTIBULE, 1, 1, 7, 28,
161       BFLAG_ISLANDED | BFLAG_NO_ITEMS | BFLAG_DANGEROUS_END, 0,
162       DNGN_ENTER_COCYTUS, DNGN_ENTER_HELL,
163       "Cocytus", "Cocytus", "Coc",
164       nullptr,
165       LIGHTBLUE, LIGHTCYAN,
166       'X', 0 },
167
168     { BRANCH_TARTARUS, BRANCH_VESTIBULE, 1, 1, 7, 28,
169       BFLAG_ISLANDED | BFLAG_NO_ITEMS | BFLAG_DANGEROUS_END, 0,
170       DNGN_ENTER_TARTARUS, DNGN_ENTER_HELL,
171       "Tartarus", "Tartarus", "Tar",
172       nullptr,
173       MAGENTA, MAGENTA,
174       'Y', 0 },
175
176     { BRANCH_ZOT, BRANCH_DEPTHS, 5, 5, 5, 27,
177       BFLAG_DANGEROUS_END, 0,
178       DNGN_ENTER_ZOT, DNGN_EXIT_ZOT,
179       "Zot", "the Realm of Zot", "Zot",
180       nullptr,
181       BLACK, BLACK, // set per-map
182       'Z', 0 },
183 #if TAG_MAJOR_VERSION == 34
184     { BRANCH_FOREST, BRANCH_VAULTS, 2, 3, 5, 19,
185       BFLAG_SPOTTY, 0,
186       DNGN_ENTER_FOREST, DNGN_EXIT_FOREST,
187       "Forest", "the Enchanted Forest", "Forest",
188       nullptr,
189       BROWN, BROWN,
190       'F', 0 },
191 #endif
192
193     { BRANCH_ABYSS, NUM_BRANCHES, -1, -1, 5, 24,
194       BFLAG_NO_XLEV_TRAVEL, LFLAG_NO_TELE_CONTROL | LFLAG_NO_MAP,
195       DNGN_ENTER_ABYSS, DNGN_EXIT_ABYSS,
196       "Abyss", "the Abyss", "Abyss",
197       nullptr,
198       BLACK, BLACK, // set specially
199       'J', 0 },
200
201     { BRANCH_PANDEMONIUM, NUM_BRANCHES, -1, -1, 1, 24,
202       BFLAG_NO_XLEV_TRAVEL, 0,
203       DNGN_ENTER_PANDEMONIUM, DNGN_EXIT_PANDEMONIUM,
204       "Pandemonium", "Pandemonium", "Pan",
205       "You enter the halls of Pandemonium!\n"
206       "To return, you must find a gate leading back.",
207       BLACK, BLACK, // set specially
208       'R', 0 },
209
210     { BRANCH_ZIGGURAT, BRANCH_DEPTHS, 1, 5, 27, 27,
211       BFLAG_NO_XLEV_TRAVEL | BFLAG_NO_ITEMS, 0,
212       DNGN_ENTER_ZIGGURAT, DNGN_EXIT_ZIGGURAT,
213       "Ziggurat", "a ziggurat", "Zig",
214       "You land on top of a ziggurat so tall you cannot make out the ground.",
215       BLACK, BLACK,
216       'Q', 0 },
217
218     { BRANCH_LABYRINTH, NUM_BRANCHES, -1, -1, 1, 15,
219       BFLAG_NO_XLEV_TRAVEL | BFLAG_NO_ITEMS, LFLAG_NO_TELE_CONTROL | LFLAG_NO_MAP,
220       DNGN_ENTER_LABYRINTH, DNGN_EXIT_LABYRINTH,
221       "Labyrinth", "a labyrinth", "Lab",
222       // XXX: Ideally, we want to hint at the wall rule (rock > metal),
223       //      and that the walls can shift occasionally.
224       // Are these too long?
225       "As you enter the labyrinth, previously moving walls settle noisily into place.\n"
226       "You hear the metallic echo of a distant snort before it fades into the rock.",
227       BLACK, BLACK,
228       '0', 0 },
229
230     { BRANCH_BAZAAR, NUM_BRANCHES, -1, -1, 1, 18,
231           BFLAG_NO_XLEV_TRAVEL | BFLAG_NO_ITEMS, 0,
232       DNGN_ENTER_BAZAAR, DNGN_EXIT_BAZAAR,
233       "Bazaar", "a bazaar", "Bazaar",
234       "You enter an inter-dimensional bazaar!",
235       BLUE, YELLOW,
236       '1', 0 },
237
238     { BRANCH_TROVE, NUM_BRANCHES, -1, -1, 1, 18,
239       BFLAG_NO_XLEV_TRAVEL | BFLAG_NO_ITEMS, 0,
240       DNGN_ENTER_TROVE, DNGN_EXIT_TROVE,
241       "Trove", "a treasure trove", "Trove",
242       "You enter a treasure trove!",
243       DARKGREY, BLUE,
244       '2', 0 },
245
246     { BRANCH_SEWER, NUM_BRANCHES, -1, -1, 1, 4,
247       BFLAG_NO_XLEV_TRAVEL | BFLAG_NO_ITEMS, 0,
248       DNGN_ENTER_SEWER, DNGN_EXIT_SEWER,
249       "Sewer", "a sewer", "Sewer",
250       "You enter a sewer!",
251       LIGHTGREY, BLUE,
252       '3', 0 },
253
254     { BRANCH_OSSUARY, NUM_BRANCHES, -1, -1, 1, 6,
255       BFLAG_NO_XLEV_TRAVEL | BFLAG_NO_ITEMS, 0,
256       DNGN_ENTER_OSSUARY, DNGN_EXIT_OSSUARY,
257       "Ossuary", "an ossuary", "Ossuary",
258       "You enter an ossuary!",
259       WHITE, YELLOW,
260       '4', 0 },
261
262     { BRANCH_BAILEY, NUM_BRANCHES, -1, -1, 1, 11,
263       BFLAG_NO_XLEV_TRAVEL | BFLAG_NO_ITEMS, 0,
264       DNGN_ENTER_BAILEY, DNGN_EXIT_BAILEY,
265       "Bailey", "a bailey", "Bailey",
266       "You enter a bailey!",
267       WHITE, LIGHTRED,
268       '5', 0 },
269
270     { BRANCH_ICE_CAVE, NUM_BRANCHES, -1, -1, 1, 15,
271           BFLAG_NO_XLEV_TRAVEL | BFLAG_NO_ITEMS, 0,
272       DNGN_ENTER_ICE_CAVE, DNGN_EXIT_ICE_CAVE,
273       "Ice Cave", "an ice cave", "IceCv",
274       "You enter an ice cave!",
275       BLUE, WHITE,
276       '6', 0 },
277
278     { BRANCH_VOLCANO, NUM_BRANCHES, -1, -1, 1, 14,
279       BFLAG_NO_XLEV_TRAVEL | BFLAG_NO_ITEMS, 0,
280       DNGN_ENTER_VOLCANO, DNGN_EXIT_VOLCANO,
281       "Volcano", "a volcano", "Volcano",
282       "You enter a volcano!",
283       RED, RED,
284       '7', 0 },
285
286     { BRANCH_WIZLAB, NUM_BRANCHES, -1, -1, 1, 24,
287       BFLAG_NO_XLEV_TRAVEL | BFLAG_NO_ITEMS, 0,
288       DNGN_ENTER_WIZLAB, DNGN_EXIT_WIZLAB,
289       "Wizlab", "a wizard's laboratory", "WizLab",
290       "You enter a wizard's laboratory!",
291       LIGHTGREY, BROWN, // set per-map
292       '8', 0 },
293
294     { BRANCH_DEPTHS, BRANCH_DUNGEON, 15, 15, 5, 22,
295       0, 0,
296       DNGN_ENTER_DEPTHS, DNGN_EXIT_DEPTHS,
297       "Depths", "the Depths", "Depths",
298       nullptr,
299       LIGHTGREY, BROWN,
300       'U', 0 },
301 };