OSDN Git Service

[Refactor] #3640 'monraces_info[m_ptr->r_idx]' を厳密一致で'm_ptr->get_monrace()' に差し替えた
[hengbandforosx/hengbandosx.git] / src / grid / feature.h
1 #pragma once
2
3 #include "system/angband.h"
4 #include <string>
5 #include <vector>
6
7 /* Lighting levels of features' attr and char */
8 #define F_LIT_STANDARD 0 /* Standard */
9 #define F_LIT_LITE 1 /* Brightly lit */
10 #define F_LIT_DARK 2 /* Darkened */
11
12 #define F_LIT_NS_BEGIN 1 /* Nonstandard */
13
14 /*** Terrain feature variables ***/
15 extern FEAT_IDX feat_none;
16 extern FEAT_IDX feat_floor;
17 extern FEAT_IDX feat_rune_protection;
18 extern FEAT_IDX feat_rune_explosion;
19 extern FEAT_IDX feat_mirror;
20 extern FEAT_IDX feat_up_stair;
21 extern FEAT_IDX feat_down_stair;
22 extern FEAT_IDX feat_entrance;
23 extern FEAT_IDX feat_trap_open;
24 extern FEAT_IDX feat_trap_armageddon;
25 extern FEAT_IDX feat_trap_piranha;
26 extern FEAT_IDX feat_rubble;
27 extern FEAT_IDX feat_magma_vein;
28 extern FEAT_IDX feat_quartz_vein;
29 extern FEAT_IDX feat_granite;
30 extern FEAT_IDX feat_permanent;
31 extern FEAT_IDX feat_glass_floor;
32 extern FEAT_IDX feat_glass_wall;
33 extern FEAT_IDX feat_permanent_glass_wall;
34 extern FEAT_IDX feat_pattern_start;
35 extern FEAT_IDX feat_pattern_1;
36 extern FEAT_IDX feat_pattern_2;
37 extern FEAT_IDX feat_pattern_3;
38 extern FEAT_IDX feat_pattern_4;
39 extern FEAT_IDX feat_pattern_end;
40 extern FEAT_IDX feat_pattern_old;
41 extern FEAT_IDX feat_pattern_exit;
42 extern FEAT_IDX feat_pattern_corrupted;
43 extern FEAT_IDX feat_black_market;
44 extern FEAT_IDX feat_town;
45 extern FEAT_IDX feat_deep_water;
46 extern FEAT_IDX feat_shallow_water;
47 extern FEAT_IDX feat_deep_lava;
48 extern FEAT_IDX feat_shallow_lava;
49 extern FEAT_IDX feat_heavy_cold_zone;
50 extern FEAT_IDX feat_cold_zone;
51 extern FEAT_IDX feat_heavy_electrical_zone;
52 extern FEAT_IDX feat_electrical_zone;
53 extern FEAT_IDX feat_deep_acid_puddle;
54 extern FEAT_IDX feat_shallow_acid_puddle;
55 extern FEAT_IDX feat_deep_poisonous_puddle;
56 extern FEAT_IDX feat_shallow_poisonous_puddle;
57 extern FEAT_IDX feat_dirt;
58 extern FEAT_IDX feat_grass;
59 extern FEAT_IDX feat_flower;
60 extern FEAT_IDX feat_brake;
61 extern FEAT_IDX feat_tree;
62 extern FEAT_IDX feat_mountain;
63 extern FEAT_IDX feat_swamp;
64 extern FEAT_IDX feat_undetected;
65
66 extern FEAT_IDX feat_wall_outer;
67 extern FEAT_IDX feat_wall_inner;
68 extern FEAT_IDX feat_wall_solid;
69 extern FEAT_IDX feat_ground_type[100];
70 extern FEAT_IDX feat_wall_type[100];
71
72 class FloorType;
73 class PlayerType;
74 class TerrainType;
75 bool is_closed_door(PlayerType *player_ptr, FEAT_IDX feat);
76 bool is_trap(PlayerType *player_ptr, FEAT_IDX feat);
77 void apply_default_feat_lighting(TERM_COLOR *f_attr, char *f_char);
78 bool is_ascii_graphics(char x);
79 bool permanent_wall(TerrainType *f_ptr);
80 FEAT_IDX feat_locked_door_random(int door_type);
81 FEAT_IDX feat_jammed_door_random(int door_type);
82 void cave_set_feat(PlayerType *player_ptr, POSITION y, POSITION x, FEAT_IDX feat);
83 FEAT_IDX conv_dungeon_feat(FloorType *floor_ptr, FEAT_IDX newfeat);