OSDN Git Service

毒針を装備している時は必ず攻撃回数を1にするようにした。(乱れ雪月花で増えない)
[hengband/hengband.git] / src / monster1.c
index 86e8d94..430f803 100644 (file)
@@ -141,7 +141,8 @@ static void roff_aux(int r_idx, int mode)
 #endif
        int             msex = 0;
 
-       int speed = (ironman_nightmare) ? r_ptr->speed + 5 : r_ptr->speed;
+       bool nightmare = ironman_nightmare && !(mode & 0x02);
+       int speed = nightmare ? r_ptr->speed + 5 : r_ptr->speed;
 
        bool            breath = FALSE;
        bool            magic = FALSE;
@@ -1676,7 +1677,7 @@ if (flags6 & (RF6_S_UNIQUE))        {vp[vn] = "
                /* Maximized hitpoints */
                if ((flags1 & RF1_FORCE_MAXHP) || (r_ptr->hside == 1))
                {
-                       u32b hp = r_ptr->hdice * (ironman_nightmare ? 2 : 1) * r_ptr->hside;
+                       u32b hp = r_ptr->hdice * (nightmare ? 2 : 1) * r_ptr->hside;
 #ifdef JP
                        hooked_roff(format(" %d ¤ÎÂÎÎϤ¬¤¢¤ë¡£",
 #else
@@ -1693,7 +1694,7 @@ if (flags6 & (RF6_S_UNIQUE))        {vp[vn] = "
 #else
                        hooked_roff(format(" and a life rating of %dd%d.  ",
 #endif
-                                   r_ptr->hdice * (ironman_nightmare ? 2 : 1), r_ptr->hside));
+                                   r_ptr->hdice * (nightmare ? 2 : 1), r_ptr->hside));
                }
        }
 
@@ -3360,6 +3361,8 @@ void set_friendly(monster_type *m_ptr)
 
 void set_pet(monster_type *m_ptr)
 {
+       if (!is_pet(m_ptr)) check_pets_num_and_align(m_ptr, TRUE);
+
        /* Check for quest completion */
        check_quest_completion(m_ptr);
 
@@ -3374,6 +3377,9 @@ void set_pet(monster_type *m_ptr)
 void set_hostile(monster_type *m_ptr)
 {
        if (p_ptr->inside_battle) return;
+
+       if (is_pet(m_ptr)) check_pets_num_and_align(m_ptr, FALSE);
+
        m_ptr->smart &= ~SM_PET;
        m_ptr->smart &= ~SM_FRIENDLY;
 }