X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Feffects.c;h=2bb9f9509da00a665b1b9eab7ccbc9069f06f91f;hb=2c751de0350284cf64edd6a478436c11a3dfa243;hp=d8b790bd6d2d0fda495bb50a729e28fb6d426aeb;hpb=53fc93f4b873db8788e8500ca3cfe85eb785598a;p=hengbandforosx%2Fhengbandosx.git diff --git a/src/effects.c b/src/effects.c index d8b790bd6..2bb9f9509 100644 --- a/src/effects.c +++ b/src/effects.c @@ -12,8 +12,17 @@ * 2013 Deskull rearranged comment for Doxygen.\n */ - #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" +#include "wild.h" +#include "spells-floor.h" +#include "player-move.h" /*! * @brief プレイヤーの継続行動を設定する。 @@ -41,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); @@ -72,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; } } @@ -86,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) @@ -99,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: @@ -117,11 +126,7 @@ void set_action(ACTION_IDX typ) break; } } - - /* Recalculate bonuses */ p_ptr->update |= (PU_BONUS); - - /* Redraw the state */ p_ptr->redraw |= (PR_STATE); } @@ -174,7 +179,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 */ @@ -191,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; @@ -267,24 +271,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") : _("呪文", "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); - 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(); } } @@ -300,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; @@ -338,21 +331,14 @@ 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); - /* 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); } @@ -369,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; @@ -414,29 +398,17 @@ 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); - - /* 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); } @@ -449,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; @@ -464,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); @@ -472,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); @@ -480,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); @@ -514,20 +484,13 @@ bool set_confused(TIME_EFFECT v) /* Use the value */ p_ptr->confused = v; - - /* Redraw status bar */ p_ptr->redraw |= (PR_STATUS); /* 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); } @@ -540,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; @@ -568,20 +529,13 @@ bool set_poisoned(TIME_EFFECT v) /* Use the value */ p_ptr->poisoned = v; - - /* Redraw status bar */ p_ptr->redraw |= (PR_STATUS); /* 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); } @@ -594,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; @@ -609,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); @@ -636,20 +588,13 @@ bool set_afraid(TIME_EFFECT v) /* Use the value */ p_ptr->afraid = v; - - /* Redraw status bar */ p_ptr->redraw |= (PR_STATUS); /* 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); } @@ -661,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; @@ -696,23 +639,14 @@ bool set_paralyzed(TIME_EFFECT v) /* Use the value */ p_ptr->paralyzed = v; - - /* Redraw status bar */ p_ptr->redraw |= (PR_STATUS); /* 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); } @@ -725,11 +659,10 @@ 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; + if (p_ptr->pseikaku == SEIKAKU_CHARGEMAN) v = 0; /* Open */ @@ -760,32 +693,17 @@ bool set_image(TIME_EFFECT v) /* Use the value */ p_ptr->image = v; - - /* Redraw status bar */ p_ptr->redraw |= (PR_STATUS); /* Nothing to notice */ if (!notice) return (FALSE); - /* Disturb */ - if (disturb_state) disturb(0, 1); - - /* Redraw map */ - p_ptr->redraw |= (PR_MAP); - - /* Update the health bar */ - p_ptr->redraw |= (PR_HEALTH | PR_UHEALTH); + if (disturb_state) disturb(FALSE, TRUE); - /* Update monsters */ + p_ptr->redraw |= (PR_MAP | PR_HEALTH | PR_UHEALTH); p_ptr->update |= (PU_MONSTERS); - - /* Window stuff */ p_ptr->window |= (PW_OVERHEAD | PW_DUNGEON); - - /* Handle stuff */ handle_stuff(); - - /* Result */ return (TRUE); } @@ -798,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; @@ -836,16 +752,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); } @@ -858,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; @@ -875,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); @@ -898,16 +805,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); } @@ -920,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; @@ -956,16 +854,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); } @@ -979,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; @@ -1011,23 +900,14 @@ 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 */ 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); } @@ -1041,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; @@ -1073,23 +951,14 @@ 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 */ 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); } @@ -1103,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; @@ -1135,23 +1002,14 @@ 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 */ 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); } @@ -1164,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; @@ -1196,23 +1052,14 @@ 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 */ 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); } @@ -1226,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; @@ -1258,40 +1103,29 @@ 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 */ 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) { bool notice = FALSE; - - /* Hack -- Force good values */ v = (v > 10000) ? 10000 : (v < 0) ? 0 : v; if (p_ptr->is_dead) return FALSE; @@ -1316,33 +1150,24 @@ 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 */ 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); } @@ -1355,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; @@ -1387,20 +1210,13 @@ 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 */ if (!notice) return (FALSE); - /* Disturb */ - if (disturb_state) disturb(0, 0); - - /* Handle stuff */ + if (disturb_state) disturb(FALSE, FALSE); handle_stuff(); - - /* Result */ return (TRUE); } @@ -1413,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; @@ -1435,13 +1249,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); } } @@ -1454,36 +1264,23 @@ 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); } } /* Use the value */ p_ptr->wraith_form = v; - - /* Redraw status bar */ p_ptr->redraw |= (PR_STATUS); /* 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); } @@ -1497,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; @@ -1520,13 +1315,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); } } @@ -1539,13 +1330,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(); @@ -1554,23 +1341,14 @@ 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 */ 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); } @@ -1583,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; @@ -1615,26 +1391,15 @@ 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 */ 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); } @@ -1647,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; @@ -1679,26 +1442,17 @@ 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 */ 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); } @@ -1711,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; @@ -1743,26 +1495,17 @@ 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 */ 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); } @@ -1775,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; @@ -1807,23 +1548,14 @@ 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 */ 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); } @@ -1836,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; @@ -1868,23 +1598,14 @@ 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 */ 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); } @@ -1904,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; @@ -1937,14 +1658,9 @@ bool set_superstealth(bool set) /* Nothing to notice */ if (!notice) return (FALSE); - - /* Redraw status bar */ p_ptr->redraw |= (PR_STATUS); - /* Disturb */ - if (disturb_state) disturb(0, 0); - - /* Result */ + if (disturb_state) disturb(FALSE, FALSE); return (TRUE); } @@ -1957,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; @@ -1989,23 +1703,14 @@ 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 */ 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); } @@ -2018,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; @@ -2033,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; } } @@ -2043,27 +1746,20 @@ 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 */ if (!notice) return (FALSE); - /* Disturb */ - if (disturb_state) disturb(0, 0); - - /* Handle stuff */ + if (disturb_state) disturb(FALSE, FALSE); handle_stuff(); - - /* Result */ return (TRUE); } @@ -2076,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; @@ -2091,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; } } @@ -2101,30 +1795,21 @@ 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 */ 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); } @@ -2137,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; @@ -2152,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; } } @@ -2162,30 +1845,21 @@ 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 */ 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); } @@ -2198,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; @@ -2230,23 +1902,14 @@ 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 */ 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); } @@ -2260,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; @@ -2292,23 +1953,14 @@ 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 */ 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); } @@ -2321,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; @@ -2353,23 +2003,14 @@ 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 */ 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); } @@ -2380,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; @@ -2412,23 +2051,14 @@ 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 */ 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); } @@ -2441,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; @@ -2473,23 +2101,14 @@ 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 */ 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); } @@ -2502,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; @@ -2517,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; } } @@ -2527,30 +2144,21 @@ 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 */ 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); } @@ -2563,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; @@ -2589,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); @@ -2601,26 +2207,17 @@ 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 */ 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); } @@ -2632,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). */ @@ -2670,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) ? "酸" : @@ -2690,15 +2285,10 @@ bool set_ele_attack(u32b attack_type, TIME_EFFECT v) #endif } - /* Disturb */ - if (disturb_state) disturb(0, 0); - - /* Redraw status bar */ + if (disturb_state) disturb(FALSE, FALSE); p_ptr->redraw |= (PR_STATUS); p_ptr->update |= (PU_BONUS); - - /* Handle stuff */ handle_stuff(); return (TRUE); @@ -2712,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). */ @@ -2750,35 +2339,18 @@ 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."))))))); } - /* Disturb */ - if (disturb_state) disturb(0, 0); - - /* Redraw status bar */ + if (disturb_state) disturb(FALSE, FALSE); p_ptr->redraw |= (PR_STATUS); - p_ptr->update |= (PU_BONUS); - - /* Handle stuff */ handle_stuff(); return (TRUE); @@ -2793,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; @@ -2828,17 +2398,10 @@ 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); - /* Disturb */ - if (disturb_state) disturb(0, 0); - - /* Handle stuff */ + if (disturb_state) disturb(FALSE, FALSE); handle_stuff(); - - /* Result */ return (TRUE); } @@ -2851,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; @@ -2886,17 +2447,10 @@ 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); - /* Disturb */ - if (disturb_state) disturb(0, 0); - - /* Handle stuff */ + if (disturb_state) disturb(FALSE, FALSE); handle_stuff(); - - /* Result */ return (TRUE); } @@ -2909,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; @@ -2945,17 +2497,10 @@ 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); - /* Disturb */ - if (disturb_state) disturb(0, 0); - - /* Handle stuff */ + if (disturb_state) disturb(FALSE, FALSE); handle_stuff(); - - /* Result */ return (TRUE); } @@ -2968,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; @@ -3003,17 +2546,10 @@ 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); - /* Disturb */ - if (disturb_state) disturb(0, 0); - - /* Handle stuff */ + if (disturb_state) disturb(FALSE, FALSE); handle_stuff(); - - /* Result */ return (TRUE); } @@ -3026,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; @@ -3062,17 +2596,10 @@ 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); - /* Disturb */ - if (disturb_state) disturb(0, 0); - - /* Handle stuff */ + if (disturb_state) disturb(FALSE, FALSE); handle_stuff(); - - /* Result */ return (TRUE); } @@ -3087,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 */ @@ -3180,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); @@ -3195,7 +2718,6 @@ bool set_stun(TIME_EFFECT v) /* Hex */ if (hex_spelling_any()) stop_hex_spell_all(); - /* Notice */ notice = TRUE; } @@ -3206,14 +2728,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; } @@ -3223,19 +2744,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); } @@ -3251,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; @@ -3388,7 +2900,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)) @@ -3411,11 +2922,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; } @@ -3425,19 +2935,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); } @@ -3453,7 +2956,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 @@ -3472,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 */ @@ -3626,19 +3127,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); } @@ -3672,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 */ @@ -3697,8 +3189,6 @@ bool inc_stat(int stat) { p_ptr->stat_max[stat] = value; } - - /* Recalculate bonuses */ p_ptr->update |= (PU_BONUS); /* Success */ @@ -3759,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 */ @@ -3830,14 +3318,10 @@ 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); - - /* Recalculate bonuses */ p_ptr->update |= (PU_BONUS); } - /* Done */ return (res); } @@ -3852,13 +3336,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]; - - /* Recalculate bonuses */ p_ptr->update |= (PU_BONUS); - - /* Redisplay the stats later */ p_ptr->redraw |= (PR_STATS); /* Success */ @@ -3877,7 +3356,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; } @@ -3896,10 +3378,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 */ @@ -3926,7 +3406,6 @@ bool hp_player(int num) msg_print(_("ひじょうに気分が良くなった。", "You feel very good.")); } - /* Notice */ return (TRUE); } @@ -3938,38 +3417,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") + _("強く", "stronger"), + _("知的に", "smarter"), + _("賢く", "wiser"), + _("器用に", "more dextrous"), + _("健康に", "healthier"), + _("美しく", "cuter") }; /* * Array of stat "descriptions" */ -static cptr desc_stat_neg[] = +static concptr desc_stat_neg[] = { -#ifdef JP -"弱く", -"無知に", -"愚かに", -"不器用に", -"不健康に", -"醜く" -#else - "weak", - "stupid", - "naive", - "clumsy", - "sickly", - "ugly" -#endif - + _("弱く", "weaker"), + _("無知に", "stupider"), + _("愚かに", "more naive"), + _("不器用に", "clumsier"), + _("不健康に", "more sickly"), + _("醜く", "uglier") }; @@ -3994,7 +3463,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]); @@ -4005,8 +3473,7 @@ 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]); + msg_format(_("ひどく%sなった気がする。", "You feel %s."), desc_stat_neg[stat]); /* Notice effect */ return (TRUE); @@ -4025,10 +3492,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]); + msg_format(_("元通りに%sなった気がする。", "You feel %s."), desc_stat_pos[stat]); - /* Notice */ return (TRUE); } @@ -4063,20 +3528,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]); + msg_format(_("ワーオ!とても%sなった!", "Wow! You feel %s!"), desc_stat_pos[stat]); - /* Notice */ return (TRUE); } /* Restoration worked */ if (res) { - /* Message */ - msg_format(_("元通りに%sなった気がする。", "You feel less %s."), desc_stat_pos[stat]); + msg_format(_("元通りに%sなった気がする。", "You feel %s."), desc_stat_pos[stat]); - /* Notice */ return (TRUE); } @@ -4093,7 +3554,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 */ @@ -4110,7 +3570,6 @@ bool restore_level(void) return (FALSE); } - /* * Forget everything */ @@ -4144,14 +3603,9 @@ bool lose_all_info(void) /* Hack -- Clear the "felt" flag */ o_ptr->ident &= ~(IDENT_SENSE); } - - /* Recalculate bonuses */ p_ptr->update |= (PU_BONUS); + p_ptr->update |= (PU_COMBINE | PU_REORDER); - /* Combine / Reorder the pack (later) */ - p_ptr->notice |= (PN_COMBINE | PN_REORDER); - - /* Window stuff */ p_ptr->window |= (PW_INVEN | PW_EQUIP | PW_PLAYER); /* Mega-Hack -- Forget the map */ @@ -4190,9 +3644,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 @@ -4209,7 +3663,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]; @@ -4233,7 +3687,7 @@ void change_race(CHARACTER_IDX new_race, cptr 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(); @@ -4293,7 +3747,7 @@ void do_poly_self(void) /* Harmful deformity */ power -= 15; - while (tmp < 6) + while (tmp < A_MAX) { if (one_in_(2)) { @@ -4344,7 +3798,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++; @@ -4363,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)) @@ -4381,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--; } } @@ -4390,14 +3844,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; @@ -4405,8 +3859,6 @@ int take_hit(int damage_type, HIT_POINT damage, cptr 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; @@ -4416,11 +3868,10 @@ 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; + p_ptr->now_damaged = TRUE; } } @@ -4453,7 +3904,7 @@ int take_hit(int damage_type, HIT_POINT damage, cptr 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; } } @@ -4489,7 +3940,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) @@ -4508,14 +3958,11 @@ 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); handle_stuff(); - - /* Leaving */ p_ptr->leaving = TRUE; /* Note death */ @@ -4523,14 +3970,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(current_floor_ptr->dun_level); bool seppuku = streq(hit_from, "Seppuku"); bool winning_seppuku = p_ptr->total_winner && seppuku; @@ -4573,13 +4020,13 @@ int take_hit(int damage_type, HIT_POINT damage, cptr 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); @@ -4651,7 +4098,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(); @@ -4728,10 +4175,9 @@ int take_hit(int damage_type, HIT_POINT damage, cptr hit_from, int monspell) if (auto_more) { /* stop auto_more even if DAMAGE_USELIFE */ - now_damaged = TRUE; + p_ptr->now_damaged = TRUE; } - /* Message */ msg_print(_("*** 警告:低ヒット・ポイント! ***", "*** LOW HITPOINT WARNING! ***")); msg_print(NULL); flush(); @@ -4791,12 +4237,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); @@ -4863,7 +4307,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; } @@ -4927,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; @@ -4959,31 +4401,20 @@ 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 */ 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); } 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; @@ -5014,31 +4445,20 @@ 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 */ 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); } 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; @@ -5069,23 +4489,14 @@ 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 */ 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); } @@ -5099,13 +4510,11 @@ 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; } - - /* Save screen */ screen_save(); num = (p_ptr->lev - 20) / 5; @@ -5156,7 +4565,6 @@ bool choose_ele_attack(void) screen_load(); return FALSE; } - /* Load screen */ screen_load(); return TRUE; } @@ -5168,14 +4576,12 @@ 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); - 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); @@ -5183,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(); @@ -5197,11 +4603,11 @@ 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; } - /* Load screen */ screen_load(); return TRUE; } +