-extern void spell_RF4_SHRIEK(int m_idx, cptr m_name);
-extern void spell_RF4_DISPEL(bool blind, cptr m_name);
-extern int spell_RF4_ROCKET(bool blind, cptr m_name, monster_type* m_ptr, int y, int x, int m_idx, bool learnable);
-extern int spell_RF4_SHOOT(bool blind, cptr m_name, monster_race* r_ptr, int m_idx, bool learnable);
-extern int spell_RF4_BREATH(int GF_TYPE, bool blind, cptr m_name, monster_type* m_ptr, int y, int x, int m_idx, bool learnable);
-extern int spell_RF4_BA_CHAO(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF4_BA_NUKE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_BA_ACID(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_BA_ELEC(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_BA_FIRE(monster_type* m_ptr, bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_BA_COLD(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_BA_POIS(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_BA_NETH(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_BA_WATE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_BA_MANA(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_BA_DARK(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_DRAIN_MANA(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_MIND_BLAST(bool seen, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_BRAIN_SMASH(bool seen, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_CAUSE_1(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_CAUSE_2(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_CAUSE_3(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_CAUSE_4(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_BO_ACID(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_BO_ELEC(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_BO_FIRE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_BO_COLD(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_BA_LITE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_BO_NETH(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_BO_WATE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_BO_MANA(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_BO_PLAS(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_BO_ICEE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern int spell_RF5_MISSILE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable);
-extern void spell_RF5_SCARE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx);
-extern void spell_RF5_BLIND(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx);
-extern void spell_RF5_CONF(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx);
-extern void spell_RF5_SLOW(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx);
-extern void spell_RF5_HOLD(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx);
-extern void spell_RF6_HASTE(bool blind, cptr m_name, monster_type* m_ptr, int y, int x, int m_idx);
-extern int spell_RF6_HAND_DOOM(bool blind, cptr m_name, monster_type* m_ptr, int y, int x, int m_idx, bool learnable);
-extern void spell_RF6_HEAL(bool blind, bool seen, cptr m_name, monster_type* m_ptr, int rlev, int m_idx);
-extern void spell_RF6_INVULNER(bool seen, cptr m_name, monster_type* m_ptr, int m_idx);
-extern void spell_RF6_BLINK(cptr m_name, int m_idx);
-extern void spell_RF6_TPORT(cptr m_name, int m_idx);
-extern int spell_RF6_WORLD(cptr m_name, monster_type* m_ptr, int m_idx);
-extern int spell_RF6_SPECIAL(cptr m_name, monster_type* m_ptr, monster_race* r_ptr, u32b mode, bool blind, bool direct, int y, int x, int m_idx);
-extern void spell_RF6_TELE_TO(cptr m_name, monster_type* m_ptr);
-extern void spell_RF6_TELE_AWAY(cptr m_name, int m_idx);
-extern void spell_RF6_TELE_LEVEL(bool blind, cptr m_name, int m_idx, int rlev);
-extern int spell_RF6_PSY_SPEAR(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int m_idx, bool learnable);
-extern void spell_RF6_DARKNESS(bool blind, cptr m_name, bool can_use_lite_area);
-extern void spell_RF6_TRAPS(bool blind, cptr m_name, int y, int x);
-extern void spell_RF6_FORGET(cptr m_name, int rlev);
-extern void spell_RF6_RAISE_DEAD(bool blind, cptr m_name, int m_idx, monster_type* m_ptr);
-extern void spell_RF6_S_KIN(bool blind, cptr m_name, monster_type* m_ptr, monster_race* r_ptr, int m_idx, int y, int x, int rlev, u32b mode);
-extern void spell_RF6_S_CYBER(bool blind, cptr m_name, int m_idx, int y, int x);
-extern void spell_RF6_S_MONSTER(bool blind, cptr m_name, int m_idx, int y, int x, int rlev);
-extern void spell_RF6_S_MONSTERS(bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_6);
-extern void spell_RF6_S_ANT(bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_6);
-extern void spell_RF6_S_SPIDER(bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_6);
-extern void spell_RF6_S_HOUND(bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_4);
-extern void spell_RF6_S_HYDRA(bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_4);
-extern void spell_RF6_S_ANGEL(bool blind, cptr m_name, monster_race* r_ptr, int m_idx, int y, int x, int rlev);
-extern void spell_RF6_S_DEMON(bool blind, cptr m_name, int m_idx, int y, int x, int rlev);
-extern void spell_RF6_S_UNDEAD(bool blind, cptr m_name, int m_idx, int y, int x, int rlev);
-extern void spell_RF6_S_DRAGON(bool blind, cptr m_name, int m_idx, int y, int x, int rlev);
-extern void spell_RF6_S_HI_UNDEAD(monster_type* m_ptr, bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_6, u32b mode);
-extern void spell_RF6_S_HI_DRAGON(bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_4);
-extern void spell_RF6_S_AMBERITES(bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_4);
-extern void spell_RF6_S_UNIQUE(bool blind, cptr m_name, int m_idx, monster_type* m_ptr, int y, int x, int rlev, int s_num_4);
+
+/* spells monster to player */
+extern void MP_spell_RF4_SHRIEK(int m_idx);
+extern void MP_spell_RF4_DISPEL(int m_idx);
+extern int MP_spell_RF4_ROCKET(int y, int x, int m_idx);
+extern int spell_RF4_SHOOT(int m_idx);
+extern int spell_RF4_BREATH(int GF_TYPE, int y, int x, int m_idx);
+extern int spell_RF4_BA_CHAO(int y, int x, int m_idx);
+extern int spell_RF4_BA_NUKE(int y, int x, int m_idx);
+extern int spell_RF5_BA_ACID(int y, int x, int m_idx);
+extern int spell_RF5_BA_ELEC(int y, int x, int m_idx);
+extern int spell_RF5_BA_FIRE(int y, int x, int m_idx);
+extern int spell_RF5_BA_COLD(int y, int x, int m_idx);
+extern int spell_RF5_BA_POIS(int y, int x, int m_idx);
+extern int spell_RF5_BA_NETH(int y, int x, int m_idx);
+extern int spell_RF5_BA_WATE(int y, int x, int m_idx);
+extern int spell_RF5_BA_MANA(int y, int x, int m_idx);
+extern int spell_RF5_BA_DARK(int y, int x, int m_idx);
+extern int spell_RF5_DRAIN_MANA(int y, int x, int m_idx);
+extern int spell_RF5_MIND_BLAST(int y, int x, int m_idx);
+extern int spell_RF5_BRAIN_SMASH(int y, int x, int m_idx);
+extern int spell_RF5_CAUSE_1(int y, int x, int m_idx);
+extern int spell_RF5_CAUSE_2(int y, int x, int m_idx);
+extern int spell_RF5_CAUSE_3(int y, int x, int m_idx);
+extern int spell_RF5_CAUSE_4(int y, int x, int m_idx);
+extern int spell_RF5_BO_ACID(int y, int x, int m_idx);
+extern int spell_RF5_BO_ELEC(int y, int x, int m_idx);
+extern int spell_RF5_BO_FIRE(int y, int x, int m_idx);
+extern int spell_RF5_BO_COLD(int y, int x, int m_idx);
+extern int spell_RF5_BA_LITE(int y, int x, int m_idx);
+extern int spell_RF5_BO_NETH(int y, int x, int m_idx);
+extern int spell_RF5_BO_WATE(int y, int x, int m_idx);
+extern int spell_RF5_BO_MANA(int y, int x, int m_idx);
+extern int spell_RF5_BO_PLAS(int y, int x, int m_idx);
+extern int spell_RF5_BO_ICEE(int y, int x, int m_idx);
+extern int spell_RF5_MISSILE(int y, int x, int m_idx);
+extern void spell_RF5_SCARE(int y, int x, int m_idx);
+extern void spell_RF5_BLIND(int y, int x, int m_idx);
+extern void spell_RF5_CONF(int y, int x, int m_idx);
+extern void spell_RF5_SLOW(int y, int x, int m_idx);
+extern void spell_RF5_HOLD(int y, int x, int m_idx);
+extern void spell_RF6_HASTE(int m_idx);
+extern int spell_RF6_HAND_DOOM(int y, int x, int m_idx);
+extern void spell_RF6_HEAL(int m_idx);
+extern void spell_RF6_INVULNER(int m_idx);
+extern void spell_RF6_BLINK(int m_idx);
+extern void spell_RF6_TPORT(int m_idx);
+extern int spell_RF6_WORLD(int m_idx);
+extern int spell_RF6_SPECIAL(int y, int x, int m_idx);
+extern void spell_RF6_TELE_TO(int m_idx);
+extern void spell_RF6_TELE_AWAY(int m_idx);
+extern void spell_RF6_TELE_LEVEL(int m_idx);
+extern int spell_RF6_PSY_SPEAR(int m_idx);
+extern void spell_RF6_DARKNESS(int m_idx);
+extern void spell_RF6_TRAPS(int y, int x, int m_idx);
+extern void spell_RF6_FORGET(int m_idx);
+extern void spell_RF6_RAISE_DEAD(int m_idx);
+extern void spell_RF6_S_KIN(int y, int x, int m_idx);
+extern void spell_RF6_S_CYBER(int y, int x, int m_idx);
+extern void spell_RF6_S_MONSTER(int y, int x, int m_idx);
+extern void spell_RF6_S_MONSTERS(int y, int x, int m_idx);
+extern void spell_RF6_S_ANT(int y, int x, int m_idx);
+extern void spell_RF6_S_SPIDER(int y, int x, int m_idx);
+extern void spell_RF6_S_HOUND(int y, int x, int m_idx);
+extern void spell_RF6_S_HYDRA(int y, int x, int m_idx);
+extern void spell_RF6_S_ANGEL(int y, int x, int m_idx);
+extern void spell_RF6_S_DEMON(int y, int x, int m_idx);
+extern void spell_RF6_S_UNDEAD(int y, int x, int m_idx);
+extern void spell_RF6_S_DRAGON(int y, int x, int m_idx);
+extern void spell_RF6_S_HI_UNDEAD(int y, int x, int m_idx);
+extern void spell_RF6_S_HI_DRAGON(int y, int x, int m_idx);
+extern void spell_RF6_S_AMBERITES(int y, int x, int m_idx);
+extern void spell_RF6_S_UNIQUE(int y, int x, int m_idx);
+
+/* spells monster to monster */
+extern void MM_spell_RF4_SHRIEK(int m_idx, int t_idx);
+extern void MM_spell_RF4_DISPEL(int m_idx, int t_idx);
+extern int MM_spell_RF4_ROCKET(int y, int x, int m_idx, int t_idx);