blob: 009bb89bca7acf25f0e041d089fee905c6139d3e (
plain) (
blame)
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
|
/*
* File: branch.h
* Summary: Dungeon branch classes
* Written by: Haran Pilpel
*
* Modified for Crawl Reference by $Author: haranp $ on $Date: 2006-11-29 13:12:52 -0500 (Wed, 29 Nov 2006) $
*
*/
#ifndef BRANCH_H
#define BRANCH_H
#include "enum.h"
struct Branch
{
branch_type id;
branch_type parent_branch;
int depth;
int startdepth; // which level of the parent branch,
// 1 for first level
dungeon_feature_type entry_stairs;
dungeon_feature_type exit_stairs;
const char* shortname; // "Slime Pits"
const char* longname; // "The Pits of Slime"
const char* abbrevname; // "Slime"
const char* entry_message;
bool has_shops;
bool has_uniques;
char floor_colour; // Zot needs special handling
char rock_colour;
int (*mons_rarity_function)(int);
int (*mons_level_function)(int);
int altar_chance; // in percent
int travel_shortcut; // which key to press for travel
bool any_upstair_exits; // any upstair exits the branch (Hell branches)
};
extern Branch branches[];
Branch& your_branch();
branch_type str_to_branch(const std::string &branch,
branch_type err = NUM_BRANCHES);
#endif
|