3 #include "floor/floor-base-definitions.h"
4 #include "floor/sight-definitions.h"
5 #include "monster/monster-timed-effect-types.h"
7 typedef struct grid_type grid_type;
8 typedef struct object_type object_type;
9 typedef struct monster_type monster_type;
10 typedef struct floor_type {
11 DUNGEON_IDX dungeon_idx;
12 grid_type *grid_array[MAX_HGT];
13 DEPTH dun_level; /*!< 現在の実ダンジョン階層 base_level の参照元となる / Current dungeon level */
14 DEPTH base_level; /*!< 基本生成レベル、後述のobject_level, monster_levelの参照元となる / Base dungeon level */
15 DEPTH object_level; /*!< アイテムの生成レベル、 base_level を起点に一時変更する時に参照 / Current object creation level */
16 DEPTH monster_level; /*!< モンスターの生成レベル、 base_level を起点に一時変更する時に参照 / Current monster creation level */
17 POSITION width; /*!< Current dungeon width */
18 POSITION height; /*!< Current dungeon height */
19 MONSTER_NUMBER num_repro; /*!< Current reproducer count */
21 GAME_TURN generated_turn; /* Turn when level began */
23 object_type *o_list; /*!< The array of dungeon items [max_o_idx] */
24 OBJECT_IDX o_max; /* Number of allocated objects */
25 OBJECT_IDX o_cnt; /* Number of live objects */
27 monster_type *m_list; /*!< The array of dungeon monsters [max_m_idx] */
28 MONSTER_IDX m_max; /* Number of allocated monsters */
29 MONSTER_IDX m_cnt; /* Number of live monsters */
31 s16b *mproc_list[MAX_MTIMED]; /*!< The array to process dungeon monsters[max_m_idx] */
32 s16b mproc_max[MAX_MTIMED]; /*!< Number of monsters to be processed */
34 POSITION_IDX lite_n; //!< Array of grids lit by player lite
35 POSITION lite_y[LITE_MAX];
36 POSITION lite_x[LITE_MAX];
38 POSITION_IDX mon_lite_n; //!< Array of grids lit by player lite
39 POSITION mon_lite_y[MON_LITE_MAX];
40 POSITION mon_lite_x[MON_LITE_MAX];
42 POSITION_IDX view_n; //!< Array of grids viewable to the player
43 POSITION view_y[VIEW_MAX];
44 POSITION view_x[VIEW_MAX];
46 POSITION_IDX redraw_n; //!< Array of grids for delayed visual updating
47 POSITION redraw_y[REDRAW_MAX];
48 POSITION redraw_x[REDRAW_MAX];
51 QUEST_IDX inside_quest; /* Inside quest level */
52 bool inside_arena; /* Is character inside on_defeat_arena_monster? */