#include "system/angband.h"
-bool check_multishadow(player_type *creature_ptr);
-bool mirror_concentration(player_type *creature_ptr);
-void remove_all_mirrors(player_type *caster_ptr, bool explode);
-bool binding_field(player_type *caster_ptr, HIT_POINT dam);
-void seal_of_mirror(player_type *caster_ptr, HIT_POINT dam);
-bool confusing_light(player_type *creature_ptr);
-bool place_mirror(player_type *caster_ptr);
-bool mirror_tunnel(player_type *caster_ptr);
-bool set_multishadow(player_type *creature_ptr, TIME_EFFECT v, bool do_dec);
-bool set_dustrobe(player_type *creature_ptr, TIME_EFFECT v, bool do_dec);
-bool cast_mirror_spell(player_type *caster_ptr, int spell);
+class PlayerType;
+bool check_multishadow(PlayerType *player_ptr);
+bool mirror_concentration(PlayerType *player_ptr);
+void remove_all_mirrors(PlayerType *player_ptr, bool explode);
+bool binding_field(PlayerType *player_ptr, int dam);
+void seal_of_mirror(PlayerType *player_ptr, int dam);
+bool confusing_light(PlayerType *player_ptr);
+bool place_mirror(PlayerType *player_ptr);
+bool mirror_tunnel(PlayerType *player_ptr);
+bool set_multishadow(PlayerType *player_ptr, TIME_EFFECT v, bool do_dec);
+bool set_dustrobe(PlayerType *player_ptr, TIME_EFFECT v, bool do_dec);
+
+enum mind_mirror_master_type : int;
+bool cast_mirror_spell(PlayerType *player_ptr, mind_mirror_master_type spell);