/*
* Hack -- Link a copyright message into the executable
*/
-cptr copyright[5] =
+const cptr copyright[5] =
{
"Copyright (c) 1989 James E. Wilson, Robert A. Keoneke",
"",
bool character_icky; /* The game is in an icky full screen mode */
bool character_xtra; /* The game is in an icky startup mode */
+bool creating_savefile; /* New savefile is currently created */
+
u32b seed_flavor; /* Hack -- consistent object colors */
u32b seed_town; /* Hack -- consistent town layout */
s16b base_level; /* Base dungeon level */
s32b turn; /* Current game turn */
+s32b turn_limit; /* Limit of game turn */
s32b dungeon_turn; /* Game turn in dungeon */
-s32b old_turn; /* Turn when level began (feelings) */
+s32b dungeon_turn_limit; /* Limit of game turn in dungeon */
+s32b old_turn; /* Turn when level began */
s32b old_battle;
bool use_sound; /* The "sound" mode is enabled */
bool inkey_xtra; /* See the "inkey()" function */
bool inkey_scan; /* See the "inkey()" function */
bool inkey_flag; /* See the "inkey()" function */
+bool get_com_no_macros = FALSE; /* Expand macros in "get_com" or not */
s16b coin_type; /* Hack -- force coin type */
char summon_kin_type; /* Hack, by Julian Lighton: summon 'relatives' */
int total_friends = 0;
-s32b total_friend_levels = 0;
s32b friend_align = 0;
int leaving_quest = 0;
bool view_bright_lite; /* Use special colors for 'viewable' grids */
bool view_granite_lite; /* Use special colors for wall grids (slow) */
bool view_special_lite; /* Use special colors for floor grids (slow) */
+bool view_perma_grids; /* Map remembers all perma-lit grids */
+bool view_torch_grids; /* Map remembers all torch-lit grids */
+bool view_unsafe_grids; /* Map marked by detect traps */
bool view_reduce_view; /* Reduce view-radius in town */
bool fresh_before; /* Flush output while continuous command */
bool fresh_after; /* Flush output after monster's move */
bool abbrev_extra; /* Describe obj's extra resistances by abbreviation */
bool abbrev_all; /* Describe obj's all resistances by abbreviation */
bool exp_need; /* Show the experience needed for next level */
+bool ignore_unview; /* Ignore whenever any monster does */
/*** Game-Play Options ***/
bool stack_force_notes; /* Merge inscriptions when stacking */
bool stack_force_costs; /* Merge discounts when stacking */
bool expand_list; /* Expand the power of the list commands */
-bool view_perma_grids; /* Map remembers all perma-lit grids */
-bool view_torch_grids; /* Map remembers all torch-lit grids */
-bool view_unsafe_grids; /* Map marked by detect traps */
bool small_levels; /* Allow unusually small dungeon levels */
bool always_small_levels; /* Always create unusually small dungeon levels */
bool empty_levels; /* Allow empty 'arena' levels */
#endif
bool allow_debug_opts; /* Allow use of debug/cheat options */
-bool autoload_pref_files;
/*** Disturbance Options ***/
bool autoroller; /* Allow use of autoroller for stats (*) */
bool autochara; /* Autoroll for weight, height and social status */
bool powerup_home; /* Increase capacity of your home (*) */
+bool show_ammo_detail; /* Show Description of ammo damage */
+bool show_ammo_no_crit; /* Show No-crit damage of ammo */
+bool show_ammo_crit_ratio; /* Show critical ratio of ammo */
+
+
/*** Easy Object Auto-Destroyer ***/
bool record_arena; /* Record arena victories */
bool record_ident; /* Record first identified items */
bool record_named_pet; /* Record informations of named pets */
+char record_o_name[MAX_NLEN];
+s32b record_turn;
/* Cheating options */
* Dungeon variables
*/
-byte feeling; /* Most recent feeling */
-s16b rating; /* Level's current rating */
-
-bool good_item_flag; /* True if "Artifact" on this level */
-
bool closing_flag; /* Dungeon is closing */
/*
* Standard window names
*/
-char angband_term_name[8][16] =
+const char angband_term_name[8][16] =
{
"Hengband",
"Term-1",
/*
* Standard sound names
*/
-char angband_sound_name[SOUND_MAX][16] =
+const cptr angband_sound_name[SOUND_MAX] =
{
- "",
+ "dummy",
"hit",
"miss",
"flee",
"show",
"unused",
"explode",
+ "glass",
};
*/
monster_type *m_list;
+/*
+ * The array to process dungeon monsters [max_m_idx]
+ */
+s16b *mproc_list[MAX_MTIMED];
+s16b mproc_max[MAX_MTIMED]; /* Number of monsters to be processed */
+
/*
* Maximum number of towns
* Pointer to the player tables
* (sex, race, class, magic)
*/
-player_sex *sp_ptr;
-player_race *rp_ptr;
-player_class *cp_ptr;
-player_seikaku *ap_ptr;
-player_magic *mp_ptr;
+const player_sex *sp_ptr;
+const player_race *rp_ptr;
+const player_class *cp_ptr;
+const player_seikaku *ap_ptr;
+const player_magic *mp_ptr;
/*
bool monk_armour_aux;
bool monk_notify_aux;
-#ifdef ALLOW_EASY_OPEN /* TNB */
-bool easy_open;
-#endif /* ALLOW_EASY_OPEN -- TNB */
-
-#ifdef ALLOW_EASY_DISARM /* TNB */
-bool easy_disarm;
-#endif /* ALLOW_EASY_DISARM -- TNB */
-
-#ifdef ALLOW_EASY_FLOOR /* TNB */
-bool easy_floor;
-#endif /* ALLOW_EASY_FLOOR -- TNB */
-
-bool use_command;
-bool center_player;
-bool center_running;
-
-/* Auto-destruction options */
-bool destroy_items;
-bool destroy_feeling;
-bool destroy_identify;
-bool leave_worth;
-bool leave_equip;
-bool leave_wanted;
-bool leave_corpse;
-bool leave_junk;
-bool leave_chest;
-bool leave_special;
-
-/* Nikki */
-bool record_fix_art;
-bool record_rand_art;
-bool record_destroy_uniq;
-bool record_fix_quest;
-bool record_rand_quest;
-bool record_maxdepth;
-bool record_stair;
-bool record_buy;
-bool record_sell;
-bool record_danger;
-bool record_arena;
-bool record_ident;
-bool record_named_pet;
-char record_o_name[MAX_NLEN];
-s32b record_turn;
/*
* Wilderness
s16b kubi_r_idx[MAX_KUBI];
s16b today_mon;
-monster_type party_mon[MAX_PARTY_MON];
-
bool write_level;
u32b playtime;
cptr screen_dump = NULL;
+/*** Terrain feature variables ***/
+
+/* Nothing */
+s16b feat_none;
+
+/* Floor */
+s16b feat_floor;
+
+/* Objects */
+s16b feat_glyph;
+s16b feat_explosive_rune;
+s16b feat_mirror;
+
+/* Doors */
+door_type feat_door[MAX_DOOR_TYPES];
+
+/* Stairs */
+s16b feat_up_stair;
+s16b feat_down_stair;
+s16b feat_entrance;
+
+/* Special traps */
+s16b feat_trap_open;
+s16b feat_trap_armageddon;
+s16b feat_trap_piranha;
+
+/* Rubble */
+s16b feat_rubble;
+
+/* Seams */
+s16b feat_magma_vein;
+s16b feat_quartz_vein;
+
+/* Walls */
+s16b feat_granite;
+s16b feat_permanent;
+
+/* Glass floor */
+s16b feat_glass_floor;
+
+/* Glass walls */
+s16b feat_glass_wall;
+s16b feat_permanent_glass_wall;
+
+/* Pattern */
+s16b feat_pattern_start;
+s16b feat_pattern_1;
+s16b feat_pattern_2;
+s16b feat_pattern_3;
+s16b feat_pattern_4;
+s16b feat_pattern_end;
+s16b feat_pattern_old;
+s16b feat_pattern_exit;
+s16b feat_pattern_corrupted;
+
+/* Various */
+s16b feat_black_market;
+s16b feat_town;
+
+/* Terrains */
+s16b feat_deep_water;
+s16b feat_shallow_water;
+s16b feat_deep_lava;
+s16b feat_shallow_lava;
+s16b feat_dirt;
+s16b feat_grass;
+s16b feat_flower;
+s16b feat_brake;
+s16b feat_tree;
+s16b feat_mountain;
+s16b feat_swamp;
+
+/* Unknown grid (not detected) */
+s16b feat_undetected;
+
/*
* Which dungeon ?
*/
char *server_name;
int server_port;
#endif
+
+/* for movie */
+bool browsing_movie;
+
+#ifdef TRAVEL
+/* for travel */
+travel_type travel;
+#endif
+
+/* for snipers */
+int snipe_type = SP_NONE;
+bool reset_concent = FALSE; /* Concentration reset flag */
+bool is_fired = FALSE;