#include "cmd-zaprod.h"
#include "cmd-zapwand.h"
#include "cmd-pet.h"
+#include "floor-events.h"
+#include "object-curse.h"
static bool load = TRUE; /*!<ロード処理中の分岐フラグ*/
static int wild_regen = 20; /*!<広域マップ移動時の自然回復処理カウンタ(広域マップ1マス毎に20回処理を基本とする)*/
/* Combine / Reorder the pack (later) */
p_ptr->notice |= (PN_COMBINE | PN_REORDER);
- /* Window stuff */
p_ptr->window |= (PW_INVEN | PW_EQUIP);
}
/* Heavy sensing */
heavy = TRUE;
- /* Done */
break;
}
/* Heavy sensing */
heavy = TRUE;
- /* Done */
break;
}
/* Very bad (light) sensing */
if (0 != randint0(240000L / (plev + 5))) return;
- /* Done */
break;
}
/* Good (light) sensing */
if (0 != randint0(10000L / (plev * plev + 40))) return;
- /* Done */
break;
}
/* Heavy sensing */
heavy = TRUE;
- /* Done */
break;
}
/* Changed! */
heavy = TRUE;
- /* Done */
break;
}
/* Heavy sensing */
heavy = TRUE;
- /* Done */
break;
}
/* Bad sensing */
if (0 != randint0(75000L / (plev * plev + 40))) return;
- /* Done */
break;
}
/* Bad sensing */
if (0 != randint0(55000L / (plev * plev + 40))) return;
- /* Done */
break;
}
/* Changed! */
heavy = TRUE;
- /* Done */
break;
}
/* Okay sensing */
if (0 != randint0(20000L / (plev * plev + 40))) return;
- /* Done */
break;
}
/* Heavy sensing */
heavy = TRUE;
- /* Done */
break;
}
/* Bad sensing */
if (0 != randint0(65000L / (plev * plev + 40))) return;
- /* Done */
break;
}
case CLASS_BERSERKER:
/* Heavy sensing */
heavy = TRUE;
- /* Done */
break;
}
}
/* Very bad (light) sensing */
if (0 != randint0(240000L / (plev + 5))) return;
- /* Done */
break;
}
/* Bad sensing */
if (0 != randint0(95000L / (plev * plev + 40))) return;
- /* Done */
break;
}
/* Good sensing */
if (0 != randint0(20000L / (plev * plev + 40))) return;
- /* Done */
break;
}
/* Good sensing */
if (0 != randint0(9000L / (plev * plev + 40))) return;
- /* Done */
break;
}
/* Good sensing */
if (0 != randint0(20000L / ((plev+50)*(plev+50)))) return;
- /* Done */
break;
}
}
/* Redraw */
p_ptr->redraw |= (PR_HP);
- /* Window stuff */
p_ptr->window |= (PW_PLAYER);
wild_regen = 20;
/* Redraw */
p_ptr->redraw |= (PR_MANA);
- /* Window stuff */
p_ptr->window |= (PW_PLAYER);
p_ptr->window |= (PW_SPELL);
/* Combine pack */
p_ptr->notice |= (PN_COMBINE);
- /* Window stuff */
p_ptr->window |= (PW_INVEN);
p_ptr->window |= (PW_EQUIP);
wild_regen = 20;
/* Hack -- notice interesting fuel steps */
if ((o_ptr->xtra4 < 100) || (!(o_ptr->xtra4 % 100)))
{
- /* Window stuff */
p_ptr->window |= (PW_EQUIP);
}
/* Update monsters */
p_ptr->update |= (PU_MONSTERS);
- /* Window stuff */
p_ptr->window |= (PW_OVERHEAD | PW_DUNGEON);
}
}
return (&inventory[choices[randint0(number)]]);
}
+static void process_world_aux_digestion(void)
+{
+ if (!p_ptr->inside_battle)
+ {
+ /* Digest quickly when gorged */
+ if (p_ptr->food >= PY_FOOD_MAX)
+ {
+ /* Digest a lot of food */
+ (void)set_food(p_ptr->food - 100);
+ }
+
+ /* Digest normally -- Every 50 game turns */
+ else if (!(turn % (TURNS_PER_TICK * 5)))
+ {
+ /* Basic digestion rate based on speed */
+ int digestion = SPEED_TO_ENERGY(p_ptr->pspeed);
+
+ /* Regeneration takes more food */
+ if (p_ptr->regenerate)
+ digestion += 20;
+ if (p_ptr->special_defense & (KAMAE_MASK | KATA_MASK))
+ digestion += 20;
+ if (p_ptr->cursed & TRC_FAST_DIGEST)
+ digestion += 30;
+
+ /* Slow digestion takes less food */
+ if (p_ptr->slow_digest)
+ digestion -= 5;
+
+ /* Minimal digestion */
+ if (digestion < 1) digestion = 1;
+ /* Maximal digestion */
+ if (digestion > 100) digestion = 100;
+
+ /* Digest some food */
+ (void)set_food(p_ptr->food - digestion);
+ }
+
+
+ /* Getting Faint */
+ if ((p_ptr->food < PY_FOOD_FAINT))
+ {
+ /* Faint occasionally */
+ if (!p_ptr->paralyzed && (randint0(100) < 10))
+ {
+ msg_print(_("あまりにも空腹で気絶してしまった。", "You faint from the lack of food."));
+ disturb(1, 1);
+
+ /* Hack -- faint (bypass free action) */
+ (void)set_paralyzed(p_ptr->paralyzed + 1 + randint0(5));
+ }
+
+ /* Starve to death (slowly) */
+ if (p_ptr->food < PY_FOOD_STARVE)
+ {
+ /* Calculate damage */
+ HIT_POINT dam = (PY_FOOD_STARVE - p_ptr->food) / 10;
+
+ /* Take damage */
+ if (!IS_INVULN()) take_hit(DAMAGE_LOSELIFE, dam, _("空腹", "starvation"), -1);
+ }
+ }
+ }
+}
+
/*!
* @brief 10ゲームターンが進行するごとにプレイヤーのHPとMPの増減処理を行う。
* / Handle timed damage and regeneration every 10 game turns
take_hit(DAMAGE_NOESCAPE, dam, _("致命傷", "a fatal wound"), -1);
}
-
/* (Vampires) Take damage from sunlight */
if (prace_is_(RACE_VAMPIRE) || (p_ptr->mimic_form == MIMIC_VAMPIRE))
{
/* Take damage */
msg_print(_("日光があなたのアンデッドの肉体を焼き焦がした!", "The sun's rays scorch your undead flesh!"));
take_hit(DAMAGE_NOESCAPE, 1, _("日光", "sunlight"), -1);
-
cave_no_regen = TRUE;
}
}
if (damage)
{
- if (prace_is_(RACE_ENT)) damage += damage / 3;
- if (p_ptr->resist_fire) damage = damage / 3;
- if (IS_OPPOSE_FIRE()) damage = damage / 3;
-
- if (p_ptr->levitation) damage = damage / 5;
+ if(prace_is_(RACE_ENT)) damage += damage / 3;
+ if(p_ptr->resist_fire) damage = damage / 3;
+ if(IS_OPPOSE_FIRE()) damage = damage / 3;
+ if(p_ptr->levitation) damage = damage / 5;
damage = damage / 100 + (randint0(100) < (damage % 100));
*/
if (!have_flag(f_ptr->flags, FF_MOVE) && !have_flag(f_ptr->flags, FF_CAN_FLY))
{
- if (!IS_INVULN() && !p_ptr->wraith_form && !p_ptr->kabenuke &&
- ((p_ptr->chp > (p_ptr->lev / 5)) || !p_ptr->pass_wall))
+ if (!IS_INVULN() && !p_ptr->wraith_form && !p_ptr->kabenuke && ((p_ptr->chp > (p_ptr->lev / 5)) || !p_ptr->pass_wall))
{
cptr dam_desc;
-
cave_no_regen = TRUE;
if (p_ptr->pass_wall)
/* No effect on the global map */
if (p_ptr->wild_mode) return;
-
if ((p_ptr->muta2 & MUT2_BERS_RAGE) && one_in_(3000))
{
disturb(0, 1);
msg_print(_("ウガァァア!", "RAAAAGHH!"));
msg_print(_("激怒の発作に襲われた!", "You feel a fit of rage coming over you!"));
-
(void)set_shero(10 + randint1(p_ptr->lev), FALSE);
(void)set_afraid(0);
}
if ((p_ptr->muta2 & MUT2_RTELEPORT) && (randint1(5000) == 88))
{
- if (!p_ptr->resist_nexus && !(p_ptr->muta1 & MUT1_VTELEPORT) &&
- !p_ptr->anti_tele)
+ if (!p_ptr->resist_nexus && !(p_ptr->muta1 & MUT1_VTELEPORT) && !p_ptr->anti_tele)
{
disturb(0, 1);
-
- /* Teleport player */
msg_print(_("あなたの位置は突然ひじょうに不確定になった...", "Your position suddenly seems very uncertain..."));
msg_print(NULL);
teleport_player(40, TELEPORT_PASSIVE);
if ((p_ptr->muta2 & MUT2_FLATULENT) && (randint1(3000) == 13))
{
disturb(0, 1);
-
msg_print(_("ブゥーーッ!おっと。", "BRRAAAP! Oops."));
-
msg_print(NULL);
fire_ball(GF_POIS, 0, p_ptr->lev, 3);
}
fire_ball(GF_MANA, dire, p_ptr->lev * 2, 3);
}
- if ((p_ptr->muta2 & MUT2_ATT_DEMON) &&
- !p_ptr->anti_magic && (randint1(6666) == 666))
+ if ((p_ptr->muta2 & MUT2_ATT_DEMON) && !p_ptr->anti_magic && (randint1(6666) == 666))
{
bool pet = one_in_(6);
BIT_FLAGS mode = PM_ALLOW_GROUP;
if (pet) mode |= PM_FORCE_PET;
else mode |= (PM_ALLOW_UNIQUE | PM_NO_PET);
- if (summon_specific((pet ? -1 : 0), p_ptr->y, p_ptr->x,
- dun_level, SUMMON_DEMON, mode))
+ if (summon_specific((pet ? -1 : 0), p_ptr->y, p_ptr->x, dun_level, SUMMON_DEMON, mode))
{
msg_print(_("あなたはデーモンを引き寄せた!", "You have attracted a demon!"));
disturb(0, 1);
unlite_area(50, 10);
}
- if ((p_ptr->muta2 & MUT2_ATT_ANIMAL) &&
- !p_ptr->anti_magic && one_in_(7000))
+ if ((p_ptr->muta2 & MUT2_ATT_ANIMAL) && !p_ptr->anti_magic && one_in_(7000))
{
bool pet = one_in_(3);
BIT_FLAGS mode = PM_ALLOW_GROUP;
}
}
- if ((p_ptr->muta2 & MUT2_RAW_CHAOS) &&
- !p_ptr->anti_magic && one_in_(8000))
+ if ((p_ptr->muta2 & MUT2_RAW_CHAOS) && !p_ptr->anti_magic && one_in_(8000))
{
disturb(0, 1);
msg_print(_("周りの空間が歪んでいる気がする!", "You feel the world warping around you!"));
}
if ((p_ptr->muta2 & MUT2_WASTING) && one_in_(3000))
{
- int which_stat = randint0(6);
+ int which_stat = randint0(A_MAX);
int sustained = FALSE;
switch (which_stat)
(void)dec_stat(which_stat, randint1(6) + 6, one_in_(3));
}
}
- if ((p_ptr->muta2 & MUT2_ATT_DRAGON) &&
- !p_ptr->anti_magic && one_in_(3000))
+ if ((p_ptr->muta2 & MUT2_ATT_DRAGON) && !p_ptr->anti_magic && one_in_(3000))
{
bool pet = one_in_(5);
BIT_FLAGS mode = PM_ALLOW_GROUP;
disturb(0, 1);
}
}
- if ((p_ptr->muta2 & MUT2_WEIRD_MIND) && !p_ptr->anti_magic &&
- one_in_(3000))
+ if ((p_ptr->muta2 & MUT2_WEIRD_MIND) && !p_ptr->anti_magic && one_in_(3000))
{
if (p_ptr->tim_esp > 0)
{
set_tim_esp(p_ptr->lev, FALSE);
}
}
- if ((p_ptr->muta2 & MUT2_NAUSEA) && !p_ptr->slow_digest &&
- one_in_(9000))
+ if ((p_ptr->muta2 & MUT2_NAUSEA) && !p_ptr->slow_digest && one_in_(9000))
{
disturb(0, 1);
msg_print(_("胃が痙攣し、食事を失った!", "Your stomach roils, and you lose your lunch!"));
if (hex_spelling_any()) stop_hex_spell_all();
}
- if ((p_ptr->muta2 & MUT2_WALK_SHAD) &&
- !p_ptr->anti_magic && one_in_(12000) && !p_ptr->inside_arena)
+ if ((p_ptr->muta2 & MUT2_WALK_SHAD) && !p_ptr->anti_magic && one_in_(12000) && !p_ptr->inside_arena)
{
alter_reality();
}
if ((p_ptr->muta2 & MUT2_WARNING) && one_in_(1000))
{
int danger_amount = 0;
- int monster;
+ MONSTER_IDX monster;
for (monster = 0; monster < m_max; monster++)
{
- monster_type *m_ptr = &m_list[monster];
- monster_race *r_ptr = &r_info[m_ptr->r_idx];
+ monster_type *m_ptr = &m_list[monster];
+ monster_race *r_ptr = &r_info[m_ptr->r_idx];
/* Paranoia -- Skip dead monsters */
if (!m_ptr->r_idx) continue;
else
msg_print(_("寂しい気がする。", "You feel lonely."));
}
- if ((p_ptr->muta2 & MUT2_INVULN) && !p_ptr->anti_magic &&
- one_in_(5000))
+
+ if ((p_ptr->muta2 & MUT2_INVULN) && !p_ptr->anti_magic && one_in_(5000))
{
disturb(0, 1);
msg_print(_("無敵な気がする!", "You feel invincible!"));
msg_print(NULL);
(void)set_invuln(randint1(8) + 8, FALSE);
}
+
if ((p_ptr->muta2 & MUT2_SP_TO_HP) && one_in_(2000))
{
- int wounds = p_ptr->mhp - p_ptr->chp;
+ MANA_POINT wounds = (MANA_POINT)(p_ptr->mhp - p_ptr->chp);
if (wounds > 0)
{
- int healing = p_ptr->csp;
-
- if (healing > wounds)
- {
- healing = wounds;
- }
+ HIT_POINT healing = p_ptr->csp;
+ if (healing > wounds) healing = wounds;
hp_player(healing);
p_ptr->csp -= healing;
-
- /* Redraw mana */
- p_ptr->redraw |= (PR_MANA);
+ p_ptr->redraw |= (PR_HP | PR_MANA);
}
}
- if ((p_ptr->muta2 & MUT2_HP_TO_SP) && !p_ptr->anti_magic &&
- one_in_(4000))
+
+ if ((p_ptr->muta2 & MUT2_HP_TO_SP) && !p_ptr->anti_magic && one_in_(4000))
{
- int wounds = p_ptr->msp - p_ptr->csp;
+ HIT_POINT wounds = (HIT_POINT)(p_ptr->msp - p_ptr->csp);
if (wounds > 0)
{
- int healing = p_ptr->chp;
-
- if (healing > wounds)
- {
- healing = wounds;
- }
+ HIT_POINT healing = p_ptr->chp;
+ if (healing > wounds) healing = wounds;
p_ptr->csp += healing;
-
- /* Redraw mana */
- p_ptr->redraw |= (PR_MANA);
+ p_ptr->redraw |= (PR_HP | PR_MANA);
take_hit(DAMAGE_LOSELIFE, healing, _("頭に昇った血", "blood rushing to the head"), -1);
}
}
+
if ((p_ptr->muta2 & MUT2_DISARM) && one_in_(10000))
{
INVENTORY_IDX slot = 0;
o_ptr = &inventory[INVEN_LARM];
slot = INVEN_LARM;
}
-
if (slot && !object_is_cursed(o_ptr))
{
msg_print(_("武器を落としてしまった!", "You drop your weapon!"));
inven_drop(slot, 1);
}
}
+
}
/*!
(void)activate_ty_curse(FALSE, &count);
}
/* Handle experience draining */
- if (p_ptr->prace != RACE_ANDROID &&
- ((p_ptr->cursed & TRC_DRAIN_EXP) && one_in_(4)))
+ if (p_ptr->prace != RACE_ANDROID && ((p_ptr->cursed & TRC_DRAIN_EXP) && one_in_(4)))
{
- p_ptr->exp -= (p_ptr->lev+1)/2;
+ p_ptr->exp -= (p_ptr->lev + 1) / 2;
if (p_ptr->exp < 0) p_ptr->exp = 0;
- p_ptr->max_exp -= (p_ptr->lev+1)/2;
+ p_ptr->max_exp -= (p_ptr->lev + 1) / 2;
if (p_ptr->max_exp < 0) p_ptr->max_exp = 0;
check_experience();
}
/* Notice changes */
if (changed)
{
- /* Window stuff */
p_ptr->window |= (PW_EQUIP);
wild_regen = 20;
}
/* Notice changes */
if (changed)
{
- /* Window stuff */
p_ptr->window |= (PW_INVEN);
wild_regen = 20;
}
/* Count warnings */
closing_flag++;
- /* Message */
msg_print(_("アングバンドへの門が閉じかかっています...", "The gates to ANGBAND are closing..."));
msg_print(_("ゲームを終了するかセーブするかして下さい。", "Please finish up and/or save your game."));
/* Slam the gate */
else
{
- /* Message */
msg_print(_("今、アングバンドへの門が閉ざされました。", "The gates to ANGBAND are now closed."));
/* Stop playing */
/* Check for dawn */
dawn = (!(turn % (TURNS_PER_TICK * TOWN_DAWN)));
- /* Day breaks */
- if (dawn)
- {
- POSITION y, x;
-
- /* Message */
- msg_print(_("夜が明けた。", "The sun has risen."));
-
- if (!p_ptr->wild_mode)
- {
- /* Hack -- Scan the town */
- for (y = 0; y < cur_hgt; y++)
- {
- for (x = 0; x < cur_wid; x++)
- {
- /* Get the cave grid */
- cave_type *c_ptr = &cave[y][x];
-
- /* Assume lit */
- c_ptr->info |= (CAVE_GLOW);
-
- /* Hack -- Memorize lit grids if allowed */
- if (view_perma_grids) c_ptr->info |= (CAVE_MARK);
-
- /* Hack -- Notice spot */
- note_spot(y, x);
- }
- }
- }
- }
-
- /* Night falls */
- else
- {
- POSITION y, x;
-
- /* Message */
- msg_print(_("日が沈んだ。", "The sun has fallen."));
-
- if (!p_ptr->wild_mode)
- {
- /* Hack -- Scan the town */
- for (y = 0; y < cur_hgt; y++)
- {
- for (x = 0; x < cur_wid; x++)
- {
- /* Get the cave grid */
- cave_type *c_ptr = &cave[y][x];
-
- /* Feature code (applying "mimic" field) */
- feature_type *f_ptr = &f_info[get_feat_mimic(c_ptr)];
-
- if (!is_mirror_grid(c_ptr) && !have_flag(f_ptr->flags, FF_QUEST_ENTER) &&
- !have_flag(f_ptr->flags, FF_ENTRANCE))
- {
- /* Assume dark */
- c_ptr->info &= ~(CAVE_GLOW);
-
- if (!have_flag(f_ptr->flags, FF_REMEMBER))
- {
- /* Forget the normal floor grid */
- c_ptr->info &= ~(CAVE_MARK);
-
- /* Hack -- Notice spot */
- note_spot(y, x);
- }
- }
- }
-
- /* Glow deep lava and building entrances */
- glow_deep_lava_and_bldg();
- }
- }
- }
-
- /* Update the monsters */
- p_ptr->update |= (PU_MONSTERS | PU_MON_LITE);
-
- /* Redraw map */
- p_ptr->redraw |= (PR_MAP);
-
- /* Window stuff */
- p_ptr->window |= (PW_OVERHEAD | PW_DUNGEON);
+ if (dawn) day_break();
+ else night_falls();
- if (p_ptr->special_defense & NINJA_S_STEALTH)
- {
- if (cave[p_ptr->y][p_ptr->x].info & CAVE_GLOW) set_superstealth(FALSE);
- }
}
}
/* Verify store type */
if (f_ptr->subtype == n)
{
- /* Message */
if (cheat_xtra) msg_format(_("%sの店主をシャッフルします。", "Shuffle a Shopkeeper of %s."), f_name + f_ptr->name);
/* Shuffle it */
}
- /*** Check the Food, and Regenerate ***/
-
- if (!p_ptr->inside_battle)
- {
- /* Digest quickly when gorged */
- if (p_ptr->food >= PY_FOOD_MAX)
- {
- /* Digest a lot of food */
- (void)set_food(p_ptr->food - 100);
- }
-
- /* Digest normally -- Every 50 game turns */
- else if (!(turn % (TURNS_PER_TICK*5)))
- {
- /* Basic digestion rate based on speed */
- int digestion = SPEED_TO_ENERGY(p_ptr->pspeed);
-
- /* Regeneration takes more food */
- if (p_ptr->regenerate)
- digestion += 20;
- if (p_ptr->special_defense & (KAMAE_MASK | KATA_MASK))
- digestion += 20;
- if (p_ptr->cursed & TRC_FAST_DIGEST)
- digestion += 30;
-
- /* Slow digestion takes less food */
- if (p_ptr->slow_digest)
- digestion -= 5;
-
- /* Minimal digestion */
- if (digestion < 1) digestion = 1;
- /* Maximal digestion */
- if (digestion > 100) digestion = 100;
-
- /* Digest some food */
- (void)set_food(p_ptr->food - digestion);
- }
-
-
- /* Getting Faint */
- if ((p_ptr->food < PY_FOOD_FAINT))
- {
- /* Faint occasionally */
- if (!p_ptr->paralyzed && (randint0(100) < 10))
- {
- /* Message */
- msg_print(_("あまりにも空腹で気絶してしまった。", "You faint from the lack of food."));
- disturb(1, 1);
-
- /* Hack -- faint (bypass free action) */
- (void)set_paralyzed(p_ptr->paralyzed + 1 + randint0(5));
- }
-
- /* Starve to death (slowly) */
- if (p_ptr->food < PY_FOOD_STARVE)
- {
- /* Calculate damage */
- HIT_POINT dam = (PY_FOOD_STARVE - p_ptr->food) / 10;
-
- /* Take damage */
- if (!IS_INVULN()) take_hit(DAMAGE_LOSELIFE, dam, _("空腹", "starvation"), -1);
- }
- }
- }
-
+ /* Check the Food */
+ process_world_aux_digestion();
/* Process timed damage and regeneration */
process_world_aux_hp_and_sp();
/* Describe */
object_desc(o_name, o_ptr, 0);
- /* Message */
msg_format(_("%s(%c)を落とした。", "You drop %s (%c)."), o_name, index_to_label(INVEN_PACK));
/* Drop it (carefully) near the player */
msg_print(NULL);
if (r_idx && one_in_(2))
{
- int y, x;
- y = p_ptr->y+ddy[tsuri_dir];
- x = p_ptr->x+ddx[tsuri_dir];
+ POSITION y, x;
+ y = p_ptr->y + ddy[tsuri_dir];
+ x = p_ptr->x + ddx[tsuri_dir];
if (place_monster_aux(0, y, x, r_idx, PM_NO_KAGE))
{
char m_name[80];
/* Check for a key */
if (inkey())
{
- /* Flush input */
- flush();
+ flush(); /* Flush input */
/* Disturb */
disturb(0, 1);
if (MON_MONFEAR(m_ptr))
{
/* Hack -- Recover from fear */
- if (set_monster_monfear(p_ptr->riding,
+ if(set_monster_monfear(p_ptr->riding,
(randint0(r_ptr->level) < p_ptr->skill_exp[GINOU_RIDING]) ? 0 : (MON_MONFEAR(m_ptr) - 1)))
{
char m_name[80];
}
if ((p_ptr->pclass == CLASS_FORCETRAINER) && P_PTR_KI)
{
- if (P_PTR_KI < 40)
- {
- P_PTR_KI = 0;
- }
+ if(P_PTR_KI < 40) P_PTR_KI = 0;
else P_PTR_KI -= 40;
p_ptr->update |= (PU_BONUS);
}
/* Convert the unit (1/2^16) to (1/2^32) */
s64b_LSHIFT(cost, cost_frac, 16);
-
if (s64b_cmp(p_ptr->csp, p_ptr->csp_frac, cost, cost_frac) < 0)
{
/* Refresh (optional) */
if (fresh_before) Term_fresh();
-
/* Hack -- Pack Overflow */
pack_overflow();
-
/* Hack -- cancel "lurking browse mode" */
if (!command_new) command_see = FALSE;
-
/* Assume free turn */
p_ptr->energy_use = 0;
-
if (p_ptr->inside_battle)
{
/* Place the cursor on the player */
/* Paralyzed or Knocked Out */
else if (p_ptr->paralyzed || (p_ptr->stun >= 100))
{
- /* Take a turn */
p_ptr->energy_use = 100;
}
p_ptr->redraw |= (PR_STATE);
}
- /* Take a turn */
p_ptr->energy_use = 100;
}
/* Fishing */
else if (p_ptr->action == ACTION_FISH)
{
- /* Take a turn */
p_ptr->energy_use = 100;
}
/* Update monsters */
p_ptr->update |= (PU_MONSTERS);
- /* Window stuff */
p_ptr->window |= (PW_OVERHEAD | PW_DUNGEON);
msg_print(_("「時は動きだす…」", "You feel time flowing around you once more."));
/* Enter "xtra" mode */
character_xtra = TRUE;
- /* Window stuff */
p_ptr->window |= (PW_INVEN | PW_EQUIP | PW_SPELL | PW_PLAYER | PW_MONSTER | PW_OVERHEAD | PW_DUNGEON);
/* Redraw dungeon */
/* Redraw map */
p_ptr->redraw |= (PR_MAP);
- /* Update stuff */
p_ptr->update |= (PU_BONUS | PU_HP | PU_MANA | PU_SPELLS);
/* Update lite/view */
/* Leave "xtra" mode */
character_xtra = FALSE;
- /* Update stuff */
p_ptr->update |= (PU_BONUS | PU_HP | PU_MANA | PU_SPELLS);
/* Combine / Reorder the pack */
if (!get_check_strict(_("待機していたスコア登録を今行ないますか?", "Do you register score now? "), CHECK_NO_HISTORY))
quit(0);
- /* Update stuff */
p_ptr->update |= (PU_BONUS | PU_HP | PU_MANA | PU_SPELLS);
- /* Update stuff */
update_stuff();
p_ptr->is_dead = TRUE;
/* React to changes */
Term_xtra(TERM_XTRA_REACT, 0);
- /* Window stuff */
p_ptr->window |= (PW_INVEN | PW_EQUIP | PW_SPELL | PW_PLAYER);
- /* Window stuff */
p_ptr->window |= (PW_MESSAGE | PW_OVERHEAD | PW_DUNGEON | PW_MONSTER | PW_OBJECT);
- /* Window stuff */
window_stuff();
if (!p_ptr->is_dead) wipe_m_list();
- /* XXX XXX XXX */
msg_print(NULL);
load_game = FALSE;
/* Mark savefile */
p_ptr->noscore |= 0x0001;
- /* Message */
msg_print(_("ウィザードモードに念を送り、死を欺いた。", "You invoke wizard mode and cheat death."));
msg_print(NULL);
/* Hack -- cancel recall */
if (p_ptr->word_recall)
{
- /* Message */
msg_print(_("張りつめた大気が流れ去った...", "A tension leaves the air around you..."));
msg_print(NULL);