From 0179426740b1ed3459b4d53600e19ad713ff5fbf Mon Sep 17 00:00:00 2001 From: dis- Date: Mon, 25 Mar 2013 13:40:58 +0000 Subject: [PATCH] Add new option -- show_ammo_detail / show_ammo_no_crit --- src/externs.h | 2 ++ src/flavor.c | 19 ++++++++++++------- src/tables.c | 7 +++++++ src/variable.c | 3 +++ 4 files changed, 24 insertions(+), 7 deletions(-) diff --git a/src/externs.h b/src/externs.h index d31054584..a8c192491 100644 --- a/src/externs.h +++ b/src/externs.h @@ -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 ***/ diff --git a/src/flavor.c b/src/flavor.c index bd995a4b2..fe6765339 100644 --- a/src/flavor.c +++ b/src/flavor.c @@ -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); diff --git a/src/tables.c b/src/tables.c index 7d1d7e379..6a361703e 100644 --- a/src/tables.c +++ b/src/tables.c @@ -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 ***/ diff --git a/src/variable.c b/src/variable.c index b9b3f372a..c41f3e828 100644 --- a/src/variable.c +++ b/src/variable.c @@ -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 ***/ -- 2.11.0