current_world_ptr->game_turn_limit = TURNS_PER_TICK * TOWN_DAWN * (MAX_DAYS - 1) + TURNS_PER_TICK * TOWN_DAWN * 3 / 4;
}
- dungeon_turn = 1;
+ current_world_ptr->dungeon_turn = 1;
dungeon_turn_limit = TURNS_PER_TICK * TOWN_DAWN * (MAX_DAYS - 1) + TURNS_PER_TICK * TOWN_DAWN * 3 / 4;
}
do_cmd_write_nikki(NIKKI_BUNSHOU, 0, _("宿屋に泊まった。", "stay over night at the inn."));
current_world_ptr->game_turn = (current_world_ptr->game_turn / (TURNS_PER_TICK * TOWN_DAWN / 2) + 1) * (TURNS_PER_TICK * TOWN_DAWN / 2);
- if (dungeon_turn < dungeon_turn_limit)
+ if (current_world_ptr->dungeon_turn < dungeon_turn_limit)
{
- dungeon_turn += MIN((current_world_ptr->game_turn - oldturn), TURNS_PER_TICK * 250) * INN_DUNGEON_TURN_ADJ;
- if (dungeon_turn > dungeon_turn_limit) dungeon_turn = dungeon_turn_limit;
+ current_world_ptr->dungeon_turn += MIN((current_world_ptr->game_turn - oldturn), TURNS_PER_TICK * 250) * INN_DUNGEON_TURN_ADJ;
+ if (current_world_ptr->dungeon_turn > dungeon_turn_limit) current_world_ptr->dungeon_turn = dungeon_turn_limit;
}
prevent_turn_overflow();
*/
#define TOWN_DAWN 10000 /*!< 1日分のターン / Number of ticks from dawn to dawn XXX */
#define TURNS_PER_TICK 10L /*!< 時間経過処理を行うターン数の刻み / Number of energy-gain-turns per ticks */
-#define INN_DUNGEON_TURN_ADJ 10 /*!< 宿屋で時間をつぶした場合に増えるdungeon_turnの倍率 */
+#define INN_DUNGEON_TURN_ADJ 10 /*!< 宿屋で時間をつぶした場合に増えるcurrent_world_ptr->dungeon_turnの倍率 */
#define MAX_DAYS 20000 /*!< 内部処理中で保持される最大日数 / Maximum days */
#define BREAK_GLYPH 550 /*!< 守りのルーンの強靭度 / Rune of protection resistance */
#define BREAK_MINOR_GLYPH 299 /*!< 爆発のルーンの発動しやすさ / For explosive runes */
/* Count game turns */
current_world_ptr->game_turn++;
- if (dungeon_turn < dungeon_turn_limit)
+ if (current_world_ptr->dungeon_turn < dungeon_turn_limit)
{
- if (!p_ptr->wild_mode || wild_regen) dungeon_turn++;
- else if (p_ptr->wild_mode && !(current_world_ptr->game_turn % ((MAX_HGT + MAX_WID) / 2))) dungeon_turn++;
+ if (!p_ptr->wild_mode || wild_regen) current_world_ptr->dungeon_turn++;
+ else if (p_ptr->wild_mode && !(current_world_ptr->game_turn % ((MAX_HGT + MAX_WID) / 2))) current_world_ptr->dungeon_turn++;
}
prevent_turn_overflow();
extern s16b running;
extern GAME_TURN resting;
extern bool invoking_midnight_curse;
-extern GAME_TURN dungeon_turn;
extern GAME_TURN dungeon_turn_limit;
extern GAME_TURN old_turn;
extern GAME_TURN old_battle;
if (z_older_than(10, 3, 12))
{
- dungeon_turn = current_world_ptr->game_turn;
+ current_world_ptr->dungeon_turn = current_world_ptr->game_turn;
}
- else rd_s32b(&dungeon_turn);
+ else rd_s32b(¤t_world_ptr->dungeon_turn);
if (z_older_than(11, 0, 13))
{
old_turn /= 2;
p_ptr->feeling_turn /= 2;
current_world_ptr->game_turn /= 2;
- dungeon_turn /= 2;
+ current_world_ptr->dungeon_turn /= 2;
}
if (z_older_than(10, 3, 13))
int pls_kakuritu, pls_level;
int delay = mysqrt(level * 10000L) + 400L;
- pls_kakuritu = MAX(NASTY_MON_MAX, NASTY_MON_BASE - ((dungeon_turn / (TURNS_PER_TICK * 5000L) - delay / 10)));
- pls_level = MIN(NASTY_MON_PLUS_MAX, 3 + dungeon_turn / (TURNS_PER_TICK * 40000L) - delay / 40 + MIN(5, level / 10)) ;
+ pls_kakuritu = MAX(NASTY_MON_MAX, NASTY_MON_BASE - ((current_world_ptr->dungeon_turn / (TURNS_PER_TICK * 5000L) - delay / 10)));
+ pls_level = MIN(NASTY_MON_PLUS_MAX, 3 + current_world_ptr->dungeon_turn / (TURNS_PER_TICK * 40000L) - delay / 40 + MIN(5, level / 10)) ;
if (d_info[p_ptr->dungeon_idx].flags1 & DF1_MAZE)
{
/* Current current_world_ptr->game_turn */
wr_s32b(current_world_ptr->game_turn);
- wr_s32b(dungeon_turn);
+ wr_s32b(current_world_ptr->dungeon_turn);
wr_s32b(old_battle);
char ppp[80], tmp_val[40];
sprintf(ppp, "Dungeon Turn (0-%ld): ", (long)dungeon_turn_limit);
- sprintf(tmp_val, "%ld", (long)dungeon_turn);
+ sprintf(tmp_val, "%ld", (long)current_world_ptr->dungeon_turn);
if (!get_string(ppp, tmp_val, 10)) return (FALSE);
tmp_int = atoi(tmp_val);
/* Verify */
if (tmp_int >= dungeon_turn_limit) tmp_int = dungeon_turn_limit - 1;
else if (tmp_int < 0) tmp_int = 0;
- dungeon_turn = current_world_ptr->game_turn = tmp_int;
+ current_world_ptr->dungeon_turn = current_world_ptr->game_turn = tmp_int;
return (TRUE);
}
POSITION max_wild_y;
GAME_TURN game_turn; /*!< 画面表示上のゲーム時間基準となるターン / Current game turn */
GAME_TURN game_turn_limit; /*!< game_turnの最大値 / Limit of game_turn */
+ GAME_TURN dungeon_turn; /*!< NASTY生成の計算に関わる内部ターン値 / Game current_world_ptr->game_turn in dungeon */
} world_type;
bool invoking_midnight_curse; /*!< 悪夢モード時の真夜中太古の呪い発生処理フラグ */
-GAME_TURN dungeon_turn; /*!< NASTY生成の計算に関わる内部ターン値 / Game current_world_ptr->game_turn in dungeon */
-GAME_TURN dungeon_turn_limit; /*!< dungeon_turnの最大値 / Limit of game current_world_ptr->game_turn in dungeon */
+GAME_TURN dungeon_turn_limit; /*!< current_world_ptr->dungeon_turnの最大値 / Limit of game current_world_ptr->game_turn in dungeon */
GAME_TURN old_turn; /* Turn when level began */
GAME_TURN old_battle;
MONSTER_IDX hack_m_idx = 0; /* Hack -- see "process_monsters()" */
MONSTER_IDX hack_m_idx_ii = 0;
+
bool multi_rew = FALSE;
char summon_kin_type; /* Hack, by Julian Lighton: summon 'relatives' */