+
+
+/*!
+* @brief ¥â¥ó¥¹¥¿¡¼¤Î»È¤¦¼öʸ¤Î°ÒÎϤòÊÖ¤¹ /
+* @param SPELL_NUM ¼öʸÈÖ¹æ
+* @param m_idx ¼öʸ¤ò¾§¤¨¤ë¥â¥ó¥¹¥¿¡¼ID
+* @param TYPE DAM_MAX¤ÇºÇÂçÃͤòÊÖ¤·¡¢DAM_MIN¤ÇºÇ¾®ÃͤòÊÖ¤¹¡£DAM_ROLL¤Ï¥À¥¤¥¹¤ò¿¶¤Ã¤ÆÃͤò·èÄꤹ¤ë¡£
+* @return ¹¶·â¼öʸ¤Î¥À¥á¡¼¥¸¤òÊÖ¤¹¡£¹¶·â¼öʸ°Ê³°¤Ï-1¤òÊÖ¤¹¡£
+*/
+int monspell_damage(int SPELL_NUM, int m_idx, int TYPE)
+{
+ monster_type *m_ptr = &m_list[m_idx];
+ monster_race *r_ptr = &r_info[m_ptr->r_idx];
+ int hp;
+ int rlev = monster_level_idx(m_idx);
+
+ if (TYPE == DAM_MAX)
+ {
+ hp = m_ptr->max_maxhp;
+ }
+ else if (TYPE == DAM_ROLL)
+ {
+ hp = m_ptr->hp;
+ }
+ return monspell_damage_base(SPELL_NUM, hp, rlev, monster_is_powerful(m_idx), r_ptr, TYPE);
+}
+
+/*!
+* @brief ¥â¥ó¥¹¥¿¡¼¤Î»È¤¦¼öʸ¤Î°ÒÎϤòÊÖ¤¹ /
+* @param SPELL_NUM ¼öʸÈÖ¹æ
+* @param r_idx ¼öʸ¤ò¾§¤¨¤ë¥â¥ó¥¹¥¿¡¼¤Î¼ï²ID
+* @param TYPE DAM_MAX¤ÇºÇÂçÃͤòÊÖ¤·¡¢DAM_MIN¤ÇºÇ¾®ÃͤòÊÖ¤¹¡£DAM_ROLL¤Ï¥À¥¤¥¹¤ò¿¶¤Ã¤ÆÃͤò·èÄꤹ¤ë¡£
+* @return ¹¶·â¼öʸ¤Î¥À¥á¡¼¥¸¤òÊÖ¤¹¡£¹¶·â¼öʸ°Ê³°¤Ï-1¤òÊÖ¤¹¡£
+*/
+int monspell_race_damage(int SPELL_NUM, int r_idx, int TYPE)
+{
+ monster_race *r_ptr = &r_info[r_idx];
+ int rlev = ((r_ptr->level >= 1) ? r_ptr->level : 1);
+ bool powerful = r_ptr->flags2 & RF2_POWERFUL;
+ u32b hp = r_ptr->hdice * (ironman_nightmare ? 2 : 1) * r_ptr->hside;
+
+ return monspell_damage_base(SPELL_NUM, MIN(30000, hp), rlev, powerful, r_ptr, TYPE);
+}
\ No newline at end of file