extern cptr silly_attacks2[MAX_SILLY_ATTACK];
#endif
extern monster_power monster_powers[MAX_MONSPELLS];
+extern cptr monster_powers_short[MAX_MONSPELLS];
extern cptr ident_info[];
extern mbe_info_type mbe_info[];
extern bool find_ignore_stairs;
extern bool find_ignore_doors;
extern bool find_cut;
-extern bool find_examine;
extern bool disturb_near;
extern bool disturb_high;
extern bool disturb_move;
extern bool fresh_before;
extern bool fresh_after;
extern bool fresh_message;
-extern bool alert_hitpoint;
extern bool disturb_trap_detect;
extern bool alert_trap_detect;
extern bool view_yellow_lite;
extern bool always_show_list;
extern bool powerup_home;
-extern bool change_numeral;
extern bool send_score;
extern bool allow_debug_opts; /* Allow use of debug/cheat options */
extern bool view_unsafe_grids;
extern bool track_follow;
extern bool track_target;
-extern bool stack_allow_items;
extern bool stack_force_notes;
extern bool stack_force_costs;
-extern bool view_reduce_lite;
extern bool view_reduce_view;
extern bool manual_haggle;
extern bool auto_scum;
-extern bool expand_look;
extern bool expand_list;
extern bool smart_learn;
extern bool smart_cheat;
extern bool show_labels;
extern bool show_weights;
-extern bool show_choices;
extern bool cheat_peek;
extern bool cheat_hear;
extern bool cheat_room;
extern bool small_levels;
extern bool always_small_levels;
extern bool empty_levels;
-extern bool player_symbols;
+extern bool bound_walls_perm;
extern bool equippy_chars;
extern bool use_command;
extern bool center_player;
extern s16b lite_y[LITE_MAX];
extern s16b lite_x[LITE_MAX];
extern s16b mon_lite_n;
-extern s16b mon_lite_y[LITE_MAX];
-extern s16b mon_lite_x[LITE_MAX];
+extern s16b mon_lite_y[MON_LITE_MAX];
+extern s16b mon_lite_x[MON_LITE_MAX];
extern s16b view_n;
extern byte view_y[VIEW_MAX];
extern byte view_x[VIEW_MAX];
extern s16b temp_n;
extern byte temp_y[TEMP_MAX];
extern byte temp_x[TEMP_MAX];
+extern s16b redraw_n;
+extern byte redraw_y[REDRAW_MAX];
+extern byte redraw_x[REDRAW_MAX];
extern s16b macro__num;
extern cptr *macro__pat;
extern cptr *macro__act;
extern void add_history_from_pref_line(cptr t);
extern void player_birth(void);
extern void get_max_stats(void);
+extern void determine_random_questor(quest_type *q_ptr);
extern void player_outfit(void);
extern void dump_yourself(FILE *fff);
extern void update_view(void);
extern void update_mon_lite(void);
extern void clear_mon_lite(void);
+extern void delayed_visual_update(void);
extern void forget_flow(void);
extern void update_flow(void);
extern void update_smell(void);
extern void monster_race_track(int r_idx);
extern void object_kind_track(int k_idx);
extern void disturb(int stop_search, int flush_output);
-extern void glow_deep_lava(void);
+extern void glow_deep_lava_and_bldg(void);
/* cmd1.c */
extern bool test_hit_fire(int chance, int ac, int vis);
extern bool test_hit_norm(int chance, int ac, int vis);
extern s16b critical_shot(int weight, int plus, int dam);
extern s16b critical_norm(int weight, int plus, int dam, s16b meichuu, int mode);
-extern s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode);
+extern s16b tot_dam_aux(object_type *o_ptr, int tdam, monster_type *m_ptr, int mode, bool thrown);
extern void search(void);
extern void py_pickup_aux(int o_idx);
extern void carry(int pickup);
extern void do_cmd_time(void);
/* cmd5.c */
-extern cptr spell_categoly_name(int tval);
+extern cptr spell_category_name(int tval);
extern void do_cmd_browse(void);
extern void do_cmd_study(void);
extern void stop_singing(void);
/* dungeon.c */
extern void leave_quest_check(void);
extern void extract_option_vars(void);
+extern void determine_bounty_uniques(void);
+extern void determine_today_mon(bool conv_old);
extern void play_game(bool new_game);
extern bool psychometry(void);
extern void leave_level(int level);
extern bool monster_can_cross_terrain(byte feat, monster_race *r_ptr);
extern bool monster_can_enter(int y, int x, monster_race *r_ptr);
extern bool are_enemies(monster_type *m_ptr1, monster_type *m_ptr2);
+extern bool monster_has_hostile_align(monster_type *m_ptr, int pa_good, int pa_evil, monster_race *r_ptr);
extern bool monster_living(monster_race *r_ptr);
+extern bool no_questor_or_bounty_uniques(int r_idx);
/* monster2.c */
extern bool place_monster_aux(int who, int y, int x, int r_idx, u32b mode);
extern bool place_monster(int y, int x, u32b mode);
extern bool alloc_horde(int y, int x);
+extern bool alloc_guardian(void);
extern bool alloc_monster(int dis, u32b mode);
extern bool summon_specific(int who, int y1, int x1, int lev, int type, u32b mode);
extern bool summon_named_creature (int who, int oy, int ox, int r_idx, u32b mode);
extern void object_wipe(object_type *o_ptr);
extern void object_prep(object_type *o_ptr, int k_idx);
extern void object_copy(object_type *o_ptr, object_type *j_ptr);
-extern void apply_magic(object_type *o_ptr, int lev, bool okay, bool good, bool great, bool curse);
-extern bool make_object(object_type *j_ptr, bool good, bool great);
-extern void place_object(int y, int x, bool good, bool great);
+extern void apply_magic(object_type *o_ptr, int lev, u32b mode);
+extern bool make_object(object_type *j_ptr, u32b mode);
+extern void place_object(int y, int x, u32b mode);
extern bool make_gold(object_type *j_ptr);
extern void place_gold(int y, int x);
extern s16b drop_near(object_type *o_ptr, int chance, int y, int x);
extern void display_koff(int k_idx);
extern object_type *choose_warning_item(void);
extern bool process_warning(int xx, int yy);
+extern bool item_tester_hook_smith(object_type *o_ptr);
extern void do_cmd_kaji(bool only_browse);
/* racial.c */
extern bool dispel_demons(int dam);
extern bool crusade(void);
extern bool turn_undead(void);
-extern bool destroy_area(int y1, int x1, int r);
+extern bool destroy_area(int y1, int x1, int r, bool in_generate);
extern bool earthquake(int cy, int cx, int r);
extern void lite_room(int y1, int x1);
extern void unlite_room(int y1, int x1);
extern bool eat_magic(int power);
extern void discharge_minion(void);
extern void kawarimi(bool success);
+extern bool rush_attack(bool *mdeath);
+extern void remove_all_mirrors(bool explode);
/* spells3.c */
extern bool teleport_away(int m_idx, int dis, bool dec_valour);
-extern void teleport_to_player(int m_idx, int power);
+extern void teleport_monster_to(int m_idx, int ty, int tx, int power);
extern void teleport_player(int dis);
extern void teleport_player_to(int ny, int nx, bool no_tele);
-extern void teleport_player_level(void);
+extern void teleport_level(int m_idx);
extern bool recall_player(int turns);
extern bool word_of_recall(void);
extern bool reset_recall(void);
extern void display_spell_list(void);
extern s16b experience_of_spell(int spell, int realm);
extern int mod_need_mana(int need_mana, int spell, int realm);
+extern int mod_spell_chance_1(int chance);
+extern int mod_spell_chance_2(int chance);
extern s16b spell_chance(int spell,int realm);
extern bool spell_okay(int spell, bool learned, bool study_pray, int realm);
extern void print_spells(int target_spell, byte *spells, int num, int y, int x, int realm);
extern void request_command(int shopping);
extern bool is_a_vowel(int ch);
extern int get_keymap_dir(char ch);
+extern errr type_string(cptr str, uint len);
extern void roff_to_buf(cptr str, int wlen, char *tbuf, size_t bufsize);
#ifdef SORT_R_INFO
/* xtra2.c */
extern void check_experience(void);
extern void check_quest_completion(monster_type *m_ptr);
+extern cptr extract_note_dies(monster_race *r_ptr);
extern void monster_death(int m_idx, bool drop_item);
extern bool mon_take_hit(int m_idx, int dam, bool *fear, cptr note);
extern void get_screen_size(int *wid_p, int *hgt_p);
extern void redraw_window(void);
extern bool change_panel(int dy, int dx);
extern void verify_panel(void);
-extern cptr look_mon_desc(int m_idx, u32b mode);
+extern cptr look_mon_desc(monster_type *m_ptr, u32b mode);
extern void ang_sort_aux(vptr u, vptr v, int p, int q);
extern void ang_sort(vptr u, vptr v, int n);
extern bool target_able(int m_idx);
/* mspells1.c */
extern bool clean_shot(int y1, int x1, int y2, int x2, bool friend);
extern bool summon_possible(int y1, int x1);
+extern bool raise_possible(monster_type *m_ptr);
extern bool spell_is_inate(u16b spell);
/* mspells2.c */
/* mspells3.c */
extern bool do_cmd_cast_learned(void);
extern void learn_spell(int monspell);
+extern void set_rf_masks(s32b *f4, s32b *f5, s32b *f6, int mode);
/* hissatsu.c */
extern void hissatsu_info(char *p, int power);