OSDN Git Service

It's not currently used in hengband, but bring over the change to mouse event handlin...
[hengbandforosx/hengbandosx.git] / src / effects.c
index 858295e..2bb9f95 100644 (file)
 #include "avatar.h"
 #include "player-status.h"
 #include "spells-status.h"
+#include "realm-hex.h"
+#include "object-hook.h"
+#include "wild.h"
+#include "spells-floor.h"
+#include "player-move.h"
 
 /*!
  * @brief プレイヤーの継続行動を設定する。
@@ -45,24 +50,24 @@ void set_action(ACTION_IDX typ)
                        }
                        case ACTION_REST:
                        {
-                               resting = 0;
+                               p_ptr->resting = 0;
                                break;
                        }
                        case ACTION_LEARN:
                        {
-                               msg_print(_("学習をやめた。", "You stop Learning"));
+                               msg_print(_("学習をやめた。", "You stop learning."));
                                new_mane = FALSE;
                                break;
                        }
                        case ACTION_KAMAE:
                        {
-                               msg_print(_("構えをといた。", "You stop assuming the posture."));
+                               msg_print(_("構えをといた。", "You stop assuming the special stance."));
                                p_ptr->special_defense &= ~(KAMAE_MASK);
                                break;
                        }
                        case ACTION_KATA:
                        {
-                               msg_print(_("型を崩した。", "You stop assuming the posture."));
+                               msg_print(_("型を崩した。", "You stop assuming the special stance."));
                                p_ptr->special_defense &= ~(KATA_MASK);
                                p_ptr->update |= (PU_MONSTERS);
                                p_ptr->redraw |= (PR_STATUS);
@@ -76,12 +81,12 @@ void set_action(ACTION_IDX typ)
                        case ACTION_HAYAGAKE:
                        {
                                msg_print(_("足が重くなった。", "You are no longer walking extremely fast."));
-                               p_ptr->energy_use = 100;
+                               take_turn(p_ptr, 100);
                                break;
                        }
                        case ACTION_SPELL:
                        {
-                               msg_print(_("呪文の詠唱を中断した。", "You stopped spelling all spells."));
+                               msg_print(_("呪文の詠唱を中断した。", "You stopped casting."));
                                break;
                        }
                }
@@ -90,7 +95,7 @@ void set_action(ACTION_IDX typ)
        p_ptr->action = typ;
 
        /* If we are requested other action, stop singing */
-       if (prev_typ == ACTION_SING) stop_singing();
+       if (prev_typ == ACTION_SING) stop_singing(p_ptr);
        if (prev_typ == ACTION_SPELL) stop_hex_spell();
 
        switch (p_ptr->action)
@@ -103,7 +108,7 @@ void set_action(ACTION_IDX typ)
                }
                case ACTION_LEARN:
                {
-                       msg_print(_("学習を始めた。", "You begin Learning"));
+                       msg_print(_("学習を始めた。", "You begin learning"));
                        break;
                }
                case ACTION_FISH:
@@ -190,7 +195,7 @@ void reset_tim_flags(void)
        p_ptr->special_defense = 0L;
 
        while(p_ptr->energy_need < 0) p_ptr->energy_need += ENERGY_NEED();
-       world_player = FALSE;
+       p_ptr->timewalk = FALSE;
 
        if (prace_is_(RACE_DEMON) && (p_ptr->lev > 44)) p_ptr->oppose_fire = 1;
        if ((p_ptr->pclass == CLASS_NINJA) && (p_ptr->lev > 44)) p_ptr->oppose_pois = 1;
@@ -266,7 +271,7 @@ void dispel_player(void)
 
        if (music_singing_any() || hex_spelling_any())
        {
-               concptr str = (music_singing_any()) ? _("歌", "singing") : _("呪文", "spelling");
+               concptr str = (music_singing_any()) ? _("歌", "singing") : _("呪文", "casting");
                INTERUPTING_SONG_EFFECT(p_ptr) = SINGING_SONG_EFFECT(p_ptr);
                SINGING_SONG_EFFECT(p_ptr) = MUSIC_NONE;
                msg_format(_("%sが途切れた。", "Your %s is interrupted."), str);
@@ -290,8 +295,6 @@ void dispel_player(void)
 bool set_mimic(TIME_EFFECT v, IDX p, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -328,12 +331,10 @@ bool set_mimic(TIME_EFFECT v, IDX p, bool do_dec)
        p_ptr->tim_mimic = v;
 
        /* Nothing to notice */
-       if (!notice)
-               return (FALSE);
+       if (!notice) return (FALSE);
 
        if (disturb_state) disturb(FALSE, TRUE);
 
-       /* Redraw title */
        p_ptr->redraw |= (PR_BASIC | PR_STATUS);
        p_ptr->update |= (PU_BONUS | PU_HP);
 
@@ -354,8 +355,6 @@ bool set_mimic(TIME_EFFECT v, IDX p, bool do_dec)
 bool set_blind(TIME_EFFECT v)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -399,20 +398,15 @@ bool set_blind(TIME_EFFECT v)
 
        /* Use the value */
        p_ptr->blind = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
        if (!notice) return (FALSE);
-
        if (disturb_state) disturb(FALSE, FALSE);
 
        /* Fully update the visuals */
        p_ptr->update |= (PU_UN_VIEW | PU_UN_LITE | PU_VIEW | PU_LITE | PU_MONSTERS | PU_MON_LITE);
-
        p_ptr->redraw |= (PR_MAP);
-
        p_ptr->window |= (PW_OVERHEAD | PW_DUNGEON);
        handle_stuff();
        return (TRUE);
@@ -427,8 +421,6 @@ bool set_blind(TIME_EFFECT v)
 bool set_confused(TIME_EFFECT v)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -442,7 +434,7 @@ bool set_confused(TIME_EFFECT v)
 
                        if (p_ptr->action == ACTION_LEARN)
                        {
-                               msg_print(_("学習が続けられない!", "You cannot continue Learning!"));
+                               msg_print(_("学習が続けられない!", "You cannot continue learning!"));
                                new_mane = FALSE;
 
                                p_ptr->redraw |= (PR_STATE);
@@ -450,7 +442,7 @@ bool set_confused(TIME_EFFECT v)
                        }
                        if (p_ptr->action == ACTION_KAMAE)
                        {
-                               msg_print(_("構えがとけた。", "Your posture gets loose."));
+                               msg_print(_("構えがとけた。", "You lose your stance."));
                                p_ptr->special_defense &= ~(KAMAE_MASK);
                                p_ptr->update |= (PU_BONUS);
                                p_ptr->redraw |= (PR_STATE);
@@ -458,7 +450,7 @@ bool set_confused(TIME_EFFECT v)
                        }
                        else if (p_ptr->action == ACTION_KATA)
                        {
-                               msg_print(_("型が崩れた。", "Your posture gets loose."));
+                               msg_print(_("型が崩れた。", "You lose your stance."));
                                p_ptr->special_defense &= ~(KATA_MASK);
                                p_ptr->update |= (PU_BONUS);
                                p_ptr->update |= (PU_MONSTERS);
@@ -492,8 +484,6 @@ bool set_confused(TIME_EFFECT v)
 
        /* Use the value */
        p_ptr->confused = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -513,8 +503,6 @@ bool set_confused(TIME_EFFECT v)
 bool set_poisoned(TIME_EFFECT v)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -541,8 +529,6 @@ bool set_poisoned(TIME_EFFECT v)
 
        /* Use the value */
        p_ptr->poisoned = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -562,8 +548,6 @@ bool set_poisoned(TIME_EFFECT v)
 bool set_afraid(TIME_EFFECT v)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -577,7 +561,7 @@ bool set_afraid(TIME_EFFECT v)
 
                        if (p_ptr->special_defense & KATA_MASK)
                        {
-                               msg_print(_("型が崩れた。", "Your posture gets loose."));
+                               msg_print(_("型が崩れた。", "You lose your stance."));
                                p_ptr->special_defense &= ~(KATA_MASK);
                                p_ptr->update |= (PU_BONUS);
                                p_ptr->update |= (PU_MONSTERS);
@@ -604,8 +588,6 @@ bool set_afraid(TIME_EFFECT v)
 
        /* Use the value */
        p_ptr->afraid = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -624,8 +606,6 @@ bool set_afraid(TIME_EFFECT v)
 bool set_paralyzed(TIME_EFFECT v)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -659,8 +639,6 @@ bool set_paralyzed(TIME_EFFECT v)
 
        /* Use the value */
        p_ptr->paralyzed = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -681,8 +659,6 @@ bool set_paralyzed(TIME_EFFECT v)
 bool set_image(TIME_EFFECT v)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -717,8 +693,6 @@ bool set_image(TIME_EFFECT v)
 
        /* Use the value */
        p_ptr->image = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -726,12 +700,8 @@ bool set_image(TIME_EFFECT v)
 
        if (disturb_state) disturb(FALSE, TRUE);
 
-       p_ptr->redraw |= (PR_MAP);
-
-       /* Update the health bar */
-       p_ptr->redraw |= (PR_HEALTH | PR_UHEALTH);
+       p_ptr->redraw |= (PR_MAP | PR_HEALTH | PR_UHEALTH);
        p_ptr->update |= (PU_MONSTERS);
-
        p_ptr->window |= (PW_OVERHEAD | PW_DUNGEON);
        handle_stuff();
        return (TRUE);
@@ -746,8 +716,6 @@ bool set_image(TIME_EFFECT v)
 bool set_fast(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -799,8 +767,6 @@ bool set_fast(TIME_EFFECT v, bool do_dec)
 bool set_lightspeed(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -816,7 +782,7 @@ bool set_lightspeed(TIME_EFFECT v, bool do_dec)
                }
                else if (!p_ptr->lightspeed)
                {
-                       msg_print(_("非常に素早く動けるようになった!", "You feel yourself moving extremely faster!"));
+                       msg_print(_("非常に素早く動けるようになった!", "You feel yourself moving extremely fast!"));
                        notice = TRUE;
                        chg_virtue(V_PATIENCE, -1);
                        chg_virtue(V_DILIGENCE, 1);
@@ -854,8 +820,6 @@ bool set_lightspeed(TIME_EFFECT v, bool do_dec)
 bool set_slow(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -906,8 +870,6 @@ bool set_slow(TIME_EFFECT v, bool do_dec)
 bool set_shield(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -938,8 +900,6 @@ bool set_shield(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->shield = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -961,8 +921,6 @@ bool set_shield(TIME_EFFECT v, bool do_dec)
 bool set_tsubureru(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -993,8 +951,6 @@ bool set_tsubureru(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->tsubureru = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -1016,8 +972,6 @@ bool set_tsubureru(TIME_EFFECT v, bool do_dec)
 bool set_magicdef(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -1048,8 +1002,6 @@ bool set_magicdef(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->magicdef = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -1070,8 +1022,6 @@ bool set_magicdef(TIME_EFFECT v, bool do_dec)
 bool set_blessed(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -1102,8 +1052,6 @@ bool set_blessed(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->blessed = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -1125,8 +1073,6 @@ bool set_blessed(TIME_EFFECT v, bool do_dec)
 bool set_hero(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -1157,8 +1103,6 @@ bool set_hero(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->hero = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -1182,8 +1126,6 @@ bool set_hero(TIME_EFFECT v, bool do_dec)
 bool set_shero(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -1208,15 +1150,13 @@ bool set_shero(TIME_EFFECT v, bool do_dec)
        {
                if (p_ptr->shero)
                {
-                       msg_print(_("野蛮な気持ちが消え失せた。", "You feel less Berserk."));
+                       msg_print(_("野蛮な気持ちが消え失せた。", "You feel less berserk."));
                        notice = TRUE;
                }
        }
 
        /* Use the value */
        p_ptr->shero = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -1240,8 +1180,6 @@ bool set_shero(TIME_EFFECT v, bool do_dec)
 bool set_protevil(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -1272,8 +1210,6 @@ bool set_protevil(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->protevil = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -1293,8 +1229,6 @@ bool set_protevil(TIME_EFFECT v, bool do_dec)
 bool set_wraith_form(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -1339,8 +1273,6 @@ bool set_wraith_form(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->wraith_form = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -1362,8 +1294,6 @@ bool set_wraith_form(TIME_EFFECT v, bool do_dec)
 bool set_invuln(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -1411,8 +1341,6 @@ bool set_invuln(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->invuln = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -1433,8 +1361,6 @@ bool set_invuln(TIME_EFFECT v, bool do_dec)
 bool set_tim_esp(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -1465,8 +1391,6 @@ bool set_tim_esp(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->tim_esp = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -1488,8 +1412,6 @@ bool set_tim_esp(TIME_EFFECT v, bool do_dec)
 bool set_tim_invis(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -1520,8 +1442,6 @@ bool set_tim_invis(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->tim_invis = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -1545,8 +1465,6 @@ bool set_tim_invis(TIME_EFFECT v, bool do_dec)
 bool set_tim_infra(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -1577,8 +1495,6 @@ bool set_tim_infra(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->tim_infra = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -1602,8 +1518,6 @@ bool set_tim_infra(TIME_EFFECT v, bool do_dec)
 bool set_tim_regen(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -1634,8 +1548,6 @@ bool set_tim_regen(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->tim_regen = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -1656,8 +1568,6 @@ bool set_tim_regen(TIME_EFFECT v, bool do_dec)
 bool set_tim_stealth(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -1688,8 +1598,6 @@ bool set_tim_stealth(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->tim_stealth = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -1717,7 +1625,7 @@ bool set_superstealth(bool set)
        {
                if (!(p_ptr->special_defense & NINJA_S_STEALTH))
                {
-                       if (cave[p_ptr->y][p_ptr->x].info & CAVE_MNLT)
+                       if (current_floor_ptr->grid_array[p_ptr->y][p_ptr->x].info & CAVE_MNLT)
                        {
                                msg_print(_("敵の目から薄い影の中に覆い隠された。", "You are mantled in weak shadow from ordinary eyes."));
                                p_ptr->monlite = p_ptr->old_monlite = TRUE;
@@ -1750,8 +1658,6 @@ bool set_superstealth(bool set)
 
        /* Nothing to notice */
        if (!notice) return (FALSE);
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        if (disturb_state) disturb(FALSE, FALSE);
@@ -1767,8 +1673,6 @@ bool set_superstealth(bool set)
 bool set_tim_levitation(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -1799,8 +1703,6 @@ bool set_tim_levitation(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->tim_levitation = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -1821,8 +1723,6 @@ bool set_tim_levitation(TIME_EFFECT v, bool do_dec)
 bool set_tim_sh_touki(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -1836,7 +1736,7 @@ bool set_tim_sh_touki(TIME_EFFECT v, bool do_dec)
                }
                else if (!p_ptr->tim_sh_touki)
                {
-                       msg_print(_("体が闘気のオーラで覆われた。", "You have enveloped by the aura of the Force!"));
+                       msg_print(_("体が闘気のオーラで覆われた。", "You are enveloped by an aura of the Force!"));
                        notice = TRUE;
                }
        }
@@ -1846,15 +1746,13 @@ bool set_tim_sh_touki(TIME_EFFECT v, bool do_dec)
        {
                if (p_ptr->tim_sh_touki)
                {
-                       msg_print(_("闘気が消えた。", "Aura of the Force disappeared."));
+                       msg_print(_("闘気が消えた。", "The aura of the Force disappeared."));
                        notice = TRUE;
                }
        }
 
        /* Use the value */
        p_ptr->tim_sh_touki = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -1874,8 +1772,6 @@ bool set_tim_sh_touki(TIME_EFFECT v, bool do_dec)
 bool set_tim_sh_fire(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -1889,7 +1785,7 @@ bool set_tim_sh_fire(TIME_EFFECT v, bool do_dec)
                }
                else if (!p_ptr->tim_sh_fire)
                {
-                       msg_print(_("体が炎のオーラで覆われた。", "You have enveloped by fiery aura!"));
+                       msg_print(_("体が炎のオーラで覆われた。", "You are enveloped by a fiery aura!"));
                        notice = TRUE;
                }
        }
@@ -1899,15 +1795,13 @@ bool set_tim_sh_fire(TIME_EFFECT v, bool do_dec)
        {
                if (p_ptr->tim_sh_fire)
                {
-                       msg_print(_("炎のオーラが消えた。", "Fiery aura disappeared."));
+                       msg_print(_("炎のオーラが消えた。", "The fiery aura disappeared."));
                        notice = TRUE;
                }
        }
 
        /* Use the value */
        p_ptr->tim_sh_fire = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -1928,8 +1822,6 @@ bool set_tim_sh_fire(TIME_EFFECT v, bool do_dec)
 bool set_tim_sh_holy(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -1943,7 +1835,7 @@ bool set_tim_sh_holy(TIME_EFFECT v, bool do_dec)
                }
                else if (!p_ptr->tim_sh_holy)
                {
-                       msg_print(_("体が聖なるオーラで覆われた。", "You have enveloped by holy aura!"));
+                       msg_print(_("体が聖なるオーラで覆われた。", "You are enveloped by a holy aura!"));
                        notice = TRUE;
                }
        }
@@ -1953,15 +1845,13 @@ bool set_tim_sh_holy(TIME_EFFECT v, bool do_dec)
        {
                if (p_ptr->tim_sh_holy)
                {
-                       msg_print(_("聖なるオーラが消えた。", "Holy aura disappeared."));
+                       msg_print(_("聖なるオーラが消えた。", "The holy aura disappeared."));
                        notice = TRUE;
                }
        }
 
        /* Use the value */
        p_ptr->tim_sh_holy = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -1982,8 +1872,6 @@ bool set_tim_sh_holy(TIME_EFFECT v, bool do_dec)
 bool set_tim_eyeeye(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -2014,8 +1902,6 @@ bool set_tim_eyeeye(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->tim_eyeeye = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -2037,8 +1923,6 @@ bool set_tim_eyeeye(TIME_EFFECT v, bool do_dec)
 bool set_resist_magic(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -2069,8 +1953,6 @@ bool set_resist_magic(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->resist_magic = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -2091,8 +1973,6 @@ bool set_resist_magic(TIME_EFFECT v, bool do_dec)
 bool set_tim_reflect(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -2123,8 +2003,6 @@ bool set_tim_reflect(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->tim_reflect = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -2143,8 +2021,6 @@ bool set_tim_reflect(TIME_EFFECT v, bool do_dec)
 bool set_multishadow(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -2175,8 +2051,6 @@ bool set_multishadow(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->multishadow = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -2197,8 +2071,6 @@ bool set_multishadow(TIME_EFFECT v, bool do_dec)
 bool set_dustrobe(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -2229,8 +2101,6 @@ bool set_dustrobe(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->dustrobe = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -2251,8 +2121,6 @@ bool set_dustrobe(TIME_EFFECT v, bool do_dec)
 bool set_kabenuke(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -2266,7 +2134,7 @@ bool set_kabenuke(TIME_EFFECT v, bool do_dec)
                }
                else if (!p_ptr->kabenuke)
                {
-                       msg_print(_("体が半物質の状態になった。", "You became ethereal form."));
+                       msg_print(_("体が半物質の状態になった。", "You became ethereal."));
                        notice = TRUE;
                }
        }
@@ -2276,15 +2144,13 @@ bool set_kabenuke(TIME_EFFECT v, bool do_dec)
        {
                if (p_ptr->kabenuke)
                {
-                       msg_print(_("体が物質化した。", "You are no longer in an ethereal form."));
+                       msg_print(_("体が物質化した。", "You are no longer ethereal."));
                        notice = TRUE;
                }
        }
 
        /* Use the value */
        p_ptr->kabenuke = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -2305,8 +2171,6 @@ bool set_kabenuke(TIME_EFFECT v, bool do_dec)
 bool set_tsuyoshi(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -2331,7 +2195,7 @@ bool set_tsuyoshi(TIME_EFFECT v, bool do_dec)
        {
                if (p_ptr->tsuyoshi)
                {
-                       msg_print(_("肉体が急速にしぼんでいった。", "Your body had quickly shriveled."));
+                       msg_print(_("肉体が急速にしぼんでいった。", "Your body has quickly shriveled."));
 
                        (void)dec_stat(A_CON, 20, TRUE);
                        (void)dec_stat(A_STR, 20, TRUE);
@@ -2343,8 +2207,6 @@ bool set_tsuyoshi(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->tsuyoshi = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -2367,7 +2229,6 @@ bool set_tsuyoshi(TIME_EFFECT v, bool do_dec)
  */
 bool set_ele_attack(u32b attack_type, TIME_EFFECT v)
 {
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        /* Clear all elemental attacks (only one is allowed at a time). */
@@ -2405,7 +2266,6 @@ bool set_ele_attack(u32b attack_type, TIME_EFFECT v)
                /* Set duration. */
                p_ptr->ele_attack = v;
 
-               /* Message. */
 #ifdef JP
                msg_format("%sで攻撃できるようになった!",
                             ((attack_type == ATTACK_ACID) ? "酸" :
@@ -2426,8 +2286,6 @@ bool set_ele_attack(u32b attack_type, TIME_EFFECT v)
        }
 
        if (disturb_state) disturb(FALSE, FALSE);
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        p_ptr->update |= (PU_BONUS);
@@ -2444,7 +2302,6 @@ bool set_ele_attack(u32b attack_type, TIME_EFFECT v)
  */
 bool set_ele_immune(u32b immune_type, TIME_EFFECT v)
 {
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        /* Clear all elemental attacks (only one is allowed at a time). */
@@ -2482,31 +2339,17 @@ bool set_ele_immune(u32b immune_type, TIME_EFFECT v)
                /* Set duration. */
                p_ptr->ele_immune = v;
 
-               /* Message. */
-#ifdef JP
-               msg_format("%sの攻撃を受けつけなくなった!",
-                            ((immune_type == DEFENSE_ACID) ? "酸" :
-                             ((immune_type == DEFENSE_ELEC) ? "電撃" :
-                              ((immune_type == DEFENSE_FIRE) ? "火炎" : 
-                               ((immune_type == DEFENSE_COLD) ? "冷気" : 
-                                ((immune_type == DEFENSE_POIS) ? "毒" : 
-                                       "(なし)"))))));
-#else
-               msg_format("For a while, You are immune to %s",
-                            ((immune_type == DEFENSE_ACID) ? "acid!" :
-                             ((immune_type == DEFENSE_ELEC) ? "electricity!" :
-                              ((immune_type == DEFENSE_FIRE) ? "fire!" : 
-                               ((immune_type == DEFENSE_COLD) ? "cold!" : 
-                                ((immune_type == DEFENSE_POIS) ? "poison!" : 
-                                       "do nothing special."))))));
-#endif
+               msg_format(_("%sの攻撃を受けつけなくなった!", "For a while, You are immune to %s"),
+                            ((immune_type == DEFENSE_ACID) ? _("酸", "acid!") :
+                             ((immune_type == DEFENSE_ELEC) ? _("電撃", "electricity!") :
+                              ((immune_type == DEFENSE_FIRE) ? _("火炎", "fire!") : 
+                               ((immune_type == DEFENSE_COLD) ? _("冷気", "cold!") : 
+                                ((immune_type == DEFENSE_POIS) ? _("毒", "poison!") : 
+                                       _("(なし)", "do nothing special.")))))));
        }
 
        if (disturb_state) disturb(FALSE, FALSE);
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
-
        p_ptr->update |= (PU_BONUS);
        handle_stuff();
 
@@ -2522,8 +2365,6 @@ bool set_ele_immune(u32b immune_type, TIME_EFFECT v)
 bool set_oppose_acid(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -2557,8 +2398,6 @@ bool set_oppose_acid(TIME_EFFECT v, bool do_dec)
 
        /* Nothing to notice */
        if (!notice) return (FALSE);
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        if (disturb_state) disturb(FALSE, FALSE);
@@ -2575,8 +2414,6 @@ bool set_oppose_acid(TIME_EFFECT v, bool do_dec)
 bool set_oppose_elec(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -2610,8 +2447,6 @@ bool set_oppose_elec(TIME_EFFECT v, bool do_dec)
 
        /* Nothing to notice */
        if (!notice) return (FALSE);
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        if (disturb_state) disturb(FALSE, FALSE);
@@ -2628,8 +2463,6 @@ bool set_oppose_elec(TIME_EFFECT v, bool do_dec)
 bool set_oppose_fire(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -2664,8 +2497,6 @@ bool set_oppose_fire(TIME_EFFECT v, bool do_dec)
 
        /* Nothing to notice */
        if (!notice) return (FALSE);
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        if (disturb_state) disturb(FALSE, FALSE);
@@ -2682,8 +2513,6 @@ bool set_oppose_fire(TIME_EFFECT v, bool do_dec)
 bool set_oppose_cold(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -2717,8 +2546,6 @@ bool set_oppose_cold(TIME_EFFECT v, bool do_dec)
 
        /* Nothing to notice */
        if (!notice) return (FALSE);
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        if (disturb_state) disturb(FALSE, FALSE);
@@ -2735,8 +2562,6 @@ bool set_oppose_cold(TIME_EFFECT v, bool do_dec)
 bool set_oppose_pois(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if ((p_ptr->pclass == CLASS_NINJA) && (p_ptr->lev > 44)) v = 1;
@@ -2771,8 +2596,6 @@ bool set_oppose_pois(TIME_EFFECT v, bool do_dec)
 
        /* Nothing to notice */
        if (!notice) return (FALSE);
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        if (disturb_state) disturb(FALSE, FALSE);
@@ -2791,13 +2614,9 @@ bool set_stun(TIME_EFFECT v)
 {
        int old_aux, new_aux;
        bool notice = FALSE;
-
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
-
        if (prace_is_(RACE_GOLEM) || ((p_ptr->pclass == CLASS_BERSERKER) && (p_ptr->lev > 34))) v = 0;
 
        /* Knocked out */
@@ -2884,7 +2703,7 @@ bool set_stun(TIME_EFFECT v)
                }
                if (p_ptr->special_defense & KATA_MASK)
                {
-                       msg_print(_("型が崩れた。", "Your posture gets loose."));
+                       msg_print(_("型が崩れた。", "You lose your stance."));
                        p_ptr->special_defense &= ~(KATA_MASK);
                        p_ptr->update |= (PU_BONUS);
                        p_ptr->update |= (PU_MONSTERS);
@@ -2946,8 +2765,6 @@ bool set_cut(TIME_EFFECT v)
 {
        int old_aux, new_aux;
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -3158,8 +2975,6 @@ bool set_food(TIME_EFFECT v)
        int old_aux, new_aux;
 
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 20000) ? 20000 : (v < 0) ? 0 : v;
 
        /* Fainting / Starving */
@@ -3351,8 +3166,6 @@ bool inc_stat(int stat)
                {
                        /* Approximate gain value */
                        gain = (((p_ptr->stat_max_max[stat]) - value) / 2 + 3) / 2;
-
-                       /* Paranoia */
                        if (gain < 1) gain = 1;
 
                        /* Apply the bonus */
@@ -3436,8 +3249,6 @@ bool dec_stat(int stat, int amount, int permanent)
                        /* and one-half of the stat bonus times the percentage, with a */
                        /* minimum damage of half the percentage. -CWS */
                        loss = (((cur-18) / 2 + 1) / 2 + 1);
-
-                       /* Paranoia */
                        if (loss < 1) loss = 1;
 
                        /* Randomize the loss */
@@ -3608,12 +3419,12 @@ bool hp_player(int num)
  */
 static concptr desc_stat_pos[] =
 {
-       _("強く", "strong"),
-       _("知的に", "smart"),
-       _("賢く", "wise"),
-       _("器用に", "dextrous"),
-       _("健康に", "healthy"),
-       _("美しく", "cute")
+       _("強く", "stronger"),
+       _("知的に", "smarter"),
+       _("賢く", "wiser"),
+       _("器用に", "more dextrous"),
+       _("健康に", "healthier"),
+       _("美しく", "cuter")
 };
 
 
@@ -3622,12 +3433,12 @@ static concptr desc_stat_pos[] =
  */
 static concptr desc_stat_neg[] =
 {
-       _("弱く", "weak"),
-       _("無知に", "stupid"),
-       _("愚かに", "naive"),
-       _("不器用に", "clumsy"),
-       _("不健康に", "sickly"),
-       _("醜く", "ugly")
+       _("弱く", "weaker"),
+       _("無知に", "stupider"),
+       _("愚かに", "more naive"),
+       _("不器用に", "clumsier"),
+       _("不健康に", "more sickly"),
+       _("醜く", "uglier")
 };
 
 
@@ -3662,7 +3473,7 @@ bool do_dec_stat(int stat)
        /* Attempt to reduce the stat */
        if (dec_stat(stat, 10, (ironman_nightmare && !randint0(13))))
        {
-               msg_format(_("ひどく%sなった気がする。", "You feel very %s."), desc_stat_neg[stat]);
+               msg_format(_("ひどく%sなった気がする。", "You feel %s."), desc_stat_neg[stat]);
 
                /* Notice effect */
                return (TRUE);
@@ -3681,7 +3492,7 @@ bool do_res_stat(int stat)
        /* Attempt to increase */
        if (res_stat(stat))
        {
-               msg_format(_("元通りに%sなった気がする。", "You feel less %s."), desc_stat_pos[stat]);
+               msg_format(_("元通りに%sなった気がする。", "You feel %s."), desc_stat_pos[stat]);
 
                return (TRUE);
        }
@@ -3717,7 +3528,7 @@ bool do_inc_stat(int stat)
                else if (stat == A_CON)
                        chg_virtue(V_VITALITY, 1);
 
-               msg_format(_("ワーオ!とても%sなった!", "Wow!  You feel very %s!"), desc_stat_pos[stat]);
+               msg_format(_("ワーオ!とても%sなった!", "Wow!  You feel %s!"), desc_stat_pos[stat]);
 
                return (TRUE);
        }
@@ -3725,7 +3536,7 @@ bool do_inc_stat(int stat)
        /* Restoration worked */
        if (res)
        {
-               msg_format(_("元通りに%sなった気がする。", "You feel less %s."), desc_stat_pos[stat]);
+               msg_format(_("元通りに%sなった気がする。", "You feel %s."), desc_stat_pos[stat]);
 
                return (TRUE);
        }
@@ -3876,7 +3687,7 @@ void change_race(CHARACTER_IDX new_race, concptr effect_msg)
        else
                p_ptr->hitdie = rp_ptr->r_mhp + cp_ptr->c_mhp + ap_ptr->a_mhp;
 
-       do_cmd_rerate(FALSE);
+       roll_hitdice(p_ptr, 0L);
 
        /* The experience level may be modified */
        check_experience();
@@ -4006,13 +3817,13 @@ void do_poly_self(void)
                power -= 10;
 
                get_max_stats();
-               do_cmd_rerate(FALSE);
+               roll_hitdice(p_ptr, 0L);
        }
 
        while ((power > randint0(15)) && one_in_(3))
        {
                power -= 7;
-               (void)gain_random_mutation(0);
+               (void)gain_mutation(p_ptr, 0);
        }
 
        if (power > randint0(5))
@@ -4024,7 +3835,7 @@ void do_poly_self(void)
        /* Note: earlier deductions may have left power < 0 already. */
        while (power > 0)
        {
-               mutate_player();
+               status_shuffle();
                power--;
        }
 }
@@ -4048,8 +3859,6 @@ int take_hit(int damage_type, HIT_POINT damage, concptr hit_from, int monspell)
        char tmp[1024];
 
        int warning = (p_ptr->mhp * hitpoint_warn / 10);
-
-       /* Paranoia */
        if (p_ptr->is_dead) return 0;
 
        if (p_ptr->sutemi) damage *= 2;
@@ -4062,7 +3871,7 @@ int take_hit(int damage_type, HIT_POINT damage, concptr hit_from, int monspell)
                disturb(TRUE, TRUE);
                if (auto_more)
                {
-                       now_damaged = TRUE;
+                       p_ptr->now_damaged = TRUE;
                }
        }
 
@@ -4095,7 +3904,7 @@ int take_hit(int damage_type, HIT_POINT damage, concptr hit_from, int monspell)
                        }
                        else if (damage_type == DAMAGE_ATTACK)
                        {
-                               msg_print(_("攻撃は幻影に命中し、あなたには届かなかった。", "The attack hits Shadow, you are unharmed!"));
+                               msg_print(_("攻撃は幻影に命中し、あなたには届かなかった。", "The attack hits Shadow, but you are unharmed!"));
                                return 0;
                        }
                }
@@ -4154,8 +3963,6 @@ int take_hit(int damage_type, HIT_POINT damage, concptr hit_from, int monspell)
                chg_virtue(V_SACRIFICE, 10);
 
                handle_stuff();
-
-               /* Leaving */
                p_ptr->leaving = TRUE;
 
                /* Note death */
@@ -4170,7 +3977,7 @@ int take_hit(int damage_type, HIT_POINT damage, concptr hit_from, int monspell)
                }
                else
                {
-                       QUEST_IDX q_idx = quest_number(dun_level);
+                       QUEST_IDX q_idx = quest_number(current_floor_ptr->dun_level);
                        bool seppuku = streq(hit_from, "Seppuku");
                        bool winning_seppuku = p_ptr->total_winner && seppuku;
 
@@ -4213,13 +4020,13 @@ int take_hit(int damage_type, HIT_POINT damage, concptr hit_from, int monspell)
 
                                if (p_ptr->inside_arena)
                                        strcpy(buf,_("アリーナ", "in the Arena"));
-                               else if (!dun_level)
+                               else if (!current_floor_ptr->dun_level)
                                        strcpy(buf,_("地上", "on the surface"));
                                else if (q_idx && (is_fixed_quest_idx(q_idx) &&
                                         !((q_idx == QUEST_OBERON) || (q_idx == QUEST_SERPENT))))
                                        strcpy(buf,_("クエスト", "in a quest"));
                                else
-                                       sprintf(buf,_("%d階", "level %d"), (int)dun_level);
+                                       sprintf(buf,_("%d階", "level %d"), (int)current_floor_ptr->dun_level);
 
                                sprintf(tmp, _("%sで%sに殺された。", "killed by %s %s."), buf, p_ptr->died_from);
                                do_cmd_write_nikki(NIKKI_BUNSHOU, 0, tmp);
@@ -4368,7 +4175,7 @@ int take_hit(int damage_type, HIT_POINT damage, concptr hit_from, int monspell)
                if (auto_more)
                {
                        /* stop auto_more even if DAMAGE_USELIFE */
-                       now_damaged = TRUE;
+                       p_ptr->now_damaged = TRUE;
                }
 
                msg_print(_("*** 警告:低ヒット・ポイント! ***", "*** LOW HITPOINT WARNING! ***"));
@@ -4564,8 +4371,6 @@ bool drain_exp(s32b drain, s32b slip, int hold_exp_prob)
 bool set_ultimate_res(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -4596,8 +4401,6 @@ bool set_ultimate_res(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->ult_res = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -4612,8 +4415,6 @@ bool set_ultimate_res(TIME_EFFECT v, bool do_dec)
 bool set_tim_res_nether(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -4644,8 +4445,6 @@ bool set_tim_res_nether(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->tim_res_nether = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -4660,8 +4459,6 @@ bool set_tim_res_nether(TIME_EFFECT v, bool do_dec)
 bool set_tim_res_time(TIME_EFFECT v, bool do_dec)
 {
        bool notice = FALSE;
-
-       /* Hack -- Force good values */
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
@@ -4692,8 +4489,6 @@ bool set_tim_res_time(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->tim_res_time = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -4783,10 +4578,10 @@ bool choose_ele_immune(TIME_EFFECT immune_turn)
        char choice;
        screen_save();
 
-       c_prt(TERM_RED,    _("        a) 火炎", "        a) Immune Fire"), 2, 14);
-       c_prt(TERM_L_WHITE,_("        b) 冷気", "        b) Immune Cold"), 3, 14);
-       c_prt(TERM_L_DARK, _("        c) 酸", "        c) Immune Acid"), 4, 14);
-       c_prt(TERM_BLUE,   _("        d) 電撃", "        d) Immune Elec"), 5, 14);
+       c_prt(TERM_RED,    _("        a) 火炎", "        a) Immunity to fire"), 2, 14);
+       c_prt(TERM_L_WHITE,_("        b) 冷気", "        b) Immunity to cold"), 3, 14);
+       c_prt(TERM_L_DARK, _("        c) 酸", "        c) Immunity to acid"), 4, 14);
+       c_prt(TERM_BLUE,   _("        d) 電撃", "        d) Immunity to elec"), 5, 14);
 
        prt("", 6, 14);
        prt("", 7, 14);
@@ -4794,7 +4589,7 @@ bool choose_ele_immune(TIME_EFFECT immune_turn)
        prt("", 9, 14);
 
        prt("", 1, 0);
-       prt(_("        どの元素の免疫をつけますか?", "        Choose a temporary elemental immune "), 1, 14);
+       prt(_("        どの元素の免疫をつけますか?", "        Choose a temporary elemental immunity "), 1, 14);
 
        choice = inkey();
 
@@ -4808,7 +4603,7 @@ bool choose_ele_immune(TIME_EFFECT immune_turn)
                set_ele_immune(DEFENSE_ELEC, immune_turn);
        else
        {
-               msg_print(_("免疫を付けるのをやめた。", "You cancel the temporary immune."));
+               msg_print(_("免疫を付けるのをやめた。", "You cancel the temporary immunity."));
                screen_load();
                return FALSE;
        }