- if (m_ptr->mflag2 & MFLAG2_MARK) {
- if (m_ptr->mflag2 & MFLAG2_SHOW) {
- m_ptr->mflag2 &= ~(MFLAG2_SHOW);
- repair_monsters = TRUE;
- } else {
- m_ptr->mflag2 &= ~(MFLAG2_MARK);
- m_ptr->ml = FALSE;
- update_monster(creature_ptr, m_idx, FALSE);
- if (creature_ptr->health_who == m_idx)
- creature_ptr->redraw |= (PR_HEALTH);
- if (creature_ptr->riding == m_idx)
- creature_ptr->redraw |= (PR_UHEALTH);
-
- lite_spot(creature_ptr, m_ptr->fy, m_ptr->fx);
- }
+ // 感知中のモンスターのフラグを落とす処理
+ // 感知したターンはMFLAG2_SHOWを落とし、次のターンに感知中フラグのMFLAG2_MARKを落とす
+ if (m_ptr->mflag2 & MFLAG2_MARK) {
+ if (m_ptr->mflag2 & MFLAG2_SHOW) {
+ m_ptr->mflag2 &= ~(MFLAG2_SHOW);
+ } else {
+ m_ptr->mflag2 &= ~(MFLAG2_MARK);
+ m_ptr->ml = FALSE;
+ update_monster(creature_ptr, m_idx, FALSE);
+ if (creature_ptr->health_who == m_idx)
+ creature_ptr->redraw |= (PR_HEALTH);
+ if (creature_ptr->riding == m_idx)
+ creature_ptr->redraw |= (PR_UHEALTH);
+
+ lite_spot(creature_ptr, m_ptr->fy, m_ptr->fx);