OSDN Git Service

Revert "[Refactor] EFFECT_ID を spell_type に統合. / Integrate EFFECT_ID into spell_type."
[hengband/hengband.git] / src / system / floor-type-definition.h
1 #pragma once
2
3 #include "floor/floor-base-definitions.h"
4 #include "floor/sight-definitions.h"
5 #include "monster/monster-timed-effect-types.h"
6
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 */
20
21     GAME_TURN generated_turn; /* Turn when level began */
22
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 */
26
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 */
30
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 */
33
34     POSITION_IDX lite_n; //!< Array of grids lit by player lite
35     POSITION lite_y[LITE_MAX];
36     POSITION lite_x[LITE_MAX];
37
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];
41
42     POSITION_IDX view_n; //!< Array of grids viewable to the player
43     POSITION view_y[VIEW_MAX];
44     POSITION view_x[VIEW_MAX];
45
46     POSITION_IDX redraw_n; //!< Array of grids for delayed visual updating
47     POSITION redraw_y[REDRAW_MAX];
48     POSITION redraw_x[REDRAW_MAX];
49
50     bool monster_noise;
51     QUEST_IDX inside_quest; /* Inside quest level */
52     bool inside_arena; /* Is character inside on_defeat_arena_monster? */
53
54 } floor_type;