extern term *angband_term[8];
extern const char angband_term_name[8][16];
extern byte angband_color_table[256][4];
-extern const char angband_sound_name[SOUND_MAX][16];
+extern const cptr angband_sound_name[SOUND_MAX];
extern cave_type *cave[MAX_HGT];
extern saved_floor_type saved_floors[MAX_SAVED_FLOORS];
extern s16b max_floor_id;
extern void do_cmd_rerate(bool display);
extern void ring_of_power(int dir);
extern void do_cmd_use(void);
-extern void do_cmd_magic_eater(bool only_browse);
+extern bool do_cmd_magic_eater(bool only_browse, bool powerful);
/* do-spell.c */
extern void stop_singing(void);
extern void place_gold(int y, int x);
extern s16b drop_near(object_type *o_ptr, int chance, int y, int x);
extern void acquirement(int y1, int x1, int num, bool great, bool known);
+extern void amusement(int y1, int x1, int num, bool known);
extern void init_normal_traps(void);
extern s16b choose_random_trap(void);
extern void disclose_grid(int y, int x);
extern bool detect_all(int range);
extern bool wall_stone(void);
extern bool speed_monsters(void);
-extern bool slow_monsters(void);
-extern bool sleep_monsters(void);
+extern bool slow_monsters(int power);
+extern bool sleep_monsters(int power);
extern void aggravate_monsters(int who);
extern bool genocide_aux(int m_idx, int power, bool player_cast, int dam_side, cptr spell_name);
extern bool symbol_genocide(int power, bool player_cast);
extern void call_chaos(void);
extern bool fire_beam(int typ, int dir, int dam);
extern bool fire_bolt_or_beam(int prob, int typ, int dir, int dam);
-extern bool lite_line(int dir);
+extern bool lite_line(int dir, int dam);
extern bool drain_life(int dir, int dam);
extern bool death_ray(int dir, int plev);
-extern bool wall_to_mud(int dir);
+extern bool wall_to_mud(int dir, int dam);
extern bool destroy_door(int dir);
extern bool disarm_trap(int dir);
extern bool wizard_lock(int dir);
extern bool heal_monster(int dir, int dam);
-extern bool speed_monster(int dir);
-extern bool slow_monster(int dir);
-extern bool sleep_monster(int dir);
+extern bool speed_monster(int dir, int power);
+extern bool slow_monster(int dir, int power);
+extern bool sleep_monster(int dir, int power);
extern bool stasis_monster(int dir); /* Like sleep, affects undead as well */
extern bool stasis_evil(int dir); /* Like sleep, affects undead as well */
extern bool confuse_monster(int dir, int plev);
extern bool stun_monster(int dir, int plev);
extern bool fear_monster(int dir, int plev);
-extern bool poly_monster(int dir);
+extern bool poly_monster(int dir, int power);
extern bool clone_monster(int dir);
-extern bool teleport_monster(int dir);
+extern bool teleport_monster(int dir, int distance);
extern bool door_creation(void);
extern bool trap_creation(int y, int x);
extern bool tree_creation(void);
extern bool glyph_creation(void);
extern bool destroy_doors_touch(void);
+extern bool disarm_traps_touch(void);
extern bool animate_dead(int who, int y, int x);
extern bool sleep_monsters_touch(void);
extern bool activate_ty_curse(bool stop_ty, int *count);
extern void one_resistance(object_type *o_ptr);
extern void one_ability(object_type *o_ptr);
extern bool create_artifact(object_type *o_ptr, bool a_scroll);
+extern int activation_index(object_type *o_ptr);
extern bool activate_random_artifact(object_type * o_ptr);
-extern const activation_type* find_activation_info(const object_type *o_ptr);
+extern const activation_type* find_activation_info(object_type *o_ptr);
extern void get_bloody_moon_flags(object_type *o_ptr);
extern void random_artifact_resistance(object_type * o_ptr, artifact_type *a_ptr);
extern bool create_named_art(int a_idx, int y, int x);
extern bool object_allow_enchant_melee_weapon(object_type *o_ptr);
extern bool object_is_smith(object_type *o_ptr);
extern bool object_is_artifact(object_type *o_ptr);
+extern bool object_is_random_artifact(object_type *o_ptr);
extern bool object_is_nameless(object_type *o_ptr);
extern bool object_allow_two_hands_wielding(object_type *o_ptr);