OSDN Git Service

[refactor] repair_monstersフラグの削除
[hengbandforosx/hengbandosx.git] / src / spell-kind / spells-detection.c
index b87db29..6dbd3d5 100644 (file)
@@ -1,15 +1,29 @@
 #include "spell-kind/spells-detection.h"
-#include "core/player-processor.h"
+#include "core/window-redrawer.h"
+#include "dungeon/dungeon-flag-types.h"
 #include "dungeon/dungeon.h"
-#include "floor/floor.h"
+#include "floor/cave.h"
+#include "floor/floor-save-util.h"
 #include "grid/grid.h"
 #include "grid/trap.h"
-#include "monster/monster-race-hook.h"
+#include "monster-race/monster-race.h"
+#include "monster-race/race-flags2.h"
+#include "monster-race/race-flags3.h"
+#include "monster-race/monster-race-hook.h"
+#include "monster/monster-flag-types.h"
+#include "monster/monster-info.h"
 #include "monster/monster-status.h"
-#include "object/object-hook.h"
+#include "monster/monster-update.h"
+#include "object-hook/hook-checker.h"
+#include "object-hook/hook-enchant.h"
 #include "object/object-mark-types.h"
+#include "object/tval-types.h"
 #include "realm/realm-song-numbers.h"
 #include "realm/realm-song.h"
+#include "system/floor-type-definition.h"
+#include "system/object-type-definition.h"
+#include "util/string-processor.h"
+#include "view/display-messages.h"
 
 /*!
  * @brief プレイヤー周辺の地形を感知する
@@ -44,7 +58,7 @@ static bool detect_feat_flag(player_type *caster_ptr, POSITION range, int flag,
                 }
             }
 
-            if (cave_have_flag_grid(g_ptr, flag)) {
+            if (cave_has_flag_grid(g_ptr, flag)) {
                 disclose_grid(caster_ptr, y, x);
                 g_ptr->info |= (CAVE_MARK);
                 lite_spot(caster_ptr, y, x);
@@ -153,9 +167,9 @@ bool detect_objects_gold(player_type *caster_ptr, POSITION range)
     for (OBJECT_IDX i = 1; i < caster_ptr->current_floor_ptr->o_max; i++) {
         object_type *o_ptr = &caster_ptr->current_floor_ptr->o_list[i];
 
-        if (!OBJECT_IS_VALID(o_ptr))
+        if (!object_is_valid(o_ptr))
             continue;
-        if (OBJECT_IS_HELD_MONSTER(o_ptr))
+        if (object_is_held_monster(o_ptr))
             continue;
 
         y = o_ptr->iy;
@@ -199,9 +213,9 @@ bool detect_objects_normal(player_type *caster_ptr, POSITION range)
     for (OBJECT_IDX i = 1; i < caster_ptr->current_floor_ptr->o_max; i++) {
         object_type *o_ptr = &caster_ptr->current_floor_ptr->o_list[i];
 
-        if (!OBJECT_IS_VALID(o_ptr))
+        if (!object_is_valid(o_ptr))
             continue;
-        if (OBJECT_IS_HELD_MONSTER(o_ptr))
+        if (object_is_held_monster(o_ptr))
             continue;
 
         POSITION y = o_ptr->iy;
@@ -254,9 +268,9 @@ bool detect_objects_magic(player_type *caster_ptr, POSITION range)
     for (OBJECT_IDX i = 1; i < caster_ptr->current_floor_ptr->o_max; i++) {
         object_type *o_ptr = &caster_ptr->current_floor_ptr->o_list[i];
 
-        if (!OBJECT_IS_VALID(o_ptr))
+        if (!object_is_valid(o_ptr))
             continue;
-        if (OBJECT_IS_HELD_MONSTER(o_ptr))
+        if (object_is_held_monster(o_ptr))
             continue;
 
         POSITION y = o_ptr->iy;
@@ -269,7 +283,7 @@ bool detect_objects_magic(player_type *caster_ptr, POSITION range)
         if (object_is_artifact(o_ptr) || object_is_ego(o_ptr) || (tv == TV_WHISTLE) || (tv == TV_AMULET) || (tv == TV_RING) || (tv == TV_STAFF)
             || (tv == TV_WAND) || (tv == TV_ROD) || (tv == TV_SCROLL) || (tv == TV_POTION) || (tv == TV_LIFE_BOOK) || (tv == TV_SORCERY_BOOK)
             || (tv == TV_NATURE_BOOK) || (tv == TV_CHAOS_BOOK) || (tv == TV_DEATH_BOOK) || (tv == TV_TRUMP_BOOK) || (tv == TV_ARCANE_BOOK)
-            || (tv == TV_CRAFT_BOOK) || (tv == TV_DAEMON_BOOK) || (tv == TV_CRUSADE_BOOK) || (tv == TV_MUSIC_BOOK) || (tv == TV_HISSATSU_BOOK)
+            || (tv == TV_CRAFT_BOOK) || (tv == TV_DEMON_BOOK) || (tv == TV_CRUSADE_BOOK) || (tv == TV_MUSIC_BOOK) || (tv == TV_HISSATSU_BOOK)
             || (tv == TV_HEX_BOOK) || ((o_ptr->to_a > 0) || (o_ptr->to_h + o_ptr->to_d > 0))) {
             o_ptr->marked |= OM_FOUND;
             lite_spot(caster_ptr, y, x);
@@ -308,7 +322,6 @@ bool detect_monsters_normal(player_type *caster_ptr, POSITION range)
             continue;
 
         if (!(r_ptr->flags2 & RF2_INVISIBLE) || caster_ptr->see_inv) {
-            repair_monsters = TRUE;
             m_ptr->mflag2 |= (MFLAG2_MARK | MFLAG2_SHOW);
             update_monster(caster_ptr, i, FALSE);
             flag = TRUE;
@@ -351,10 +364,9 @@ bool detect_monsters_invis(player_type *caster_ptr, POSITION range)
 
         if (r_ptr->flags2 & RF2_INVISIBLE) {
             if (caster_ptr->monster_race_idx == m_ptr->r_idx) {
-                caster_ptr->window |= (PW_MONSTER);
+                caster_ptr->window_flags |= (PW_MONSTER);
             }
 
-            repair_monsters = TRUE;
             m_ptr->mflag2 |= (MFLAG2_MARK | MFLAG2_SHOW);
             update_monster(caster_ptr, i, FALSE);
             flag = TRUE;
@@ -398,11 +410,10 @@ bool detect_monsters_evil(player_type *caster_ptr, POSITION range)
             if (is_original_ap(m_ptr)) {
                 r_ptr->r_flags3 |= (RF3_EVIL);
                 if (caster_ptr->monster_race_idx == m_ptr->r_idx) {
-                    caster_ptr->window |= (PW_MONSTER);
+                    caster_ptr->window_flags |= (PW_MONSTER);
                 }
             }
 
-            repair_monsters = TRUE;
             m_ptr->mflag2 |= (MFLAG2_MARK | MFLAG2_SHOW);
             update_monster(caster_ptr, i, FALSE);
             flag = TRUE;
@@ -440,10 +451,9 @@ bool detect_monsters_nonliving(player_type *caster_ptr, POSITION range)
 
         if (!monster_living(m_ptr->r_idx)) {
             if (caster_ptr->monster_race_idx == m_ptr->r_idx) {
-                caster_ptr->window |= (PW_MONSTER);
+                caster_ptr->window_flags |= (PW_MONSTER);
             }
 
-            repair_monsters = TRUE;
             m_ptr->mflag2 |= (MFLAG2_MARK | MFLAG2_SHOW);
             update_monster(caster_ptr, i, FALSE);
             flag = TRUE;
@@ -483,10 +493,9 @@ bool detect_monsters_mind(player_type *caster_ptr, POSITION range)
 
         if (!(r_ptr->flags2 & RF2_EMPTY_MIND)) {
             if (caster_ptr->monster_race_idx == m_ptr->r_idx) {
-                caster_ptr->window |= (PW_MONSTER);
+                caster_ptr->window_flags |= (PW_MONSTER);
             }
 
-            repair_monsters = TRUE;
             m_ptr->mflag2 |= (MFLAG2_MARK | MFLAG2_SHOW);
             update_monster(caster_ptr, i, FALSE);
             flag = TRUE;
@@ -525,12 +534,11 @@ bool detect_monsters_string(player_type *caster_ptr, POSITION range, concptr Mat
         if (distance(caster_ptr->y, caster_ptr->x, y, x) > range)
             continue;
 
-        if (my_strchr(Match, r_ptr->d_char)) {
+        if (angband_strchr(Match, r_ptr->d_char)) {
             if (caster_ptr->monster_race_idx == m_ptr->r_idx) {
-                caster_ptr->window |= (PW_MONSTER);
+                caster_ptr->window_flags |= (PW_MONSTER);
             }
 
-            repair_monsters = TRUE;
             m_ptr->mflag2 |= (MFLAG2_MARK | MFLAG2_SHOW);
             update_monster(caster_ptr, i, FALSE);
             flag = TRUE;
@@ -575,11 +583,10 @@ bool detect_monsters_xxx(player_type *caster_ptr, POSITION range, u32b match_fla
             if (is_original_ap(m_ptr)) {
                 r_ptr->r_flags3 |= (match_flag);
                 if (caster_ptr->monster_race_idx == m_ptr->r_idx) {
-                    caster_ptr->window |= (PW_MONSTER);
+                    caster_ptr->window_flags |= (PW_MONSTER);
                 }
             }
 
-            repair_monsters = TRUE;
             m_ptr->mflag2 |= (MFLAG2_MARK | MFLAG2_SHOW);
             update_monster(caster_ptr, i, FALSE);
             flag = TRUE;