p_ptr->energy_need = 0;
battle_monsters();
}
- else if (turn - old_turn == 150*TURNS_PER_TICK)
+ else if (turn - old_turn == 150 * TURNS_PER_TICK)
{
msg_print(_("申し分けありませんが、この勝負は引き分けとさせていただきます。", "This battle have ended in a draw."));
p_ptr->au += kakekin;
/*
* Nightmare mode activates the TY_CURSE at midnight
- *
* Require exact minute -- Don't activate multiple times in a minute
*/
+
if (ironman_nightmare && (min != prev_min))
{
+
/* Every 15 minutes after 11:00 pm */
if ((hour == 23) && !(min % 15))
{
/* TY_CURSE activates at midnight! */
if (!hour && !min)
{
- int count = 0;
disturb(1, 1);
msg_print(_("遠くで鐘が何回も鳴り、死んだような静けさの中へ消えていった。", "A distant bell tolls many times, fading into an deathly silence."));
- activate_ty_curse(FALSE, &count);
+
+ if (p_ptr->wild_mode)
+ {
+ /* Go into large wilderness view */
+ p_ptr->oldpy = randint1(MAX_HGT - 2);
+ p_ptr->oldpx = randint1(MAX_WID - 2);
+ change_wild_mode();
+
+ /* Give first move to monsters */
+ p_ptr->energy_use = 100;
+
+ /* HACk -- set the encouter flag for the wilderness generation */
+ generate_encounter = TRUE;
+ }
+
+ invoking_midnight_curse = TRUE;
}
}
hack_mutation = FALSE;
}
+ if (invoking_midnight_curse)
+ {
+ int count = 0;
+ activate_ty_curse(FALSE, &count);
+ invoking_midnight_curse = FALSE;
+ }
+
if (p_ptr->inside_battle)
{
for(i = 1; i < m_max; i++)
/* Hack -- Notice death or departure */
if (!p_ptr->playing || p_ptr->is_dead) break;
- /* Handle "leaving" */
- if (p_ptr->leaving) break;
-
/* Count game turns */
turn++;
prevent_turn_overflow();
+ /* Handle "leaving" */
+ if (p_ptr->leaving) break;
+
if (wild_regen) wild_regen--;
}
DEPTH object_level; /* Current object creation level */
DEPTH monster_level; /* Current monster creation level */
DEPTH base_level; /* Base dungeon level */
+bool invoking_midnight_curse; /*!< 悪夢モード時の真夜中太古の呪い発生処理フラグ */
GAME_TURN turn; /*!< 画面表示上のゲーム時間基準となるターン / Current game turn */
GAME_TURN turn_limit; /*!< turnの最大値 / Limit of game turn */
player_place(p_ptr->oldpy, p_ptr->oldpx);
/* p_ptr->leaving_dungeon = FALSE;*/
- lim = (generate_encounter==TRUE)?40:MIN_M_ALLOC_TN;
+ lim = (generate_encounter == TRUE) ? 40 : MIN_M_ALLOC_TN;
/* Make some residents */
for (i = 0; i < lim; i++)
p_ptr->energy_use = 1000;
/* Remember the position */
- p_ptr->oldpx = (s16b)p_ptr->x;
- p_ptr->oldpy = (s16b)p_ptr->y;
+ p_ptr->oldpx = p_ptr->x;
+ p_ptr->oldpy = p_ptr->y;
/* Cancel hex spelling */
if (hex_spelling_any()) stop_hex_spell_all();