OSDN Git Service

200点たまって我慢を解いた後、また我慢を解くことがあるバグを修正。
[hengband/hengband.git] / src / do-spell.c
index 64c7b0c..139df0f 100644 (file)
@@ -11685,10 +11685,10 @@ static cptr do_hex_spell(int spell, int mode)
        case 7:
 #ifdef JP
                if (name) return "²æËý";
-               if (desc) return "¿ô¥¿¡¼¥ó¹¶·â¤òÂѤ¨¡¢¼õ¤±¤¿¥À¥á¡¼¥¸¤Î1/5¤òËâÎϤεå¤È¤·¤ÆÊü¤Ä¡£";
+               if (desc) return "¿ô¥¿¡¼¥ó¹¶·â¤òÂѤ¨¤¿¸å¡¢¼õ¤±¤¿¥À¥á¡¼¥¸¤òÃϹö¤Î¶È²Ð¤È¤·¤Æ¼þ°Ï¤ËÊü½Ð¤¹¤ë¡£";
 #else
                if (name) return "Patience";
-               if (desc) return "Fires strong mana ball after patient any damage while few turns.";
+               if (desc) return "Bursts hell fire strongly after patients any damage while few turns.";
 #endif
                power = MIN(200, (p_ptr->magic_num1[2] * 2));
                if (info) return info_damage(0, 0, power);
@@ -11743,6 +11743,10 @@ static cptr do_hex_spell(int spell, int mode)
                                        msg_format("You return %d damages.", power);
 #endif
                                }
+
+                               /* Reset */
+                               p_ptr->magic_num2[1] = 0;
+                               p_ptr->magic_num2[2] = 0;
                                p_ptr->magic_num1[2] = 0;
                        }
                }
@@ -12169,8 +12173,13 @@ static cptr do_hex_spell(int spell, int mode)
                {
                        object_type *o_ptr = &inventory[INVEN_OUTER];
 
-                       if (!o_ptr->k_idx) do_spell(REALM_HEX, spell, SPELL_STOP);
-                       if (!object_is_cursed(o_ptr)) do_spell(REALM_HEX, spell, SPELL_STOP);
+                       if ((!o_ptr->k_idx) || (!object_is_cursed(o_ptr)))
+                       {
+                               do_spell(REALM_HEX, spell, SPELL_STOP);
+                               p_ptr->magic_num1[0] &= ~(1L << spell);
+                               p_ptr->magic_num2[0]--;
+                               if (!p_ptr->magic_num2[0]) set_action(ACTION_NONE);
+                       }
                }
                if (stop)
                {
@@ -12383,20 +12392,20 @@ static cptr do_hex_spell(int spell, int mode)
                if (cast)
                {
 #ifdef JP
-                       msg_print("Éð´ï¤Î³é˾¤¬¾Ã¤¨µî¤Ã¤¿¡£");
+                       msg_print("¤¢¤Ê¤¿¤ÎÉð´ï¤¬·ì¤òÍߤ·¤Æ¤¤¤ë¡£");
 #else
-                       msg_format("Thirsty of weapon%s disappeared.", (empty_hands(FALSE)) ? "" : "s");
+                       if (!empty_hands(FALSE))
+                               msg_print("Your weapons want more blood now.");
+                       else
+                               msg_print("Your weapon wants more blood now.");
 #endif
                }
                if (stop)
                {
 #ifdef JP
-                       msg_print("¤¢¤Ê¤¿¤ÎÉð´ï¤¬·ì¤òÍߤ·¤Æ¤¤¤ë¡£");
+                       msg_print("Éð´ï¤Î³é˾¤¬¾Ã¤¨µî¤Ã¤¿¡£");
 #else
-                       if (!empty_hands(FALSE))
-                               msg_print("Your weapons want more blood now.");
-                       else
-                               msg_print("Your weapon wants more blood now.");
+                       msg_format("Thirsty of weapon%s disappeared.", (empty_hands(FALSE)) ? "" : "s");
 #endif
                }
                break;
@@ -12498,10 +12507,10 @@ static cptr do_hex_spell(int spell, int mode)
        case 31:
 #ifdef JP
                if (name) return "Éü½²¤ÎÀë¹ð";
-               if (desc) return "¿ô¥¿¡¼¥ó¸å¤Ë¡¢¤½¤ì¤Þ¤Ç¼õ¤±¤¿¥À¥á¡¼¥¸¤Ë±þ¤¸¤¿°ÒÎϤÎËâË¡¤ÎÃƤò¡¢ÂоݤΥâ¥ó¥¹¥¿¡¼¤¬¤½¤Î»þ¤¤¤¿°ÌÃÖ¤ËÊü¤Ä¡£";
+               if (desc) return "¿ô¥¿¡¼¥ó¸å¤Ë¤½¤ì¤Þ¤Ç¼õ¤±¤¿¥À¥á¡¼¥¸¤Ë±þ¤¸¤¿°ÒÎϤÎÃϹö¤Î¹å²Ð¤ÎÃƤòÊü¤Ä¡£";
 #else
                if (name) return "Revenge sentence";
-               if (desc) return "Fires magic ball to revenge after few turns.";
+               if (desc) return "Fires  a ball of hell fire to try revenging after few turns.";
 #endif
                power = p_ptr->magic_num1[2];
                if (info) return info_damage(0, 0, power);