OSDN Git Service

Add new option -- show_ammo_detail / show_ammo_no_crit
authordis- <dis-@0568b783-4c39-0410-ac80-bf13821ea2a2>
Mon, 25 Mar 2013 13:40:58 +0000 (13:40 +0000)
committerdis- <dis-@0568b783-4c39-0410-ac80-bf13821ea2a2>
Mon, 25 Mar 2013 13:40:58 +0000 (13:40 +0000)
src/externs.h
src/flavor.c
src/tables.c
src/variable.c

index d310545..a8c1924 100644 (file)
@@ -282,6 +282,8 @@ extern bool abbrev_extra;   /* Describe obj's extra resistances by abbreviation */
 extern bool abbrev_all;        /* Describe obj's all resistances by abbreviation */
 extern bool exp_need;  /* Show the experience needed for next level */
 extern bool ignore_unview;     /* Ignore whenever any monster does */
+extern bool show_ammo_detail;  /* Show Description of ammo damage */
+extern bool show_ammo_no_crit; /* Show No-crit damage of ammo */
 
 
 /*** Game-Play Options ***/
index bd995a4..fe67653 100644 (file)
@@ -2370,7 +2370,7 @@ void object_desc(char *buf, object_type *o_ptr, u32b mode)
                
                int fire_rate = calc_num_fire(o_ptr);
                /* Show Fire rate */
-               if (fire_rate != 0 && power > 0)
+               if (fire_rate != 0 && power > 0 && known)
                {       
                        fire_rate = bow_energy(o_ptr->sval) / fire_rate;
                        
@@ -2454,15 +2454,20 @@ void object_desc(char *buf, object_type *o_ptr, u32b mode)
                t = object_desc_chr(t, ' ');
                t = object_desc_chr(t, p1);
                
-               /* Damage with no-crit */
-               t = object_desc_num(t, avgdam);
-               t = object_desc_str(t, "/shot, ");
+               if(show_ammo_no_crit)
+               {
+                       /* Damage with no-crit */
+                       t = object_desc_num(t, avgdam);
+                       t = object_desc_str(t, show_ammo_detail ? "/shot " : "/");
+               }
                
                /* Apply Expect damage of Critical */
                avgdam = calc_expect_crit_shot(o_ptr->weight, o_ptr->to_h, bow_ptr->to_h, avgdam);
                t = object_desc_num(t, avgdam);
-               t = object_desc_str(t, "/crit, ");
-
+               
+               t = show_ammo_no_crit ? object_desc_str(t, show_ammo_detail ? "/crit " : "/")
+                                                         : object_desc_str(t, show_ammo_detail ? "/shot " : "/");
+       
                if (p_ptr->num_fire == 0)
                {
                        t = object_desc_chr(t, '0');
@@ -2473,7 +2478,7 @@ void object_desc(char *buf, object_type *o_ptr, u32b mode)
                        avgdam *= (p_ptr->num_fire * 100);
                        avgdam /= energy_fire;
                        t = object_desc_num(t, avgdam);
-                       t = object_desc_str(t, "/turn");
+                       t = object_desc_str(t, show_ammo_detail ? "/turn" : "");
                }
 
                t = object_desc_chr(t, p2);
index 7d1d7e3..6a36170 100644 (file)
@@ -4994,6 +4994,13 @@ const option_type option_info[] =
 
        { &ignore_unview,               FALSE, OPT_PAGE_TEXT, 2, 13,
        "ignore_unview",                _("»ë³¦³°¤Î¥â¥ó¥¹¥¿¡¼¤Î¹ÔÆ°¤òɽ¼¨¤·¤Ê¤¤", "Ignore whenever any monster does") },
+       
+       { &show_ammo_detail,            TRUE, OPT_PAGE_TEXT, 2, 14,
+       "show_ammo_detail",             _("ÌðÃƤΥÀ¥á¡¼¥¸¤ÎÀâÌÀ¤òɽ¼¨¤¹¤ë", "Show description of ammo damage") },
+               
+       { &show_ammo_no_crit,           FALSE, OPT_PAGE_TEXT, 2, 15,
+       "show_ammo_no_crit",            _("²ñ¿´¤ò¹Íθ¤·¤Ê¤¤¾ì¹ç¤ÎÌðÃƤΥÀ¥á¡¼¥¸¤òɽ¼¨¤¹¤ë", "Show ammo damage with no critical") },
+               
 
        /*** Game-Play ***/
 
index b9b3f37..c41f3e8 100644 (file)
@@ -306,6 +306,9 @@ bool preserve_mode; /* Preserve artifacts (*) */
 bool autoroller;       /* Allow use of autoroller for stats (*) */
 bool autochara;        /* Autoroll for weight, height and social status */
 bool powerup_home;     /* Increase capacity of your home (*) */
+bool show_ammo_detail; /* Show Description of ammo damage */
+bool show_ammo_no_crit;        /* Show No-crit damage of ammo */
+
 
 
 /*** Easy Object Auto-Destroyer ***/