OSDN Git Service

・レ・テ・ネヌ戓ヒ、ホヒ簍。、ヌ・讌ヒ。シ・ッ・筵ケ・ソ。シ、ヒイヌ、ュ、ハ、、、隍ヲ、ヒス、タオ。」
authorhabu <habu@0568b783-4c39-0410-ac80-bf13821ea2a2>
Tue, 22 Jan 2002 15:18:23 +0000 (15:18 +0000)
committerhabu <habu@0568b783-4c39-0410-ac80-bf13821ea2a2>
Tue, 22 Jan 2002 15:18:23 +0000 (15:18 +0000)
src/cmd5.c
src/externs.h
src/spells2.c

index db0bb4f..ef1b3bb 100644 (file)
@@ -3823,7 +3823,7 @@ else msg_print("<
                fire_ball(GF_CHARM, 0, 20+plev, 3+plev/20);
                break;
        case 27: /* True Discharge Minion */
-               discharge_minion(TRUE);
+               discharge_minion();
                break;
        case 28: /* Summon Greater Demon */
        {
index 688130b..d2ccf9d 100644 (file)
@@ -1016,7 +1016,7 @@ extern bool item_tester_hook_recharge(object_type *o_ptr);
 extern bool project_hook(int typ, int dir, int dam, int flg);
 extern bool project_hack(int typ, int dam);
 extern bool eat_magic(int power);
-extern void discharge_minion(bool force);
+extern void discharge_minion(void);
 extern void kawarimi(bool success);
 
 /* spells3.c */
index 26467d3..b829197 100644 (file)
@@ -5584,7 +5584,7 @@ msg_format("%^s
 }
 
 
-void discharge_minion(bool force)
+void discharge_minion(void)
 {
        int i;
        bool okay = TRUE;
@@ -5613,20 +5613,18 @@ void discharge_minion(bool force)
                if (!m_ptr->r_idx || !is_pet(m_ptr)) continue;
                r_ptr = &r_info[m_ptr->r_idx];
 
-               if (!force)
+               /* Uniques resist discharging */
+               if (r_ptr->flags1 & RF1_UNIQUE)
                {
-                       if (r_ptr->level/2+randint(r_ptr->level/2) > p_ptr->lev/2+randint(p_ptr->lev/2))
-                       {
-                               char m_name[80];
-                               monster_desc(m_name, m_ptr, 0x00);
+                       char m_name[80];
+                       monster_desc(m_name, m_ptr, 0x00);
 #ifdef JP
-                               msg_format("%s¤ÏÇúÇˤµ¤ì¤ë¤Î¤ò·ù¤¬¤ê¡¢¾¡¼ê¤Ë¼«Ê¬¤ÎÀ¤³¦¤Ø¤Èµ¢¤Ã¤¿¡£", m_name);
+                       msg_format("%s¤ÏÇúÇˤµ¤ì¤ë¤Î¤ò·ù¤¬¤ê¡¢¾¡¼ê¤Ë¼«Ê¬¤ÎÀ¤³¦¤Ø¤Èµ¢¤Ã¤¿¡£", m_name);
 #else
-                               msg_format("%^s resists to be blasted, and run away.", m_name);
+                       msg_format("%^s resists to be blasted, and run away.", m_name);
 #endif
-                               delete_monster_idx(i);
-                               continue;
-                       }
+                       delete_monster_idx(i);
+                       continue;
                }
                dam = m_ptr->hp / 2;
                if (dam > 100) dam = (dam-100)/2 + 100;