* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF4_ROCKET(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF4_ROCKET(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF4_SHOOT(int y, int x, MONSTER_IDX m_idx, IDX t_idx,int TARGET_TYPE)
+HIT_POINT spell_RF4_SHOOT(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx,int TARGET_TYPE)
{
HIT_POINT dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF4_BREATH(int GF_TYPE, int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF4_BREATH(int GF_TYPE, POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam, ms_type, drs_type;
cptr type_s;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF4_BA_NUKE(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF4_BA_NUKE(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF4_BA_CHAO(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF4_BA_CHAO(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BA_ACID(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BA_ACID(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam, rad;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BA_ELEC(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BA_ELEC(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam, rad;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BA_FIRE(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BA_FIRE(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam, rad;
monster_type *m_ptr = &m_list[m_idx];
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BA_COLD(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BA_COLD(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam, rad;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BA_POIS(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BA_POIS(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BA_NETH(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BA_NETH(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BA_WATE(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BA_WATE(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
bool known = monster_near_player(m_idx, t_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BA_MANA(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BA_MANA(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BA_DARK(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BA_DARK(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_DRAIN_MANA(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_DRAIN_MANA(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
char m_name[80], t_name[80];
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_MIND_BLAST(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_MIND_BLAST(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
monster_type *m_ptr = &m_list[m_idx];
bool seen = (!p_ptr->blind && m_ptr->ml);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BRAIN_SMASH(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BRAIN_SMASH(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
monster_type *m_ptr = &m_list[m_idx];
bool seen = (!p_ptr->blind && m_ptr->ml);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-void spell_RF5_CAUSE(int GF_TYPE, HIT_POINT dam, int y, int x, MONSTER_IDX m_idx, IDX t_idx, cptr msg1, cptr msg2, cptr msg3, int MS_TYPE, int TARGET_TYPE)
+void spell_RF5_CAUSE(int GF_TYPE, HIT_POINT dam, POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, cptr msg1, cptr msg2, cptr msg3, int MS_TYPE, int TARGET_TYPE)
{
char m_name[80], t_name[80];
monster_name(m_idx, m_name);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_CAUSE_1(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_CAUSE_1(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
cptr msg1, msg2, msg3;
HIT_POINT dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_CAUSE_2(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_CAUSE_2(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
cptr msg1, msg2, msg3;
HIT_POINT dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_CAUSE_3(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_CAUSE_3(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
cptr msg1, msg2, msg3;
HIT_POINT dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_CAUSE_4(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_CAUSE_4(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
cptr msg1, msg2, msg3;
HIT_POINT dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BO_ACID(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BO_ACID(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BO_ELEC(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BO_ELEC(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BO_FIRE(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BO_FIRE(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BO_COLD(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BO_COLD(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BA_LITE(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BA_LITE(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BO_NETH(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BO_NETH(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BO_WATE(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BO_WATE(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BO_MANA(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BO_MANA(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BO_PLAS(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BO_PLAS(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_BO_ICEE(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BO_ICEE(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF5_MISSILE(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_MISSILE(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF6_HAND_DOOM(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF6_HAND_DOOM(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam = 0;
* @brief RF6_WORLDの処理。時を止める。 /
* @param m_idx 呪文を唱えるモンスターID
*/
-int spell_RF6_WORLD(MONSTER_IDX m_idx)
+HIT_POINT spell_RF6_WORLD(MONSTER_IDX m_idx)
{
monster_type *m_ptr = &m_list[m_idx];
int who = 0;
* @brief バーノール・ルパートのRF6_SPECIALの処理。分裂・合体。 /
* @param m_idx 呪文を唱えるモンスターID
*/
-int spell_RF6_SPECIAL_BANORLUPART(MONSTER_IDX m_idx)
+HIT_POINT spell_RF6_SPECIAL_BANORLUPART(MONSTER_IDX m_idx)
{
monster_type *m_ptr = &m_list[m_idx];
HIT_POINT dummy_hp, dummy_maxhp;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF6_SPECIAL_ROLENTO(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF6_SPECIAL_ROLENTO(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int num = 1 + randint1(3);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF6_SPECIAL_B(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF6_SPECIAL_B(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
monster_type *m_ptr = &m_list[m_idx];
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF6_SPECIAL(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF6_SPECIAL(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
monster_type *m_ptr = &m_list[m_idx];
monster_race *r_ptr = &r_info[m_ptr->r_idx];
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-int spell_RF6_PSY_SPEAR(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF6_PSY_SPEAR(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
*/
-void spell_RF6_DARKNESS(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+void spell_RF6_DARKNESS(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
monster_type *m_ptr = &m_list[m_idx];
monster_type *t_ptr = &m_list[t_idx];
* @param x 対象の地点のx座標
* @param m_idx 呪文を唱えるモンスターID
*/
-void spell_RF6_TRAPS(int y, int x, MONSTER_IDX m_idx)
+void spell_RF6_TRAPS(POSITION y, POSITION x, MONSTER_IDX m_idx)
{
char m_name[80];
monster_name(m_idx, m_name);
* @param m_idx 呪文を唱えるモンスターID
* @return 召喚したモンスターの数を返す。
*/
-int summon_EAGLE(int y, int x, int rlev, MONSTER_IDX m_idx)
+MONSTER_NUMBER summon_EAGLE(POSITION y, POSITION x, int rlev, MONSTER_IDX m_idx)
{
int k, count = 0;
int num = 4 + randint1(3);
* @param m_idx 呪文を唱えるモンスターID
* @return 召喚したモンスターの数を返す。
*/
-int summon_IE(int y, int x, int rlev, MONSTER_IDX m_idx)
+MONSTER_NUMBER summon_IE(POSITION y, POSITION x, int rlev, MONSTER_IDX m_idx)
{
u32b mode = 0L;
int k, count = 0;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-int summon_Guardian(int y, int x, int rlev, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+MONSTER_NUMBER summon_Guardian(POSITION y, POSITION x, int rlev, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int k, count = 0;
int num = 2 + randint1(3);
* @param m_idx 呪文を唱えるモンスターID
* @return 召喚したモンスターの数を返す。
*/
-int summon_LOCK_CLONE(int y, int x, int rlev, MONSTER_IDX m_idx)
+MONSTER_NUMBER summon_LOCK_CLONE(POSITION y, POSITION x, int rlev, MONSTER_IDX m_idx)
{
u32b mode = 0L;
int k, count = 0;
* @param m_idx 呪文を唱えるモンスターID
* @return 召喚したモンスターの数を返す。
*/
-int summon_LOUSE(int y, int x, int rlev, MONSTER_IDX m_idx)
+MONSTER_NUMBER summon_LOUSE(POSITION y, POSITION x, int rlev, MONSTER_IDX m_idx)
{
int k, count = 0;
int num = 2 + randint1(3);
* @param m_idx 呪文を唱えるモンスターID
* @return 召喚したモンスターの数を返す。
*/
-int summon_Kin(int y, int x, int rlev, MONSTER_IDX m_idx)
+MONSTER_NUMBER summon_Kin(POSITION y, POSITION x, int rlev, MONSTER_IDX m_idx)
{
int k, count = 0;
monster_type *m_ptr = &m_list[m_idx];
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_KIN(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+void spell_RF6_S_KIN(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
bool known = monster_near_player(m_idx, t_idx);
bool see_either = see_monster(m_idx) || see_monster(t_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_CYBER(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+void spell_RF6_S_CYBER(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0;
monster_type *m_ptr = &m_list[m_idx];
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_MONSTER(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+void spell_RF6_S_MONSTER(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int rlev = monster_level_idx(m_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_MONSTERS(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+void spell_RF6_S_MONSTERS(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int rlev = monster_level_idx(m_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_ANT(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+void spell_RF6_S_ANT(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int rlev = monster_level_idx(m_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_SPIDER(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+void spell_RF6_S_SPIDER(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
bool mon_to_mon = (TARGET_TYPE == MONSTER_TO_MONSTER);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_HOUND(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+void spell_RF6_S_HOUND(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int rlev = monster_level_idx(m_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_HYDRA(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+void spell_RF6_S_HYDRA(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int rlev = monster_level_idx(m_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_ANGEL(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+void spell_RF6_S_ANGEL(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int num = 1;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_DEMON(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+void spell_RF6_S_DEMON(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int rlev = monster_level_idx(m_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_UNDEAD(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+void spell_RF6_S_UNDEAD(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int rlev = monster_level_idx(m_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_DRAGON(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+void spell_RF6_S_DRAGON(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int rlev = monster_level_idx(m_idx);
* @param m_idx 呪文を唱えるモンスターID
* @return 召喚したモンスターの数を返す。
*/
-int summon_NAZGUL(POSITION y, POSITION x, MONSTER_IDX m_idx)
+MONSTER_NUMBER summon_NAZGUL(POSITION y, POSITION x, MONSTER_IDX m_idx)
{
u32b mode = 0L;
int count = 0, k;
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_HI_DRAGON(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+void spell_RF6_S_HI_DRAGON(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int rlev = monster_level_idx(m_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_AMBERITES(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+void spell_RF6_S_AMBERITES(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
int rlev = monster_level_idx(m_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_UNIQUE(int y, int x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
+void spell_RF6_S_UNIQUE(POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx, int TARGET_TYPE)
{
int count = 0, k;
monster_type *m_ptr = &m_list[m_idx];
* @param m_idx 呪文を唱えるモンスターID
* @return 攻撃呪文のダメージ、または召喚したモンスターの数を返す。その他の場合0。以降の処理を中断するなら-1を返す。
*/
-int monspell_to_player(int SPELL_NUM, POSITION y, POSITION x, MONSTER_IDX m_idx)
+HIT_POINT monspell_to_player(int SPELL_NUM, POSITION y, POSITION x, MONSTER_IDX m_idx)
{
switch (SPELL_NUM)
{
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
* @return 攻撃呪文のダメージ、または召喚したモンスターの数を返す。その他の場合0。以降の処理を中断するなら-1を返す。
*/
-int monspell_to_monster(int SPELL_NUM, POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx)
+HIT_POINT monspell_to_monster(int SPELL_NUM, POSITION y, POSITION x, MONSTER_IDX m_idx, IDX t_idx)
{
switch (SPELL_NUM)
{
* @param TYPE DAM_MAXで最大値を返し、DAM_MINで最小値を返す。DAM_ROLLはダイスを振って値を決定する。
* @return 攻撃呪文のダメージを返す。攻撃呪文以外は-1を返す。
*/
-int monspell_damage_roll(HIT_POINT dam, int dice_num, int dice_side, int mult, int div, int TYPE)
+HIT_POINT monspell_damage_roll(HIT_POINT dam, int dice_num, int dice_side, int mult, int div, int TYPE)
{
switch (TYPE)
{
* @param TYPE DAM_MAXで最大値を返し、DAM_MINで最小値を返す。DAM_ROLLはダイスを振って値を決定する。
* @return 攻撃呪文のダメージを返す。攻撃呪文以外は-1を返す。
*/
-int monspell_damage_base(int SPELL_NUM, int hp, int rlev, bool powerful, int shoot_dd, int shoot_ds, int shoot_base, int TYPE)
+HIT_POINT monspell_damage_base(int SPELL_NUM, int hp, int rlev, bool powerful, int shoot_dd, int shoot_ds, int shoot_base, int TYPE)
{
HIT_POINT dam = 0, dice_num = 0, dice_side = 0, mult = 1, div = 1;
* @param TYPE DAM_MAXで最大値を返し、DAM_MINで最小値を返す。DAM_ROLLはダイスを振って値を決定する。
* @return 攻撃呪文のダメージを返す。攻撃呪文以外は-1を返す。
*/
-int monspell_damage(int SPELL_NUM, MONSTER_IDX m_idx, int TYPE)
+HIT_POINT monspell_damage(int SPELL_NUM, MONSTER_IDX m_idx, int TYPE)
{
monster_type *m_ptr = &m_list[m_idx];
monster_race *r_ptr = &r_info[m_ptr->r_idx];
* @param TYPE DAM_MAXで最大値を返し、DAM_MINで最小値を返す。DAM_ROLLはダイスを振って値を決定する。
* @return 攻撃呪文のダメージを返す。攻撃呪文以外は-1を返す。
*/
-int monspell_race_damage(int SPELL_NUM, MONRACE_IDX r_idx, int TYPE)
+HIT_POINT monspell_race_damage(int SPELL_NUM, MONRACE_IDX r_idx, int TYPE)
{
monster_race *r_ptr = &r_info[r_idx];
int rlev = ((r_ptr->level >= 1) ? r_ptr->level : 1);
* @param TYPE DAM_MAXで最大値を返し、DAM_MINで最小値を返す。DAM_ROLLはダイスを振って値を決定する。
* @return 攻撃呪文のダメージを返す。攻撃呪文以外は-1を返す。
*/
-int monspell_bluemage_damage(int SPELL_NUM, int plev, int TYPE)
+HIT_POINT monspell_bluemage_damage(int SPELL_NUM, int plev, int TYPE)
{
int hp = p_ptr->chp;
int shoot_dd = 1, shoot_ds = 1, shoot_base = 0;