OSDN Git Service

乗馬スキル計算の条件式がおかしいのを修正。
authoriks <iks@0568b783-4c39-0410-ac80-bf13821ea2a2>
Thu, 17 Apr 2003 11:10:03 +0000 (11:10 +0000)
committeriks <iks@0568b783-4c39-0410-ac80-bf13821ea2a2>
Thu, 17 Apr 2003 11:10:03 +0000 (11:10 +0000)
src/cmd1.c

index 3e6a30d..e8662b3 100644 (file)
@@ -3255,18 +3255,26 @@ bool py_attack(int y, int x, int mode)
                }
        }
 
+       /* Gain riding experience */
        if (p_ptr->riding)
        {
                int ridinglevel = r_info[m_list[p_ptr->riding].r_idx].level;
-               if ((p_ptr->skill_exp[GINOU_RIDING] < s_info[p_ptr->pclass].s_max[GINOU_RIDING]) && ((p_ptr->skill_exp[GINOU_RIDING] - 1000) / 200 < r_info[m_ptr->r_idx].level) && (p_ptr->skill_exp[GINOU_RIDING]/100 - 2000 < ridinglevel))
-                       p_ptr->skill_exp[GINOU_RIDING]++;
-               if ((p_ptr->skill_exp[GINOU_RIDING] < s_info[p_ptr->pclass].s_max[GINOU_RIDING]) && (p_ptr->skill_exp[GINOU_RIDING]/100 < ridinglevel))
+
+               if (p_ptr->skill_exp[GINOU_RIDING] < s_info[p_ptr->pclass].s_max[GINOU_RIDING])
                {
-                       if (ridinglevel*100 > (p_ptr->skill_exp[GINOU_RIDING] + 1500))
-                               p_ptr->skill_exp[GINOU_RIDING] += (1+(ridinglevel - p_ptr->skill_exp[GINOU_RIDING]/100 - 15));
-                       else p_ptr->skill_exp[GINOU_RIDING]++;
+                       if (((p_ptr->skill_exp[GINOU_RIDING] - 1000) / 200) < r_info[m_ptr->r_idx].level)
+                               p_ptr->skill_exp[GINOU_RIDING]++;
+
+                       /* Extra experience */
+                       if ((p_ptr->skill_exp[GINOU_RIDING] / 100) < ridinglevel)
+                       {
+                               if (((p_ptr->skill_exp[GINOU_RIDING] + 1500) / 100) < ridinglevel)
+                                       p_ptr->skill_exp[GINOU_RIDING] += (1 + (ridinglevel - (p_ptr->skill_exp[GINOU_RIDING] / 100 + 15)));
+                               else p_ptr->skill_exp[GINOU_RIDING]++;
+                       }
+
+                       p_ptr->update |= (PU_BONUS);
                }
-               p_ptr->update |= (PU_BONUS);
        }
 
        riding_t_m_idx = c_ptr->m_idx;