OSDN Git Service

[Refactor] #37353 騎兵のレイシャル「荒馬慣らし」を rodeo() に分離。 / Separate Cavalry's racial skill...
[hengband/hengband.git] / src / racial.c
index e0f3e5f..efa4bbe 100644 (file)
@@ -644,43 +644,7 @@ static bool cmd_racial_power_aux(s32b command)
                }
                case CLASS_CAVALRY:
                {
-                       GAME_TEXT m_name[MAX_NLEN];
-                       monster_type *m_ptr;
-                       monster_race *r_ptr;
-                       int rlev;
-
-                       if (p_ptr->riding)
-                       {
-                               msg_print(_("今は乗馬中だ。", "You ARE riding."));
-                               return FALSE;
-                       }
-                       if (!do_riding(TRUE)) return TRUE;
-                       m_ptr = &m_list[p_ptr->riding];
-                       r_ptr = &r_info[m_ptr->r_idx];
-                       monster_desc(m_name, m_ptr, 0);
-                       msg_format(_("%sに乗った。", "You ride on %s."),m_name);
-                       if (is_pet(m_ptr)) break;
-                       rlev = r_ptr->level;
-                       if (r_ptr->flags1 & RF1_UNIQUE) rlev = rlev * 3 / 2;
-                       if (rlev > 60) rlev = 60+(rlev-60)/2;
-                       if ((randint1(p_ptr->skill_exp[GINOU_RIDING] / 120 + p_ptr->lev * 2 / 3) > rlev)
-                           && one_in_(2) && !p_ptr->inside_arena && !p_ptr->inside_battle
-                           && !(r_ptr->flags7 & (RF7_GUARDIAN)) && !(r_ptr->flags1 & (RF1_QUESTOR))
-                           && (rlev < p_ptr->lev * 3 / 2 + randint0(p_ptr->lev / 5)))
-                       {
-                               msg_format(_("%sを手なずけた。", "You tame %s."),m_name);
-                               set_pet(m_ptr);
-                       }
-                       else
-                       {
-                               msg_format(_("%sに振り落とされた!", "You have thrown off by %s."),m_name);
-                               rakuba(1,TRUE);
-
-                               /* Paranoia */
-                               /* 落馬処理に失敗してもとにかく乗馬解除 */
-                               p_ptr->riding = 0;
-                       }
-                       break;
+                       return rodeo(p_ptr);
                }
                case CLASS_BERSERKER:
                {