OSDN Git Service

#37580 sanity_blast()の仕様変更。魔法防御が高いほど致命的な変異を受けやすい問題を直した。 / Change process of sanity_bl...
[hengband/hengband.git] / src / flavor.c
index 9ad1b56..4aff4dc 100644 (file)
@@ -201,9 +201,9 @@ void get_table_sindarin(char *out_string)
  */
 static void shuffle_flavors(byte tval)
 {
-       s16b *k_idx_list;
-       int k_idx_list_num = 0;
-       int i;
+       IDX *k_idx_list;
+       IDX k_idx_list_num = 0;
+       IDX i;
 
        /* Allocate an array for a list of k_idx */
        C_MAKE(k_idx_list, max_k_idx, s16b);
@@ -281,7 +281,7 @@ static void shuffle_flavors(byte tval)
  */
 void flavor_init(void)
 {
-       int i;
+       KIND_OBJECT_IDX i;
        u32b state_backup[4];
 
        /* Hack -- Backup the RNG state */
@@ -1316,7 +1316,7 @@ bool object_is_quest_target(object_type *o_ptr)
  *   OD_NO_FLAVOR        : Allow to hidden flavor\n
  *   OD_FORCE_FLAVOR     : Get un-shuffled flavor name\n
  */
-void object_desc(char *buf, object_type *o_ptr, u32b mode)
+void object_desc(char *buf, object_type *o_ptr, BIT_FLAGS mode)
 {
        /* Extract object kind name */
        cptr            kindname = k_name + k_info[o_ptr->k_idx].name;
@@ -1327,8 +1327,8 @@ void object_desc(char *buf, object_type *o_ptr, u32b mode)
        /* Assume no "modifier" string */
        cptr            modstr = "";
 
-       int             power;
-       int                             fire_rate;
+       int power;
+       int fire_rate;
 
        bool            aware = FALSE;
        bool            known = FALSE;
@@ -2020,7 +2020,7 @@ void object_desc(char *buf, object_type *o_ptr, u32b mode)
 #ifdef JP
        if (object_is_smith(o_ptr))
        {
-               t = object_desc_str(t, format("鍛冶師%sの", player_name));
+               t = object_desc_str(t, format("鍛冶師%sの", p_ptr->name));
        }
 
        /* 伝説のアイテム、名のあるアイテムの名前を付加する */
@@ -2174,11 +2174,11 @@ void object_desc(char *buf, object_type *o_ptr, u32b mode)
                        if (*str)
                        {
                                /* Find the '#' */
-                               cptr str = my_strchr(quark_str(o_ptr->inscription), '#');
+                               cptr str_aux = my_strchr(quark_str(o_ptr->inscription), '#');
 
                                /* Add the false name */
                                t = object_desc_str(t,"『");
-                               t = object_desc_str(t, &str[1]);
+                               t = object_desc_str(t, &str_aux[1]);
                                t = object_desc_str(t,"』");
                        }
                }
@@ -2186,7 +2186,7 @@ void object_desc(char *buf, object_type *o_ptr, u32b mode)
 #else
        if (object_is_smith(o_ptr))
        {
-               t = object_desc_str(t,format(" of %s the Smith",player_name));
+               t = object_desc_str(t,format(" of %s the Smith",p_ptr->name));
        }
 
        /* Hack -- Append "Artifact" or "Special" names */
@@ -2448,7 +2448,7 @@ void object_desc(char *buf, object_type *o_ptr, u32b mode)
        {
                int avgdam = o_ptr->dd * (o_ptr->ds + 1) * 10 / 2;
                int tmul = bow_tmul(bow_ptr->sval);
-               s16b energy_fire = bow_energy(bow_ptr->sval);
+               ENERGY energy_fire = bow_energy(bow_ptr->sval);
 
                /* See if the bow is "known" - then set damage bonus */
                if (object_is_known(bow_ptr)) avgdam += (bow_ptr->to_d * 10);
@@ -2502,13 +2502,15 @@ void object_desc(char *buf, object_type *o_ptr, u32b mode)
                        
                        if(show_ammo_crit_ratio)
                        {
-                               int percent = calc_crit_ratio_shot(o_ptr->weight, 
-                                               known ? o_ptr->to_h : 0, 
-                                               object_is_known(bow_ptr) ? bow_ptr->to_h : 0,  avgdam);
+                               int percent = calc_crit_ratio_shot(known ? o_ptr->to_h : 0, known ? bow_ptr->to_h : 0);
                                
                                t = object_desc_chr(t, '/');
                                t = object_desc_num(t, percent / 100);
                                t = object_desc_chr(t, '.');
+                if(percent % 100 < 10)
+                {
+                                   t = object_desc_chr(t, '0');
+                }
                                t = object_desc_num(t, percent % 100);
                                t = object_desc_str(t, show_ammo_detail ? "% crit" : "%");
                        }