OSDN Git Service

[Refactor] #37353 PROJECT_* 定義を新規ファイル projection.h へ移動。 / Move PROJECT_* definition...
[hengband/hengband.git] / src / effects.c
index 1b66d0a..56cb408 100644 (file)
@@ -116,11 +116,7 @@ void set_action(ACTION_IDX typ)
                        break;
                }
        }
-
-       /* Recalculate bonuses */
        p_ptr->update |= (PU_BONUS);
-
-       /* Redraw the state */
        p_ptr->redraw |= (PR_STATE);
 }
 
@@ -173,7 +169,6 @@ void reset_tim_flags(void)
        p_ptr->dustrobe = 0;
        p_ptr->action = ACTION_NONE;
 
-
        p_ptr->oppose_acid = 0;     /* Timed -- oppose acid */
        p_ptr->oppose_elec = 0;     /* Timed -- oppose lightning */
        p_ptr->oppose_fire = 0;     /* Timed -- oppose heat */
@@ -266,24 +261,15 @@ void dispel_player(void)
 
        if (music_singing_any() || hex_spelling_any())
        {
-               cptr str = (music_singing_any()) ? _("歌", "singing") : _("呪文", "spelling");
+               concptr str = (music_singing_any()) ? _("歌", "singing") : _("呪文", "spelling");
                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);
-               p_ptr->action = ACTION_NONE;
-
-               /* Recalculate bonuses */
-               p_ptr->update |= (PU_BONUS | PU_HP);
 
-               /* Redraw map */
+               p_ptr->action = ACTION_NONE;
+               p_ptr->update |= (PU_BONUS | PU_HP | PU_MONSTERS);
                p_ptr->redraw |= (PR_MAP | PR_STATUS | PR_STATE);
-
-               /* Update monsters */
-               p_ptr->update |= (PU_MONSTERS);
-
-               /* Window stuff */
                p_ptr->window |= (PW_OVERHEAD | PW_DUNGEON);
-
                p_ptr->energy_need += ENERGY_NEED();
        }
 }
@@ -340,18 +326,13 @@ bool set_mimic(TIME_EFFECT v, IDX p, bool do_dec)
        if (!notice)
                return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 1);
+       if (disturb_state) disturb(FALSE, TRUE);
 
        /* Redraw title */
        p_ptr->redraw |= (PR_BASIC | PR_STATUS);
-
-       /* Recalculate bonuses */
        p_ptr->update |= (PU_BONUS | PU_HP);
 
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -420,22 +401,15 @@ bool set_blind(TIME_EFFECT v)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
+       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);
 
-       /* Redraw map */
        p_ptr->redraw |= (PR_MAP);
 
-       /* Window stuff */
        p_ptr->window |= (PW_OVERHEAD | PW_DUNGEON);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -520,13 +494,8 @@ bool set_confused(TIME_EFFECT v)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Handle stuff */
+       if (disturb_state) disturb(FALSE, FALSE);
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -574,13 +543,8 @@ bool set_poisoned(TIME_EFFECT v)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Handle stuff */
+       if (disturb_state) disturb(FALSE, FALSE);
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -642,13 +606,8 @@ bool set_afraid(TIME_EFFECT v)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Handle stuff */
+       if (disturb_state) disturb(FALSE, FALSE);
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -702,16 +661,9 @@ bool set_paralyzed(TIME_EFFECT v)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Redraw the state */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->redraw |= (PR_STATE);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -729,6 +681,7 @@ bool set_image(TIME_EFFECT v)
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
+       if (p_ptr->pseikaku == SEIKAKU_CHARGEMAN) v = 0;
 
 
        /* Open */
@@ -766,25 +719,16 @@ bool set_image(TIME_EFFECT v)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 1);
+       if (disturb_state) disturb(FALSE, TRUE);
 
-       /* Redraw map */
        p_ptr->redraw |= (PR_MAP);
 
        /* Update the health bar */
        p_ptr->redraw |= (PR_HEALTH | PR_UHEALTH);
-
-       /* Update monsters */
        p_ptr->update |= (PU_MONSTERS);
 
-       /* Window stuff */
        p_ptr->window |= (PW_OVERHEAD | PW_DUNGEON);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -835,16 +779,9 @@ bool set_fast(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -897,16 +834,9 @@ bool set_lightspeed(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -955,16 +885,9 @@ bool set_slow(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -1017,16 +940,9 @@ bool set_shield(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -1079,16 +995,9 @@ bool set_tsubureru(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -1141,16 +1050,9 @@ bool set_magicdef(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -1202,16 +1104,9 @@ bool set_blessed(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -1264,26 +1159,19 @@ bool set_hero(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
 
        /* Recalculate hitpoints */
        p_ptr->update |= (PU_HP);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
 /*!
  * @brief 狂戦士化の継続時間をセットする / Set "p_ptr->shero", notice observable changes
- * @param v 継続時間
- * @param do_dec 現在の継続時間より長い値のみ上書きする
+ * @param v 継続時間/ 0ならば無条件にリセット
+ * @param do_dec FALSEの場合現在の継続時間より長い値のみ上書きする
  * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。
  */
 bool set_shero(TIME_EFFECT v, bool do_dec)
@@ -1329,19 +1217,12 @@ bool set_shero(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
 
        /* Recalculate hitpoints */
        p_ptr->update |= (PU_HP);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -1393,13 +1274,8 @@ bool set_protevil(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Handle stuff */
+       if (disturb_state) disturb(FALSE, FALSE);
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -1434,13 +1310,9 @@ bool set_wraith_form(TIME_EFFECT v, bool do_dec)
                        chg_virtue(V_SACRIFICE, -2);
                        chg_virtue(V_VALOUR, -5);
 
-                       /* Redraw map */
                        p_ptr->redraw |= (PR_MAP);
-
-                       /* Update monsters */
                        p_ptr->update |= (PU_MONSTERS);
 
-                       /* Window stuff */
                        p_ptr->window |= (PW_OVERHEAD | PW_DUNGEON);
                }
        }
@@ -1453,13 +1325,9 @@ bool set_wraith_form(TIME_EFFECT v, bool do_dec)
                        msg_print(_("不透明になった感じがする。", "You feel opaque."));
                        notice = TRUE;
 
-                       /* Redraw map */
                        p_ptr->redraw |= (PR_MAP);
-
-                       /* Update monsters */
                        p_ptr->update |= (PU_MONSTERS);
 
-                       /* Window stuff */
                        p_ptr->window |= (PW_OVERHEAD | PW_DUNGEON);
                }
        }
@@ -1473,16 +1341,9 @@ bool set_wraith_form(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 
 }
@@ -1519,13 +1380,9 @@ bool set_invuln(TIME_EFFECT v, bool do_dec)
                        chg_virtue(V_SACRIFICE, -3);
                        chg_virtue(V_VALOUR, -5);
 
-                       /* Redraw map */
                        p_ptr->redraw |= (PR_MAP);
-
-                       /* Update monsters */
                        p_ptr->update |= (PU_MONSTERS);
 
-                       /* Window stuff */
                        p_ptr->window |= (PW_OVERHEAD | PW_DUNGEON);
                }
        }
@@ -1538,13 +1395,9 @@ bool set_invuln(TIME_EFFECT v, bool do_dec)
                        msg_print(_("無敵ではなくなった。", "The invulnerability wears off."));
                        notice = TRUE;
 
-                       /* Redraw map */
                        p_ptr->redraw |= (PR_MAP);
-
-                       /* Update monsters */
                        p_ptr->update |= (PU_MONSTERS);
 
-                       /* Window stuff */
                        p_ptr->window |= (PW_OVERHEAD | PW_DUNGEON);
 
                        p_ptr->energy_need += ENERGY_NEED();
@@ -1560,16 +1413,9 @@ bool set_invuln(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -1621,19 +1467,10 @@ bool set_tim_esp(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Update the monsters */
        p_ptr->update |= (PU_MONSTERS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -1685,19 +1522,12 @@ bool set_tim_invis(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
 
        /* Update the monsters */
        p_ptr->update |= (PU_MONSTERS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -1749,19 +1579,12 @@ bool set_tim_infra(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
 
        /* Update the monsters */
        p_ptr->update |= (PU_MONSTERS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -1813,16 +1636,9 @@ bool set_tim_regen(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -1874,16 +1690,9 @@ bool set_tim_stealth(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -1940,10 +1749,7 @@ bool set_superstealth(bool set)
        /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Result */
+       if (disturb_state) disturb(FALSE, FALSE);
        return (TRUE);
 }
 
@@ -1995,16 +1801,9 @@ bool set_tim_levitation(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -2056,13 +1855,8 @@ bool set_tim_sh_touki(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Handle stuff */
+       if (disturb_state) disturb(FALSE, FALSE);
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -2114,16 +1908,9 @@ bool set_tim_sh_fire(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -2175,16 +1962,9 @@ bool set_tim_sh_holy(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -2236,16 +2016,9 @@ bool set_tim_eyeeye(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -2298,16 +2071,9 @@ bool set_resist_magic(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -2359,16 +2125,9 @@ bool set_tim_reflect(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -2418,16 +2177,9 @@ bool set_multishadow(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -2479,16 +2231,9 @@ bool set_dustrobe(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -2540,16 +2285,9 @@ bool set_kabenuke(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -2607,19 +2345,12 @@ bool set_tsuyoshi(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
 
        /* Recalculate hitpoints */
        p_ptr->update |= (PU_HP);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -2689,15 +2420,12 @@ bool set_ele_attack(u32b attack_type, TIME_EFFECT v)
 #endif
        }
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
+       if (disturb_state) disturb(FALSE, FALSE);
 
        /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
 
        return (TRUE);
@@ -2769,15 +2497,12 @@ bool set_ele_immune(u32b immune_type, TIME_EFFECT v)
 #endif
        }
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
+       if (disturb_state) disturb(FALSE, FALSE);
 
        /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
 
        return (TRUE);
@@ -2831,13 +2556,8 @@ bool set_oppose_acid(TIME_EFFECT v, bool do_dec)
        /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Handle stuff */
+       if (disturb_state) disturb(FALSE, FALSE);
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -2889,13 +2609,8 @@ bool set_oppose_elec(TIME_EFFECT v, bool do_dec)
        /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Handle stuff */
+       if (disturb_state) disturb(FALSE, FALSE);
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -2948,13 +2663,8 @@ bool set_oppose_fire(TIME_EFFECT v, bool do_dec)
        /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Handle stuff */
+       if (disturb_state) disturb(FALSE, FALSE);
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -3006,13 +2716,8 @@ bool set_oppose_cold(TIME_EFFECT v, bool do_dec)
        /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Handle stuff */
+       if (disturb_state) disturb(FALSE, FALSE);
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -3065,13 +2770,8 @@ bool set_oppose_pois(TIME_EFFECT v, bool do_dec)
        /* Redraw status bar */
        p_ptr->redraw |= (PR_STATUS);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Handle stuff */
+       if (disturb_state) disturb(FALSE, FALSE);
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -3194,7 +2894,6 @@ bool set_stun(TIME_EFFECT v)
                /* Hex */
                if (hex_spelling_any()) stop_hex_spell_all();
 
-               /* Notice */
                notice = TRUE;
        }
 
@@ -3205,14 +2904,13 @@ bool set_stun(TIME_EFFECT v)
                switch (new_aux)
                {
                        /* None */
-                 case 0:
+               case 0:
                        msg_print(_("やっと朦朧状態から回復した。", "You are no longer stunned."));
 
-                       if (disturb_state) disturb(0, 0);
+                       if (disturb_state) disturb(FALSE, FALSE);
                        break;
                }
 
-               /* Notice */
                notice = TRUE;
        }
 
@@ -3222,19 +2920,12 @@ bool set_stun(TIME_EFFECT v)
        /* No change */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
 
        /* Redraw the "stun" */
        p_ptr->redraw |= (PR_STUN);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -3387,7 +3078,6 @@ bool set_cut(TIME_EFFECT v)
                        case 7: msg_print(_("致命的な傷を負ってしまった。", "You have been given a mortal wound.")); break;
                }
 
-               /* Notice */
                notice = TRUE;
 
                if (randint1(1000) < v || one_in_(16))
@@ -3410,11 +3100,10 @@ bool set_cut(TIME_EFFECT v)
                        case 0:
                        msg_format(_("やっと%s。", "You are no longer bleeding."), p_ptr->prace == RACE_ANDROID ? "怪我が直った" : "出血が止まった");
 
-                       if (disturb_state) disturb(0, 0);
+                       if (disturb_state) disturb(FALSE, FALSE);
                        break;
                }
 
-               /* Notice */
                notice = TRUE;
        }
 
@@ -3424,19 +3113,12 @@ bool set_cut(TIME_EFFECT v)
        /* No change */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
 
        /* Redraw the "cut" */
        p_ptr->redraw |= (PR_CUT);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -3452,7 +3134,7 @@ bool set_cut(TIME_EFFECT v)
  * 7500 food units, without overflowing the 32767 maximum limit.\n
  *\n
  * Perhaps we should disturb the player with various messages,
- * especially messages about hunger status changes.  XXX XXX XXX\n
+ * especially messages about hunger status changes.  \n
  *\n
  * Digestion of food is handled in "dungeon.c", in which, normally,
  * the player digests about 20 food units per 100 game turns, more
@@ -3625,19 +3307,12 @@ bool set_food(TIME_EFFECT v)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
 
        /* Redraw hunger */
        p_ptr->redraw |= (PR_HUNGER);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -3696,8 +3371,6 @@ bool inc_stat(int stat)
                {
                        p_ptr->stat_max[stat] = value;
                }
-
-               /* Recalculate bonuses */
                p_ptr->update |= (PU_BONUS);
 
                /* Success */
@@ -3831,12 +3504,9 @@ bool dec_stat(int stat, int amount, int permanent)
 
                /* Redisplay the stats later */
                p_ptr->redraw |= (PR_STATS);
-
-               /* Recalculate bonuses */
                p_ptr->update |= (PU_BONUS);
        }
 
-       /* Done */
        return (res);
 }
 
@@ -3853,8 +3523,6 @@ bool res_stat(int stat)
        {
                /* Restore */
                p_ptr->stat_cur[stat] = p_ptr->stat_max[stat];
-
-               /* Recalculate bonuses */
                p_ptr->update |= (PU_BONUS);
 
                /* Redisplay the stats later */
@@ -3876,7 +3544,10 @@ bool hp_player(int num)
 {
        int vir;
        vir = virtue_number(V_VITALITY);
-       if (vir)
+
+       if(num <= 0) return (FALSE);
+
+       if(vir)
        {
                num = num * (p_ptr->virtues[vir - 1] + 1250) / 1250;
        }
@@ -3895,10 +3566,8 @@ bool hp_player(int num)
                        p_ptr->chp_frac = 0;
                }
 
-               /* Redraw */
                p_ptr->redraw |= (PR_HP);
 
-               /* Window stuff */
                p_ptr->window |= (PW_PLAYER);
 
                /* Heal 0-4 */
@@ -3925,7 +3594,6 @@ bool hp_player(int num)
                        msg_print(_("ひじょうに気分が良くなった。", "You feel very good."));
                }
 
-               /* Notice */
                return (TRUE);
        }
 
@@ -3937,38 +3605,28 @@ bool hp_player(int num)
 /*
  * Array of stat "descriptions"
  */
-static cptr desc_stat_pos[] =
+static concptr desc_stat_pos[] =
 {
-_("強く", "strong"),
-_("知的に", "smart"),
-_("賢く", "wise"),
-_("器用に", "dextrous"),
-_("健康に", "healthy"),
-_("美しく", "cute")
+       _("強く", "strong"),
+       _("知的に", "smart"),
+       _("賢く", "wise"),
+       _("器用に", "dextrous"),
+       _("健康に", "healthy"),
+       _("美しく", "cute")
 };
 
 
 /*
  * Array of stat "descriptions"
  */
-static cptr desc_stat_neg[] =
+static concptr desc_stat_neg[] =
 {
-#ifdef JP
-"弱く",
-"無知に",
-"愚かに",
-"不器用に",
-"不健康に",
-"醜く"
-#else
-       "weak",
-       "stupid",
-       "naive",
-       "clumsy",
-       "sickly",
-       "ugly"
-#endif
-
+       _("弱く", "weak"),
+       _("無知に", "stupid"),
+       _("愚かに", "naive"),
+       _("不器用に", "clumsy"),
+       _("不健康に", "sickly"),
+       _("醜く", "ugly")
 };
 
 
@@ -3993,7 +3651,6 @@ bool do_dec_stat(int stat)
        /* Sustain */
        if (sust && (!ironman_nightmare || randint0(13)))
        {
-               /* Message */
                msg_format(_("%sなった気がしたが、すぐに元に戻った。", "You feel %s for a moment, but the feeling passes."),
                                        desc_stat_neg[stat]);
 
@@ -4004,7 +3661,6 @@ bool do_dec_stat(int stat)
        /* Attempt to reduce the stat */
        if (dec_stat(stat, 10, (ironman_nightmare && !randint0(13))))
        {
-               /* Message */
                msg_format(_("ひどく%sなった気がする。", "You feel very %s."), desc_stat_neg[stat]);
 
                /* Notice effect */
@@ -4024,10 +3680,8 @@ bool do_res_stat(int stat)
        /* Attempt to increase */
        if (res_stat(stat))
        {
-               /* Message */
                msg_format(_("元通りに%sなった気がする。", "You feel less %s."), desc_stat_pos[stat]);
 
-               /* Notice */
                return (TRUE);
        }
 
@@ -4062,20 +3716,16 @@ bool do_inc_stat(int stat)
                else if (stat == A_CON)
                        chg_virtue(V_VITALITY, 1);
 
-               /* Message */
                msg_format(_("ワーオ!とても%sなった!", "Wow!  You feel very %s!"), desc_stat_pos[stat]);
 
-               /* Notice */
                return (TRUE);
        }
 
        /* Restoration worked */
        if (res)
        {
-               /* Message */
                msg_format(_("元通りに%sなった気がする。", "You feel less %s."), desc_stat_pos[stat]);
 
-               /* Notice */
                return (TRUE);
        }
 
@@ -4092,7 +3742,6 @@ bool restore_level(void)
        /* Restore experience */
        if (p_ptr->exp < p_ptr->max_exp)
        {
-               /* Message */
                msg_print(_("経験値が戻ってきた気がする。", "You feel your experience returning."));
 
                /* Restore the experience */
@@ -4109,7 +3758,6 @@ bool restore_level(void)
        return (FALSE);
 }
 
-
 /*
  * Forget everything
  */
@@ -4143,14 +3791,11 @@ bool lose_all_info(void)
                /* Hack -- Clear the "felt" flag */
                o_ptr->ident &= ~(IDENT_SENSE);
        }
-
-       /* Recalculate bonuses */
        p_ptr->update |= (PU_BONUS);
 
        /* Combine / Reorder the pack (later) */
-       p_ptr->notice |= (PN_COMBINE | PN_REORDER);
+       p_ptr->update |= (PU_COMBINE | PU_REORDER);
 
-       /* Window stuff */
        p_ptr->window |= (PW_INVEN | PW_EQUIP | PW_PLAYER);
 
        /* Mega-Hack -- Forget the map */
@@ -4189,9 +3834,9 @@ void do_poly_wounds(void)
 /*
  * Change player race
  */
-void change_race(CHARACTER_IDX new_race, cptr effect_msg)
+void change_race(CHARACTER_IDX new_race, concptr effect_msg)
 {
-       cptr title = race_info[new_race].title;
+       concptr title = race_info[new_race].title;
        int  old_race = p_ptr->prace;
 
 #ifdef JP
@@ -4208,7 +3853,7 @@ void change_race(CHARACTER_IDX new_race, cptr effect_msg)
        }
        else
        {
-               p_ptr->old_race2 |= 1L << (p_ptr->prace-32);
+               p_ptr->old_race2 |= 1L << (p_ptr->prace - 32);
        }
        p_ptr->prace = new_race;
        rp_ptr = &race_info[p_ptr->prace];
@@ -4292,7 +3937,7 @@ void do_poly_self(void)
                        /* Harmful deformity */
                        power -= 15;
 
-                       while (tmp < 6)
+                       while (tmp < A_MAX)
                        {
                                if (one_in_(2))
                                {
@@ -4343,7 +3988,7 @@ void do_poly_self(void)
                power -= 20;
                msg_format(_("%sの構成が変化した!", "Your internal organs are rearranged!"), p_ptr->prace == RACE_ANDROID ? "機械" : "内臓");
 
-               while (tmp < 6)
+               while (tmp < A_MAX)
                {
                        (void)dec_stat(tmp, randint1(6) + 6, one_in_(3));
                        tmp++;
@@ -4389,14 +4034,14 @@ void do_poly_self(void)
 /*
  * Decreases players hit points and sets death flag if necessary
  *
- * XXX XXX XXX Invulnerability needs to be changed into a "shield"
+ * Invulnerability needs to be changed into a "shield"
  *
- * XXX XXX XXX Hack -- this function allows the user to save (or quit)
+ * Hack -- this function allows the user to save (or quit)
  * the game when he dies, since the "You die." message is shown before
  * setting the player to "dead".
  */
 
-int take_hit(int damage_type, HIT_POINT damage, cptr hit_from, int monspell)
+int take_hit(int damage_type, HIT_POINT damage, concptr hit_from, int monspell)
 {
        int old_chp = p_ptr->chp;
 
@@ -4415,8 +4060,7 @@ int take_hit(int damage_type, HIT_POINT damage, cptr hit_from, int monspell)
 
        if (damage_type != DAMAGE_USELIFE)
        {
-               /* Disturb */
-               disturb(1, 1);
+               disturb(TRUE, TRUE);
                if (auto_more)
                {
                        now_damaged = TRUE;
@@ -4488,7 +4132,6 @@ int take_hit(int damage_type, HIT_POINT damage, cptr hit_from, int monspell)
        /* Display the hitpoints */
        p_ptr->redraw |= (PR_HP);
 
-       /* Window stuff */
        p_ptr->window |= (PW_PLAYER);
 
        if (damage_type != DAMAGE_GENO && p_ptr->chp == 0)
@@ -4507,7 +4150,6 @@ int take_hit(int damage_type, HIT_POINT damage, cptr hit_from, int monspell)
                        if(!save_player()) msg_print("セーブ失敗!");
 #endif
 
-               /* Sound */
                sound(SOUND_DEATH);
 
                chg_virtue(V_SACRIFICE, 10);
@@ -4522,14 +4164,14 @@ int take_hit(int damage_type, HIT_POINT damage, cptr hit_from, int monspell)
 
                if (p_ptr->inside_arena)
                {
-                       cptr m_name = r_name+r_info[arena_info[p_ptr->arena_number].r_idx].name;
+                       concptr m_name = r_name+r_info[arena_info[p_ptr->arena_number].r_idx].name;
                        msg_format(_("あなたは%sの前に敗れ去った。", "You are beaten by %s."), m_name);
                        msg_print(NULL);
                        if (record_arena) do_cmd_write_nikki(NIKKI_ARENA, -1 - p_ptr->arena_number, m_name);
                }
                else
                {
-                       int q_idx = quest_number(dun_level);
+                       QUEST_IDX q_idx = quest_number(dun_level);
                        bool seppuku = streq(hit_from, "Seppuku");
                        bool winning_seppuku = p_ptr->total_winner && seppuku;
 
@@ -4650,7 +4292,7 @@ int take_hit(int damage_type, HIT_POINT damage, cptr hit_from, int monspell)
                                        int h = Term->hgt;
                                        int msg_pos_x[9] = {  5,  7,  9, 12,  14,  17,  19,  21, 23};
                                        int msg_pos_y[9] = {  3,  4,  5,  4,   5,   4,   5,   6,  4};
-                                       cptr str;
+                                       concptr str;
                                        char* str2;
 
                                        Term_clear();
@@ -4730,7 +4372,6 @@ int take_hit(int damage_type, HIT_POINT damage, cptr hit_from, int monspell)
                        now_damaged = TRUE;
                }
 
-               /* Message */
                msg_print(_("*** 警告:低ヒット・ポイント! ***", "*** LOW HITPOINT WARNING! ***"));
                msg_print(NULL);
                flush();
@@ -4790,12 +4431,10 @@ void calc_android_exp(void)
                object_type forge;
                object_type *q_ptr = &forge;
                u32b value, exp;
-               int level = MAX(k_info[o_ptr->k_idx].level - 8, 1);
+               DEPTH level = MAX(k_info[o_ptr->k_idx].level - 8, 1);
 
                if ((i == INVEN_RIGHT) || (i == INVEN_LEFT) || (i == INVEN_NECK) || (i == INVEN_LITE)) continue;
                if (!o_ptr->k_idx) continue;
-
-               /* Wipe the object */
                object_wipe(q_ptr);
 
                object_copy(q_ptr, o_ptr);
@@ -4965,16 +4604,9 @@ bool set_ultimate_res(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -5020,16 +4652,9 @@ bool set_tim_res_nether(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -5075,16 +4700,9 @@ bool set_tim_res_time(TIME_EFFECT v, bool do_dec)
        /* Nothing to notice */
        if (!notice) return (FALSE);
 
-       /* Disturb */
-       if (disturb_state) disturb(0, 0);
-
-       /* Recalculate bonuses */
+       if (disturb_state) disturb(FALSE, FALSE);
        p_ptr->update |= (PU_BONUS);
-
-       /* Handle stuff */
        handle_stuff();
-
-       /* Result */
        return (TRUE);
 }
 
@@ -5103,8 +4721,6 @@ bool choose_ele_attack(void)
                msg_format(_("武器を持たないと魔法剣は使えない。", "You cannot use temporary branding with no weapon."));
                return FALSE;
        }
-
-       /* Save screen */
        screen_save();
 
        num = (p_ptr->lev - 20) / 5;
@@ -5155,7 +4771,6 @@ bool choose_ele_attack(void)
                screen_load();
                return FALSE;
        }
-       /* Load screen */
        screen_load();
        return TRUE;
 }
@@ -5167,8 +4782,6 @@ bool choose_ele_attack(void)
 bool choose_ele_immune(TIME_EFFECT immune_turn)
 {
        char choice;
-
-       /* Save screen */
        screen_save();
 
        c_prt(TERM_RED,    _("        a) 火炎", "        a) Immune Fire"), 2, 14);
@@ -5200,7 +4813,6 @@ bool choose_ele_immune(TIME_EFFECT immune_turn)
                screen_load();
                return FALSE;
        }
-       /* Load screen */
        screen_load();
        return TRUE;
 }