OSDN Git Service

[Refactor] #37353 コメント整理。 / Refactor comments.
[hengband/hengband.git] / src / floor-events.c
1 #include "angband.h"\r
2 \r
3 void day_break()\r
4 {\r
5         POSITION y, x;\r
6         msg_print(_("夜が明けた。", "The sun has risen."));\r
7 \r
8         if (!p_ptr->wild_mode)\r
9         {\r
10                 /* Hack -- Scan the town */\r
11                 for (y = 0; y < cur_hgt; y++)\r
12                 {\r
13                         for (x = 0; x < cur_wid; x++)\r
14                         {\r
15                                 /* Get the cave grid */\r
16                                 cave_type *c_ptr = &cave[y][x];\r
17 \r
18                                 /* Assume lit */\r
19                                 c_ptr->info |= (CAVE_GLOW);\r
20 \r
21                                 /* Hack -- Memorize lit grids if allowed */\r
22                                 if (view_perma_grids) c_ptr->info |= (CAVE_MARK);\r
23 \r
24                                 /* Hack -- Notice spot */\r
25                                 note_spot(y, x);\r
26                         }\r
27                 }\r
28         }\r
29 \r
30         p_ptr->update |= (PU_MONSTERS | PU_MON_LITE);\r
31         p_ptr->redraw |= (PR_MAP);\r
32         p_ptr->window |= (PW_OVERHEAD | PW_DUNGEON);\r
33 \r
34         if (p_ptr->special_defense & NINJA_S_STEALTH)\r
35         {\r
36                 if (cave[p_ptr->y][p_ptr->x].info & CAVE_GLOW) set_superstealth(FALSE);\r
37         }\r
38 \r
39 }\r
40 \r
41 void night_falls(void)\r
42 {\r
43         POSITION y, x;\r
44         msg_print(_("日が沈んだ。", "The sun has fallen."));\r
45 \r
46         if (!p_ptr->wild_mode)\r
47         {\r
48                 /* Hack -- Scan the town */\r
49                 for (y = 0; y < cur_hgt; y++)\r
50                 {\r
51                         for (x = 0; x < cur_wid; x++)\r
52                         {\r
53                                 /* Get the cave grid */\r
54                                 cave_type *c_ptr = &cave[y][x];\r
55 \r
56                                 /* Feature code (applying "mimic" field) */\r
57                                 feature_type *f_ptr = &f_info[get_feat_mimic(c_ptr)];\r
58 \r
59                                 if (!is_mirror_grid(c_ptr) && !have_flag(f_ptr->flags, FF_QUEST_ENTER) &&\r
60                                         !have_flag(f_ptr->flags, FF_ENTRANCE))\r
61                                 {\r
62                                         /* Assume dark */\r
63                                         c_ptr->info &= ~(CAVE_GLOW);\r
64 \r
65                                         if (!have_flag(f_ptr->flags, FF_REMEMBER))\r
66                                         {\r
67                                                 /* Forget the normal floor grid */\r
68                                                 c_ptr->info &= ~(CAVE_MARK);\r
69 \r
70                                                 /* Hack -- Notice spot */\r
71                                                 note_spot(y, x);\r
72                                         }\r
73                                 }\r
74                         }\r
75 \r
76                         /* Glow deep lava and building entrances */\r
77                         glow_deep_lava_and_bldg();\r
78                 }\r
79         }\r
80 \r
81         p_ptr->update |= (PU_MONSTERS | PU_MON_LITE);\r
82         p_ptr->redraw |= (PR_MAP);\r
83         p_ptr->window |= (PW_OVERHEAD | PW_DUNGEON);\r
84 \r
85         if (p_ptr->special_defense & NINJA_S_STEALTH)\r
86         {\r
87                 if (cave[p_ptr->y][p_ptr->x].info & CAVE_GLOW) set_superstealth(FALSE);\r
88         }\r
89 \r
90 }\r
91 \r
92 /*!\r
93  * @brief 現在フロアに残っている敵モンスターの数を返す /\r
94  * @return 現在の敵モンスターの数\r
95  */\r
96 MONSTER_NUMBER count_all_hostile_monsters(void)\r
97 {\r
98         POSITION x, y;\r
99         MONSTER_NUMBER number_mon = 0;\r
100 \r
101         for (x = 0; x < cur_wid; ++x)\r
102         {\r
103                 for (y = 0; y < cur_hgt; ++y)\r
104                 {\r
105                         MONSTER_IDX m_idx = cave[y][x].m_idx;\r
106 \r
107                         if (m_idx > 0 && is_hostile(&m_list[m_idx]))\r
108                         {\r
109                                 ++number_mon;\r
110                         }\r
111                 }\r
112         }\r
113 \r
114         return number_mon;\r
115 }\r