tb->dirty_line = -1;
tb->filename_mode = PT_DEFAULT;
- if (turn < old_autosave_turn)
+ if (current_world_ptr->game_turn < old_autosave_turn)
{
- while (old_autosave_turn > turn) old_autosave_turn -= TURNS_PER_TICK * TOWN_DAWN;
+ while (old_autosave_turn > current_world_ptr->game_turn) old_autosave_turn -= TURNS_PER_TICK * TOWN_DAWN;
}
/* Autosave */
- if (turn > old_autosave_turn + 100L)
+ if (current_world_ptr->game_turn > old_autosave_turn + 100L)
{
do_cmd_save_game(TRUE);
- old_autosave_turn = turn;
+ old_autosave_turn = current_world_ptr->game_turn;
}
/* HACK -- Reset start_time to stop counting playtime while edit */
}
/*!
- * @brief ゲームターンを初期化する / Reset turn
+ * @brief ゲームターンを初期化する / Reset current_world_ptr->game_turn
* @details アンデッド系種族は開始時刻を夜からにする。
* @return なし
*/
(p_ptr->prace == RACE_SPECTRE))
{
/* Undead start just after midnight */
- turn = (TURNS_PER_TICK*3 * TOWN_DAWN) / 4 + 1;
+ current_world_ptr->game_turn = (TURNS_PER_TICK*3 * TOWN_DAWN) / 4 + 1;
turn_limit = TURNS_PER_TICK * TOWN_DAWN * MAX_DAYS + TURNS_PER_TICK * TOWN_DAWN * 3 / 4;
}
else
{
- turn = 1;
+ current_world_ptr->game_turn = 1;
turn_limit = TURNS_PER_TICK * TOWN_DAWN * (MAX_DAYS - 1) + TURNS_PER_TICK * TOWN_DAWN * 3 / 4;
}
/* Clear */
clear_from(10);
- /* Reset turn; before auto-roll and after choosing race */
+ /* Reset current_world_ptr->game_turn; before auto-roll and after choosing race */
init_turn();
/*** Generate ***/
char out_val[160], tmp_str[80];
concptr p;
- if ((turn - old_battle) > TURNS_PER_TICK*250)
+ if ((current_world_ptr->game_turn - old_battle) > TURNS_PER_TICK*250)
{
battle_monsters();
- old_battle = turn;
+ old_battle = current_world_ptr->game_turn;
}
screen_save();
}
else
{
- s32b oldturn = turn;
+ s32b oldturn = current_world_ptr->game_turn;
int prev_day, prev_hour, prev_min;
extract_day_hour_min(&prev_day, &prev_hour, &prev_min);
else
do_cmd_write_nikki(NIKKI_BUNSHOU, 0, _("宿屋に泊まった。", "stay over night at the inn."));
- turn = (turn / (TURNS_PER_TICK * TOWN_DAWN / 2) + 1) * (TURNS_PER_TICK * TOWN_DAWN / 2);
+ 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)
{
- dungeon_turn += MIN((turn - oldturn), TURNS_PER_TICK * 250) * INN_DUNGEON_TURN_ADJ;
+ 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;
}
* Small chests often contain "gold", while Large chests always contain
* items. Wooden chests contain 2 items, Iron chests contain 4 items,
* and Steel chests contain 6 items. The "value" of the items in a
-* chest is based on the "power" of the chest, which is in turn based
+* chest is based on the "power" of the chest, which is in current_world_ptr->game_turn based
* on the level on which the chest is generated.
* </pre>
*/
* <pre>
* Currently, only (some) artifacts, and Dragon Scale Mail, can be activated.
* But one could, for example, easily make an activatable "Ring of Plasma".
- * Note that it always takes a turn to activate an artifact, even if
+ * Note that it always takes a current_world_ptr->game_turn to activate an artifact, even if
* the user hits "escape" at the "direction" prompt.
* </pre>
*/
o_ptr->ident |= (IDENT_SENSE);
}
- /* The Stone Mask make the player turn into a vampire! */
+ /* The Stone Mask make the player current_world_ptr->game_turn into a vampire! */
if ((o_ptr->name1 == ART_STONEMASK) && (p_ptr->prace != RACE_VAMPIRE) && (p_ptr->prace != RACE_ANDROID))
{
/* Turn into a vampire */
* <pre>
* Certain scrolls can be "aborted" without losing the scroll. These
* include scrolls with no effects but recharge or identify, which are
- * cancelled before use. XXX Reading them still takes a turn, though.
+ * cancelled before use. XXX Reading them still takes a current_world_ptr->game_turn, though.
* </pre>
*/
void do_cmd_read_scroll_aux(INVENTORY_IDX item, bool known)
/* Process spell */
else
{
- /* Canceled spells cost neither a turn nor mana */
+ /* Canceled spells cost neither a current_world_ptr->game_turn nor mana */
if (!do_spell(realm, spell, SPELL_CAST)) return;
if (randint1(100) < chance)
/*!
- * @brief 探索コマンドのメインルーチン / Simple command to "search" for one turn
+ * @brief 探索コマンドのメインルーチン / Simple command to "search" for one current_world_ptr->game_turn
* @return なし
*/
void do_cmd_search(void)
* @details
* <pre>
* Note that you must tunnel in order to hit invisible monsters
- * in walls, though moving into walls still takes a turn anyway.
+ * in walls, though moving into walls still takes a current_world_ptr->game_turn anyway.
*
* Digging is very difficult without a "digger" weapon, but can be
* accomplished by strong players using heavy weapons.
*
* Consider confusion
*
- * This command must always take a turn, to prevent free detection
+ * This command must always take a current_world_ptr->game_turn, to prevent free detection
* of invisible monsters.
* </pre>
*/
if (p_ptr->special_defense & NINJA_S_STEALTH) set_superstealth(FALSE);
- /* Take a turn (?) */
+ /* Take a current_world_ptr->game_turn (?) */
take_turn(p_ptr, 100);
/* The sin of sloth */
sprintf(buf,_("%sの入手を記録します。", "Do you really want to record getting %s? "),record_o_name);
if (!get_check(buf)) return;
- turn_tmp = turn;
- turn = record_turn;
+ turn_tmp = current_world_ptr->game_turn;
+ current_world_ptr->game_turn = record_turn;
sprintf(buf,_("%sを手に入れた。", "descover %s."), record_o_name);
do_cmd_write_nikki(NIKKI_BUNSHOU, 0, buf);
- turn = turn_tmp;
+ current_world_ptr->game_turn = turn_tmp;
}
/*!
#define IS_WIZARD_CLASS() \
(p_ptr->pclass == CLASS_MAGE || p_ptr->pclass == CLASS_HIGH_MAGE || p_ptr->pclass == CLASS_SORCERER || p_ptr->pclass == CLASS_MAGIC_EATER || p_ptr->pclass == CLASS_BLUE_MAGE)
-/* Multishadow effects is determined by turn */
-#define CHECK_MULTISHADOW() (p_ptr->multishadow && (turn & 1))
+/* Multishadow effects is determined by current_world_ptr->game_turn */
+#define CHECK_MULTISHADOW() (p_ptr->multishadow && (current_world_ptr->game_turn & 1))
/* Is "teleport level" ineffective to this target? */
#define TELE_LEVEL_IS_INEFF(TARGET) \
else if (o_ptr->name2 == EGO_LITE_LONG)
{
if ((o_ptr->xtra4 < 50) && (!(o_ptr->xtra4 % 5))
- && (turn % (TURNS_PER_TICK*2)))
+ && (current_world_ptr->game_turn % (TURNS_PER_TICK*2)))
{
if (disturb_minor) disturb(FALSE, TRUE);
msg_print(_("明かりが微かになってきている。", "Your light is growing faint."));
}
/* Digest normally -- Every 50 game turns */
- else if (!(turn % (TURNS_PER_TICK * 5)))
+ else if (!(current_world_ptr->game_turn % (TURNS_PER_TICK * 5)))
{
/* Basic digestion rate based on speed */
int digestion = SPEED_TO_ENERGY(p_ptr->pspeed);
/* Decrease life-span */
if (o_ptr->name2 == EGO_LITE_LONG)
{
- if (turn % (TURNS_PER_TICK*2)) o_ptr->xtra4--;
+ if (current_world_ptr->game_turn % (TURNS_PER_TICK*2)) o_ptr->xtra4--;
}
else o_ptr->xtra4--;
/*
* Recharge rods. Rods now use timeout to control charging status,
* and each charging rod in a stack decreases the stack's timeout by
- * one per turn. -LM-
+ * one per current_world_ptr->game_turn. -LM-
*/
for (changed = FALSE, i = 0; i < INVEN_PACK; i++)
{
delay = MAX(10, 150 - p_ptr->skill_fos) * (150 - current_floor_ptr->dun_level) * TURNS_PER_TICK / 100;
/* Not yet felt anything */
- if (turn < p_ptr->feeling_turn + delay && !cheat_xtra) return;
+ if (current_world_ptr->game_turn < p_ptr->feeling_turn + delay && !cheat_xtra) return;
/* Extract quest number (if any) */
quest_num = quest_number(current_floor_ptr->dun_level);
new_feeling = get_dungeon_feeling();
/* Remember last time updated */
- p_ptr->feeling_turn = turn;
+ p_ptr->feeling_turn = current_world_ptr->game_turn;
/* No change */
if (p_ptr->feeling == new_feeling) return;
int day, hour, min;
const s32b A_DAY = TURNS_PER_TICK * TOWN_DAWN;
- s32b prev_turn_in_today = ((turn - TURNS_PER_TICK) % A_DAY + A_DAY / 4) % A_DAY;
+ s32b prev_turn_in_today = ((current_world_ptr->game_turn - TURNS_PER_TICK) % A_DAY + A_DAY / 4) % A_DAY;
int prev_min = (1440 * prev_turn_in_today / A_DAY) % 60;
extract_day_hour_min(&day, &hour, &min);
p_ptr->energy_need = 0;
battle_monsters();
}
- else if (turn - old_turn == 150 * TURNS_PER_TICK)
+ else if (current_world_ptr->game_turn - old_turn == 150 * TURNS_PER_TICK)
{
msg_print(_("申し分けありませんが、この勝負は引き分けとさせていただきます。", "This battle have ended in a draw."));
p_ptr->au += kakekin;
}
/* Every 10 game turns */
- if (turn % TURNS_PER_TICK) return;
+ if (current_world_ptr->game_turn % TURNS_PER_TICK) return;
/*** Check the Time and Load ***/
- if (!(turn % (50*TURNS_PER_TICK)))
+ if (!(current_world_ptr->game_turn % (50*TURNS_PER_TICK)))
{
/* Check time and load */
if ((0 != check_time()) || (0 != check_load()))
/*** Attempt timed autosave ***/
if (autosave_t && autosave_freq && !p_ptr->inside_battle)
{
- if (!(turn % ((s32b)autosave_freq * TURNS_PER_TICK)))
+ if (!(current_world_ptr->game_turn % ((s32b)autosave_freq * TURNS_PER_TICK)))
do_cmd_save_game(TRUE);
}
if (!current_floor_ptr->dun_level && !p_ptr->inside_quest && !p_ptr->inside_battle && !p_ptr->inside_arena)
{
/* Hack -- Daybreak/Nighfall in town */
- if (!(turn % ((TURNS_PER_TICK * TOWN_DAWN) / 2)))
+ if (!(current_world_ptr->game_turn % ((TURNS_PER_TICK * TOWN_DAWN) / 2)))
{
bool dawn;
/* Check for dawn */
- dawn = (!(turn % (TURNS_PER_TICK * TOWN_DAWN)));
+ dawn = (!(current_world_ptr->game_turn % (TURNS_PER_TICK * TOWN_DAWN)));
if (dawn) day_break();
else night_falls();
/*** Shuffle the Storekeepers ***/
/* Chance is only once a day (while in dungeon) */
- if (!(turn % (TURNS_PER_TICK * STORE_TICKS)))
+ if (!(current_world_ptr->game_turn % (TURNS_PER_TICK * STORE_TICKS)))
{
/* Sometimes, shuffle the shop-keepers */
if (one_in_(STORE_SHUFFLE))
}
/* Hack -- Check for creature regeneration */
- if (!(turn % (TURNS_PER_TICK * 10)) && !p_ptr->inside_battle) regen_monsters();
- if (!(turn % (TURNS_PER_TICK * 3))) regen_captured_monsters();
+ if (!(current_world_ptr->game_turn % (TURNS_PER_TICK * 10)) && !p_ptr->inside_battle) regen_monsters();
+ if (!(current_world_ptr->game_turn % (TURNS_PER_TICK * 3))) regen_captured_monsters();
if (!p_ptr->leaving)
{
p_ptr->enchant_energy_need -= SPEED_TO_ENERGY(p_ptr->pspeed);
}
- /* No turn yet */
+ /* No current_world_ptr->game_turn yet */
if (p_ptr->enchant_energy_need > 0) return;
while (p_ptr->enchant_energy_need <= 0)
p_ptr->energy_need -= SPEED_TO_ENERGY(p_ptr->pspeed);
}
- /* No turn yet */
+ /* No current_world_ptr->game_turn yet */
if (p_ptr->energy_need > 0) return;
if (!command_rep) prt_time();
/* Hack -- cancel "lurking browse mode" */
if (!command_new) command_see = FALSE;
- /* Assume free turn */
+ /* Assume free current_world_ptr->game_turn */
free_turn(p_ptr);
if (p_ptr->inside_battle)
if (!p_ptr->playing || p_ptr->is_dead) break;
/* Count game turns */
- turn++;
+ current_world_ptr->game_turn++;
if (dungeon_turn < dungeon_turn_limit)
{
if (!p_ptr->wild_mode || wild_regen) dungeon_turn++;
- else if (p_ptr->wild_mode && !(turn % ((MAX_HGT + MAX_WID) / 2))) dungeon_turn++;
+ else if (p_ptr->wild_mode && !(current_world_ptr->game_turn % ((MAX_HGT + MAX_WID) / 2))) dungeon_turn++;
}
prevent_turn_overflow();
}
}
- /* Hack -- turn off the cursor */
+ /* Hack -- current_world_ptr->game_turn off the cursor */
(void)Term_set_cursor(0);
int rollback_days, i, j;
s32b rollback_turns;
- if (turn < turn_limit) return;
+ if (current_world_ptr->game_turn < turn_limit) return;
- rollback_days = 1 + (turn - turn_limit) / (TURNS_PER_TICK * TOWN_DAWN);
+ rollback_days = 1 + (current_world_ptr->game_turn - turn_limit) / (TURNS_PER_TICK * TOWN_DAWN);
rollback_turns = TURNS_PER_TICK * TOWN_DAWN * rollback_days;
- if (turn > rollback_turns) turn -= rollback_turns;
- else turn = 1; /* Paranoia */
+ if (current_world_ptr->game_turn > rollback_turns) current_world_ptr->game_turn -= rollback_turns;
+ else current_world_ptr->game_turn = 1; /* Paranoia */
if (old_turn > rollback_turns) old_turn -= rollback_turns;
else old_turn = 1;
if (old_battle > rollback_turns) old_battle -= rollback_turns;
}
else if (!p_ptr->wraith_form)
{
- msg_print(_("物質界を離れて幽鬼のような存在になった!", "You leave the physical world and turn into a wraith-being!"));
+ msg_print(_("物質界を離れて幽鬼のような存在になった!", "You leave the physical world and current_world_ptr->game_turn into a wraith-being!"));
notice = TRUE;
chg_virtue(V_UNLIFE, 3);
chg_virtue(V_HONOUR, -2);
#ifdef JP
msg_format("あなたは%s%sに変化した!", effect_msg, title);
#else
- msg_format("You turn into %s %s%s!", (!effect_msg[0] && is_a_vowel(title[0]) ? "an" : "a"), effect_msg, title);
+ msg_format("You current_world_ptr->game_turn into %s %s%s!", (!effect_msg[0] && is_a_vowel(title[0]) ? "an" : "a"), effect_msg, title);
#endif
chg_virtue(V_CHANCE, 2);
extern s16b running;
extern GAME_TURN resting;
extern bool invoking_midnight_curse;
-extern GAME_TURN turn;
extern GAME_TURN turn_limit;
extern GAME_TURN dungeon_turn;
extern GAME_TURN dungeon_turn_limit;
}
break;
- /* Process "X:<str>" -- turn option off */
- /* Process "Y:<str>" -- turn option on */
+ /* Process "X:<str>" -- current_world_ptr->game_turn option off */
+ /* Process "Y:<str>" -- current_world_ptr->game_turn option on */
case 'X':
case 'Y':
for (i = 0; option_info[i].o_desc; i++)
/* Clear the top line */
prt("", 0, 0);
- /* Hack -- turn off some things */
+ /* Hack -- current_world_ptr->game_turn off some things */
disturb(TRUE, TRUE);
/* Mega-Hack -- Delay death */
t = object_desc_num(t, fire_rate/100);
t = object_desc_chr(t, '.');
t = object_desc_num(t, fire_rate%100);
- t = object_desc_str(t, "turn");
+ t = object_desc_str(t, "current_world_ptr->game_turn");
t = object_desc_chr(t, p2);
}
avgdam *= (p_ptr->num_fire * 100);
avgdam /= energy_fire;
t = object_desc_num(t, avgdam);
- t = object_desc_str(t, show_ammo_detail ? "/turn" : "");
+ t = object_desc_str(t, show_ammo_detail ? "/current_world_ptr->game_turn" : "");
if(show_ammo_crit_ratio)
{
int tunnel_fail_count = 0;
/*
- * Build each type of room in turn until we cannot build any more.
+ * Build each type of room in current_world_ptr->game_turn until we cannot build any more.
*/
if (!generate_rooms()) return FALSE;
/* Get out of the my way! */
get_out_monster();
- /* Record the last visit turn of current floor */
- sf_ptr->last_visit = turn;
+ /* Record the last visit current_world_ptr->game_turn of current floor */
+ sf_ptr->last_visit = current_world_ptr->game_turn;
forget_lite();
forget_view();
int alloc_chance = d_info[p_ptr->dungeon_idx].max_m_alloc_chance;
GAME_TURN alloc_times;
- while (tmp_last_visit > turn) tmp_last_visit -= TURNS_PER_TICK * TOWN_DAWN;
- absence_ticks = (turn - tmp_last_visit) / TURNS_PER_TICK;
+ while (tmp_last_visit > current_world_ptr->game_turn) tmp_last_visit -= TURNS_PER_TICK * TOWN_DAWN;
+ absence_ticks = (current_world_ptr->game_turn - tmp_last_visit) / TURNS_PER_TICK;
/* Maintain monsters */
for (i = 1; i < m_max; i++)
generate_random_floor();
}
- /* Record last visit turn */
- sf_ptr->last_visit = turn;
+ /* Record last visit current_world_ptr->game_turn */
+ sf_ptr->last_visit = current_world_ptr->game_turn;
/* Set correct current_floor_ptr->dun_level value */
sf_ptr->dun_level = current_floor_ptr->dun_level;
/*
* Update visit mark
*
- * The "turn" is not always different number because
- * the level teleport doesn't take any turn. Use
- * visit mark instead of last visit turn to find the
+ * The "current_world_ptr->game_turn" is not always different number because
+ * the level teleport doesn't take any current_world_ptr->game_turn. Use
+ * visit mark instead of last visit current_world_ptr->game_turn to find the
* oldest saved floor.
*/
sf_ptr->visit_mark = latest_visit_mark++;
wiz_lite((bool)(p_ptr->pclass == CLASS_NINJA));
/* Remember when this level was "created" */
- old_turn = turn;
+ old_turn = current_world_ptr->game_turn;
/* No dungeon feeling yet */
p_ptr->feeling_turn = old_turn;
bool cheat_live; /* Allow player to avoid death */
bool cheat_save; /* Ask for saving death */
bool cheat_diary_output; /* Detailed info to diary */
-bool cheat_turn; /* Peek turn */
+bool cheat_turn; /* Peek current_world_ptr->game_turn */
bool cheat_sight;
},
{ &cheat_turn, FALSE, 255, 0x81, 0x00,
- "cheat_turn", _("ゲームメッセージにターン表示を行う", "Put turn to game message.")
+ "cheat_turn", _("ゲームメッセージにターン表示を行う", "Put current_world_ptr->game_turn to game message.")
},
{ &cheat_sight, FALSE, 255, 0x82, 0x00,
* current position, and monsters can use it to home in the character,
* but not to run away from him.
*
- * Smell is valued according to age. When a character takes his turn,
+ * Smell is valued according to age. When a character takes his current_world_ptr->game_turn,
* scent is aged by one, and new scent of the current age is laid down.
* Speedy characters leave more scent, true, but it also ages faster,
* which makes it harder to hunt them down.
rd_s32b(&p_ptr->feeling_turn);
}
- /* Current turn */
- rd_s32b(&turn);
+ /* Current current_world_ptr->game_turn */
+ rd_s32b(¤t_world_ptr->game_turn);
if (z_older_than(10, 3, 12))
{
- dungeon_turn = turn;
+ dungeon_turn = current_world_ptr->game_turn;
}
else rd_s32b(&dungeon_turn);
{
old_turn /= 2;
p_ptr->feeling_turn /= 2;
- turn /= 2;
+ current_world_ptr->game_turn /= 2;
dungeon_turn /= 2;
}
if (z_older_than(10, 3, 13))
{
- old_battle = turn;
+ old_battle = current_world_ptr->game_turn;
}
else rd_s32b(&old_battle);
do_move = FALSE;
}
- /* In anti-melee dungeon, stupid or confused monster takes useless turn */
+ /* In anti-melee dungeon, stupid or confused monster takes useless current_world_ptr->game_turn */
if (do_move && (d_info[p_ptr->dungeon_idx].flags1 & DF1_NO_MELEE))
{
if (!MON_CONFUSED(m_ptr))
/* Do not move */
do_move = FALSE;
- /* Took a turn */
+ /* Took a current_world_ptr->game_turn */
do_turn = TRUE;
}
}
{
if (monst_attack_monst(m_idx, g_ptr->m_idx)) return;
- /* In anti-melee dungeon, stupid or confused monster takes useless turn */
+ /* In anti-melee dungeon, stupid or confused monster takes useless current_world_ptr->game_turn */
else if (d_info[p_ptr->dungeon_idx].flags1 & DF1_NO_MELEE)
{
if (MON_CONFUSED(m_ptr)) return;
/*!
* @brief 全モンスターのターン管理メインルーチン /
- * Process all the "live" monsters, once per game turn.
+ * Process all the "live" monsters, once per game current_world_ptr->game_turn.
* @return なし
* @details
- * During each game turn, we scan through the list of all the "live" monsters,\n
+ * During each game current_world_ptr->game_turn, we scan through the list of all the "live" monsters,\n
* (backwards, so we can excise any "freshly dead" monsters), energizing each\n
* monster, and allowing fully energized monsters to move, attack, pass, etc.\n
*\n
*\n
* Note the special "MFLAG_BORN" flag, which allows us to ignore "fresh"\n
* monsters while they are still being "born". A monster is "fresh" only\n
- * during the turn in which it is created, and we use the "hack_m_idx" to\n
- * determine if the monster is yet to be processed during the current turn.\n
+ * during the current_world_ptr->game_turn in which it is created, and we use the "hack_m_idx" to\n
+ * determine if the monster is yet to be processed during the current current_world_ptr->game_turn.\n
*\n
* Note the special "MFLAG_NICE" flag, which allows the player to get one\n
* move before any "nasty" monsters get to use their spell attacks.\n
{
if ((p_ptr->stat_use[A_INT] < 4) && (p_ptr->stat_use[A_WIS] < 4))
{
- msg_print(_("あなたは完璧な馬鹿になったような気がした。しかしそれは元々だった。", "You turn into an utter moron!"));
+ msg_print(_("あなたは完璧な馬鹿になったような気がした。しかしそれは元々だった。", "You current_world_ptr->game_turn into an utter moron!"));
}
else
{
- msg_print(_("あなたは完璧な馬鹿になった!", "You turn into an utter moron!"));
+ msg_print(_("あなたは完璧な馬鹿になった!", "You current_world_ptr->game_turn into an utter moron!"));
}
if (p_ptr->muta3 & MUT3_HYPER_INT)
case 120: case 121: case 122:
muta_class = &(p_ptr->muta3);
muta_which = MUT3_HYPER_STR;
- muta_desc = _( "超人的に強くなった!", "You turn into a superhuman he-man!");
+ muta_desc = _( "超人的に強くなった!", "You current_world_ptr->game_turn into a superhuman he-man!");
break;
case 123: case 124: case 125:
case 136: case 137:
muta_class = &(p_ptr->muta3);
muta_which = MUT3_ALBINO;
- muta_desc = _( "アルビノになった!弱くなった気がする...", "You turn into an albino! You feel frail...");
+ muta_desc = _( "アルビノになった!弱くなった気がする...", "You current_world_ptr->game_turn into an albino! You feel frail...");
break;
case 138: case 139: case 140:
case 159: case 160:
muta_class = &(p_ptr->muta3);
muta_which = MUT3_SHORT_LEG;
- muta_desc = _( "足が短い突起になってしまった!", "Your legs turn into short stubs!");
+ muta_desc = _( "足が短い突起になってしまった!", "Your legs current_world_ptr->game_turn into short stubs!");
break;
case 161: case 162:
}
if (p_ptr->muta1 & MUT1_MIDAS_TCH)
{
- fprintf(OutFile, _(" あなたは通常アイテムを金に変えることができる。\n", " You can turn ordinary items to gold.\n"));
+ fprintf(OutFile, _(" あなたは通常アイテムを金に変えることができる。\n", " You can current_world_ptr->game_turn ordinary items to gold.\n"));
}
if (p_ptr->muta1 & MUT1_GROW_MOLD)
constant = act_ptr->timeout.constant;
dice = act_ptr->timeout.dice;
if (constant == 0 && dice == 0) {
- /* We can activate it every turn */
- strcpy(timeout, _("いつでも", "every turn"));
+ /* We can activate it every current_world_ptr->game_turn */
+ strcpy(timeout, _("いつでも", "every current_world_ptr->game_turn"));
} else if (constant < 0) {
/* Activations that have special timeout */
switch (act_ptr->index) {
/* Figurines, a hack */
if (o_ptr->name1 == ART_STONEMASK)
{
- info[i++] = _("それを装備した者は吸血鬼になる。", "It makes you turn into a vampire permanently.");
+ info[i++] = _("それを装備した者は吸血鬼になる。", "It makes you current_world_ptr->game_turn into a vampire permanently.");
}
if ((o_ptr->tval == TV_SWORD) && (o_ptr->sval == SV_DOKUBARI))
* entirely open.
*
* Corners: If you are not in the open (i.e. you are in a corridor)
- * and there is only one way to go in the new squares, then turn in
+ * and there is only one way to go in the new squares, then current_world_ptr->game_turn in
* that direction. If there are more than two new ways to go, STOP.
* If there are two ways to go, and those ways are separated by a
* square which does not seem to be open, then STOP.
msg_format("You have %s (%c).", o_name, index_to_label(slot));
strcpy(record_o_name, o_name);
#endif
- record_turn = turn;
+ record_turn = current_world_ptr->game_turn;
check_find_art_quest_completion(o_ptr);
* @note
* This routine should (probably) always induce energy expenditure.\n
* @details
- * Note that moving will *always* take a turn, and will *always* hit\n
+ * Note that moving will *always* take a current_world_ptr->game_turn, and will *always* hit\n
* any monster which might be in the destination grid. Previously,\n
* moving into walls was "free" and did NOT hit invisible monsters.\n
*/
/*
* Well, it makes sense that you lose time bumping into
* a wall _if_ you are confused, stunned or blind; but
- * typing mistakes should not cost you a turn...
+ * typing mistakes should not cost you a current_world_ptr->game_turn...
*/
if (!(p_ptr->confused || p_ptr->stun || p_ptr->image))
free_turn(p_ptr);
* Diagonal Corridor -- allow diaginal entry into corridors.\n
*\n
* Blunt Corridor -- If there is a wall two spaces ahead and\n
- * we seem to be in a corridor, then force a turn into the side\n
+ * we seem to be in a corridor, then force a current_world_ptr->game_turn into the side\n
* corridor, must be moving straight into a corridor here. ???\n
*\n
* Diagonal Corridor Blunt Corridor (?)\n
/* Start with "normal" speed */
new_speed = 110;
- /* Start with a single blow per turn */
+ /* Start with a single blow per current_world_ptr->game_turn */
p_ptr->num_blow[0] = 1;
p_ptr->num_blow[1] = 1;
- /* Start with a single shot per turn */
+ /* Start with a single shot per current_world_ptr->game_turn */
p_ptr->num_fire = 100;
/* Reset the "xtra" tval */
case 16:
if (name) return _("捨て身", "Desperate Attack");
if (desc) return _("強力な攻撃を繰り出す。次のターンまでの間、食らうダメージが増える。",
- "Attacks with all of your power. But all damages you take will be doubled for one turn.");
+ "Attacks with all of your power. But all damages you take will be doubled for one current_world_ptr->game_turn.");
if (cast)
{
if (cast)
{
msg_print(_("静かな音楽が感覚を研ぎ澄まさせた...", "Your quiet music sharpens your sense of hearing..."));
- /* Hack -- Initialize the turn count */
+ /* Hack -- Initialize the current_world_ptr->game_turn count */
SINGING_COUNT(p_ptr) = 0;
start_singing(spell, MUSIC_DETECT);
}
buf_sprintf(score, "maxlv: %d\n", p_ptr->max_plv);
buf_sprintf(score, "maxdp: %d\n", max_dlv[DUNGEON_ANGBAND]);
buf_sprintf(score, "au: %d\n", p_ptr->au);
- buf_sprintf(score, "turns: %d\n", turn_real(turn));
+ buf_sprintf(score, "turns: %d\n", turn_real(current_world_ptr->game_turn));
buf_sprintf(score, "sex: %d\n", p_ptr->psex);
buf_sprintf(score, "race: %s\n", rp_ptr->title);
buf_sprintf(score, "class: %s\n", cp_ptr->title);
is_outer_bold(y0 + y - yhsize, x0 + x - xhsize))
place_extra_bold(y0 + y - yhsize, x0 + x - xhsize);
- /* turn off icky flag (no longer needed.) */
+ /* current_world_ptr->game_turn off icky flag (no longer needed.) */
current_floor_ptr->grid_array[y0 + y - yhsize][x0 + x - xhsize].info &= ~(CAVE_ICKY | CAVE_ROOM);
/* Light lava */
/* Turn of last "feeling" */
wr_s32b(p_ptr->feeling_turn);
- /* Current turn */
- wr_s32b(turn);
+ /* Current current_world_ptr->game_turn */
+ wr_s32b(current_world_ptr->game_turn);
wr_s32b(dungeon_turn);
/* Paranoia */
- turn = 0;
+ current_world_ptr->game_turn = 0;
/* Paranoia */
p_ptr->is_dead = FALSE;
/* Paranoia */
if (!err)
{
- /* Invalid turn */
- if (!turn) err = -1;
+ /* Invalid current_world_ptr->game_turn */
+ if (!current_world_ptr->game_turn) err = -1;
/* Message (below) */
if (err) what = _("セーブファイルが壊れています", "Broken savefile");
sprintf(the_score.gold, "%9lu", (long)p_ptr->au);
the_score.gold[9] = '\0';
- /* Save the current turn */
- sprintf(the_score.turns, "%9lu", (long)turn_real(turn));
+ /* Save the current current_world_ptr->game_turn */
+ sprintf(the_score.turns, "%9lu", (long)turn_real(current_world_ptr->game_turn));
the_score.turns[9] = '\0';
#ifdef HIGHSCORE_DATE_HACK
/* Save the current gold */
sprintf(the_score.gold, "%9lu", (long)p_ptr->au);
- /* Save the current turn */
- sprintf(the_score.turns, "%9lu", (long)turn_real(turn));
+ /* Save the current current_world_ptr->game_turn */
+ sprintf(the_score.turns, "%9lu", (long)turn_real(current_world_ptr->game_turn));
/* Hack -- no time needed */
strcpy(the_score.day, _("今日", "TODAY"));
break;
case RACE_GOLEM:
if (plev > 19)
- info[i++] = _("あなたは d20+30 ターンの間肌を石に変化させられる。(15 MP)", "You can turn your skin to stone, dur d20+30 (cost 15).");
+ info[i++] = _("あなたは d20+30 ターンの間肌を石に変化させられる。(15 MP)", "You can current_world_ptr->game_turn your skin to stone, dur d20+30 (cost 15).");
break;
case RACE_ZOMBIE:
case RACE_SKELETON:
case CLASS_CAVALRY:
if (plev > 9)
{
- info[i++] = _("あなたはモンスターに乗って無理矢理ペットにすることができる。", "You can ride on a hostile monster forcibly to turn it into pet.");
+ info[i++] = _("あなたはモンスターに乗って無理矢理ペットにすることができる。", "You can ride on a hostile monster forcibly to current_world_ptr->game_turn it into pet.");
}
break;
case CLASS_BERSERKER:
}
if (p_ptr->muta1 & MUT1_MIDAS_TCH)
{
- info[i++] = _("あなたは通常アイテムを金に変えることができる。", "You can turn ordinary items to gold.");
+ info[i++] = _("あなたは通常アイテムを金に変えることができる。", "You can current_world_ptr->game_turn ordinary items to gold.");
}
if (p_ptr->muta1 & MUT1_GROW_MOLD)
{
}
- /* Take a (partial) turn */
+ /* Take a (partial) current_world_ptr->game_turn */
p_ptr->energy_use = (p_ptr->energy_use / thits);
is_fired = TRUE;
- /* Sniper - Difficult to shot twice at 1 turn */
+ /* Sniper - Difficult to shot twice at 1 current_world_ptr->game_turn */
if (snipe_type == SP_DOUBLE) p_ptr->concent = (p_ptr->concent + 1) / 2;
/* Sniper - Repeat shooting when double shots */
/* Verify */
if (tmp_int >= dungeon_turn_limit) tmp_int = dungeon_turn_limit - 1;
else if (tmp_int < 0) tmp_int = 0;
- dungeon_turn = turn = tmp_int;
+ dungeon_turn = current_world_ptr->game_turn = tmp_int;
return (TRUE);
}
dam /= 3;
/*
- * Powerful demons & undead can turn a mindcrafter's
+ * Powerful demons & undead can current_world_ptr->game_turn a mindcrafter's
* attacks back on them
*/
if ((r_ptr->flags3 & (RF3_UNDEAD | RF3_DEMON)) &&
dam /= 3;
/*
- * Powerful demons & undead can turn a mindcrafter's
+ * Powerful demons & undead can current_world_ptr->game_turn a mindcrafter's
* attacks back on them
*/
if ((r_ptr->flags3 & (RF3_UNDEAD | RF3_DEMON)) &&
do_conf = 0;
/*
- * Powerful demons & undead can turn a mindcrafter's
+ * Powerful demons & undead can current_world_ptr->game_turn a mindcrafter's
* attacks back on them
*/
if ((r_ptr->flags3 & (RF3_UNDEAD | RF3_DEMON)) &&
* @details
* <pre>
*
- * This will turn some walls into floors and some floors into walls.
+ * This will current_world_ptr->game_turn some walls into floors and some floors into walls.
*
* The player will take damage and "jump" into a safe grid if possible,
* otherwise, he will "tunnel" through the rubble instantaneously.
* Note that thus the player and monsters (except eaters of walls and
* passers through walls) will never occupy the same grid as a wall.
* Note that as of now (2.7.8) no monster may occupy a "wall" grid, even
- * for a single turn, unless that monster can pass_walls or kill_walls.
+ * for a single current_world_ptr->game_turn, unless that monster can pass_walls or kill_walls.
* This has allowed massive simplification of the "monster" code.
* </pre>
*/
if (command_arg > 0) force = TRUE;
q = _("どのアイテムを金に変えますか?", "Turn which item to gold? ");
- s = _("金に変えられる物がありません。", "You have nothing to turn to gold.");
+ s = _("金に変えられる物がありません。", "You have nothing to current_world_ptr->game_turn to gold.");
o_ptr = choose_object(&item, q, s, (USE_INVEN | USE_FLOOR));
if (!o_ptr) return (FALSE);
if (confirm_destroy || (object_value(o_ptr) > 0))
{
/* Make a verification */
- sprintf(out_val, _("本当に%sを金に変えますか?", "Really turn %s to gold? "), o_name);
+ sprintf(out_val, _("本当に%sを金に変えますか?", "Really current_world_ptr->game_turn %s to gold? "), o_name);
if (!get_check(out_val)) return FALSE;
}
}
/* Artifacts cannot be destroyed */
if (!can_player_destroy_object(o_ptr))
{
- msg_format(_("%sを金に変えることに失敗した。", "You fail to turn %s to gold!"), o_name);
+ msg_format(_("%sを金に変えることに失敗した。", "You fail to current_world_ptr->game_turn %s to gold!"), o_name);
return FALSE;
}
if (price <= 0)
{
- msg_format(_("%sをニセの金に変えた。", "You turn %s to fool's gold."), o_name);
+ msg_format(_("%sをニセの金に変えた。", "You current_world_ptr->game_turn %s to fool's gold."), o_name);
}
else
{
if (amt > 1) price *= amt;
if (price > 30000) price = 30000;
- msg_format(_("%sを$%d の金に変えた。", "You turn %s to %ld coins worth of gold."), o_name, price);
+ msg_format(_("%sを$%d の金に変えた。", "You current_world_ptr->game_turn %s to %ld coins worth of gold."), o_name, price);
p_ptr->au += price;
p_ptr->redraw |= (PR_GOLD);
p_ptr->window |= (PW_INVEN | PW_EQUIP | PW_PLAYER);
strcpy(record_o_name, o_name);
- record_turn = turn;
+ record_turn = current_world_ptr->game_turn;
object_desc(o_name, o_ptr, OD_NAME_ONLY);
st_ptr->bad_buy = 0;
/* Open tomorrow */
- st_ptr->store_open = turn + TURNS_PER_TICK*TOWN_DAWN/8 + randint1(TURNS_PER_TICK*TOWN_DAWN/8);
+ st_ptr->store_open = current_world_ptr->game_turn + TURNS_PER_TICK*TOWN_DAWN/8 + randint1(TURNS_PER_TICK*TOWN_DAWN/8);
/* Closed */
return (TRUE);
choice = purchase_haggle(j_ptr, &price);
/* Hack -- Got kicked out */
- if (st_ptr->store_open >= turn) return;
+ if (st_ptr->store_open >= current_world_ptr->game_turn) return;
}
/* Player wants it */
msg_format(_("%sを $%ldで購入しました。", "You bought %s for %ld gold."), o_name, (long)price);
strcpy(record_o_name, o_name);
- record_turn = turn;
+ record_turn = current_world_ptr->game_turn;
if (record_buy) do_cmd_write_nikki(NIKKI_BUY, 0, o_name);
object_desc(o_name, o_ptr, OD_NAME_ONLY);
choice = sell_haggle(q_ptr, &price);
/* Kicked out */
- if (st_ptr->store_open >= turn) return;
+ if (st_ptr->store_open >= current_world_ptr->game_turn) return;
/* Sold... */
if (choice == 0)
inner_town_num = p_ptr->town_num;
/* Hack -- Check the "locked doors" */
- if ((town_info[p_ptr->town_num].store[which].store_open >= turn) ||
+ if ((town_info[p_ptr->town_num].store[which].store_open >= current_world_ptr->game_turn) ||
(ironman_shops))
{
msg_print(_("ドアに鍵がかかっている。", "The doors are locked."));
}
/* Calculate the number of store maintainances since the last visit */
- maintain_num = (turn - town_info[p_ptr->town_num].store[which].last_visit) / (TURNS_PER_TICK * STORE_TICKS);
+ maintain_num = (current_world_ptr->game_turn - town_info[p_ptr->town_num].store[which].last_visit) / (TURNS_PER_TICK * STORE_TICKS);
/* Maintain the store max. 10 times */
if (maintain_num > 10) maintain_num = 10;
store_maint(p_ptr->town_num, which);
/* Save the visit */
- town_info[p_ptr->town_num].store[which].last_visit = turn;
+ town_info[p_ptr->town_num].store[which].last_visit = current_world_ptr->game_turn;
}
forget_lite();
if (need_redraw_store_inv) display_inventory();
/* Hack -- get kicked out of the store */
- if (st_ptr->store_open >= turn) leave_store = TRUE;
+ if (st_ptr->store_open >= current_world_ptr->game_turn) leave_store = TRUE;
}
select_floor_music();
* @brief
* 魅力による魅了能力修正テーブル /
* This table is used to help calculate the number of blows the player can
- * make in a single round of attacks (one player turn) with a normal weapon.
+ * make in a single round of attacks (one player current_world_ptr->game_turn) with a normal weapon.
* @details
* <pre>
* This number ranges from a single blow/round for weak players to up to six
* Note that the table has been changed at high speeds. From
* "Slow (-40)" to "Fast (+30)" is pretty much unchanged, but
* at speeds above "Fast (+30)", one approaches an asymptotic
- * effective limit of 50 energy per turn. This means that it
+ * effective limit of 50 energy per current_world_ptr->game_turn. This means that it
* is relatively easy to reach "Fast (+30)" and get about 40
- * energy per turn, but then speed becomes very "expensive",
+ * energy per current_world_ptr->game_turn, but then speed becomes very "expensive",
* and you must get all the way to "Fast (+50)" to reach the
- * point of getting 45 energy per turn. After that point,
+ * point of getting 45 energy per current_world_ptr->game_turn. After that point,
* furthur increases in speed are more or less pointless,
* except to balance out heavy inventory.
*
* @param trap_message メッセージの補完文字列
* @param resist 状態異常に抵抗する判定が出たならTRUE
* @param set_status 状態異常を指定する関数ポインタ
-* @param turn 状態異常の追加ターン量
+* @param current_world_ptr->game_turn 状態異常の追加ターン量
* @return なし
*/
static void hit_trap_set_abnormal_status(concptr trap_message, bool resist, bool(*set_status)(IDX), IDX turn_aux)
s16b good_buy; /* Number of "good" buys */
s16b bad_buy; /* Number of "bad" buys */
- s32b store_open; /* Closed until this turn */
+ s32b store_open; /* Closed until this current_world_ptr->game_turn */
- s32b last_visit; /* Last visited on this turn */
+ s32b last_visit; /* Last visited on this current_world_ptr->game_turn */
s16b table_num; /* Table -- Number of entries */
s16b table_size; /* Table -- Total Size of Array */
bool autopick_autoregister; /* auto register is in-use or not */
byte feeling; /* Most recent dungeon feeling */
- s32b feeling_turn; /* The turn of the last dungeon feeling */
+ s32b feeling_turn; /* The current_world_ptr->game_turn of the last dungeon feeling */
/*** Temporary fields ***/
byte pspeed; /* Current speed */
- ENERGY energy_use; /* Energy use this turn */
+ ENERGY energy_use; /* Energy use this current_world_ptr->game_turn */
POSITION y; /* Player location in dungeon */
POSITION x; /* Player location in dungeon */
*/
POSITION max_wild_x;
POSITION max_wild_y;
+ GAME_TURN game_turn; /*!< 画面表示上のゲーム時間基準となるターン / Current game turn */
} world_type;
}
else
{
- sprintf(buf, ("T:%d - %s"), (int)turn, msg);
+ sprintf(buf, ("T:%d - %s"), (int)current_world_ptr->game_turn, msg);
}
/* New Message Length */
bool invoking_midnight_curse; /*!< 悪夢モード時の真夜中太古の呪い発生処理フラグ */
-GAME_TURN turn; /*!< 画面表示上のゲーム時間基準となるターン / Current game turn */
-GAME_TURN turn_limit; /*!< turnの最大値 / Limit of game turn */
-GAME_TURN dungeon_turn; /*!< NASTY生成の計算に関わる内部ターン値 / Game turn in dungeon */
-GAME_TURN dungeon_turn_limit; /*!< dungeon_turnの最大値 / Limit of game turn in dungeon */
+GAME_TURN turn_limit; /*!< current_world_ptr->game_turnの最大値 / Limit of game current_world_ptr->game_turn */
+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 old_turn; /* Turn when level began */
GAME_TURN old_battle;
* thus accepting the default-values for the remaining values.
* pval comes first now, since it is most important.
* - wiz_reroll_item()
- * apply some magic to the item or turn it into an artifact.
+ * apply some magic to the item or current_world_ptr->game_turn it into an artifact.
* - wiz_roll_item()
* Get some statistics about the rarity of an item:
* We create a lot of fake items and see if they are of the
/*!
* @brief アイテムの質を選択して再生成する /
- * Apply magic to an item or turn it into an artifact. -Bernd-
+ * Apply magic to an item or current_world_ptr->game_turn it into an artifact. -Bernd-
* @param o_ptr 再生成の対象となるアイテム情報の参照ポインタ
* @return なし
*/
bool is_daytime(void)
{
s32b len = TURNS_PER_TICK * TOWN_DAWN;
- if ((turn % len) < (len / 2))
+ if ((current_world_ptr->game_turn % len) < (len / 2))
return TRUE;
else
return FALSE;
void extract_day_hour_min(int *day, int *hour, int *min)
{
const s32b A_DAY = TURNS_PER_TICK * TOWN_DAWN;
- s32b turn_in_today = (turn + A_DAY / 4) % A_DAY;
+ s32b turn_in_today = (current_world_ptr->game_turn + A_DAY / 4) % A_DAY;
switch (p_ptr->start_race)
{
case RACE_SKELETON:
case RACE_ZOMBIE:
case RACE_SPECTRE:
- *day = (turn - A_DAY * 3 / 4) / A_DAY + 1;
+ *day = (current_world_ptr->game_turn - A_DAY * 3 / 4) / A_DAY + 1;
break;
default:
- *day = (turn + A_DAY / 4) / A_DAY + 1;
+ *day = (current_world_ptr->game_turn + A_DAY / 4) / A_DAY + 1;
break;
}
*hour = (24 * turn_in_today / A_DAY) % 24;
* some weird tricks with "player_uid" and such involving "defines".
* Note that this option used the AFS library routines Authenticate(),
* bePlayer(), beGames() to enforce the proper priviledges.
- * You may need to turn "SAFE_SETUID" off to use this option.
+ * You may need to current_world_ptr->game_turn "SAFE_SETUID" off to use this option.
*/
/* #define SECURE */