OSDN Git Service

モンスター同士で殴り合った時にオーラを喰らったモンスターの耐性が記憶
authornothere <nothere@0568b783-4c39-0410-ac80-bf13821ea2a2>
Mon, 16 Jun 2003 15:53:48 +0000 (15:53 +0000)
committernothere <nothere@0568b783-4c39-0410-ac80-bf13821ea2a2>
Mon, 16 Jun 2003 15:53:48 +0000 (15:53 +0000)
されないバグを修正.

src/melee2.c

index 576e6b6..0b13520 100644 (file)
@@ -2045,74 +2045,85 @@ msg_format("%s
                                if (touched)
                                {
                                        /* Aura fire */
-                                       if ((tr_ptr->flags2 & RF2_AURA_FIRE) &&
-                                               !(r_ptr->flags3 & RF3_EFF_IM_FIRE_MASK) &&
-                                               m_ptr->r_idx)
+                                       if ((tr_ptr->flags2 & RF2_AURA_FIRE) && m_ptr->r_idx)
                                        {
-                                               if (see_either)
+                                               if (!(r_ptr->flags3 & RF3_EFF_IM_FIRE_MASK))
                                                {
-                                                       blinked = FALSE;
+                                                       if (see_either)
+                                                       {
+                                                               blinked = FALSE;
 #ifdef JP
-msg_format("%^s¤ÏÆÍÁ³Ç®¤¯¤Ê¤Ã¤¿¡ª", m_name);
+                                                               msg_format("%^s¤ÏÆÍÁ³Ç®¤¯¤Ê¤Ã¤¿¡ª", m_name);
 #else
-                                                       msg_format("%^s is suddenly very hot!", m_name);
+                                                               msg_format("%^s is suddenly very hot!", m_name);
 #endif
 
-                                                       if (t_ptr->ml)
-                                                               tr_ptr->r_flags2 |= RF2_AURA_FIRE;
+                                                               if (see_t) tr_ptr->r_flags2 |= RF2_AURA_FIRE;
+                                                       }
+                                                       project(t_idx, 0, m_ptr->fy, m_ptr->fx,
+                                                               damroll (1 + ((tr_ptr->level) / 26),
+                                                               1 + ((tr_ptr->level) / 17)),
+                                                               GF_FIRE, PROJECT_KILL | PROJECT_STOP | PROJECT_MONSTER, -1);
+                                               }
+                                               else
+                                               {
+                                                       if (see_m) r_ptr->r_flags3 |= (r_ptr->flags3 & RF3_EFF_IM_FIRE_MASK);
                                                }
-                                               project(t_idx, 0, m_ptr->fy, m_ptr->fx,
-                                                       damroll (1 + ((tr_ptr->level) / 26),
-                                                       1 + ((tr_ptr->level) / 17)),
-                                                       GF_FIRE, PROJECT_KILL | PROJECT_STOP | PROJECT_MONSTER, -1);
                                        }
 
                                        /* Aura cold */
-                                       if ((tr_ptr->flags3 & RF3_AURA_COLD) &&
-                                               !(r_ptr->flags3 & RF3_EFF_IM_COLD_MASK) &&
-                                               m_ptr->r_idx)
+                                       if ((tr_ptr->flags3 & RF3_AURA_COLD) && m_ptr->r_idx)
                                        {
-                                               if (see_either)
+                                               if (!(r_ptr->flags3 & RF3_EFF_IM_COLD_MASK))
                                                {
-                                                       blinked = FALSE;
+                                                       if (see_either)
+                                                       {
+                                                               blinked = FALSE;
 #ifdef JP
-msg_format("%^s¤ÏÆÍÁ³´¨¤¯¤Ê¤Ã¤¿¡ª", m_name);
+                                                               msg_format("%^s¤ÏÆÍÁ³´¨¤¯¤Ê¤Ã¤¿¡ª", m_name);
 #else
-                                                       msg_format("%^s is suddenly very cold!", m_name);
+                                                               msg_format("%^s is suddenly very cold!", m_name);
 #endif
 
-                                                       if (t_ptr->ml)
-                                                               tr_ptr->r_flags3 |= RF3_AURA_COLD;
+                                                               if (see_t) tr_ptr->r_flags3 |= RF3_AURA_COLD;
+                                                       }
+                                                       project(t_idx, 0, m_ptr->fy, m_ptr->fx,
+                                                               damroll (1 + ((tr_ptr->level) / 26),
+                                                               1 + ((tr_ptr->level) / 17)),
+                                                               GF_COLD, PROJECT_KILL | PROJECT_STOP | PROJECT_MONSTER, -1);
+                                               }
+                                               else
+                                               {
+                                                       if (see_m) r_ptr->r_flags3 |= (r_ptr->flags3 & RF3_EFF_IM_COLD_MASK);
                                                }
-                                               project(t_idx, 0, m_ptr->fy, m_ptr->fx,
-                                                       damroll (1 + ((tr_ptr->level) / 26),
-                                                       1 + ((tr_ptr->level) / 17)),
-                                                       GF_COLD, PROJECT_KILL | PROJECT_STOP | PROJECT_MONSTER, -1);
                                        }
 
                                        /* Aura elec */
-                                       if ((tr_ptr->flags2 & RF2_AURA_ELEC) &&
-                                               !(r_ptr->flags3 & RF3_EFF_IM_ELEC_MASK) &&
-                                               m_ptr->r_idx)
+                                       if ((tr_ptr->flags2 & RF2_AURA_ELEC) && m_ptr->r_idx)
                                        {
-                                               if (see_either)
+                                               if (!(r_ptr->flags3 & RF3_EFF_IM_ELEC_MASK))
                                                {
-                                                       blinked = FALSE;
+                                                       if (see_either)
+                                                       {
+                                                               blinked = FALSE;
 #ifdef JP
-msg_format("%^s¤ÏÅÅ·â¤ò¿©¤é¤Ã¤¿¡ª", m_name);
+                                                               msg_format("%^s¤ÏÅÅ·â¤ò¿©¤é¤Ã¤¿¡ª", m_name);
 #else
-                                                       msg_format("%^s gets zapped!", m_name);
+                                                               msg_format("%^s gets zapped!", m_name);
 #endif
 
-                                                       if (t_ptr->ml)
-                                                               tr_ptr->r_flags2 |= RF2_AURA_ELEC;
+                                                               if (see_t) tr_ptr->r_flags2 |= RF2_AURA_ELEC;
+                                                       }
+                                                       project(t_idx, 0, m_ptr->fy, m_ptr->fx,
+                                                               damroll (1 + ((tr_ptr->level) / 26),
+                                                               1 + ((tr_ptr->level) / 17)),
+                                                               GF_ELEC, PROJECT_KILL | PROJECT_STOP | PROJECT_MONSTER, -1);
+                                               }
+                                               else
+                                               {
+                                                       if (see_m) r_ptr->r_flags3 |= (r_ptr->flags3 & RF3_EFF_IM_ELEC_MASK);
                                                }
-                                               project(t_idx, 0, m_ptr->fy, m_ptr->fx,
-                                                       damroll (1 + ((tr_ptr->level) / 26),
-                                                       1 + ((tr_ptr->level) / 17)),
-                                                       GF_ELEC, PROJECT_KILL | PROJECT_STOP | PROJECT_MONSTER, -1);
                                        }
-
                                }
                        }
                }