OSDN Git Service

火炎オーラ等でプレイヤーの体に光源があるとき、光源半径の計算が間違って
authormogami <mogami@0568b783-4c39-0410-ac80-bf13821ea2a2>
Sat, 5 Oct 2002 09:56:20 +0000 (09:56 +0000)
committermogami <mogami@0568b783-4c39-0410-ac80-bf13821ea2a2>
Sat, 5 Oct 2002 09:56:20 +0000 (09:56 +0000)
いて暗闇の光源を装備しても半径0にできなかったバグ修正。
*鑑定*時の暗闇光源の説明に半径のマイナス数値を具体的に表記。

src/object1.c
src/xtra1.c

index 8882b10..9dd7b5c 100644 (file)
@@ -2539,10 +2539,28 @@ info[i++] = "
                if (o_ptr->name2 == EGO_LITE_DARKNESS)
                {
 #ifdef JP
-info[i++] = "¤½¤ì¤ÏÁ´¤¯¸÷¤é¤Ê¤¤¡£";
+                        info[i++] = "¤½¤ì¤ÏÁ´¤¯¸÷¤é¤Ê¤¤¡£";
 #else
                        info[i++] = "It provides no light..";
 #endif
+
+                       if (o_ptr->sval == SV_LITE_FEANOR ||
+                            o_ptr->sval == SV_LITE_LANTERN)
+                       {
+#ifdef JP
+                                info[i++] = "¤½¤ì¤ÏÌÀ¤ê¤ÎȾ·Â¤ò¶¹¤á¤ë(Ⱦ·Â¤Ë-2)¡£";
+#else
+                               info[i++] = "It decreases radius of light source by 2.";
+#endif
+                       }
+                       else
+                       {
+#ifdef JP
+                                info[i++] = "¤½¤ì¤ÏÌÀ¤ê¤ÎȾ·Â¤ò¶¹¤á¤ë(Ⱦ·Â¤Ë-1)¡£";
+#else
+                               info[i++] = "It decreases radius of light source by 1.";
+#endif
+                       }
                }
                else if (artifact_p(o_ptr))
                {
@@ -3316,15 +3334,15 @@ info[i++] = "
        {
                if ((o_ptr->name2 == EGO_DARK) || (o_ptr->name1 == ART_NIGHT))
 #ifdef JP
-info[i++] = "¤½¤ì¤ÏÌÀ¤«¤ê¤ÎȾ·Â¤ò¶¹¤á¤ë¡£";
+info[i++] = "¤½¤ì¤ÏÌÀ¤«¤ê¤ÎȾ·Â¤ò¶¹¤á¤ë(Ⱦ·Â¤Ë-1)¡£";
 #else
-                       info[i++] = "It decreases radius of your light source.";
+                       info[i++] = "It decreases radius of your light source by 1.";
 #endif
                else
 #ifdef JP
-info[i++] = "¤½¤ì¤Ï±Ê±ó¤ÎÌÀ¤«¤ê¤ò¼ø¤±¤ë¡£";
+info[i++] = "¤½¤ì¤Ï±Ê±ó¤ÎÌÀ¤«¤ê¤ò¼ø¤±¤ë(Ⱦ·Â¤Ë+1)¡£";
 #else
-                       info[i++] = "It provides permanent light.";
+                       info[i++] = "It provides permanent light (radius increases by 1).";
 #endif
 
        }
index 6d289e8..d93d245 100644 (file)
@@ -2890,17 +2890,20 @@ static void calc_torch(void)
 
        }
 
-       /* max radius is 5 without rewriting other code -- */
+       /* max radius is 14 (was 5) without rewriting other code -- */
        /* see cave.c:update_lite() and defines.h:LITE_MAX */
        if (d_info[dungeon_type].flags1 & DF1_DARKNESS && p_ptr->cur_lite > 1)
                p_ptr->cur_lite = 1;
+
+       /*
+         * check if the player doesn't have light radius, 
+        * but does weakly glow as an intrinsic.
+         */
+       if (p_ptr->cur_lite <= 0 && p_ptr->lite) p_ptr->cur_lite++;
+
        if (p_ptr->cur_lite > 14) p_ptr->cur_lite = 14;
        if (p_ptr->cur_lite < 0) p_ptr->cur_lite = 0;
 
-       /* check if the player doesn't have a lite source, */
-       /* but does glow as an intrinsic.                  */
-       if (p_ptr->cur_lite == 0 && p_ptr->lite) p_ptr->cur_lite = 1;
-
        /* end experimental mods */
 
        /* Reduce lite when running if requested */