OSDN Git Service

Simplify the critical-shot-calcuration
authordis- <dis-@0568b783-4c39-0410-ac80-bf13821ea2a2>
Thu, 28 Mar 2013 11:36:13 +0000 (11:36 +0000)
committerdis- <dis-@0568b783-4c39-0410-ac80-bf13821ea2a2>
Thu, 28 Mar 2013 11:36:13 +0000 (11:36 +0000)
src/bldg.c
src/cmd1.c

index d22fadf..f596769 100644 (file)
@@ -3132,11 +3132,11 @@ s16b calc_crit_ratio_shot(int weight, int plus_ammo, int plus_bow,  int dam)
        if ((p_ptr->pclass == CLASS_SNIPER) && (p_ptr->tval_ammo == TV_BOLT)) i *= 2;
        
        /* Good bow makes more critical */
-       i += MAX(0, plus_bow - 15) * 4 * (p_ptr->concent ? p_ptr->concent + 5 : 5);
+       i += plus_bow * 8 * (p_ptr->concent ? p_ptr->concent + 5 : 5);
        
        if (i < 0) i = 0;
        
-       return i * 5 / 3;
+       return i;
 }
 
 s16b calc_expect_crit_shot(int weight, int plus_ammo, int plus_bow,  int dam)
index 6b883bb..d0ba19e 100644 (file)
@@ -105,10 +105,10 @@ s16b critical_shot(int weight, int plus_ammo, int plus_bow, int dam)
        if ((p_ptr->pclass == CLASS_SNIPER) && (p_ptr->tval_ammo == TV_BOLT)) i *= 2;
        
        /* Good bow makes more critical */
-       i += MAX(0, plus_bow - 15) * 4 * (p_ptr->concent ? p_ptr->concent + 5 : 5);
+       i += plus_bow * 8 * (p_ptr->concent ? p_ptr->concent + 5 : 5);
        
        /* Critical hit */
-       if (randint1(6000) <= i)
+       if (randint1(10000) <= i)
        {
                k = weight * randint1(500);