extern byte create_up_stair;
extern byte create_down_stair;
extern bool msg_flag;
-extern bool alive;
-extern bool death;
extern s16b running;
extern s16b resting;
extern s16b cur_hgt;
extern s32b dungeon_turn;
extern s32b old_turn;
extern s32b old_battle;
-extern bool wizard;
extern bool use_sound;
extern bool use_graphics;
extern bool use_bigtile;
-extern u16b total_winner;
-extern u16b panic_save;
-extern u16b noscore;
-extern bool wait_report_score;
extern s16b signal_count;
extern bool inkey_base;
extern bool inkey_xtra;
extern int player_egid;
extern char player_name[32];
extern char player_base[32];
-extern char died_from[80];
-extern char history[4][60];
extern char savefile[1024];
extern char savefile_base[40];
extern s16b lite_n;
extern player_class *cp_ptr;
extern player_seikaku *ap_ptr;
extern player_magic *mp_ptr;
-extern u32b spell_learned1;
-extern u32b spell_learned2;
-extern u32b spell_worked1;
-extern u32b spell_worked2;
-extern u32b spell_forgotten1;
-extern u32b spell_forgotten2;
-extern byte spell_order[64];
-extern s16b player_hp[PY_MAX_LEVEL];
extern birther previous_char;
extern vault_type *v_info;
extern char *v_name;
extern bool autoroller;
extern bool autochara;
extern bool can_save;
-extern s16b spell_exp[64];
-extern s16b weapon_exp[5][64];
-extern s16b skill_exp[10];
extern bool world_monster;
extern bool world_player;
-extern s16b mane_spell[MAX_MANE];
-extern s16b mane_dam[MAX_MANE];
-extern s16b mane_num;
extern int cap_mon;
extern int cap_mspeed;
extern int cap_hp;
extern bool pulish_shield(void);
extern bool potion_smash_effect(int who, int y, int x, int k_idx);
extern void display_spell_list(void);
+extern s16b experience_of_spell(int spell, int realm);
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);