• R/O
  • HTTP
  • SSH
  • HTTPS

hengband: Commit

変愚蛮怒のメインリポジトリです


Commit MetaInfo

Revisão46f3c48b20ec80454f9bea0b298b87d2f7ba940d (tree)
Hora2020-02-17 22:03:12
AutorHourier <hourier@user...>
CommiterHourier

Mensagem de Log

[Refactor] #40030 process_monsters() からdecide_monster_speed() を分離 / Separated decide_monster_speed() from process_monsters()

Mudança Sumário

Diff

--- a/src/monster-process.c
+++ b/src/monster-process.c
@@ -121,6 +121,7 @@ bool process_monster_fear(player_type *target_ptr, turn_flags *turn_flags_ptr, M
121121
122122 void save_old_race_flags(player_type *target_ptr, old_race_flags *old_race_flags_ptr);
123123 bool decide_process_continue(player_type *target_ptr, monster_type *m_ptr);
124+SPEED decide_monster_speed(player_type *target_ptr, monster_type *m_ptr, int monster_number);
124125
125126 /*!
126127 * @brief モンスターが敵に接近するための方向を決める /
@@ -2661,22 +2662,9 @@ void process_monsters(player_type *target_ptr)
26612662 }
26622663
26632664 if (m_ptr->cdis >= AAF_LIMIT) continue;
2664-
26652665 if (!decide_process_continue(target_ptr, m_ptr)) continue;
26662666
2667- SPEED speed;
2668- if (target_ptr->riding == i)
2669- {
2670- speed = target_ptr->pspeed;
2671- }
2672- else
2673- {
2674- speed = m_ptr->mspeed;
2675- if (ironman_nightmare) speed += 5;
2676-
2677- if (MON_FAST(m_ptr)) speed += 10;
2678- if (MON_SLOW(m_ptr)) speed -= 10;
2679- }
2667+ SPEED speed = decide_monster_speed(target_ptr, m_ptr, i);
26802668
26812669 m_ptr->energy_need -= SPEED_TO_ENERGY(speed);
26822670 if (m_ptr->energy_need > 0) continue;
@@ -2774,6 +2762,7 @@ void save_old_race_flags(player_type *target_ptr, old_race_flags *old_race_flags
27742762 * @brief 後続のモンスター処理が必要かどうか判定する (要調査)
27752763 * @param target_ptr プレーヤーへの参照ポインタ
27762764 * @param m_ptr モンスターへの参照ポインタ
2765+ * @return 後続処理が必要ならTRUE
27772766 */
27782767 bool decide_process_continue(player_type *target_ptr, monster_type *m_ptr)
27792768 {
@@ -2798,3 +2787,29 @@ bool decide_process_continue(player_type *target_ptr, monster_type *m_ptr)
27982787
27992788 return FALSE;
28002789 }
2790+
2791+
2792+/*!
2793+ * @brief モンスターの加速値を決定する
2794+ * @param target_ptr プレーヤーへの参照ポインタ
2795+ * @param m_ptr モンスターへの参照ポインタ
2796+ * @param monster_number 走査中のモンスター番号
2797+ * return モンスターの加速値
2798+ */
2799+SPEED decide_monster_speed(player_type *target_ptr, monster_type *m_ptr, int monster_number)
2800+{
2801+ SPEED speed;
2802+ if (target_ptr->riding == monster_number)
2803+ {
2804+ speed = target_ptr->pspeed;
2805+ return speed;
2806+ }
2807+
2808+ speed = m_ptr->mspeed;
2809+ if (ironman_nightmare) speed += 5;
2810+
2811+ if (MON_FAST(m_ptr)) speed += 10;
2812+ if (MON_SLOW(m_ptr)) speed -= 10;
2813+
2814+ return speed;
2815+}
Show on old repository browser