Apply the new ground_level method.
[crawl.git] / crawl-ref / source / branch-data.h
blobd7b232ae34a09489753d2ab3a417d7b7c6ddbdca
1 /*
2 * File: branch-data.h
3 */
5 #ifndef BRANCHDATA_H
6 #define BRANCHDATA_H
8 #include "colour.h"
9 #include "enum.h"
10 #include "mon-pick.h"
12 Branch branches[] = {
13 // Branch struct:
14 // branch id, parent branch, mindepth, maxdepth, depth, startdepth,
15 // branch flags, level flags
16 // entry stairs, exit stairs, short name, long name, abbrev name
17 // entry message
18 // has_uniques, floor colour, rock colour
19 // mons rarity function, mons level function
20 // num_traps_function, rand_trap_function, num_fogs_function, rand_fog_function
21 // travel shortcut, upstairs exit branch, dangerous branch end, ambient noise level
23 { BRANCH_MAIN_DUNGEON, BRANCH_MAIN_DUNGEON, -1, -1,
24 BRANCH_DUNGEON_DEPTH, -1, 0, 0,
25 NUM_FEATURES, NUM_FEATURES, // sentinel values
26 "Dungeon", "the Dungeon", "D",
27 NULL,
28 true, LIGHTGREY, BROWN,
29 mons_standard_rare, mons_standard_level,
30 NULL, NULL, NULL, NULL,
31 'D', false, false, 0 },
33 { BRANCH_ECUMENICAL_TEMPLE, BRANCH_MAIN_DUNGEON, 4, 7, 1, 5, 0, 0,
34 DNGN_ENTER_TEMPLE, DNGN_RETURN_FROM_TEMPLE,
35 "Temple", "the Ecumenical Temple", "Temple",
36 NULL,
37 false, LIGHTGREY, LIGHTGREY,
38 mons_standard_rare, mons_standard_level,
39 traps_zero_number, NULL, NULL, NULL, // No traps in temple
40 'T', false, false, 0 },
42 { BRANCH_ORCISH_MINES, BRANCH_MAIN_DUNGEON, 6, 11, 4, 6, 0, 0,
43 DNGN_ENTER_ORCISH_MINES, DNGN_RETURN_FROM_ORCISH_MINES,
44 "Orcish Mines", "the Orcish Mines", "Orc",
45 NULL,
46 true, BROWN, BROWN,
47 mons_mineorc_rare, mons_mineorc_level,
48 NULL, NULL, NULL, NULL,
49 'O', false, false, 4 },
51 { BRANCH_ELVEN_HALLS, BRANCH_ORCISH_MINES, 3, 4, 5, 4, 0, 0,
52 DNGN_ENTER_ELVEN_HALLS, DNGN_RETURN_FROM_ELVEN_HALLS,
53 "Elven Halls", "the Elven Halls", "Elf",
54 NULL,
55 true, WHITE, ETC_ELVEN_BRICK,
56 mons_hallelf_rare, mons_hallelf_level,
57 NULL, NULL, NULL, NULL,
58 'E', false, true, 0 },
60 { BRANCH_LAIR, BRANCH_MAIN_DUNGEON, 8, 13, 8, 8, 0, 0,
61 DNGN_ENTER_LAIR, DNGN_RETURN_FROM_LAIR,
62 "Lair", "the Lair of Beasts", "Lair",
63 NULL,
64 true, GREEN, BROWN,
65 mons_lair_rare, mons_lair_level,
66 NULL, NULL, NULL, NULL,
67 'L', false, false, 4 },
69 { BRANCH_SWAMP, BRANCH_LAIR, 2, 5, 5, 3, BFLAG_ISLANDED, 0,
70 DNGN_ENTER_SWAMP, DNGN_RETURN_FROM_SWAMP,
71 "Swamp", "the Swamp", "Swamp",
72 NULL,
73 true, BROWN, BROWN,
74 mons_swamp_rare, mons_swamp_level,
75 NULL, NULL, NULL, NULL,
76 'S', false, true, 0 },
78 { BRANCH_SHOALS, BRANCH_LAIR, 3, 6, 5, 4, BFLAG_ISLANDED, 0,
79 DNGN_ENTER_SHOALS, DNGN_RETURN_FROM_SHOALS,
80 "Shoals", "the Shoals", "Shoals",
81 NULL,
82 true, BROWN, BROWN,
83 mons_shoals_rare, mons_shoals_level,
84 NULL, NULL, NULL, NULL,
85 'A', false, true, 3 },
87 { BRANCH_SLIME_PITS, BRANCH_LAIR, 6, 8, 6, 4, 0, 0,
88 DNGN_ENTER_SLIME_PITS, DNGN_RETURN_FROM_SLIME_PITS,
89 "Slime Pits", "the Pits of Slime", "Slime",
90 NULL,
91 true, GREEN, LIGHTGREEN,
92 mons_pitslime_rare, mons_pitslime_level,
93 NULL, random_trap_slime, NULL, NULL,
94 'M', false, true, -5 },
96 { BRANCH_SNAKE_PIT, BRANCH_LAIR, 3, 6, 5, 7, 0, 0,
97 DNGN_ENTER_SNAKE_PIT, DNGN_RETURN_FROM_SNAKE_PIT,
98 "Snake Pit", "the Snake Pit", "Snake",
99 NULL,
100 true, LIGHTGREEN, YELLOW,
101 mons_pitsnake_rare, mons_pitsnake_level,
102 NULL, NULL, NULL, NULL,
103 'P', false, true, 0 },
105 { BRANCH_HIVE, BRANCH_MAIN_DUNGEON, 11, 16, 2, 15, 0, 0,
106 DNGN_ENTER_HIVE, DNGN_RETURN_FROM_HIVE,
107 "Hive", "the Hive", "Hive",
108 "You hear a buzzing sound coming from all directions.",
109 false, YELLOW, BROWN,
110 mons_hive_rare, mons_hive_level,
111 NULL, NULL, NULL, NULL,
112 'H', false, true, 5 },
114 { BRANCH_VAULTS, BRANCH_MAIN_DUNGEON, 14, 19, 8, 17, 0, 0,
115 DNGN_ENTER_VAULTS, DNGN_RETURN_FROM_VAULTS,
116 "Vaults", "the Vaults", "Vault",
117 NULL,
118 true, LIGHTGREY, BROWN,
119 mons_standard_rare, mons_standard_level,
120 NULL, NULL, NULL, NULL,
121 'V', false, true, 0 },
123 { BRANCH_HALL_OF_BLADES, BRANCH_VAULTS, 4, 6, 1, 4, 0, 0,
124 DNGN_ENTER_HALL_OF_BLADES, DNGN_RETURN_FROM_HALL_OF_BLADES,
125 "Hall of Blades", "the Hall of Blades", "Blade",
126 NULL,
127 true, LIGHTGREY, LIGHTGREY,
128 mons_hallblade_rare, mons_hallblade_level,
129 NULL, NULL, NULL, NULL,
130 'B', false, false, -7 },
132 { BRANCH_CRYPT, BRANCH_VAULTS, 2, 4, 5, 3, 0, 0,
133 DNGN_ENTER_CRYPT, DNGN_RETURN_FROM_CRYPT,
134 "Crypt", "the Crypt", "Crypt",
135 NULL,
136 true, LIGHTGREY, LIGHTGREY,
137 mons_crypt_rare, mons_crypt_level,
138 NULL, NULL, NULL, NULL,
139 'C', false, false, -20 },
141 { BRANCH_TOMB, BRANCH_CRYPT, 2, 3, 3, 5,
142 BFLAG_ISLANDED | BFLAG_NO_TELE_CONTROL, 0,
143 DNGN_ENTER_TOMB, DNGN_RETURN_FROM_TOMB,
144 "Tomb", "the Tomb of the Ancients", "Tomb",
145 NULL,
146 true, YELLOW, LIGHTGREY,
147 mons_tomb_rare, mons_tomb_level,
148 NULL, NULL, NULL, NULL,
149 'W', false, true, -10 },
151 { BRANCH_VESTIBULE_OF_HELL, BRANCH_MAIN_DUNGEON, 21, 27, 1, -1, 0, 0,
152 DNGN_ENTER_HELL, DNGN_EXIT_HELL, // sentinel
153 "Hell", "the Vestibule of Hell", "Hell",
154 NULL,
155 true, LIGHTGREY, LIGHTGREY,
156 mons_standard_rare, mons_standard_level,
157 NULL, NULL, NULL, NULL,
158 'U', false, false, 0 },
160 { BRANCH_DIS, BRANCH_VESTIBULE_OF_HELL, 1, 1, 7, -1, BFLAG_ISLANDED, 0,
161 DNGN_ENTER_DIS, NUM_FEATURES, // sentinel
162 "Dis", "the Iron City of Dis", "Dis",
163 NULL,
164 false, CYAN, CYAN,
165 mons_dis_rare, mons_dis_level,
166 NULL, NULL, NULL, NULL,
167 'I', true, true, 0 },
169 { BRANCH_GEHENNA, BRANCH_VESTIBULE_OF_HELL, 1, 1, 7, -1, BFLAG_ISLANDED, 0,
170 DNGN_ENTER_GEHENNA, NUM_FEATURES, // sentinel
171 "Gehenna", "Gehenna", "Geh",
172 NULL,
173 false, YELLOW, RED,
174 mons_gehenna_rare, mons_gehenna_level,
175 NULL, NULL, NULL, NULL,
176 'G', true, true, 0 },
178 { BRANCH_COCYTUS, BRANCH_VESTIBULE_OF_HELL, 1, 1, 7, -1, BFLAG_ISLANDED, 0,
179 DNGN_ENTER_COCYTUS, NUM_FEATURES, // sentinel
180 "Cocytus", "Cocytus", "Coc",
181 NULL,
182 false, LIGHTBLUE, LIGHTCYAN,
183 mons_cocytus_rare, mons_cocytus_level,
184 NULL, NULL, NULL, NULL,
185 'X', true, true, 0 },
187 { BRANCH_TARTARUS, BRANCH_VESTIBULE_OF_HELL, 1, 1, 7, -1, BFLAG_ISLANDED, 0,
188 DNGN_ENTER_TARTARUS, NUM_FEATURES, // sentinel
189 "Tartarus", "Tartarus", "Tar",
190 NULL,
191 false, MAGENTA, MAGENTA,
192 mons_tartarus_rare, mons_tartarus_level,
193 NULL, NULL, NULL, NULL,
194 'Y', true, true, 0 },
196 { BRANCH_HALL_OF_ZOT, BRANCH_MAIN_DUNGEON, 27, 27, 5, 27, BFLAG_HAS_ORB, 0,
197 DNGN_ENTER_ZOT, DNGN_RETURN_FROM_ZOT,
198 "Zot", "the Realm of Zot", "Zot",
199 NULL,
200 true, BLACK, BLACK,
201 mons_hallzot_rare, mons_hallzot_level,
202 NULL, NULL, NULL, NULL,
203 'Z', false, true, 0 },
205 { BRANCH_FOREST, BRANCH_MAIN_DUNGEON, 3, 6, 5, 7, 0, 0,
206 DNGN_ENTER_FOREST, DNGN_RETURN_FROM_FOREST,
207 "Forest", "the Enchanted Forest", "Forest",
208 NULL,
209 true, BROWN, BROWN,
210 mons_forest_rare, mons_forest_level,
211 NULL, NULL, NULL, NULL,
212 'F', false, true, 0 },
214 { BRANCH_SPIDER_NEST, BRANCH_LAIR, 3, 6, 5, 7, 0, 0,
215 DNGN_ENTER_SPIDER_NEST, DNGN_RETURN_FROM_SPIDER_NEST,
216 "Spider Nest", "the Spider Nest", "Spider",
217 NULL,
218 true, BROWN, YELLOW,
219 mons_spidernest_rare, mons_spidernest_level,
220 NULL, NULL, NULL, NULL,
221 'N', false, true, 0 },
223 { BRANCH_DWARVEN_HALL, BRANCH_MAIN_DUNGEON, 5, 7, 1, 6, 0, 0,
224 DNGN_ENTER_DWARVEN_HALL, DNGN_RETURN_FROM_DWARVEN_HALL,
225 "Dwarven Hall", "the Dwarven Hall", "Dwarf",
226 NULL,
227 true, YELLOW, LIGHTGREY,
228 mons_dwarf_rare, mons_dwarf_level,
229 NULL, NULL, NULL, NULL,
230 'K', false, false, 0 },
233 #endif