My Project
 
Loading...
Searching...
No Matches
terrain.h
Go to the documentation of this file.
1#pragma once
2
3class Terrain{
4public:
5 static const int CHASM = 0;
6 static const int EMPTY = 1;
7 static const int GRASS = 2;
8 static const int EMPTY_WELL = 3;
9 static const int WALL = 4;
10 static const int DOOR = 5;
11 static const int OPEN_DOOR = 6;
12 static const int ENTRANCE = 7;
13 static const int EXIT = 8;
14 static const int EMBERS = 9;
15 static const int LOCKED_DOOR = 10;
16 static const int PEDESTAL = 11;
17 static const int WALL_DECO = 12;
18 static const int BARRICADE = 13;
19 static const int EMPTY_SP = 14;
20 static const int HIGH_GRASS = 15;
21 static const int EMPTY_DECO = 24;
22 static const int LOCKED_EXIT = 25;
23 static const int UNLOCKED_EXIT = 26;
24 static const int SIGN = 29;
25 static const int WELL = 34;
26 static const int STATUE = 35;
27 static const int STATUE_SP = 36;
28 static const int BOOKSHELF = 41;
29 static const int ALCHEMY = 42;
30 static const int CHASM_FLOOR = 43;
31 static const int CHASM_FLOOR_SP = 44;
32 static const int CHASM_WALL = 45;
33 static const int CHASM_WATER = 46;
34
35 static const int SECRET_DOOR = 16;
36 static const int TOXIC_TRAP = 17;
37 static const int SECRET_TOXIC_TRAP = 18;
38 static const int FIRE_TRAP = 19;
39 static const int SECRET_FIRE_TRAP = 20;
40 static const int PARALYTIC_TRAP = 21;
41 static const int SECRET_PARALYTIC_TRAP = 22;
42 static const int INACTIVE_TRAP = 23;
43 static const int POISON_TRAP = 27;
44 static const int SECRET_POISON_TRAP = 28;
45 static const int ALARM_TRAP = 30;
46 static const int SECRET_ALARM_TRAP = 31;
47 static const int LIGHTNING_TRAP = 32;
48 static const int SECRET_LIGHTNING_TRAP = 33;
49 static const int GRIPPING_TRAP = 37;
50 static const int SECRET_GRIPPING_TRAP = 38;
51 static const int SUMMONING_TRAP = 39;
52 static const int SECRET_SUMMONING_TRAP = 40;
53
54 static const int WATER_TILES = 48;
55 static const int WATER = 63;
56
57 static const int PASSABLE = 0x01;
58 static const int LOS_BLOCKING = 0x02;
59 static const int FLAMABLE = 0x04;
60 static const int SECRET = 0x08;
61 static const int SOLID = 0x10;
62 static const int AVOID = 0x20;
63 static const int LIQUID = 0x40;
64 static const int PIT = 0x80;
65
66 static const int UNSTITCHABLE = 0x100;
68 static int flags[256];
69
70 static void init()
71 {
80 flags[ENTRANCE] = PASSABLE/* | SOLID*/;
93 flags[WELL] = AVOID;
98
103
122
123 for (int i = WATER_TILES; i < WATER_TILES + 16; i++)
124 {
125 flags[i] = flags[WATER];
126 }
127 }
128
129 static int discover(int terr)
130 {
131 switch (terr) {
132 case SECRET_DOOR:
133 return DOOR;
134 case SECRET_FIRE_TRAP:
135 return FIRE_TRAP;
137 return PARALYTIC_TRAP;
139 return TOXIC_TRAP;
141 return POISON_TRAP;
143 return ALARM_TRAP;
145 return LIGHTNING_TRAP;
147 return GRIPPING_TRAP;
149 return SUMMONING_TRAP;
150 default:
151 return terr;
152 }
153 }
154
155 Terrain(){ init(); }
156
157 static Terrain inst;
158};
static const int PIT
Definition terrain.h:64
static const int SECRET_SUMMONING_TRAP
Definition terrain.h:52
static const int HIGH_GRASS
Definition terrain.h:20
static const int STATUE
Definition terrain.h:26
static const int EMPTY_SP
Definition terrain.h:19
static const int ALCHEMY
Definition terrain.h:29
static const int EMPTY_DECO
Definition terrain.h:21
static const int LIGHTNING_TRAP
Definition terrain.h:47
static const int OPEN_DOOR
Definition terrain.h:11
static const int CHASM
Definition terrain.h:5
static const int GRIPPING_TRAP
Definition terrain.h:49
static const int SOLID
Definition terrain.h:61
static const int FIRE_TRAP
Definition terrain.h:38
static const int SECRET_DOOR
Definition terrain.h:35
static const int WATER
Definition terrain.h:55
static const int UNLOCKED_EXIT
Definition terrain.h:23
static const int SECRET_LIGHTNING_TRAP
Definition terrain.h:48
static const int EMPTY
Definition terrain.h:6
static const int SECRET_GRIPPING_TRAP
Definition terrain.h:50
static const int POISON_TRAP
Definition terrain.h:43
static const int PASSABLE
Definition terrain.h:57
static const int DOOR
Definition terrain.h:10
static const int WALL_DECO
Definition terrain.h:17
static void init()
Definition terrain.h:70
static const int ENTRANCE
Definition terrain.h:12
static const int SECRET_POISON_TRAP
Definition terrain.h:44
Terrain()
Definition terrain.h:155
static const int SECRET_TOXIC_TRAP
Definition terrain.h:37
static const int BARRICADE
Definition terrain.h:18
static const int LOCKED_EXIT
Definition terrain.h:22
static const int INACTIVE_TRAP
Definition terrain.h:42
static const int CHASM_FLOOR
Definition terrain.h:30
static const int EXIT
Definition terrain.h:13
static const int EMPTY_WELL
Definition terrain.h:8
static const int ALARM_TRAP
Definition terrain.h:45
static const int LOS_BLOCKING
Definition terrain.h:58
static int flags[256]
Definition terrain.h:67
static int discover(int terr)
Definition terrain.h:129
static const int SECRET_FIRE_TRAP
Definition terrain.h:39
static const int STATUE_SP
Definition terrain.h:27
static const int PEDESTAL
Definition terrain.h:16
static const int WATER_TILES
Definition terrain.h:54
static const int FLAMABLE
Definition terrain.h:59
static const int UNSTITCHABLE
Definition terrain.h:66
static const int CHASM_FLOOR_SP
Definition terrain.h:31
static const int LIQUID
Definition terrain.h:63
static const int GRASS
Definition terrain.h:7
static const int TOXIC_TRAP
Definition terrain.h:36
static const int SECRET_PARALYTIC_TRAP
Definition terrain.h:41
static const int CHASM_WATER
Definition terrain.h:33
static const int CHASM_WALL
Definition terrain.h:32
static const int SUMMONING_TRAP
Definition terrain.h:51
static const int LOCKED_DOOR
Definition terrain.h:15
static const int SECRET_ALARM_TRAP
Definition terrain.h:46
static const int EMBERS
Definition terrain.h:14
static const int WALL
Definition terrain.h:9
static const int BOOKSHELF
Definition terrain.h:28
static const int WELL
Definition terrain.h:25
static const int SECRET
Definition terrain.h:60
static const int PARALYTIC_TRAP
Definition terrain.h:40
static Terrain inst
Definition terrain.h:157
static const int SIGN
Definition terrain.h:24
static const int AVOID
Definition terrain.h:62