OSDN Git Service

[Refactor] #37353 全復活系の効果をrestore_all_status()にまとめる。
[hengband/hengband.git] / src / racial.c
index 3977cc7..158b773 100644 (file)
  */
 
 #include "angband.h"
+#include "cmd-magiceat.h"
+#include "cmd-zapwand.h"
+#include "cmd-pet.h"
 
-/*!
- * @brief 対象のアイテムが矢やクロスボウの矢の材料になるかを返す。/
- * Hook to determine if an object is contertible in an arrow/bolt
- * @param o_ptr オブジェクトの構造体の参照ポインタ。
- * @return 材料にできるならTRUEを返す
- */
-static bool item_tester_hook_convertible(object_type *o_ptr)
-{
-       if((o_ptr->tval==TV_JUNK) || (o_ptr->tval==TV_SKELETON)) return TRUE;
-
-       if ((o_ptr->tval == TV_CORPSE) && (o_ptr->sval == SV_SKELETON)) return TRUE;
-       /* Assume not */
-       return (FALSE);
-}
+#include "object-hook.h"
 
 /*!
  * @brief レイシャル「弾/矢の製造」処理 / do_cmd_cast calls this function if the player's class is 'archer'.
@@ -1348,12 +1338,7 @@ static bool cmd_racial_power_aux(s32b command)
                                (void)set_cut(0);
                                (void)set_blind(0);
                                (void)set_afraid(0);
-                               (void)do_res_stat(A_STR);
-                               (void)do_res_stat(A_INT);
-                               (void)do_res_stat(A_WIS);
-                               (void)do_res_stat(A_DEX);
-                               (void)do_res_stat(A_CON);
-                               (void)do_res_stat(A_CHR);
+                               (void)restore_all_status();
                                (void)restore_level();
                        }
                        break;
@@ -1555,8 +1540,7 @@ static bool cmd_racial_power_aux(s32b command)
                                ratial_stop_mouth();
                                msg_format(_("あなたは%sのブレスを吐いた。", "You breathe %s."), Type_desc);
 
-                               fire_ball(Type, dir, plev * 2,
-                                   -(plev / 15) - 1);
+                               fire_breath(Type, dir, plev * 2, (plev / 15) + 1);
                        }
                        break;