OSDN Git Service

Add permanent drain_hp/mp flag.
[hengband/hengband.git] / src / object1.c
index 246d499..736cd8a 100644 (file)
@@ -384,21 +384,25 @@ static cptr item_activation_aux(object_type *o_ptr)
                        desc = _("Çï»ÒÌÚ¤òÂǤÁ¤Ê¤é¤¹", "beat wooden clappers");
                break;
        case ACT_RESIST_ACID:
-               if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ACID))
+               if (((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ACID)) || (o_ptr->name2 == EGO_BRAND_ACID))
                        desc = _("¥¢¥·¥Ã¥É¡¦¥Ü¡¼¥ë (100) ¤È»À¤Ø¤ÎÂÑÀ­", "ball of acid (100) and resist acid");
                break;
        case ACT_RESIST_FIRE:
-               if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_FLAMES))
+               if (((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_FLAMES)) || (o_ptr->name2 == EGO_BRAND_FIRE))
                        desc = _("¥Õ¥¡¥¤¥¢¡¦¥Ü¡¼¥ë (100) ¤È²Ð¤Ø¤ÎÂÑÀ­", "ball of fire (100) and resist fire");
                break;
        case ACT_RESIST_COLD:
-               if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ICE))
+               if (((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ICE)) || (o_ptr->name2 == EGO_BRAND_COLD))
                        desc = _("¥¢¥¤¥¹¡¦¥Ü¡¼¥ë (100) ¤ÈÎ䵤¤Ø¤ÎÂÑÀ­", "ball of cold (100) and resist cold");
                break;
        case ACT_RESIST_ELEC:
-               if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ELEC))
+               if (((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ELEC)) || (o_ptr->name2 == EGO_BRAND_ELEC))
                        desc = _("¥µ¥ó¥À¡¼¡¦¥Ü¡¼¥ë (100) ¤ÈÅÅ·â¤Ø¤ÎÂÑÀ­", "ball of elec (100) and resist elec");
                break;
+       case ACT_RESIST_POIS:
+               if (o_ptr->name2 == EGO_BRAND_POIS)
+                       desc = _("°­½­±À (100) ¤ÈÆǤؤÎÂÑÀ­", "ball of poison (100) and resist elec");
+               break;
        }
 
        /* Timeout description */
@@ -1763,156 +1767,71 @@ info[i++] = "
 
        if ((have_flag(flgs, TR_TY_CURSE)) || (o_ptr->curse_flags & TRC_TY_CURSE))
        {
-#ifdef JP
-info[i++] = "¤½¤ì¤ÏÂÀ¸Å¤Î²Ò¡¹¤·¤¤±åÇ°¤¬½É¤Ã¤Æ¤¤¤ë¡£";
-#else
-               info[i++] = "It carries an ancient foul curse.";
-#endif
-
+               info[i++] = _("¤½¤ì¤ÏÂÀ¸Å¤Î²Ò¡¹¤·¤¤±åÇ°¤¬½É¤Ã¤Æ¤¤¤ë¡£", "It carries an ancient foul curse.");
        }
        if ((have_flag(flgs, TR_AGGRAVATE)) || (o_ptr->curse_flags & TRC_AGGRAVATE))
        {
-#ifdef JP
-info[i++] = "¤½¤ì¤ÏÉÕ¶á¤Î¥â¥ó¥¹¥¿¡¼¤òÅܤ餻¤ë¡£";
-#else
-               info[i++] = "It aggravates nearby creatures.";
-#endif
-
+               info[i++] = _("¤½¤ì¤ÏÉÕ¶á¤Î¥â¥ó¥¹¥¿¡¼¤òÅܤ餻¤ë¡£", "It aggravates nearby creatures.");
        }
        if ((have_flag(flgs, TR_DRAIN_EXP)) || (o_ptr->curse_flags & TRC_DRAIN_EXP))
        {
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï·Ð¸³ÃͤòµÛ¤¤¼è¤ë¡£";
-#else
-               info[i++] = "It drains experience.";
-#endif
-
+               info[i++] = _("¤½¤ì¤Ï·Ð¸³ÃͤòµÛ¤¤¼è¤ë¡£", "It drains experience.");
        }
        if (o_ptr->curse_flags & TRC_SLOW_REGEN)
        {
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï²óÉüÎϤò¼å¤á¤ë¡£";
-#else
-               info[i++] = "It slows your regenerative powers.";
-#endif
-
+               info[i++] = _("¤½¤ì¤Ï²óÉüÎϤò¼å¤á¤ë¡£", "It slows your regenerative powers.");
        }
        if ((o_ptr->curse_flags & TRC_ADD_L_CURSE) || have_flag(flgs, TR_ADD_L_CURSE))
        {
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï¼å¤¤¼ö¤¤¤òÁý¤ä¤¹¡£";
-#else
-               info[i++] = "It adds weak curses.";
-#endif
-
+               info[i++] = _("¤½¤ì¤Ï¼å¤¤¼ö¤¤¤òÁý¤ä¤¹¡£","It adds weak curses.");
        }
        if ((o_ptr->curse_flags & TRC_ADD_H_CURSE) || have_flag(flgs, TR_ADD_H_CURSE))
        {
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï¶¯ÎϤʼö¤¤¤òÁý¤ä¤¹¡£";
-#else
-               info[i++] = "It adds heavy curses.";
-#endif
-
+               info[i++] = _("¤½¤ì¤Ï¶¯ÎϤʼö¤¤¤òÁý¤ä¤¹¡£","It adds heavy curses.");
        }
        if (o_ptr->curse_flags & TRC_CALL_ANIMAL)
        {
-#ifdef JP
-info[i++] = "¤½¤ì¤Ïưʪ¤ò¸Æ¤Ó´ó¤»¤ë¡£";
-#else
-               info[i++] = "It attracts animals.";
-#endif
-
+               info[i++] = _("¤½¤ì¤Ïưʪ¤ò¸Æ¤Ó´ó¤»¤ë¡£", "It attracts animals.");
        }
        if (o_ptr->curse_flags & TRC_CALL_DEMON)
        {
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï°­Ëâ¤ò¸Æ¤Ó´ó¤»¤ë¡£";
-#else
-               info[i++] = "It attracts demons.";
-#endif
-
+               info[i++] = _("¤½¤ì¤Ï°­Ëâ¤ò¸Æ¤Ó´ó¤»¤ë¡£", "It attracts demons.");
        }
        if (o_ptr->curse_flags & TRC_CALL_DRAGON)
        {
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï¥É¥é¥´¥ó¤ò¸Æ¤Ó´ó¤»¤ë¡£";
-#else
-               info[i++] = "It attracts dragons.";
-#endif
-
+               info[i++] = _("¤½¤ì¤Ï¥É¥é¥´¥ó¤ò¸Æ¤Ó´ó¤»¤ë¡£", "It attracts dragons.");
        }
        if (o_ptr->curse_flags & TRC_COWARDICE)
        {
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï¶²ÉÝ´¶¤ò°ú¤­µ¯¤³¤¹¡£";
-#else
-               info[i++] = "It makes you subject to cowardice.";
-#endif
-
+               info[i++] = _("¤½¤ì¤Ï¶²ÉÝ´¶¤ò°ú¤­µ¯¤³¤¹¡£", "It makes you subject to cowardice.");
        }
        if ((have_flag(flgs, TR_TELEPORT)) || (o_ptr->curse_flags & TRC_TELEPORT))
        {
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï¥é¥ó¥À¥à¤Ê¥Æ¥ì¥Ý¡¼¥È¤ò°ú¤­µ¯¤³¤¹¡£";
-#else
-               info[i++] = "It induces random teleportation.";
-#endif
-
+               info[i++] = _("¤½¤ì¤Ï¥é¥ó¥À¥à¤Ê¥Æ¥ì¥Ý¡¼¥È¤ò°ú¤­µ¯¤³¤¹¡£", "It induces random teleportation.");
        }
        if (o_ptr->curse_flags & TRC_LOW_MELEE)
        {
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï¹¶·â¤ò³°¤·¤ä¤¹¤¤¡£";
-#else
-               info[i++] = "It causes you to miss blows.";
-#endif
-
+               info[i++] = _("¤½¤ì¤Ï¹¶·â¤ò³°¤·¤ä¤¹¤¤¡£", "It causes you to miss blows.");
        }
        if (o_ptr->curse_flags & TRC_LOW_AC)
        {
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï¹¶·â¤ò¼õ¤±¤ä¤¹¤¤¡£";
-#else
-               info[i++] = "It helps your enemies' blows.";
-#endif
-
+               info[i++] = _("¤½¤ì¤Ï¹¶·â¤ò¼õ¤±¤ä¤¹¤¤¡£", "It helps your enemies' blows.");
        }
        if (o_ptr->curse_flags & TRC_LOW_MAGIC)
        {
-#ifdef JP
-info[i++] = "¤½¤ì¤ÏËâË¡¤ò¾§¤¨¤Ë¤¯¤¯¤¹¤ë¡£";
-#else
-               info[i++] = "It encumbers you while spellcasting.";
-#endif
-
+               info[i++] = _("¤½¤ì¤ÏËâË¡¤ò¾§¤¨¤Ë¤¯¤¯¤¹¤ë¡£", "It encumbers you while spellcasting.");
        }
        if (o_ptr->curse_flags & TRC_FAST_DIGEST)
        {
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï¤¢¤Ê¤¿¤Î¿·ÄÄÂå¼Õ¤ò®¤¯¤¹¤ë¡£";
-#else
-               info[i++] = "It speeds your metabolism.";
-#endif
-
+               info[i++] = _("¤½¤ì¤Ï¤¢¤Ê¤¿¤Î¿·ÄÄÂå¼Õ¤ò®¤¯¤¹¤ë¡£", "It speeds your metabolism.");
        }
-       if (o_ptr->curse_flags & TRC_DRAIN_HP)
+       if ((have_flag(flgs, TR_DRAIN_HP)) || (o_ptr->curse_flags & TRC_DRAIN_HP))
        {
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï¤¢¤Ê¤¿¤ÎÂÎÎϤòµÛ¤¤¼è¤ë¡£";
-#else
-               info[i++] = "It drains you.";
-#endif
-
+               info[i++] = _("¤½¤ì¤Ï¤¢¤Ê¤¿¤ÎÂÎÎϤòµÛ¤¤¼è¤ë¡£", "It drains you.");
        }
-       if (o_ptr->curse_flags & TRC_DRAIN_MANA)
+       if ((have_flag(flgs, TR_DRAIN_MANA)) || (o_ptr->curse_flags & TRC_DRAIN_MANA))
        {
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï¤¢¤Ê¤¿¤ÎËâÎϤòµÛ¤¤¼è¤ë¡£";
-#else
-               info[i++] = "It drains your mana.";
-#endif
-
+               info[i++] = _("¤½¤ì¤Ï¤¢¤Ê¤¿¤ÎËâÎϤòµÛ¤¤¼è¤ë¡£", "It drains your mana.");
        }
 
        /* Describe about this kind of object instead of THIS fake object */
@@ -5968,7 +5887,7 @@ void py_pickup_floor(bool pickup)
        char o_name[MAX_NLEN];
        object_type *o_ptr;
 
-       int floor_num = 0, floor_list[23], floor_o_idx = 0;
+       int floor_num = 0, floor_o_idx = 0;
 
        int can_pickup = 0;
 
@@ -6031,10 +5950,6 @@ void py_pickup_floor(bool pickup)
                        can_pickup++;
                }
 
-               /* Remember this object index */
-               if (floor_num < 23)
-                       floor_list[floor_num] = this_o_idx;
-
                /* Count non-gold objects */
                floor_num++;