OSDN Git Service

[Refactor] #40030 Moved decide_monster_speed() from monster-process.c to monster...
authorHourier <hourier@users.sourceforge.jp>
Sun, 8 Mar 2020 01:06:14 +0000 (10:06 +0900)
committerHourier <hourier@users.sourceforge.jp>
Sun, 8 Mar 2020 01:06:14 +0000 (10:06 +0900)
src/monster-process.c
src/monster/monster-util.c
src/monster/monster-util.h

index a3e946e..0751ebc 100644 (file)
@@ -86,7 +86,6 @@ bool process_monster_fear(player_type *target_ptr, turn_flags *turn_flags_ptr, M
 
 void sweep_monster_process(player_type *target_ptr);
 bool decide_process_continue(player_type *target_ptr, monster_type *m_ptr);
-SPEED decide_monster_speed(player_type *target_ptr, monster_type *m_ptr, int monster_number);
 
 /*!
  * @brief モンスターが敵に接近するための方向を計算するメインルーチン
@@ -2184,7 +2183,7 @@ void sweep_monster_process(player_type *target_ptr)
                if (m_ptr->cdis >= AAF_LIMIT) continue;
                if (!decide_process_continue(target_ptr, m_ptr)) continue;
 
-               SPEED speed = decide_monster_speed(target_ptr, m_ptr, i);
+               SPEED speed = (target_ptr->riding == i) ? target_ptr->pspeed : decide_monster_speed(m_ptr);
                m_ptr->energy_need -= SPEED_TO_ENERGY(speed);
                if (m_ptr->energy_need > 0) continue;
 
@@ -2229,29 +2228,3 @@ bool decide_process_continue(player_type *target_ptr, monster_type *m_ptr)
 
        return FALSE;
 }
-
-
-/*!
- * @brief モンスターの加速値を決定する
- * @param target_ptr プレーヤーへの参照ポインタ
- * @param m_ptr モンスターへの参照ポインタ
- * @param monster_number 走査中のモンスター番号
- * return モンスターの加速値
- */
-SPEED decide_monster_speed(player_type *target_ptr, monster_type *m_ptr, int monster_number)
-{
-       SPEED speed;
-       if (target_ptr->riding == monster_number)
-       {
-               speed = target_ptr->pspeed;
-               return speed;
-       }
-
-       speed = m_ptr->mspeed;
-       if (ironman_nightmare) speed += 5;
-
-       if (MON_FAST(m_ptr)) speed += 10;
-       if (MON_SLOW(m_ptr)) speed -= 10;
-
-       return speed;
-}
index 3744016..448330c 100644 (file)
@@ -163,6 +163,23 @@ void save_old_race_flags(MONRACE_IDX monster_race_idx, old_race_flags *old_race_
 
 
 /*!
+ * @brief モンスターの加速値を決定する
+ * @param m_ptr モンスターへの参照ポインタ
+ * return モンスターの加速値
+ */
+SPEED decide_monster_speed(monster_type *m_ptr)
+{
+       SPEED speed = m_ptr->mspeed;
+       if (ironman_nightmare) speed += 5;
+
+       if (MON_FAST(m_ptr)) speed += 10;
+       if (MON_SLOW(m_ptr)) speed -= 10;
+
+       return speed;
+}
+
+
+/*!
  * @brief モンスターフラグの更新に基づき、モンスター表示を更新する
  * @param monster_race_idx モンスターID
  * @param window ウィンドウフラグ
index 0c66fdc..03cc0b8 100644 (file)
@@ -54,4 +54,5 @@ coordinate_candidate init_coordinate_candidate(void);
 
 void store_enemy_approch_direction(int *mm, POSITION y, POSITION x);
 void save_old_race_flags(MONRACE_IDX monster_race_idx, old_race_flags *old_race_flags_ptr);
+SPEED decide_monster_speed(monster_type *m_ptr);
 void update_player_window(MONRACE_IDX monster_race_idx, BIT_FLAGS *window, old_race_flags *old_race_flags_ptr);