break;
}
- reserve_alter_reality(caster_ptr);
+ reserve_alter_reality(caster_ptr, randint0(21) + 15);
break;
case MIRROR_TUNNEL:
msg_print(_("鏡の世界を通り抜け… ", "You try to enter the mirror..."));
}
if ((creature_ptr->muta2 & MUT2_WALK_SHAD) && !creature_ptr->anti_magic && one_in_(12000) && !creature_ptr->current_floor_ptr->inside_arena)
- reserve_alter_reality(creature_ptr);
+ reserve_alter_reality(creature_ptr, randint0(21) + 15);
if ((creature_ptr->muta2 & MUT2_WARNING) && one_in_(1000)) {
int danger_amount = 0;
case RACE_AMBERITE:
if (command == -1) {
msg_print(_("あなたは歩き周り始めた。", "You start walking around. "));
- reserve_alter_reality(creature_ptr);
+ reserve_alter_reality(creature_ptr, randint0(21) + 15);
return TRUE;
}
return info_delay(base, sides);
if (cast) {
- reserve_alter_reality(caster_ptr);
+ reserve_alter_reality(caster_ptr, randint0(sides) + base);
}
}
break;
return info_delay(base, sides);
if (cast) {
- reserve_alter_reality(caster_ptr);
+ reserve_alter_reality(caster_ptr, randint0(sides) + base);
}
}
break;
if (cast) {
msg_print(_("周囲が変化し始めた...", "You sing of the primeval shaping of Middle-earth..."));
- reserve_alter_reality(caster_ptr);
+ reserve_alter_reality(caster_ptr, randint0(sides) + base);
}
}
break;
* @param caster_ptr プレーヤーへの参照ポインタ
* @return なし
*/
-void reserve_alter_reality(player_type *caster_ptr)
+void reserve_alter_reality(player_type *caster_ptr, TIME_EFFECT turns)
{
if (caster_ptr->current_floor_ptr->inside_arena || ironman_downward) {
msg_print(_("何も起こらなかった。", "Nothing happens."));
return;
}
- if (caster_ptr->alter_reality) {
+ if (caster_ptr->alter_reality || turns == 0) {
caster_ptr->alter_reality = 0;
msg_print(_("景色が元に戻った...", "The view around you returns to normal..."));
caster_ptr->redraw |= PR_STATUS;
return;
}
- TIME_EFFECT turns = randint0(21) + 15;
caster_ptr->alter_reality = turns;
msg_print(_("回りの景色が変わり始めた...", "The view around you begins to change..."));
caster_ptr->redraw |= PR_STATUS;
void teleport_level(player_type *creature_ptr, MONSTER_IDX m_idx);
bool teleport_level_other(player_type *caster_ptr);
bool tele_town(player_type *caster_ptr);
-void reserve_alter_reality(player_type *caster_ptr);
+void reserve_alter_reality(player_type *caster_ptr, TIME_EFFECT turns);
bool is_teleport_level_ineffective(player_type *caster_ptr, MONSTER_IDX idx);
bool recall_player(player_type *creature_ptr, TIME_EFFECT turns);
bool free_level_recall(player_type *creature_ptr);