extern const byte adj_chr_chm[];
extern const byte blows_table[12][12];
extern const arena_type arena_info[MAX_ARENA_MONS + 2];
-extern const owner_type owners[MAX_STORES][MAX_OWNERS];
extern const byte extract_energy[200];
extern const s32b player_exp[PY_MAX_LEVEL];
extern const s32b player_exp_a[PY_MAX_LEVEL];
extern POSITION panel_row_min, panel_row_max;
extern POSITION panel_col_min, panel_col_max;
extern POSITION panel_col_prt, panel_row_prt;
-extern IDX target_who;
+extern MONSTER_IDX target_who;
extern POSITION target_col;
extern POSITION target_row;
extern int player_uid;
extern const concptr angband_music_basic_name[MUSIC_BASIC_MAX];
extern cave_type *cave[MAX_HGT];
extern saved_floor_type saved_floors[MAX_SAVED_FLOORS];
-extern s16b max_floor_id;
+extern FLOOR_IDX max_floor_id;
extern u32b saved_floor_file_sign;
extern object_type *o_list;
extern monster_type *m_list;
extern building_type building[MAX_BLDG];
extern QUEST_IDX max_q_idx;
extern MONRACE_IDX max_r_idx;
-extern IDX max_k_idx;
-extern IDX max_v_idx;
-extern IDX max_f_idx;
+extern KIND_OBJECT_IDX max_k_idx;
+extern VAULT_IDX max_v_idx;
+extern FEAT_IDX max_f_idx;
extern ARTIFACT_IDX max_a_idx;
-extern IDX max_e_idx;
+extern EGO_IDX max_e_idx;
extern DUNGEON_IDX max_d_idx;
extern OBJECT_IDX max_o_idx;
extern MONSTER_IDX max_m_idx;
extern void player_birth(void);
extern void get_max_stats(void);
extern void get_height_weight(void);
-extern void determine_random_questor(quest_type *q_ptr);
extern void player_outfit(void);
extern void dump_yourself(FILE *fff);
extern void glow_deep_lava_and_bldg(void);
extern bool cave_monster_teleportable_bold(MONSTER_IDX m_idx, POSITION y, POSITION x, BIT_FLAGS mode);
extern bool cave_player_teleportable_bold(POSITION y, POSITION x, BIT_FLAGS mode);
+extern bool is_open(FEAT_IDX feat);
/* cmd1.c */
extern HIT_POINT critical_shot(WEIGHT weight, int plus_ammo, int plus_bow, HIT_POINT dam);
extern void do_cmd_run(void);
extern void do_cmd_rest(void);
extern void do_cmd_fire(void);
-extern void do_cmd_fire_aux(INVENTORY_IDX item, object_type *j_ptr);
+extern void exe_fire(INVENTORY_IDX item, object_type *j_ptr);
extern bool do_cmd_throw(int mult, bool boomerang, OBJECT_IDX shuriken);
#ifdef TRAVEL
extern void do_cmd_travel(void);
extern void do_cmd_checkquest(void);
extern void do_cmd_time(void);
-/* cmd5.c */
-extern concptr spell_category_name(OBJECT_TYPE_VALUE tval);
-extern void do_cmd_browse(void);
-extern void do_cmd_study(void);
-extern void do_cmd_cast(void);
-
/* cmd-spell.c */
-extern void stop_singing(void);
extern concptr do_spell(REALM_IDX realm, SPELL_IDX spell, BIT_FLAGS mode);
extern bool trump_summoning(int num, bool pet, POSITION y, POSITION x, DEPTH lev, int type, BIT_FLAGS mode);
extern bool can_get_item(void);
extern bool get_item(OBJECT_IDX *cp, concptr pmt, concptr str, BIT_FLAGS mode);
extern object_type *choose_object(OBJECT_IDX *idx, concptr q, concptr s, BIT_FLAGS option);
+PERCENTAGE breakage_chance(object_type *o_ptr);
/* object2.c */
extern void excise_object_idx(OBJECT_IDX o_idx);
extern concptr essence_name[];
/* racial.c */
-extern bool gain_magic(void);
extern void do_cmd_racial_power(void);
/* save.c */
extern void breath_shape(u16b *path_g, int dist, int *pgrids, POSITION *gx, POSITION *gy, POSITION *gm, POSITION *pgm_rad, POSITION rad, POSITION y1, POSITION x1, POSITION y2, POSITION x2, EFFECT_ID typ);
extern int take_hit(int damage_type, HIT_POINT damage, concptr kb_str, int monspell);
extern u16b bolt_pict(POSITION y, POSITION x, POSITION ny, POSITION nx, EFFECT_ID typ);
-extern sint project_path(u16b *gp, POSITION range, POSITION y1, POSITION x1, POSITION y2, POSITION x2, BIT_FLAGS flg);
extern POSITION dist_to_line(POSITION y, POSITION x, POSITION y1, POSITION x1, POSITION y2, POSITION x2);
extern bool project(MONSTER_IDX who, POSITION rad, POSITION y, POSITION x, HIT_POINT dam, EFFECT_ID typ, BIT_FLAGS flg, int monspell);
extern int project_length;
extern bool binding_field(HIT_POINT dam);
extern void seal_of_mirror(HIT_POINT dam);
+extern concptr spell_category_name(OBJECT_TYPE_VALUE tval);
/* spells2.c */
extern void message_pain(MONSTER_IDX m_idx, HIT_POINT dam);
extern bool dispel_monsters(HIT_POINT dam);
extern bool dispel_living(HIT_POINT dam);
extern bool dispel_demons(HIT_POINT dam);
+extern bool cleansing_nova(player_type *creature_ptr, bool magic, bool powerful);
+extern bool unleash_mana_storm(player_type *creature_ptr, bool powerful);
extern bool crusade(void);
extern bool turn_undead(void);
extern bool destroy_area(POSITION y1, POSITION x1, POSITION r, bool in_generate);
extern bool earthquake_aux(POSITION cy, POSITION cx, POSITION r, MONSTER_IDX m_idx);
extern bool earthquake(POSITION cy, POSITION cx, POSITION r);
extern void lite_room(POSITION y1, POSITION x1);
+extern bool starlight(bool magic);
extern void unlite_room(POSITION y1, POSITION x1);
extern bool lite_area(HIT_POINT dam, POSITION rad);
extern bool unlite_area(HIT_POINT dam, POSITION rad);
extern bool destroy_door(DIRECTION dir);
extern bool disarm_trap(DIRECTION dir);
extern bool wizard_lock(DIRECTION dir);
-extern bool heal_monster(DIRECTION dir, HIT_POINT dam);
-extern bool speed_monster(DIRECTION dir, int power);
-extern bool slow_monster(DIRECTION dir, int power);
-extern bool sleep_monster(DIRECTION dir, int power);
-extern bool stasis_monster(DIRECTION dir); /* Like sleep, affects undead as well */
-extern bool stasis_evil(DIRECTION dir); /* Like sleep, affects undead as well */
-extern bool confuse_monster(DIRECTION dir, PLAYER_LEVEL plev);
-extern bool stun_monster(DIRECTION dir, PLAYER_LEVEL plev);
-extern bool fear_monster(DIRECTION dir, PLAYER_LEVEL plev);
-extern bool poly_monster(DIRECTION dir, int power);
-extern bool clone_monster(DIRECTION dir);
extern bool teleport_monster(DIRECTION dir, int distance);
extern bool door_creation(void);
extern bool trap_creation(POSITION y, POSITION x);
extern bool_hack vampirism(void);
extern bool panic_hit(void);
extern bool psychometry(void);
+extern bool draconian_breath(player_type *creature_ptr);
+extern bool android_inside_weapon(player_type *creature_ptr);
+extern bool create_ration(player_type *crature_ptr);
+extern void hayagake(player_type *creature_ptr);
+extern bool double_attack(player_type *creature_ptr);
+extern bool comvert_hp_to_mp(player_type *creature_ptr);
+extern bool comvert_mp_to_hp(player_type *creature_ptr);
+extern bool demonic_breath(player_type *creature_ptr);
+extern bool mirror_concentration(player_type *creature_ptr);
+extern bool sword_dancing(player_type *creature_ptr);
+extern bool confusing_light(player_type *creature_ptr);
+extern bool rodeo(player_type *creature_ptr);
+extern bool clear_mind(player_type *creature_ptr);
+extern bool concentration(player_type *creature_ptr);
/* spells3.c */
extern bool teleport_away(MONSTER_IDX m_idx, POSITION dis, BIT_FLAGS mode);
extern void massacre(void);
extern bool eat_lock(void);
extern bool shock_power(void);
+extern bool booze(player_type *creature_ptr);
+extern bool detonation(player_type *creature_ptr);
+
/* bldg.c */
extern void battle_monsters(void);
extern void do_cmd_bldg(void);
extern void do_cmd_quest(void);
extern void quest_discovery(QUEST_IDX q_idx);
-extern QUEST_IDX quest_number(DEPTH level);
-extern QUEST_IDX random_quest_number(DEPTH level);
extern bool tele_town(void);
extern HIT_POINT calc_crit_ratio_shot(HIT_POINT plus_ammo, HIT_POINT plus_bow);
extern HIT_POINT calc_expect_crit_shot(WEIGHT weight, int plus_ammo,int plus_bow, HIT_POINT dam);
extern s16b modify_stat_value(int value, int amount);
extern void prt_time(void);
extern concptr map_name(void);
-extern WEIGHT weight_limit(void);
-extern bool buki_motteruka(int i);
-extern bool is_heavy_shoot(object_type *o_ptr);
extern int bow_tval_ammo(object_type *o_ptr);
-extern s16b calc_num_fire(object_type *o_ptr);
-extern void calc_bonuses(void);
extern void handle_stuff(void);
extern void update_output(void);
-extern void update_creature(player_type *creature_ptr);
-extern BIT_FLAGS16 empty_hands(bool riding_control);
-extern bool heavy_armor(void);
extern void print_monster_list(TERM_LEN x, TERM_LEN y, TERM_LEN max_lines);
extern void update_playtime(void);
extern bool set_tim_esp(TIME_EFFECT v, bool do_dec);
extern bool set_superstealth(bool set);
+/* view-mainwindow.c */
+extern void resize_map(void);
+extern void redraw_window(void);
+extern bool change_panel(POSITION dy, POSITION dx);
+
+
/* xtra2.c */
extern void check_experience(void);
-extern void complete_quest(QUEST_IDX quest_num);
-extern void check_quest_completion(monster_type *m_ptr);
-extern void check_find_art_quest_completion(object_type *o_ptr);
extern concptr extract_note_dies(MONRACE_IDX r_idx);
extern void monster_death(MONSTER_IDX m_idx, bool drop_item);
-extern bool mon_take_hit(MONSTER_IDX m_idx, HIT_POINT dam, bool *fear, concptr note);
extern void get_screen_size(TERM_LEN *wid_p, TERM_LEN *hgt_p);
extern void panel_bounds_center(void);
-extern void resize_map(void);
-extern void redraw_window(void);
-extern bool change_panel(POSITION dy, POSITION dx);
extern void verify_panel(void);
extern concptr look_mon_desc(monster_type *m_ptr, BIT_FLAGS mode);
extern bool target_able(MONSTER_IDX m_idx);
extern bool get_hack_dir(DIRECTION *dp);
extern bool get_direction(DIRECTION *dp, bool allow_under, bool with_steed);
extern bool get_rep_dir(DIRECTION *dp, bool under);
-extern void gain_level_reward(int chosen_reward);
extern bool tgt_pt(POSITION *x, POSITION *y);
extern void do_poly_wounds(void);
extern void change_race(CHARACTER_IDX new_race, concptr effect_msg);
-extern HIT_POINT mon_damage_mod(monster_type *m_ptr, HIT_POINT dam, bool is_psy_spear);
-extern ENERGY bow_energy(OBJECT_SUBTYPE_VALUE sval);
-extern int bow_tmul(OBJECT_SUBTYPE_VALUE sval);
-extern void display_rumor(bool ex);
-
-/* artifact.c */
-extern void one_high_resistance(object_type *o_ptr);
-extern void one_lordly_high_resistance(object_type *o_ptr);
-extern void one_ele_resistance(object_type *o_ptr);
-extern void one_dragon_ele_resistance(object_type *o_ptr);
-extern void one_low_esp(object_type *o_ptr);
-extern void one_resistance(object_type *o_ptr);
-extern void one_ability(object_type *o_ptr);
-extern void one_activation(object_type *o_ptr);
-extern bool create_artifact(object_type *o_ptr, bool a_scroll);
-extern int activation_index(object_type *o_ptr);
-extern const activation_type* find_activation_info(object_type *o_ptr);
-extern void random_artifact_resistance(object_type * o_ptr, artifact_type *a_ptr);
-extern bool create_named_art(ARTIFACT_IDX a_idx, POSITION y, POSITION x);
/* scores.c */
extern void display_scores_aux(int from, int to, int note, high_score *score);
extern void do_cmd_gain_hissatsu(void);
extern MULTIPLY mult_hissatsu(MULTIPLY mult, BIT_FLAGS *flgs, monster_type *m_ptr, BIT_FLAGS mode);
-/* mutation.c */
-extern bool gain_random_mutation(int choose_mut);
-extern bool lose_mutation(int choose_mut);
-extern void lose_all_mutations(void);
-extern void dump_mutations(FILE *OutFile);
-extern void do_cmd_knowledge_mutations(void);
-extern int calc_mutant_regenerate_mod(void);
-extern bool mutation_power_aux(int power);
-
/*
* Hack -- conditional (or "bizarre") externs
extern void do_cmd_rerate(bool display);
extern void cheat_death(player_type *creature_ptr);
-/* avatar.c */
-extern bool compare_virtue(int type, int num, int tekitou);
-extern int virtue_number(int type);
-extern concptr virtue[MAX_VIRTUE];
-extern void get_virtues(void);
-extern void chg_virtue(int virtue, int amount);
-extern void set_virtue(int virtue, int amount);
-extern void dump_virtues(FILE * OutFile);
#ifdef JP
/* japanese.c */
extern void do_cmd_snipe_browse(void);
extern int boost_concentration_damage(int tdam);
-/* hex.c */
-extern bool stop_hex_spell_all(void);
-extern bool stop_hex_spell(void);
-extern void check_hex(void);
-extern bool hex_spell_fully(void);
-extern void revenge_spell(void);
-extern void revenge_store(HIT_POINT dam);
-extern bool teleport_barrier(MONSTER_IDX m_idx);
-extern bool magic_barrier(MONSTER_IDX m_idx);
-extern bool multiply_barrier(MONSTER_IDX m_idx);
-
extern void kamaenaoshi(INVENTORY_IDX item);
extern bool ang_sort_comp_hook(vptr u, vptr v, int a, int b);
extern void ang_sort_swap_hook(vptr u, vptr v, int a, int b);
+