OSDN Git Service

[Refactor] #37353 obj_kind.c を object-hook.c に統合。 / Integrate obj_kind.c to object...
[hengband/hengband.git] / src / effects.c
index 8767960..1107e77 100644 (file)
 
 #include "angband.h"
 #include "mutation.h"
+#include "quest.h"
+#include "avatar.h"
+#include "player-status.h"
+#include "spells-status.h"
+#include "realm-hex.h"
+#include "object-hook.h"
 
 /*!
  * @brief プレイヤーの継続行動を設定する。
@@ -72,7 +78,7 @@ 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:
@@ -186,7 +192,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;
@@ -286,8 +292,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;
@@ -324,12 +328,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);
 
@@ -350,8 +352,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;
@@ -395,20 +395,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);
@@ -423,8 +418,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;
@@ -488,8 +481,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 */
@@ -509,8 +500,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;
@@ -537,8 +526,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 */
@@ -558,8 +545,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;
@@ -600,8 +585,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 */
@@ -620,8 +603,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;
@@ -655,8 +636,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 */
@@ -677,8 +656,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;
@@ -713,8 +690,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 */
@@ -722,12 +697,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);
@@ -742,8 +713,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;
@@ -795,8 +764,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;
@@ -850,8 +817,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;
@@ -902,8 +867,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;
@@ -934,8 +897,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 */
@@ -957,8 +918,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;
@@ -989,8 +948,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 */
@@ -1012,8 +969,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;
@@ -1044,8 +999,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 */
@@ -1066,8 +1019,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;
@@ -1098,8 +1049,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 */
@@ -1121,8 +1070,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;
@@ -1153,8 +1100,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 */
@@ -1178,8 +1123,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;
@@ -1211,8 +1154,6 @@ bool set_shero(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->shero = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -1236,8 +1177,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;
@@ -1268,8 +1207,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 */
@@ -1289,8 +1226,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;
@@ -1335,8 +1270,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 */
@@ -1358,8 +1291,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;
@@ -1407,8 +1338,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 */
@@ -1429,8 +1358,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;
@@ -1461,8 +1388,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 */
@@ -1484,8 +1409,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;
@@ -1516,8 +1439,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 */
@@ -1541,8 +1462,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;
@@ -1573,8 +1492,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 */
@@ -1598,8 +1515,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;
@@ -1630,8 +1545,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 */
@@ -1652,8 +1565,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;
@@ -1684,8 +1595,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 */
@@ -1713,7 +1622,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 (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;
@@ -1746,8 +1655,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);
@@ -1763,8 +1670,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;
@@ -1795,8 +1700,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 */
@@ -1817,8 +1720,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;
@@ -1849,8 +1750,6 @@ bool set_tim_sh_touki(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->tim_sh_touki = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -1870,8 +1769,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;
@@ -1902,8 +1799,6 @@ bool set_tim_sh_fire(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->tim_sh_fire = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -1924,8 +1819,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;
@@ -1956,8 +1849,6 @@ bool set_tim_sh_holy(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->tim_sh_holy = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -1978,8 +1869,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;
@@ -2010,8 +1899,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 */
@@ -2033,8 +1920,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;
@@ -2065,8 +1950,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 */
@@ -2087,8 +1970,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;
@@ -2119,8 +2000,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 */
@@ -2139,8 +2018,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;
@@ -2171,8 +2048,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 */
@@ -2193,8 +2068,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;
@@ -2225,8 +2098,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 */
@@ -2247,8 +2118,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;
@@ -2279,8 +2148,6 @@ bool set_kabenuke(TIME_EFFECT v, bool do_dec)
 
        /* Use the value */
        p_ptr->kabenuke = v;
-
-       /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        /* Nothing to notice */
@@ -2301,8 +2168,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;
@@ -2339,8 +2204,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 */
@@ -2363,7 +2226,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). */
@@ -2401,7 +2263,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) ? "酸" :
@@ -2422,8 +2283,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);
@@ -2440,7 +2299,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). */
@@ -2478,31 +2336,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();
 
@@ -2518,8 +2362,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;
@@ -2553,8 +2395,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);
@@ -2571,8 +2411,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;
@@ -2606,8 +2444,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);
@@ -2624,8 +2460,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;
@@ -2660,8 +2494,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);
@@ -2678,8 +2510,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;
@@ -2713,8 +2543,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);
@@ -2731,8 +2559,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;
@@ -2767,8 +2593,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);
@@ -2787,13 +2611,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 */
@@ -2942,8 +2762,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;
@@ -3154,8 +2972,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 */
@@ -3503,7 +3319,6 @@ bool dec_stat(int stat, int amount, int permanent)
                p_ptr->stat_cur[stat] = cur;
                p_ptr->stat_max[stat] = max;
 
-               /* Redisplay the stats later */
                p_ptr->redraw |= (PR_STATS);
                p_ptr->update |= (PU_BONUS);
        }
@@ -3522,11 +3337,8 @@ bool res_stat(int stat)
        /* Restore if needed */
        if (p_ptr->stat_cur[stat] != p_ptr->stat_max[stat])
        {
-               /* Restore */
                p_ptr->stat_cur[stat] = p_ptr->stat_max[stat];
                p_ptr->update |= (PU_BONUS);
-
-               /* Redisplay the stats later */
                p_ptr->redraw |= (PR_STATS);
 
                /* Success */
@@ -3793,8 +3605,6 @@ bool lose_all_info(void)
                o_ptr->ident &= ~(IDENT_SENSE);
        }
        p_ptr->update |= (PU_BONUS);
-
-       /* Combine / Reorder the pack (later) */
        p_ptr->update |= (PU_COMBINE | PU_REORDER);
 
        p_ptr->window |= (PW_INVEN | PW_EQUIP | PW_PLAYER);
@@ -3878,7 +3688,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(0L);
 
        /* The experience level may be modified */
        check_experience();
@@ -4008,7 +3818,7 @@ void do_poly_self(void)
                power -= 10;
 
                get_max_stats();
-               do_cmd_rerate(FALSE);
+               roll_hitdice(0L);
        }
 
        while ((power > randint0(15)) && one_in_(3))
@@ -4502,7 +4312,7 @@ void calc_android_exp(void)
                        if (value > 100000L)
                                exp += (value - 100000L) / 4  * level;
                }
-               if ((((i == INVEN_RARM) || (i == INVEN_LARM)) && (buki_motteruka(i))) || (i == INVEN_BOW)) total_exp += exp / 48;
+               if ((((i == INVEN_RARM) || (i == INVEN_LARM)) && (has_melee_weapon(i))) || (i == INVEN_BOW)) total_exp += exp / 48;
                else total_exp += exp / 16;
                if (i == INVEN_BODY) total_exp += exp / 32;
        }
@@ -4566,8 +4376,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;
@@ -4598,8 +4406,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 */
@@ -4614,8 +4420,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;
@@ -4646,8 +4450,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 */
@@ -4662,8 +4464,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;
@@ -4694,8 +4494,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 */
@@ -4717,7 +4515,7 @@ bool choose_ele_attack(void)
 
        char choice;
 
-       if (!buki_motteruka(INVEN_RARM) && !buki_motteruka(INVEN_LARM))
+       if (!has_melee_weapon(INVEN_RARM) && !has_melee_weapon(INVEN_LARM))
        {
                msg_format(_("武器を持たないと魔法剣は使えない。", "You cannot use temporary branding with no weapon."));
                return FALSE;