X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Feffects.c;h=23ac4f40c7b94717eff0ec508e1e0ac2ec344b11;hb=74119d8c810b640f402afe3b3cf3394599b99e6e;hp=e353dbd38c8f8c91a301b5c2a014fb1193d29ed5;hpb=a31e43329866855ae3d52dbd9dd65c8197f7ca04;p=hengband%2Fhengband.git diff --git a/src/effects.c b/src/effects.c index e353dbd38..23ac4f40c 100644 --- a/src/effects.c +++ b/src/effects.c @@ -1,18 +1,30 @@ -/* File: effects.c */ - -/* - * Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke - * - * This software may be copied and distributed for educational, research, - * and not for profit purposes provided that this copyright and statement - * are included in all such copies. Other copyrights may also apply. +/*! + * @file effects.c + * @brief プレイヤーのステータス管理 / effects of various "objects" + * @date 2014/01/01 + * @author + * Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke\n + *\n + * This software may be copied and distributed for educational, research,\n + * and not for profit purposes provided that this copyright and statement\n + * are included in all such copies. Other copyrights may also apply.\n + *\n + * 2013 Deskull rearranged comment for Doxygen.\n */ -/* Purpose: effects of various "objects" */ - #include "angband.h" - -void set_action(int typ) +#include "mutation.h" +#include "quest.h" +#include "avatar.h" +#include "player-status.h" + +/*! + * @brief プレイヤーの継続行動を設定する。 + * @param typ 継続行動のID\n + * #ACTION_NONE / #ACTION_SEARCH / #ACTION_REST / #ACTION_LEARN / #ACTION_FISH / #ACTION_KAMAE / #ACTION_KATA / #ACTION_SING / #ACTION_HAYAGAKE / #ACTION_SPELL から選択。 + * @return なし + */ +void set_action(ACTION_IDX typ) { int prev_typ = p_ptr->action; @@ -26,11 +38,7 @@ void set_action(int typ) { case ACTION_SEARCH: { -#ifdef JP - msg_print("õº÷¤ò¤ä¤á¤¿¡£"); -#else - msg_print("You no longer walk carefully."); -#endif + msg_print(_("探索をやめた。", "You no longer walk carefully.")); p_ptr->redraw |= (PR_SPEED); break; } @@ -41,31 +49,19 @@ void set_action(int typ) } case ACTION_LEARN: { -#ifdef JP - msg_print("³Ø½¬¤ò¤ä¤á¤¿¡£"); -#else - msg_print("You stop Learning"); -#endif + msg_print(_("学習をやめた。", "You stop Learning")); new_mane = FALSE; break; } case ACTION_KAMAE: { -#ifdef JP - msg_print("¹½¤¨¤ò¤È¤¤¤¿¡£"); -#else - msg_print("You stop assuming the posture."); -#endif + msg_print(_("構えをといた。", "You stop assuming the posture.")); p_ptr->special_defense &= ~(KAMAE_MASK); break; } case ACTION_KATA: { -#ifdef JP - msg_print("·¿¤òÊø¤·¤¿¡£"); -#else - msg_print("You stop assuming the posture."); -#endif + msg_print(_("型を崩した。", "You stop assuming the posture.")); p_ptr->special_defense &= ~(KATA_MASK); p_ptr->update |= (PU_MONSTERS); p_ptr->redraw |= (PR_STATUS); @@ -73,20 +69,18 @@ void set_action(int typ) } case ACTION_SING: { -#ifdef JP - msg_print("²Î¤¦¤Î¤ò¤ä¤á¤¿¡£"); -#else - msg_print("You stop singing."); -#endif + msg_print(_("歌うのをやめた。", "You stop singing.")); break; } case ACTION_HAYAGAKE: { -#ifdef JP - msg_print("­¤¬½Å¤¯¤Ê¤Ã¤¿¡£"); -#else - msg_print("You are no longer walking extremely fast."); -#endif + msg_print(_("足が重くなった。", "You are no longer walking extremely fast.")); + p_ptr->energy_use = 100; + break; + } + case ACTION_SPELL: + { + msg_print(_("呪文の詠唱を中断した。", "You stopped spelling all spells.")); break; } } @@ -96,44 +90,29 @@ void set_action(int typ) /* If we are requested other action, stop singing */ if (prev_typ == ACTION_SING) stop_singing(); + if (prev_typ == ACTION_SPELL) stop_hex_spell(); switch (p_ptr->action) { case ACTION_SEARCH: { -#ifdef JP - msg_print("Ãí°Õ¿¼¤¯Ê⤭»Ï¤á¤¿¡£"); -#else - msg_print("You begin to walk carefully."); -#endif + msg_print(_("注意深く歩き始めた。", "You begin to walk carefully.")); p_ptr->redraw |= (PR_SPEED); break; } case ACTION_LEARN: { -#ifdef JP - msg_print("³Ø½¬¤ò»Ï¤á¤¿¡£"); -#else - msg_print("You begin Learning"); -#endif + msg_print(_("学習を始めた。", "You begin Learning")); break; } case ACTION_FISH: { -#ifdef JP - msg_print("¿åÌ̤˻å¤ò¿â¤é¤·¤¿¡¥¡¥¡¥"); -#else - msg_print("You begin fishing..."); -#endif + msg_print(_("水面に糸を垂らした...", "You begin fishing...")); break; } case ACTION_HAYAGAKE: { -#ifdef JP - msg_print("­¤¬±©¤Î¤è¤¦¤Ë·Ú¤¯¤Ê¤Ã¤¿¡£"); -#else - msg_print("You begin to walk extremely fast."); -#endif + msg_print(_("足が羽のように軽くなった。", "You begin to walk extremely fast.")); break; } default: @@ -141,15 +120,14 @@ void set_action(int typ) break; } } - - /* Recalculate bonuses */ p_ptr->update |= (PU_BONUS); - - /* Redraw the state */ p_ptr->redraw |= (PR_STATE); } -/* reset timed flags */ +/*! + * @brief プレイヤーの全ての時限効果をリセットする。 / reset timed flags + * @return なし + */ void reset_tim_flags(void) { p_ptr->fast = 0; /* Timed -- Fast */ @@ -195,7 +173,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 */ @@ -227,12 +204,15 @@ void reset_tim_flags(void) if (p_ptr->pclass == CLASS_BARD) { - p_ptr->magic_num1[0] = 0; - p_ptr->magic_num2[0] = 0; + SINGING_SONG_EFFECT(p_ptr) = 0; + SINGING_SONG_ID(p_ptr) = 0; } } - +/*! + * @brief プレイヤーに魔力消去効果を与える。 + * @return なし + */ void dispel_player(void) { (void)set_fast(0, TRUE); @@ -280,46 +260,33 @@ void dispel_player(void) if (p_ptr->special_attack & ATTACK_CONFUSE) { p_ptr->special_attack &= ~(ATTACK_CONFUSE); -#ifdef JP - msg_print("¼ê¤Îµ±¤­¤¬¤Ê¤¯¤Ê¤Ã¤¿¡£"); -#else - msg_print("Your hands stop glowing."); -#endif + msg_print(_("手の輝きがなくなった。", "Your hands stop glowing.")); } - if (music_singing_any()) + if (music_singing_any() || hex_spelling_any()) { - p_ptr->magic_num1[1] = p_ptr->magic_num1[0]; - p_ptr->magic_num1[0] = 0; -#ifdef JP - msg_print("²Î¤¬ÅÓÀڤ줿¡£"); -#else - msg_print("Your singing is interrupted."); -#endif - p_ptr->action = ACTION_NONE; + 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); - /* 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(); } } -/* - * Set "p_ptr->tim_mimic", and "p_ptr->mimic_form", - * notice observable changes +/*! + * @brief 変身効果の継続時間と変身先をセットする / Set "p_ptr->tim_mimic", and "p_ptr->mimic_form", notice observable changes + * @param v 継続時間 + * @param p 変身内容 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_mimic(int v, int p, bool do_dec) +bool set_mimic(TIME_EFFECT v, IDX p, bool do_dec) { bool notice = FALSE; @@ -337,12 +304,8 @@ bool set_mimic(int v, int p, bool do_dec) } else if ((!p_ptr->tim_mimic) || (p_ptr->mimic_form != p)) { -#ifdef JP - msg_print("¼«Ê¬¤ÎÂΤ¬ÊѤï¤Ã¤Æ¤æ¤¯¤Î¤ò´¶¤¸¤¿¡£"); -#else - msg_print("You feel that your body changes."); -#endif - p_ptr->mimic_form=p; + msg_print(_("自分の体が変わってゆくのを感じた。", "You feel that your body changes.")); + p_ptr->mimic_form = p; notice = TRUE; } } @@ -352,11 +315,7 @@ bool set_mimic(int v, int p, bool do_dec) { if (p_ptr->tim_mimic) { -#ifdef JP - msg_print("ÊѿȤ¬²ò¤±¤¿¡£"); -#else - msg_print("You are no longer transformed."); -#endif + msg_print(_("変身が解けた。", "You are no longer transformed.")); if (p_ptr->mimic_form == MIMIC_DEMON) set_oppose_fire(0, TRUE); p_ptr->mimic_form=0; notice = TRUE; @@ -371,31 +330,27 @@ bool set_mimic(int v, int p, bool do_dec) if (!notice) return (FALSE); - /* Disturb */ - if (disturb_state) - disturb(0, 0); + 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); } -/* - * Set "p_ptr->blind", notice observable changes - * - * Note the use of "PU_UN_LITE" and "PU_UN_VIEW", which is needed to - * memorize any terrain features which suddenly become "visible". - * Note that blindness is currently the only thing which can affect - * "player_can_see_bold()". +/*! + * @brief 盲目の継続時間をセットする / Set "p_ptr->blind", notice observable changes + * @param v 継続時間 + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 + * @details + * Note the use of "PU_UN_LITE" and "PU_UN_VIEW", which is needed to\n + * memorize any terrain features which suddenly become "visible".\n + * Note that blindness is currently the only thing which can affect\n + * "player_can_see_bold()".\n */ -bool set_blind(int v) +bool set_blind(TIME_EFFECT v) { bool notice = FALSE; @@ -411,19 +366,11 @@ bool set_blind(int v) { if (p_ptr->prace == RACE_ANDROID) { -#ifdef JP -msg_print("¥»¥ó¥µ¡¼¤ò¤ä¤é¤ì¤¿¡ª"); -#else - msg_print("You are blind!"); -#endif + msg_print(_("センサーをやられた!", "You are blind!")); } else { -#ifdef JP -msg_print("Ìܤ¬¸«¤¨¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡ª"); -#else - msg_print("You are blind!"); -#endif + msg_print(_("目が見えなくなってしまった!", "You are blind!")); } notice = TRUE; @@ -438,19 +385,11 @@ msg_print(" { if (p_ptr->prace == RACE_ANDROID) { -#ifdef JP -msg_print("¥»¥ó¥µ¡¼¤¬Éüµì¤·¤¿¡£"); -#else - msg_print("You can see again."); -#endif + msg_print(_("センサーが復旧した。", "You can see again.")); } else { -#ifdef JP -msg_print("¤ä¤Ã¤ÈÌܤ¬¸«¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£"); -#else - msg_print("You can see again."); -#endif + msg_print(_("やっと目が見えるようになった。", "You can see again.")); } notice = TRUE; @@ -466,30 +405,25 @@ msg_print(" /* 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); } -/* - * Set "p_ptr->confused", notice observable changes +/*! + * @brief 混乱の継続時間をセットする / Set "p_ptr->confused", notice observable changes + * @param v 継続時間 + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_confused(int v) +bool set_confused(TIME_EFFECT v) { bool notice = FALSE; @@ -503,19 +437,11 @@ bool set_confused(int v) { if (!p_ptr->confused) { -#ifdef JP -msg_print("¤¢¤Ê¤¿¤Ïº®Í𤷤¿¡ª"); -#else - msg_print("You are confused!"); -#endif + msg_print(_("あなたは混乱した!", "You are confused!")); if (p_ptr->action == ACTION_LEARN) { -#ifdef JP - msg_print("³Ø½¬¤¬Â³¤±¤é¤ì¤Ê¤¤¡ª"); -#else - msg_print("You cannot continue Learning!"); -#endif + msg_print(_("学習が続けられない!", "You cannot continue Learning!")); new_mane = FALSE; p_ptr->redraw |= (PR_STATE); @@ -523,11 +449,7 @@ msg_print(" } if (p_ptr->action == ACTION_KAMAE) { -#ifdef JP - msg_print("¹½¤¨¤¬¤È¤±¤¿¡£"); -#else - msg_print("Your posture gets loose."); -#endif + msg_print(_("構えがとけた。", "Your posture gets loose.")); p_ptr->special_defense &= ~(KAMAE_MASK); p_ptr->update |= (PU_BONUS); p_ptr->redraw |= (PR_STATE); @@ -535,11 +457,7 @@ msg_print(" } else if (p_ptr->action == ACTION_KATA) { -#ifdef JP - msg_print("·¿¤¬Êø¤ì¤¿¡£"); -#else - msg_print("Your posture gets loose."); -#endif + msg_print(_("型が崩れた。", "Your posture gets loose.")); p_ptr->special_defense &= ~(KATA_MASK); p_ptr->update |= (PU_BONUS); p_ptr->update |= (PU_MONSTERS); @@ -548,6 +466,12 @@ msg_print(" p_ptr->action = ACTION_NONE; } + /* Sniper */ + if (p_ptr->concent) reset_concentration(TRUE); + + /* Hex */ + if (hex_spelling_any()) stop_hex_spell_all(); + notice = TRUE; p_ptr->counter = FALSE; chg_virtue(V_HARMONY, -1); @@ -559,12 +483,7 @@ msg_print(" { if (p_ptr->confused) { -#ifdef JP -msg_print("¤ä¤Ã¤Èº®Í𤬤ª¤µ¤Þ¤Ã¤¿¡£"); -#else - msg_print("You feel less confused now."); -#endif - + msg_print(_("やっと混乱がおさまった。", "You feel less confused now.")); p_ptr->special_attack &= ~(ATTACK_SUIKEN); notice = TRUE; } @@ -579,21 +498,18 @@ msg_print(" /* 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); } -/* - * Set "p_ptr->poisoned", notice observable changes +/*! + * @brief 毒の継続時間をセットする / Set "p_ptr->poisoned", notice observable changes + * @param v 継続時間 + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_poisoned(int v) +bool set_poisoned(TIME_EFFECT v) { bool notice = FALSE; @@ -607,12 +523,7 @@ bool set_poisoned(int v) { if (!p_ptr->poisoned) { -#ifdef JP -msg_print("ÆǤ˿¯¤µ¤ì¤Æ¤·¤Þ¤Ã¤¿¡ª"); -#else - msg_print("You are poisoned!"); -#endif - + msg_print(_("毒に侵されてしまった!", "You are poisoned!")); notice = TRUE; } } @@ -622,12 +533,7 @@ msg_print(" { if (p_ptr->poisoned) { -#ifdef JP -msg_print("¤ä¤Ã¤ÈÆǤÎÄˤߤ¬¤Ê¤¯¤Ê¤Ã¤¿¡£"); -#else - msg_print("You are no longer poisoned."); -#endif - + msg_print(_("やっと毒の痛みがなくなった。", "You are no longer poisoned.")); notice = TRUE; } } @@ -641,21 +547,18 @@ msg_print(" /* 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); } -/* - * Set "p_ptr->afraid", notice observable changes +/*! + * @brief 恐怖の継続時間をセットする / Set "p_ptr->afraid", notice observable changes + * @param v 継続時間 + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_afraid(int v) +bool set_afraid(TIME_EFFECT v) { bool notice = FALSE; @@ -669,19 +572,11 @@ bool set_afraid(int v) { if (!p_ptr->afraid) { -#ifdef JP -msg_print("²¿¤â¤«¤â¶²¤¯¤Ê¤Ã¤Æ¤­¤¿¡ª"); -#else - msg_print("You are terrified!"); -#endif + msg_print(_("何もかも恐くなってきた!", "You are terrified!")); if (p_ptr->special_defense & KATA_MASK) { -#ifdef JP - msg_print("·¿¤¬Êø¤ì¤¿¡£"); -#else - msg_print("Your posture gets loose."); -#endif + msg_print(_("型が崩れた。", "Your posture gets loose.")); p_ptr->special_defense &= ~(KATA_MASK); p_ptr->update |= (PU_BONUS); p_ptr->update |= (PU_MONSTERS); @@ -701,12 +596,7 @@ msg_print(" { if (p_ptr->afraid) { -#ifdef JP -msg_print("¤ä¤Ã¤È¶²Éݤò¿¶¤êʧ¤Ã¤¿¡£"); -#else - msg_print("You feel bolder now."); -#endif - + msg_print(_("やっと恐怖を振り払った。", "You feel bolder now.")); notice = TRUE; } } @@ -720,21 +610,17 @@ msg_print(" /* 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); } - -/* - * Set "p_ptr->paralyzed", notice observable changes +/*! + * @brief 麻痺の継続時間をセットする / Set "p_ptr->paralyzed", notice observable changes + * @param v 継続時間 + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_paralyzed(int v) +bool set_paralyzed(TIME_EFFECT v) { bool notice = FALSE; @@ -748,11 +634,12 @@ bool set_paralyzed(int v) { if (!p_ptr->paralyzed) { -#ifdef JP -msg_print("ÂΤ¬Ëãá㤷¤Æ¤·¤Þ¤Ã¤¿¡ª"); -#else - msg_print("You are paralyzed!"); -#endif + msg_print(_("体が麻痺してしまった!", "You are paralyzed!")); + /* Sniper */ + if (p_ptr->concent) reset_concentration(TRUE); + + /* Hex */ + if (hex_spelling_any()) stop_hex_spell_all(); p_ptr->counter = FALSE; notice = TRUE; @@ -764,12 +651,7 @@ msg_print(" { if (p_ptr->paralyzed) { -#ifdef JP -msg_print("¤ä¤Ã¤ÈÆ°¤±¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£"); -#else - msg_print("You can move again."); -#endif - + msg_print(_("やっと動けるようになった。", "You can move again.")); notice = TRUE; } } @@ -783,26 +665,19 @@ msg_print(" /* 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); } - -/* - * Set "p_ptr->image", notice observable changes - * - * Note that we must redraw the map when hallucination changes. +/*! + * @brief 幻覚の継続時間をセットする / Set "p_ptr->image", notice observable changes + * @param v 継続時間 + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 + * @details Note that we must redraw the map when hallucination changes. */ -bool set_image(int v) +bool set_image(TIME_EFFECT v) { bool notice = FALSE; @@ -810,6 +685,7 @@ bool set_image(int 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 */ @@ -818,11 +694,10 @@ bool set_image(int v) set_tsuyoshi(0, TRUE); if (!p_ptr->image) { -#ifdef JP -msg_print("¥ï¡¼¥ª¡ª²¿¤â¤«¤âÆú¿§¤Ë¸«¤¨¤ë¡ª"); -#else - msg_print("Oh, wow! Everything looks so cosmic now!"); -#endif + msg_print(_("ワーオ!何もかも虹色に見える!", "Oh, wow! Everything looks so cosmic now!")); + + /* Sniper */ + if (p_ptr->concent) reset_concentration(TRUE); p_ptr->counter = FALSE; notice = TRUE; @@ -834,12 +709,7 @@ msg_print(" { if (p_ptr->image) { -#ifdef JP -msg_print("¤ä¤Ã¤È¤Ï¤Ã¤­¤ê¤Èʪ¤¬¸«¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£"); -#else - msg_print("You can see clearly again."); -#endif - + msg_print(_("やっとはっきりと物が見えるようになった。", "You can see clearly again.")); notice = TRUE; } } @@ -853,33 +723,26 @@ msg_print(" /* Nothing to notice */ if (!notice) return (FALSE); - /* Disturb */ - if (disturb_state) disturb(0, 0); + 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); } - -/* - * Set "p_ptr->fast", notice observable changes +/*! + * @brief 加速の継続時間をセットする / Set "p_ptr->fast", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_fast(int v, bool do_dec) +bool set_fast(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -897,12 +760,7 @@ bool set_fast(int v, bool do_dec) } else if (!IS_FAST() && !p_ptr->lightspeed) { -#ifdef JP -msg_print("ÁÇÁ᤯ư¤±¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡ª"); -#else - msg_print("You feel yourself moving much faster!"); -#endif - + msg_print(_("素早く動けるようになった!", "You feel yourself moving much faster!")); notice = TRUE; chg_virtue(V_PATIENCE, -1); chg_virtue(V_DILIGENCE, 1); @@ -914,12 +772,7 @@ msg_print(" { if (p_ptr->fast && !p_ptr->lightspeed && !music_singing(MUSIC_SPEED) && !music_singing(MUSIC_SHERO)) { -#ifdef JP -msg_print("Æ°¤­¤ÎÁÇÁᤵ¤¬¤Ê¤¯¤Ê¤Ã¤¿¤è¤¦¤À¡£"); -#else - msg_print("You feel yourself slow down."); -#endif - + msg_print(_("動きの素早さがなくなったようだ。", "You feel yourself slow down.")); notice = TRUE; } } @@ -930,24 +783,19 @@ msg_print("Æ° /* 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); } - -/* - * Set "p_ptr->lightspeed", notice observable changes +/*! + * @brief 光速移動の継続時間をセットする / Set "p_ptr->lightspeed", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_lightspeed(int v, bool do_dec) +bool set_lightspeed(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -956,6 +804,8 @@ bool set_lightspeed(int v, bool do_dec) if (p_ptr->is_dead) return FALSE; + if (p_ptr->wild_mode) v = 0; + /* Open */ if (v) { @@ -965,12 +815,7 @@ bool set_lightspeed(int v, bool do_dec) } else if (!p_ptr->lightspeed) { -#ifdef JP -msg_print("Èó¾ï¤ËÁÇÁ᤯ư¤±¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡ª"); -#else - msg_print("You feel yourself moving extremely faster!"); -#endif - + msg_print(_("非常に素早く動けるようになった!", "You feel yourself moving extremely faster!")); notice = TRUE; chg_virtue(V_PATIENCE, -1); chg_virtue(V_DILIGENCE, 1); @@ -982,12 +827,7 @@ msg_print(" { if (p_ptr->lightspeed) { -#ifdef JP -msg_print("Æ°¤­¤ÎÁÇÁᤵ¤¬¤Ê¤¯¤Ê¤Ã¤¿¤è¤¦¤À¡£"); -#else - msg_print("You feel yourself slow down."); -#endif - + msg_print(_("動きの素早さがなくなったようだ。", "You feel yourself slow down.")); notice = TRUE; } } @@ -998,24 +838,19 @@ msg_print("Æ° /* 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); } - -/* - * Set "p_ptr->slow", notice observable changes +/*! + * @brief 減速の継続時間をセットする / Set "p_ptr->slow", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_slow(int v, bool do_dec) +bool set_slow(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -1033,12 +868,7 @@ bool set_slow(int v, bool do_dec) } else if (!p_ptr->slow) { -#ifdef JP -msg_print("ÂΤÎÆ°¤­¤¬ÃÙ¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡ª"); -#else - msg_print("You feel yourself moving slower!"); -#endif - + msg_print(_("体の動きが遅くなってしまった!", "You feel yourself moving slower!")); notice = TRUE; } } @@ -1048,12 +878,7 @@ msg_print(" { if (p_ptr->slow) { -#ifdef JP -msg_print("Æ°¤­¤ÎÃÙ¤µ¤¬¤Ê¤¯¤Ê¤Ã¤¿¤è¤¦¤À¡£"); -#else - msg_print("You feel yourself speed up."); -#endif - + msg_print(_("動きの遅さがなくなったようだ。", "You feel yourself speed up.")); notice = TRUE; } } @@ -1064,24 +889,20 @@ msg_print("Æ° /* 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); } -/* - * Set "p_ptr->shield", notice observable changes +/*! + * @brief 肌石化の継続時間をセットする / Set "p_ptr->shield", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_shield(int v, bool do_dec) +bool set_shield(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -1099,12 +920,7 @@ bool set_shield(int v, bool do_dec) } else if (!p_ptr->shield) { -#ifdef JP -msg_print("È©¤¬ÀФˤʤä¿¡£"); -#else - msg_print("Your skin turns to stone."); -#endif - + msg_print(_("肌が石になった。", "Your skin turns to stone.")); notice = TRUE; } } @@ -1114,12 +930,7 @@ msg_print("È© { if (p_ptr->shield) { -#ifdef JP -msg_print("È©¤¬¸µ¤ËÌá¤Ã¤¿¡£"); -#else - msg_print("Your skin returns to normal."); -#endif - + msg_print(_("肌が元に戻った。", "Your skin returns to normal.")); notice = TRUE; } } @@ -1133,25 +944,20 @@ msg_print("È© /* 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); } - -/* - * Set "p_ptr->tsubureru", notice observable changes +/*! + * @brief つぶれるの継続時間をセットする / Set "p_ptr->tsubureru", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_tsubureru(int v, bool do_dec) +bool set_tsubureru(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -1169,12 +975,7 @@ bool set_tsubureru(int v, bool do_dec) } else if (!p_ptr->tsubureru) { -#ifdef JP -msg_print("²£¤Ë¿­¤Ó¤¿¡£"); -#else - msg_print("Your body expands horizontally."); -#endif - + msg_print(_("横に伸びた。", "Your body expands horizontally.")); notice = TRUE; } } @@ -1184,12 +985,7 @@ msg_print(" { if (p_ptr->tsubureru) { -#ifdef JP -msg_print("¤â¤¦²£¤Ë¿­¤Ó¤Æ¤¤¤Ê¤¤¡£"); -#else - msg_print("Your body returns to normal."); -#endif - + msg_print(_("もう横に伸びていない。", "Your body returns to normal.")); notice = TRUE; } } @@ -1203,25 +999,20 @@ msg_print(" /* 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); } - -/* - * Set "p_ptr->magicdef", notice observable changes +/*! + * @brief 魔法の鎧の継続時間をセットする / Set "p_ptr->magicdef", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_magicdef(int v, bool do_dec) +bool set_magicdef(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -1239,12 +1030,7 @@ bool set_magicdef(int v, bool do_dec) } else if (!p_ptr->magicdef) { -#ifdef JP - msg_print("ËâË¡¤ÎËɸæÎϤ¬Áý¤·¤¿¤è¤¦¤Êµ¤¤¬¤¹¤ë¡£"); -#else - msg_print("You feel more resistant to magic."); -#endif - + msg_print(_("魔法の防御力が増したような気がする。", "You feel more resistant to magic.")); notice = TRUE; } } @@ -1254,12 +1040,7 @@ bool set_magicdef(int v, bool do_dec) { if (p_ptr->magicdef) { -#ifdef JP - msg_print("ËâË¡¤ÎËɸæÎϤ¬¸µ¤ËÌá¤Ã¤¿¡£"); -#else - msg_print("You feel less resistant to magic."); -#endif - + msg_print(_("魔法の防御力が元に戻った。", "You feel less resistant to magic.")); notice = TRUE; } } @@ -1273,25 +1054,19 @@ bool set_magicdef(int 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); } - - -/* - * Set "p_ptr->blessed", notice observable changes +/*! + * @brief 祝福の継続時間をセットする / Set "p_ptr->blessed", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_blessed(int v, bool do_dec) +bool set_blessed(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -1309,12 +1084,7 @@ bool set_blessed(int v, bool do_dec) } else if (!IS_BLESSED()) { -#ifdef JP -msg_print("¹â·é¤Êµ¤Ê¬¤Ë¤Ê¤Ã¤¿¡ª"); -#else - msg_print("You feel righteous!"); -#endif - + msg_print(_("高潔な気分になった!", "You feel righteous!")); notice = TRUE; } } @@ -1324,12 +1094,7 @@ msg_print(" { if (p_ptr->blessed && !music_singing(MUSIC_BLESS)) { -#ifdef JP -msg_print("¹â·é¤Êµ¤Ê¬¤¬¾Ã¤¨¼º¤»¤¿¡£"); -#else - msg_print("The prayer has expired."); -#endif - + msg_print(_("高潔な気分が消え失せた。", "The prayer has expired.")); notice = TRUE; } } @@ -1343,24 +1108,20 @@ msg_print(" /* 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); } -/* - * Set "p_ptr->hero", notice observable changes +/*! + * @brief 士気高揚の継続時間をセットする / Set "p_ptr->hero", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_hero(int v, bool do_dec) +bool set_hero(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -1378,12 +1139,7 @@ bool set_hero(int v, bool do_dec) } else if (!IS_HERO()) { -#ifdef JP -msg_print("¥Ò¡¼¥í¡¼¤Ë¤Ê¤Ã¤¿µ¤¤¬¤¹¤ë¡ª"); -#else - msg_print("You feel like a hero!"); -#endif - + msg_print(_("ヒーローになった気がする!", "You feel like a hero!")); notice = TRUE; } } @@ -1393,12 +1149,7 @@ msg_print(" { if (p_ptr->hero && !music_singing(MUSIC_HERO) && !music_singing(MUSIC_SHERO)) { -#ifdef JP -msg_print("¥Ò¡¼¥í¡¼¤Îµ¤Ê¬¤¬¾Ã¤¨¼º¤»¤¿¡£"); -#else - msg_print("The heroism wears off."); -#endif - + msg_print(_("ヒーローの気分が消え失せた。", "The heroism wears off.")); notice = TRUE; } } @@ -1412,27 +1163,22 @@ msg_print(" /* 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); } - -/* - * Set "p_ptr->shero", notice observable changes +/*! + * @brief 狂戦士化の継続時間をセットする / Set "p_ptr->shero", notice observable changes + * @param v 継続時間/ 0ならば無条件にリセット + * @param do_dec FALSEの場合現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_shero(int v, bool do_dec) +bool set_shero(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -1451,12 +1197,7 @@ bool set_shero(int v, bool do_dec) } else if (!p_ptr->shero) { -#ifdef JP -msg_print("»¦Ù¤¥Þ¥·¡¼¥ó¤Ë¤Ê¤Ã¤¿µ¤¤¬¤¹¤ë¡ª"); -#else - msg_print("You feel like a killing machine!"); -#endif - + msg_print(_("殺戮マシーンになった気がする!", "You feel like a killing machine!")); notice = TRUE; } } @@ -1466,12 +1207,7 @@ msg_print(" { if (p_ptr->shero) { -#ifdef JP -msg_print("ÌîÈڤʵ¤»ý¤Á¤¬¾Ã¤¨¼º¤»¤¿¡£"); -#else - msg_print("You feel less Berserk."); -#endif - + msg_print(_("野蛮な気持ちが消え失せた。", "You feel less Berserk.")); notice = TRUE; } } @@ -1485,27 +1221,22 @@ msg_print(" /* 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); } - -/* - * Set "p_ptr->protevil", notice observable changes +/*! + * @brief 対邪悪結界の継続時間をセットする / Set "p_ptr->protevil", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_protevil(int v, bool do_dec) +bool set_protevil(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -1523,12 +1254,7 @@ bool set_protevil(int v, bool do_dec) } else if (!p_ptr->protevil) { -#ifdef JP -msg_print("¼Ù°­¤Ê¤ë¸ºß¤«¤é¼é¤é¤ì¤Æ¤¤¤ë¤è¤¦¤Ê´¶¤¸¤¬¤¹¤ë¡ª"); -#else - msg_print("You feel safe from evil!"); -#endif - + msg_print(_("邪悪なる存在から守られているような感じがする!", "You feel safe from evil!")); notice = TRUE; } } @@ -1538,12 +1264,7 @@ msg_print(" { if (p_ptr->protevil) { -#ifdef JP -msg_print("¼Ù°­¤Ê¤ë¸ºß¤«¤é¼é¤é¤ì¤Æ¤¤¤ë´¶¤¸¤¬¤Ê¤¯¤Ê¤Ã¤¿¡£"); -#else - msg_print("You no longer feel safe from evil."); -#endif - + msg_print(_("邪悪なる存在から守られている感じがなくなった。", "You no longer feel safe from evil.")); notice = TRUE; } } @@ -1557,20 +1278,18 @@ msg_print(" /* 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); } -/* - * Set "p_ptr->wraith_form", notice observable changes +/*! + * @brief 幽体化の継続時間をセットする / Set "p_ptr->wraith_form", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_wraith_form(int v, bool do_dec) +bool set_wraith_form(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -1588,26 +1307,16 @@ bool set_wraith_form(int v, bool do_dec) } else if (!p_ptr->wraith_form) { -#ifdef JP -msg_print("ʪ¼Á³¦¤òÎ¥¤ì¤ÆÍ©µ´¤Î¤è¤¦¤Ê¸ºß¤Ë¤Ê¤Ã¤¿¡ª"); -#else - msg_print("You leave the physical world and turn into a wraith-being!"); -#endif - + msg_print(_("物質界を離れて幽鬼のような存在になった!", "You leave the physical world and turn into a wraith-being!")); notice = TRUE; - chg_virtue(V_UNLIFE, 3); chg_virtue(V_HONOUR, -2); 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); } } @@ -1617,21 +1326,12 @@ msg_print("ʪ { if (p_ptr->wraith_form) { -#ifdef JP -msg_print("ÉÔÆ©ÌÀ¤Ë¤Ê¤Ã¤¿´¶¤¸¤¬¤¹¤ë¡£"); -#else - msg_print("You feel opaque."); -#endif - + 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); } } @@ -1645,25 +1345,20 @@ msg_print(" /* 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); } - -/* - * Set "p_ptr->invuln", notice observable changes +/*! + * @brief 無傷球の継続時間をセットする / Set "p_ptr->invuln", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_invuln(int v, bool do_dec) +bool set_invuln(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -1681,12 +1376,7 @@ bool set_invuln(int v, bool do_dec) } else if (!IS_INVULN()) { -#ifdef JP -msg_print("̵Ũ¤À¡ª"); -#else - msg_print("Invulnerability!"); -#endif - + msg_print(_("無敵だ!", "Invulnerability!")); notice = TRUE; chg_virtue(V_UNLIFE, -2); @@ -1694,13 +1384,9 @@ msg_print("̵Ũ 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); } } @@ -1710,21 +1396,12 @@ msg_print("̵Ũ { if (p_ptr->invuln && !music_singing(MUSIC_INVULN)) { -#ifdef JP -msg_print("̵Ũ¤Ç¤Ï¤Ê¤¯¤Ê¤Ã¤¿¡£"); -#else - msg_print("The invulnerability wears off."); -#endif - + 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(); @@ -1740,24 +1417,19 @@ msg_print("̵Ũ /* 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); } - -/* - * Set "p_ptr->tim_esp", notice observable changes +/*! + * @brief 時限ESPの継続時間をセットする / Set "p_ptr->tim_esp", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_tim_esp(int v, bool do_dec) +bool set_tim_esp(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -1775,12 +1447,7 @@ bool set_tim_esp(int v, bool do_dec) } else if (!IS_TIM_ESP()) { -#ifdef JP -msg_print("°Õ¼±¤¬¹­¤¬¤Ã¤¿µ¤¤¬¤¹¤ë¡ª"); -#else - msg_print("You feel your consciousness expand!"); -#endif - + msg_print(_("意識が広がった気がする!", "You feel your consciousness expand!")); notice = TRUE; } } @@ -1790,12 +1457,7 @@ msg_print(" { if (p_ptr->tim_esp && !music_singing(MUSIC_MIND)) { -#ifdef JP -msg_print("°Õ¼±¤Ï¸µ¤ËÌá¤Ã¤¿¡£"); -#else - msg_print("Your consciousness contracts again."); -#endif - + msg_print(_("意識は元に戻った。", "Your consciousness contracts again.")); notice = TRUE; } } @@ -1809,27 +1471,20 @@ msg_print(" /* 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); } - -/* - * Set "p_ptr->tim_invis", notice observable changes +/*! + * @brief 時限透明視の継続時間をセットする / Set "p_ptr->tim_invis", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_tim_invis(int v, bool do_dec) +bool set_tim_invis(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -1847,12 +1502,7 @@ bool set_tim_invis(int v, bool do_dec) } else if (!p_ptr->tim_invis) { -#ifdef JP -msg_print("Ìܤ¬Èó¾ï¤ËÉÒ´¶¤Ë¤Ê¤Ã¤¿µ¤¤¬¤¹¤ë¡ª"); -#else - msg_print("Your eyes feel very sensitive!"); -#endif - + msg_print(_("目が非常に敏感になった気がする!", "Your eyes feel very sensitive!")); notice = TRUE; } } @@ -1862,12 +1512,7 @@ msg_print(" { if (p_ptr->tim_invis) { -#ifdef JP -msg_print("ÌܤÎÉÒ´¶¤µ¤¬¤Ê¤¯¤Ê¤Ã¤¿¤è¤¦¤À¡£"); -#else - msg_print("Your eyes feel less sensitive."); -#endif - + msg_print(_("目の敏感さがなくなったようだ。", "Your eyes feel less sensitive.")); notice = TRUE; } } @@ -1881,27 +1526,22 @@ msg_print(" /* 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); } - -/* - * Set "p_ptr->tim_infra", notice observable changes +/*! + * @brief 時限赤外線視力の継続時間をセットする / Set "p_ptr->tim_infra", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_tim_infra(int v, bool do_dec) +bool set_tim_infra(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -1919,12 +1559,7 @@ bool set_tim_infra(int v, bool do_dec) } else if (!p_ptr->tim_infra) { -#ifdef JP -msg_print("Ìܤ¬¥é¥ó¥é¥ó¤Èµ±¤­»Ï¤á¤¿¡ª"); -#else - msg_print("Your eyes begin to tingle!"); -#endif - + msg_print(_("目がランランと輝き始めた!", "Your eyes begin to tingle!")); notice = TRUE; } } @@ -1934,12 +1569,7 @@ msg_print(" { if (p_ptr->tim_infra) { -#ifdef JP -msg_print("Ìܤ層­¤¬¤Ê¤¯¤Ê¤Ã¤¿¡£"); -#else - msg_print("Your eyes stop tingling."); -#endif - + msg_print(_("目の輝きがなくなった。", "Your eyes stop tingling.")); notice = TRUE; } } @@ -1953,27 +1583,22 @@ msg_print(" /* 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); } - -/* - * Set "p_ptr->tim_regen", notice observable changes +/*! + * @brief 時限急回復の継続時間をセットする / Set "p_ptr->tim_regen", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_tim_regen(int v, bool do_dec) +bool set_tim_regen(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -1991,12 +1616,7 @@ bool set_tim_regen(int v, bool do_dec) } else if (!p_ptr->tim_regen) { -#ifdef JP -msg_print("²óÉüÎϤ¬¾å¤¬¤Ã¤¿¡ª"); -#else - msg_print("You feel yourself regenerating quickly!"); -#endif - + msg_print(_("回復力が上がった!", "You feel yourself regenerating quickly!")); notice = TRUE; } } @@ -2006,12 +1626,7 @@ msg_print(" { if (p_ptr->tim_regen) { -#ifdef JP -msg_print("ÁÇÁ᤯²óÉü¤¹¤ë´¶¤¸¤¬¤Ê¤¯¤Ê¤Ã¤¿¡£"); -#else - msg_print("You feel yourself regenerating slowly."); -#endif - + msg_print(_("素早く回復する感じがなくなった。", "You feel yourself regenerating slowly.")); notice = TRUE; } } @@ -2025,24 +1640,19 @@ msg_print(" /* 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); } - -/* - * Set "p_ptr->tim_stealth", notice observable changes +/*! + * @brief 隠密の歌の継続時間をセットする / Set "p_ptr->tim_stealth", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_tim_stealth(int v, bool do_dec) +bool set_tim_stealth(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -2060,12 +1670,7 @@ bool set_tim_stealth(int v, bool do_dec) } else if (!IS_TIM_STEALTH()) { -#ifdef JP -msg_print("­²»¤¬¾®¤µ¤¯¤Ê¤Ã¤¿¡ª"); -#else - msg_print("You begin to walk silently!"); -#endif - + msg_print(_("足音が小さくなった!", "You begin to walk silently!")); notice = TRUE; } } @@ -2075,12 +1680,7 @@ msg_print("­ { if (p_ptr->tim_stealth && !music_singing(MUSIC_STEALTH)) { -#ifdef JP -msg_print("­²»¤¬Â礭¤¯¤Ê¤Ã¤¿¡£"); -#else - msg_print("You no longer walk silently."); -#endif - + msg_print(_("足音が大きくなった。", "You no longer walk silently.")); notice = TRUE; } } @@ -2094,20 +1694,17 @@ msg_print("­ /* 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); } - +/*! + * @brief 超隠密状態をセットする + * @param set TRUEならば超隠密状態になる。 + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 + */ bool set_superstealth(bool set) { bool notice = FALSE; @@ -2119,22 +1716,14 @@ bool set_superstealth(bool set) { if (!(p_ptr->special_defense & NINJA_S_STEALTH)) { - if (cave[py][px].info & CAVE_MNLT) + if (cave[p_ptr->y][p_ptr->x].info & CAVE_MNLT) { -#ifdef JP - msg_print("Ũ¤ÎÌܤ«¤éÇö¤¤±Æ¤ÎÃæ¤Ëʤ¤¤±£¤µ¤ì¤¿¡£"); -#else - msg_print("You are mantled in weak shadow from ordinary eyes."); -#endif + msg_print(_("敵の目から薄い影の中に覆い隠された。", "You are mantled in weak shadow from ordinary eyes.")); p_ptr->monlite = p_ptr->old_monlite = TRUE; } else { -#ifdef JP - msg_print("Ũ¤ÎÌܤ«¤é±Æ¤ÎÃæ¤Ëʤ¤¤±£¤µ¤ì¤¿¡ª"); -#else - msg_print("You are mantled in shadow from ordinary eyes!"); -#endif + msg_print(_("敵の目から影の中に覆い隠された!", "You are mantled in shadow from ordinary eyes!")); p_ptr->monlite = p_ptr->old_monlite = FALSE; } @@ -2150,12 +1739,7 @@ bool set_superstealth(bool set) { if (p_ptr->special_defense & NINJA_S_STEALTH) { -#ifdef JP - msg_print("ºÆ¤ÓŨ¤ÎÌܤˤµ¤é¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£"); -#else - msg_print("You are exposed to common sight once more."); -#endif - + msg_print(_("再び敵の目にさらされるようになった。", "You are exposed to common sight once more.")); notice = TRUE; /* Use the value */ @@ -2169,18 +1753,17 @@ 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); } - -/* - * Set "p_ptr->tim_levitation", notice observable changes +/*! + * @brief 一時的浮遊の継続時間をセットする / Set "p_ptr->tim_levitation", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_tim_levitation(int v, bool do_dec) +bool set_tim_levitation(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -2198,12 +1781,7 @@ bool set_tim_levitation(int v, bool do_dec) } else if (!p_ptr->tim_levitation) { -#ifdef JP -msg_print("ÂΤ¬Ãè¤ËÉ⤭»Ï¤á¤¿¡£"); -#else - msg_print("You begin to fly!"); -#endif - + msg_print(_("体が宙に浮き始めた。", "You begin to fly!")); notice = TRUE; } } @@ -2213,12 +1791,7 @@ msg_print(" { if (p_ptr->tim_levitation) { -#ifdef JP -msg_print("¤â¤¦Ãè¤ËÉ⤫¤Ù¤Ê¤¯¤Ê¤Ã¤¿¡£"); -#else - msg_print("You stop flying."); -#endif - + msg_print(_("もう宙に浮かべなくなった。", "You stop flying.")); notice = TRUE; } } @@ -2232,24 +1805,19 @@ msg_print(" /* 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); } - -/* - * Set "p_ptr->tim_sh_touki", notice observable changes +/*! + * @brief 一時的闘気のオーラの継続時間をセットする / Set "p_ptr->tim_sh_touki", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_tim_sh_touki(int v, bool do_dec) +bool set_tim_sh_touki(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -2267,12 +1835,7 @@ bool set_tim_sh_touki(int v, bool do_dec) } else if (!p_ptr->tim_sh_touki) { -#ifdef JP -msg_print("ÂΤ¬Æ®µ¤¤Î¥ª¡¼¥é¤Çʤ¤ï¤ì¤¿¡£"); -#else - msg_print("You have enveloped by the aura of the Force!"); -#endif - + msg_print(_("体が闘気のオーラで覆われた。", "You have enveloped by the aura of the Force!")); notice = TRUE; } } @@ -2282,12 +1845,7 @@ msg_print(" { if (p_ptr->tim_sh_touki) { -#ifdef JP -msg_print("Æ®µ¤¤¬¾Ã¤¨¤¿¡£"); -#else - msg_print("Aura of the Force disappeared."); -#endif - + msg_print(_("闘気が消えた。", "Aura of the Force disappeared.")); notice = TRUE; } } @@ -2301,21 +1859,18 @@ msg_print("Æ® /* 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); } - -/* - * Set "p_ptr->tim_sh_fire", notice observable changes +/*! + * @brief 一時的火炎のオーラの継続時間をセットする / Set "p_ptr->tim_sh_fire", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_tim_sh_fire(int v, bool do_dec) +bool set_tim_sh_fire(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -2333,12 +1888,7 @@ bool set_tim_sh_fire(int v, bool do_dec) } else if (!p_ptr->tim_sh_fire) { -#ifdef JP -msg_print("ÂΤ¬±ê¤Î¥ª¡¼¥é¤Çʤ¤ï¤ì¤¿¡£"); -#else - msg_print("You have enveloped by fiery aura!"); -#endif - + msg_print(_("体が炎のオーラで覆われた。", "You have enveloped by fiery aura!")); notice = TRUE; } } @@ -2348,12 +1898,7 @@ msg_print(" { if (p_ptr->tim_sh_fire) { -#ifdef JP -msg_print("±ê¤Î¥ª¡¼¥é¤¬¾Ã¤¨¤¿¡£"); -#else - msg_print("Fiery aura disappeared."); -#endif - + msg_print(_("炎のオーラが消えた。", "Fiery aura disappeared.")); notice = TRUE; } } @@ -2367,24 +1912,19 @@ msg_print(" /* 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); } - -/* - * Set "p_ptr->tim_sh_holy", notice observable changes +/*! + * @brief 一時的聖なるのオーラの継続時間をセットする / Set "p_ptr->tim_sh_holy", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_tim_sh_holy(int v, bool do_dec) +bool set_tim_sh_holy(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -2402,12 +1942,7 @@ bool set_tim_sh_holy(int v, bool do_dec) } else if (!p_ptr->tim_sh_holy) { -#ifdef JP -msg_print("ÂΤ¬À»¤Ê¤ë¥ª¡¼¥é¤Çʤ¤ï¤ì¤¿¡£"); -#else - msg_print("You have enveloped by holy aura!"); -#endif - + msg_print(_("体が聖なるオーラで覆われた。", "You have enveloped by holy aura!")); notice = TRUE; } } @@ -2417,12 +1952,7 @@ msg_print(" { if (p_ptr->tim_sh_holy) { -#ifdef JP -msg_print("À»¤Ê¤ë¥ª¡¼¥é¤¬¾Ã¤¨¤¿¡£"); -#else - msg_print("Holy aura disappeared."); -#endif - + msg_print(_("聖なるオーラが消えた。", "Holy aura disappeared.")); notice = TRUE; } } @@ -2436,25 +1966,19 @@ msg_print(" /* 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); } - - -/* - * Set "p_ptr->tim_eyeeye", notice observable changes +/*! + * @brief 目には目をの残り時間をセットする / Set "p_ptr->tim_eyeeye", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_tim_eyeeye(int v, bool do_dec) +bool set_tim_eyeeye(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -2472,12 +1996,7 @@ bool set_tim_eyeeye(int v, bool do_dec) } else if (!p_ptr->tim_eyeeye) { -#ifdef JP -msg_print("Ë¡¤Î¼é¤ê¼ê¤Ë¤Ê¤Ã¤¿µ¤¤¬¤·¤¿¡ª"); -#else - msg_print("You feel like a keeper of commandments!"); -#endif - + msg_print(_("法の守り手になった気がした!", "You feel like a keeper of commandments!")); notice = TRUE; } } @@ -2487,12 +2006,7 @@ msg_print("Ë¡ { if (p_ptr->tim_eyeeye) { -#ifdef JP -msg_print("Ĩȳ¤ò¼¹¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¯¤Ê¤Ã¤¿¡£"); -#else - msg_print("You no longer feel like a keeper."); -#endif - + msg_print(_("懲罰を執行することができなくなった。", "You no longer feel like a keeper.")); notice = TRUE; } } @@ -2506,25 +2020,20 @@ msg_print("Ĩȳ /* 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); } - -/* - * Set "p_ptr->resist_magic", notice observable changes +/*! + * @brief 一時的魔法防御の継続時間をセットする / Set "p_ptr->resist_magic", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_resist_magic(int v, bool do_dec) +bool set_resist_magic(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -2542,12 +2051,7 @@ bool set_resist_magic(int v, bool do_dec) } else if (!p_ptr->resist_magic) { -#ifdef JP -msg_print("ËâË¡¤Ø¤ÎÂÑÀ­¤¬¤Ä¤¤¤¿¡£"); -#else - msg_print("You have been protected from magic!"); -#endif - + msg_print(_("魔法への耐性がついた。", "You have been protected from magic!")); notice = TRUE; } } @@ -2557,12 +2061,7 @@ msg_print(" { if (p_ptr->resist_magic) { -#ifdef JP -msg_print("ËâË¡¤Ë¼å¤¯¤Ê¤Ã¤¿¡£"); -#else -msg_print("You are no longer protected from magic."); -#endif - + msg_print(_("魔法に弱くなった。", "You are no longer protected from magic.")); notice = TRUE; } } @@ -2576,24 +2075,19 @@ msg_print("You are no longer protected from magic."); /* 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); } - -/* - * Set "p_ptr->tim_reflect", notice observable changes +/*! + * @brief 一時的反射の継続時間をセットする / Set "p_ptr->tim_reflect", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_tim_reflect(int v, bool do_dec) +bool set_tim_reflect(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -2611,12 +2105,7 @@ bool set_tim_reflect(int v, bool do_dec) } else if (!p_ptr->tim_reflect) { -#ifdef JP -msg_print("ÂΤÎɽÌ̤¬³ê¤«¤Ë¤Ê¤Ã¤¿µ¤¤¬¤¹¤ë¡£"); -#else - msg_print("Your body becames smooth."); -#endif - + msg_print(_("体の表面が滑かになった気がする。", "Your body becames smooth.")); notice = TRUE; } } @@ -2626,12 +2115,7 @@ msg_print(" { if (p_ptr->tim_reflect) { -#ifdef JP -msg_print("ÂΤÎɽÌ̤¬³ê¤«¤Ç¤Ê¤¯¤Ê¤Ã¤¿¡£"); -#else - msg_print("Your body is no longer smooth."); -#endif - + msg_print(_("体の表面が滑かでなくなった。", "Your body is no longer smooth.")); notice = TRUE; } } @@ -2645,16 +2129,9 @@ msg_print(" /* 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); } @@ -2662,7 +2139,7 @@ msg_print(" /* * Set "p_ptr->multishadow", notice observable changes */ -bool set_multishadow(int v, bool do_dec) +bool set_multishadow(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -2680,12 +2157,7 @@ bool set_multishadow(int v, bool do_dec) } else if (!p_ptr->multishadow) { -#ifdef JP -msg_print("¤¢¤Ê¤¿¤Î¼þ¤ê¤Ë¸¸±Æ¤¬À¸¤Þ¤ì¤¿¡£"); -#else - msg_print("Your Shadow enveloped you."); -#endif - + msg_print(_("あなたの周りに幻影が生まれた。", "Your Shadow enveloped you.")); notice = TRUE; } } @@ -2695,12 +2167,7 @@ msg_print(" { if (p_ptr->multishadow) { -#ifdef JP -msg_print("¸¸±Æ¤¬¾Ã¤¨¤¿¡£"); -#else - msg_print("Your Shadow disappears."); -#endif - + msg_print(_("幻影が消えた。", "Your Shadow disappears.")); notice = TRUE; } } @@ -2714,24 +2181,19 @@ msg_print(" /* 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); } - -/* - * Set "p_ptr->dustrobe", notice observable changes +/*! + * @brief 一時的破片のオーラの継続時間をセットする / Set "p_ptr->dustrobe", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_dustrobe(int v, bool do_dec) +bool set_dustrobe(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -2749,12 +2211,7 @@ bool set_dustrobe(int v, bool do_dec) } else if (!p_ptr->dustrobe) { -#ifdef JP -msg_print("ÂΤ¬¶À¤Î¥ª¡¼¥é¤Çʤ¤ï¤ì¤¿¡£"); -#else - msg_print("You were enveloped by mirror shards."); -#endif - + msg_print(_("体が鏡のオーラで覆われた。", "You were enveloped by mirror shards.")); notice = TRUE; } } @@ -2764,12 +2221,7 @@ msg_print(" { if (p_ptr->dustrobe) { -#ifdef JP -msg_print("¶À¤Î¥ª¡¼¥é¤¬¾Ã¤¨¤¿¡£"); -#else - msg_print("The mirror shards disappear."); -#endif - + msg_print(_("鏡のオーラが消えた。", "The mirror shards disappear.")); notice = TRUE; } } @@ -2783,24 +2235,19 @@ msg_print(" /* 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); } - -/* - * Set "p_ptr->tim_regen", notice observable changes +/*! + * @brief 一時的壁抜けの継続時間をセットする / Set "p_ptr->kabenuke", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_kabenuke(int v, bool do_dec) +bool set_kabenuke(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -2818,12 +2265,7 @@ bool set_kabenuke(int v, bool do_dec) } else if (!p_ptr->kabenuke) { -#ifdef JP -msg_print("ÂΤ¬È¾Êª¼Á¤Î¾õÂ֤ˤʤä¿¡£"); -#else - msg_print("You became ethereal form."); -#endif - + msg_print(_("体が半物質の状態になった。", "You became ethereal form.")); notice = TRUE; } } @@ -2833,12 +2275,7 @@ msg_print(" { if (p_ptr->kabenuke) { -#ifdef JP -msg_print("ÂΤ¬Êª¼Á²½¤·¤¿¡£"); -#else - msg_print("You are no longer in an ethereal form."); -#endif - + msg_print(_("体が物質化した。", "You are no longer in an ethereal form.")); notice = TRUE; } } @@ -2852,21 +2289,19 @@ msg_print(" /* 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_tsuyoshi(int v, bool do_dec) +/*! + * @brief オクレ兄さんの継続時間をセットする / Set "p_ptr->tsuyoshi", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 + */ +bool set_tsuyoshi(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -2884,12 +2319,7 @@ bool set_tsuyoshi(int v, bool do_dec) } else if (!p_ptr->tsuyoshi) { -#ifdef JP -msg_print("¡Ö¥ª¥¯¥ì·»¤µ¤ó¡ª¡×"); -#else - msg_print("Brother OKURE!"); -#endif - + msg_print(_("「オクレ兄さん!」", "Brother OKURE!")); notice = TRUE; chg_virtue(V_VITALITY, 2); } @@ -2900,11 +2330,7 @@ msg_print(" { if (p_ptr->tsuyoshi) { -#ifdef JP -msg_print("ÆùÂΤ¬µÞ®¤Ë¤·¤Ü¤ó¤Ç¤¤¤Ã¤¿¡£"); -#else - msg_print("Your body had quickly shriveled."); -#endif + msg_print(_("肉体が急速にしぼんでいった。", "Your body had quickly shriveled.")); (void)dec_stat(A_CON, 20, TRUE); (void)dec_stat(A_STR, 20, TRUE); @@ -2923,28 +2349,22 @@ msg_print(" /* 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); } - -/* - * Set a temporary elemental brand. Clear all other brands. Print status - * messages. -LM- +/*! + * @brief 一時的元素スレイの継続時間をセットする / Set a temporary elemental brand. Clear all other brands. Print status messages. -LM- + * @param attack_type スレイのタイプID + * @param v 継続時間 + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_ele_attack(u32b attack_type, int v) +bool set_ele_attack(u32b attack_type, TIME_EFFECT v) { /* Hack -- Force good values */ v = (v > 10000) ? 10000 : (v < 0) ? 0 : v; @@ -2953,47 +2373,27 @@ bool set_ele_attack(u32b attack_type, int v) if ((p_ptr->special_attack & (ATTACK_ACID)) && (attack_type != ATTACK_ACID)) { p_ptr->special_attack &= ~(ATTACK_ACID); -#ifdef JP - msg_print("»À¤Ç¹¶·â¤Ç¤­¤Ê¤¯¤Ê¤Ã¤¿¡£"); -#else - msg_print("Your temporary acidic brand fades away."); -#endif + msg_print(_("酸で攻撃できなくなった。", "Your temporary acidic brand fades away.")); } if ((p_ptr->special_attack & (ATTACK_ELEC)) && (attack_type != ATTACK_ELEC)) { p_ptr->special_attack &= ~(ATTACK_ELEC); -#ifdef JP - msg_print("ÅÅ·â¤Ç¹¶·â¤Ç¤­¤Ê¤¯¤Ê¤Ã¤¿¡£"); -#else - msg_print("Your temporary electrical brand fades away."); -#endif + msg_print(_("電撃で攻撃できなくなった。", "Your temporary electrical brand fades away.")); } if ((p_ptr->special_attack & (ATTACK_FIRE)) && (attack_type != ATTACK_FIRE)) { p_ptr->special_attack &= ~(ATTACK_FIRE); -#ifdef JP - msg_print("²Ð±ê¤Ç¹¶·â¤Ç¤­¤Ê¤¯¤Ê¤Ã¤¿¡£"); -#else - msg_print("Your temporary fiery brand fades away."); -#endif + msg_print(_("火炎で攻撃できなくなった。", "Your temporary fiery brand fades away.")); } if ((p_ptr->special_attack & (ATTACK_COLD)) && (attack_type != ATTACK_COLD)) { p_ptr->special_attack &= ~(ATTACK_COLD); -#ifdef JP - msg_print("Î䵤¤Ç¹¶·â¤Ç¤­¤Ê¤¯¤Ê¤Ã¤¿¡£"); -#else - msg_print("Your temporary frost brand fades away."); -#endif + msg_print(_("冷気で攻撃できなくなった。", "Your temporary frost brand fades away.")); } if ((p_ptr->special_attack & (ATTACK_POIS)) && (attack_type != ATTACK_POIS)) { p_ptr->special_attack &= ~(ATTACK_POIS); -#ifdef JP - msg_print("ÆǤǹ¶·â¤Ç¤­¤Ê¤¯¤Ê¤Ã¤¿¡£"); -#else - msg_print("Your temporary poison brand fades away."); -#endif + msg_print(_("毒で攻撃できなくなった。", "Your temporary poison brand fades away.")); } if ((v) && (attack_type)) @@ -3006,13 +2406,13 @@ bool set_ele_attack(u32b attack_type, int v) /* Message. */ #ifdef JP - msg_format("%s¤Ç¹¶·â¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡ª", - ((attack_type == ATTACK_ACID) ? "»À" : - ((attack_type == ATTACK_ELEC) ? "ÅÅ·â" : - ((attack_type == ATTACK_FIRE) ? "²Ð±ê" : - ((attack_type == ATTACK_COLD) ? "Î䵤" : - ((attack_type == ATTACK_POIS) ? "ÆÇ" : - "(¤Ê¤·)")))))); + msg_format("%sで攻撃できるようになった!", + ((attack_type == ATTACK_ACID) ? "酸" : + ((attack_type == ATTACK_ELEC) ? "電撃" : + ((attack_type == ATTACK_FIRE) ? "火炎" : + ((attack_type == ATTACK_COLD) ? "冷気" : + ((attack_type == ATTACK_POIS) ? "毒" : + "(なし)")))))); #else msg_format("For a while, the blows you deal will %s", ((attack_type == ATTACK_ACID) ? "melt with acid!" : @@ -3024,26 +2424,24 @@ bool set_ele_attack(u32b attack_type, int 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); } - -/* - * Set a temporary elemental brand. Clear all other brands. Print status - * messages. -LM- +/*! + * @brief 一時的元素免疫の継続時間をセットする / Set a temporary elemental brand. Clear all other brands. Print status messages. -LM- + * @param immune_type 免疫のタイプID + * @param v 継続時間 + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_ele_immune(u32b immune_type, int v) +bool set_ele_immune(u32b immune_type, TIME_EFFECT v) { /* Hack -- Force good values */ v = (v > 10000) ? 10000 : (v < 0) ? 0 : v; @@ -3052,47 +2450,27 @@ bool set_ele_immune(u32b immune_type, int v) if ((p_ptr->special_defense & (DEFENSE_ACID)) && (immune_type != DEFENSE_ACID)) { p_ptr->special_defense &= ~(DEFENSE_ACID); -#ifdef JP - msg_print("»À¤Î¹¶·â¤Ç½ý¤Ä¤±¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£¡£"); -#else - msg_print("You are no longer immune to acid."); -#endif + msg_print(_("酸の攻撃で傷つけられるようになった。。", "You are no longer immune to acid.")); } if ((p_ptr->special_defense & (DEFENSE_ELEC)) && (immune_type != DEFENSE_ELEC)) { p_ptr->special_defense &= ~(DEFENSE_ELEC); -#ifdef JP - msg_print("ÅÅ·â¤Î¹¶·â¤Ç½ý¤Ä¤±¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£¡£"); -#else - msg_print("You are no longer immune to electricity."); -#endif + msg_print(_("電撃の攻撃で傷つけられるようになった。。", "You are no longer immune to electricity.")); } if ((p_ptr->special_defense & (DEFENSE_FIRE)) && (immune_type != DEFENSE_FIRE)) { p_ptr->special_defense &= ~(DEFENSE_FIRE); -#ifdef JP - msg_print("²Ð±ê¤Î¹¶·â¤Ç½ý¤Ä¤±¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£¡£"); -#else - msg_print("You are no longer immune to fire."); -#endif + msg_print(_("火炎の攻撃で傷つけられるようになった。。", "You are no longer immune to fire.")); } if ((p_ptr->special_defense & (DEFENSE_COLD)) && (immune_type != DEFENSE_COLD)) { p_ptr->special_defense &= ~(DEFENSE_COLD); -#ifdef JP - msg_print("Î䵤¤Î¹¶·â¤Ç½ý¤Ä¤±¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£¡£"); -#else - msg_print("You are no longer immune to cold."); -#endif + msg_print(_("冷気の攻撃で傷つけられるようになった。。", "You are no longer immune to cold.")); } if ((p_ptr->special_defense & (DEFENSE_POIS)) && (immune_type != DEFENSE_POIS)) { p_ptr->special_defense &= ~(DEFENSE_POIS); -#ifdef JP - msg_print("ÆǤι¶·â¤Ç½ý¤Ä¤±¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£¡£"); -#else - msg_print("You are no longer immune to poison."); -#endif + msg_print(_("毒の攻撃で傷つけられるようになった。。", "You are no longer immune to poison.")); } if ((v) && (immune_type)) @@ -3105,13 +2483,13 @@ bool set_ele_immune(u32b immune_type, int 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) ? "ÆÇ" : - "(¤Ê¤·)")))))); + 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!" : @@ -3123,25 +2501,24 @@ bool set_ele_immune(u32b immune_type, int 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); } - -/* - * Set "p_ptr->oppose_acid", notice observable changes +/*! + * @brief 一時的酸耐性の継続時間をセットする / Set "p_ptr->oppose_acid", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_oppose_acid(int v, bool do_dec) +bool set_oppose_acid(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -3159,12 +2536,7 @@ bool set_oppose_acid(int v, bool do_dec) } else if (!IS_OPPOSE_ACID()) { -#ifdef JP -msg_print("»À¤Ø¤ÎÂÑÀ­¤¬¤Ä¤¤¤¿µ¤¤¬¤¹¤ë¡ª"); -#else - msg_print("You feel resistant to acid!"); -#endif - + msg_print(_("酸への耐性がついた気がする!", "You feel resistant to acid!")); notice = TRUE; } } @@ -3174,12 +2546,7 @@ msg_print(" { if (p_ptr->oppose_acid && !music_singing(MUSIC_RESIST) && !(p_ptr->special_defense & KATA_MUSOU)) { -#ifdef JP -msg_print("»À¤Ø¤ÎÂÑÀ­¤¬Çö¤ì¤¿µ¤¤¬¤¹¤ë¡£"); -#else - msg_print("You feel less resistant to acid."); -#endif - + msg_print(_("酸への耐性が薄れた気がする。", "You feel less resistant to acid.")); notice = TRUE; } } @@ -3193,21 +2560,18 @@ msg_print(" /* 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); } - -/* - * Set "p_ptr->oppose_elec", notice observable changes +/*! + * @brief 一時的電撃耐性の継続時間をセットする / Set "p_ptr->oppose_elec", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_oppose_elec(int v, bool do_dec) +bool set_oppose_elec(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -3225,12 +2589,7 @@ bool set_oppose_elec(int v, bool do_dec) } else if (!IS_OPPOSE_ELEC()) { -#ifdef JP -msg_print("ÅÅ·â¤Ø¤ÎÂÑÀ­¤¬¤Ä¤¤¤¿µ¤¤¬¤¹¤ë¡ª"); -#else - msg_print("You feel resistant to electricity!"); -#endif - + msg_print(_("電撃への耐性がついた気がする!", "You feel resistant to electricity!")); notice = TRUE; } } @@ -3240,12 +2599,7 @@ msg_print(" { if (p_ptr->oppose_elec && !music_singing(MUSIC_RESIST) && !(p_ptr->special_defense & KATA_MUSOU)) { -#ifdef JP -msg_print("ÅÅ·â¤Ø¤ÎÂÑÀ­¤¬Çö¤ì¤¿µ¤¤¬¤¹¤ë¡£"); -#else - msg_print("You feel less resistant to electricity."); -#endif - + msg_print(_("電撃への耐性が薄れた気がする。", "You feel less resistant to electricity.")); notice = TRUE; } } @@ -3259,21 +2613,18 @@ msg_print(" /* 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); } - -/* - * Set "p_ptr->oppose_fire", notice observable changes +/*! + * @brief 一時的火炎耐性の継続時間をセットする / Set "p_ptr->oppose_fire", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_oppose_fire(int v, bool do_dec) +bool set_oppose_fire(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -3292,12 +2643,7 @@ bool set_oppose_fire(int v, bool do_dec) } else if (!IS_OPPOSE_FIRE()) { -#ifdef JP -msg_print("²Ð¤Ø¤ÎÂÑÀ­¤¬¤Ä¤¤¤¿µ¤¤¬¤¹¤ë¡ª"); -#else - msg_print("You feel resistant to fire!"); -#endif - + msg_print(_("火への耐性がついた気がする!", "You feel resistant to fire!")); notice = TRUE; } } @@ -3307,12 +2653,7 @@ msg_print(" { if (p_ptr->oppose_fire && !music_singing(MUSIC_RESIST) && !(p_ptr->special_defense & KATA_MUSOU)) { -#ifdef JP -msg_print("²Ð¤Ø¤ÎÂÑÀ­¤¬Çö¤ì¤¿µ¤¤¬¤¹¤ë¡£"); -#else - msg_print("You feel less resistant to fire."); -#endif - + msg_print(_("火への耐性が薄れた気がする。", "You feel less resistant to fire.")); notice = TRUE; } } @@ -3326,21 +2667,18 @@ msg_print(" /* 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); } - -/* - * Set "p_ptr->oppose_cold", notice observable changes +/*! + * @brief 一時的冷気耐性の継続時間をセットする / Set "p_ptr->oppose_cold", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_oppose_cold(int v, bool do_dec) +bool set_oppose_cold(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -3358,12 +2696,7 @@ bool set_oppose_cold(int v, bool do_dec) } else if (!IS_OPPOSE_COLD()) { -#ifdef JP -msg_print("Î䵤¤Ø¤ÎÂÑÀ­¤¬¤Ä¤¤¤¿µ¤¤¬¤¹¤ë¡ª"); -#else - msg_print("You feel resistant to cold!"); -#endif - + msg_print(_("冷気への耐性がついた気がする!", "You feel resistant to cold!")); notice = TRUE; } } @@ -3373,12 +2706,7 @@ msg_print(" { if (p_ptr->oppose_cold && !music_singing(MUSIC_RESIST) && !(p_ptr->special_defense & KATA_MUSOU)) { -#ifdef JP -msg_print("Î䵤¤Ø¤ÎÂÑÀ­¤¬Çö¤ì¤¿µ¤¤¬¤¹¤ë¡£"); -#else - msg_print("You feel less resistant to cold."); -#endif - + msg_print(_("冷気への耐性が薄れた気がする。", "You feel less resistant to cold.")); notice = TRUE; } } @@ -3392,21 +2720,18 @@ msg_print(" /* 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); } - -/* - * Set "p_ptr->oppose_pois", notice observable changes +/*! + * @brief 一時的毒耐性の継続時間をセットする / Set "p_ptr->oppose_pois", notice observable changes + * @param v 継続時間 + * @param do_dec 現在の継続時間より長い値のみ上書きする + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 */ -bool set_oppose_pois(int v, bool do_dec) +bool set_oppose_pois(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -3425,12 +2750,7 @@ bool set_oppose_pois(int v, bool do_dec) } else if (!IS_OPPOSE_POIS()) { -#ifdef JP -msg_print("ÆǤؤÎÂÑÀ­¤¬¤Ä¤¤¤¿µ¤¤¬¤¹¤ë¡ª"); -#else - msg_print("You feel resistant to poison!"); -#endif - + msg_print(_("毒への耐性がついた気がする!", "You feel resistant to poison!")); notice = TRUE; } } @@ -3440,12 +2760,7 @@ msg_print(" { if (p_ptr->oppose_pois && !music_singing(MUSIC_RESIST) && !(p_ptr->special_defense & KATA_MUSOU)) { -#ifdef JP -msg_print("ÆǤؤÎÂÑÀ­¤¬Çö¤ì¤¿µ¤¤¬¤¹¤ë¡£"); -#else - msg_print("You feel less resistant to poison."); -#endif - + msg_print(_("毒への耐性が薄れた気がする。", "You feel less resistant to poison.")); notice = TRUE; } } @@ -3459,23 +2774,19 @@ msg_print(" /* 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); } - -/* - * Set "p_ptr->stun", notice observable changes - * +/*! + * @brief 朦朧の継続時間をセットする / Set "p_ptr->stun", notice observable changes + * @param v 継続時間 + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 + * @details * Note the special code to only notice "range" changes. */ -bool set_stun(int v) +bool set_stun(TIME_EFFECT v) { int old_aux, new_aux; bool notice = FALSE; @@ -3543,43 +2854,18 @@ bool set_stun(int v) switch (new_aux) { /* Stun */ - case 1: -#ifdef JP -msg_print("°Õ¼±¤¬¤â¤¦¤í¤¦¤È¤·¤Æ¤­¤¿¡£"); -#else - msg_print("You have been stunned."); -#endif - - break; + case 1: msg_print(_("意識がもうろうとしてきた。", "You have been stunned.")); break; /* Heavy stun */ - case 2: -#ifdef JP -msg_print("°Õ¼±¤¬¤Ò¤É¤¯¤â¤¦¤í¤¦¤È¤·¤Æ¤­¤¿¡£"); -#else - msg_print("You have been heavily stunned."); -#endif - - break; + case 2: msg_print(_("意識がひどくもうろうとしてきた。", "You have been heavily stunned.")); break; /* Knocked out */ - case 3: -#ifdef JP -msg_print("Ƭ¤¬¥¯¥é¥¯¥é¤·¤Æ°Õ¼±¤¬±ó¤Î¤¤¤Æ¤­¤¿¡£"); -#else - msg_print("You have been knocked out."); -#endif - - break; + case 3: msg_print(_("頭がクラクラして意識が遠のいてきた。", "You have been knocked out.")); break; } if (randint1(1000) < v || one_in_(16)) { -#ifdef JP -msg_print("³ä¤ì¤ë¤è¤¦¤ÊƬÄˤ¬¤¹¤ë¡£"); -#else - msg_print("A vicious blow hits your head."); -#endif + msg_print(_("割れるような頭痛がする。", "A vicious blow hits your head.")); if (one_in_(3)) { @@ -3597,11 +2883,7 @@ msg_print(" } if (p_ptr->special_defense & KATA_MASK) { -#ifdef JP - msg_print("·¿¤¬Êø¤ì¤¿¡£"); -#else - msg_print("Your posture gets loose."); -#endif + msg_print(_("型が崩れた。", "Your posture gets loose.")); p_ptr->special_defense &= ~(KATA_MASK); p_ptr->update |= (PU_BONUS); p_ptr->update |= (PU_MONSTERS); @@ -3610,7 +2892,12 @@ msg_print(" p_ptr->action = ACTION_NONE; } - /* Notice */ + /* Sniper */ + if (p_ptr->concent) reset_concentration(TRUE); + + /* Hex */ + if (hex_spelling_any()) stop_hex_spell_all(); + notice = TRUE; } @@ -3621,18 +2908,13 @@ msg_print(" switch (new_aux) { /* None */ - case 0: -#ifdef JP -msg_print("¤ä¤Ã¤ÈÛ¯Û°¾õÂÖ¤«¤é²óÉü¤·¤¿¡£"); -#else - msg_print("You are no longer stunned."); -#endif + 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; } @@ -3642,29 +2924,24 @@ msg_print(" /* 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); } -/* - * Set "p_ptr->cut", notice observable changes - * +/*! + * @brief 出血の継続時間をセットする / Set "p_ptr->cut", notice observable changes + * @param v 継続時間 + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 + * @details * Note the special code to only notice "range" changes. */ -bool set_cut(int v) +bool set_cut(TIME_EFFECT v) { int old_aux, new_aux; bool notice = FALSE; @@ -3784,90 +3061,34 @@ bool set_cut(int v) switch (new_aux) { /* Graze */ - case 1: -#ifdef JP -msg_print("¤«¤¹¤ê½ý¤òÉé¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£"); -#else - msg_print("You have been given a graze."); -#endif - - break; + case 1: msg_print(_("かすり傷を負ってしまった。", "You have been given a graze.")); break; /* Light cut */ - case 2: -#ifdef JP -msg_print("·Ú¤¤½ý¤òÉé¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£"); -#else - msg_print("You have been given a light cut."); -#endif - - break; + case 2: msg_print(_("軽い傷を負ってしまった。", "You have been given a light cut.")); break; /* Bad cut */ - case 3: -#ifdef JP -msg_print("¤Ò¤É¤¤½ý¤òÉé¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£"); -#else - msg_print("You have been given a bad cut."); -#endif - - break; + case 3: msg_print(_("ひどい傷を負ってしまった。", "You have been given a bad cut.")); break; /* Nasty cut */ - case 4: -#ifdef JP -msg_print("ÂçÊѤʽý¤òÉé¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£"); -#else - msg_print("You have been given a nasty cut."); -#endif - - break; + case 4: msg_print(_("大変な傷を負ってしまった。", "You have been given a nasty cut.")); break; /* Severe cut */ - case 5: -#ifdef JP -msg_print("½ÅÂç¤Ê½ý¤òÉé¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£"); -#else - msg_print("You have been given a severe cut."); -#endif - - break; + case 5: msg_print(_("重大な傷を負ってしまった。", "You have been given a severe cut.")); break; /* Deep gash */ - case 6: -#ifdef JP -msg_print("¤Ò¤É¤¤¿¼¼ê¤òÉé¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£"); -#else - msg_print("You have been given a deep gash."); -#endif - - break; + case 6: msg_print(_("ひどい深手を負ってしまった。", "You have been given a deep gash.")); break; /* Mortal wound */ - case 7: -#ifdef JP -msg_print("Ã×̿Ū¤Ê½ý¤òÉé¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£"); -#else - msg_print("You have been given a mortal wound."); -#endif - - break; + case 7: msg_print(_("致命的な傷を負ってしまった。", "You have been given a mortal wound.")); break; } - /* Notice */ notice = TRUE; if (randint1(1000) < v || one_in_(16)) { if (!p_ptr->sustain_chr) { -#ifdef JP -msg_print("¤Ò¤É¤¤½ýÀפ¬»Ä¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£"); -#else - msg_print("You have been horribly scarred."); -#endif - - + msg_print(_("ひどい傷跡が残ってしまった。", "You have been horribly scarred.")); do_dec_stat(A_CHR); } } @@ -3881,17 +3102,12 @@ msg_print(" { /* None */ case 0: -#ifdef JP -msg_format("¤ä¤Ã¤È%s¡£", p_ptr->prace == RACE_ANDROID ? "²ø²æ¤¬Ä¾¤Ã¤¿" : "½Ð·ì¤¬»ß¤Þ¤Ã¤¿"); -#else - msg_print("You are no longer bleeding."); -#endif + 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; } @@ -3901,46 +3117,42 @@ msg_format(" /* 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); } - -/* - * Set "p_ptr->food", notice observable changes - * +/*! + * @brief 空腹状態をセットする / Set "p_ptr->food", notice observable changes + * @param v 継続時間 + * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。 + * @details + * Set "", notice observable changes\n + *\n * The "p_ptr->food" variable can get as large as 20000, allowing the * addition of the most "filling" item, Elvish Waybread, which adds - * 7500 food units, without overflowing the 32767 maximum limit. - * + * 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 - * + * 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 * when "fast", more when "regenerating", less with "slow digestion", * but when the player is "gorged", he digests 100 food units per 10 - * game turns, or a full 1000 food units per 100 game turns. - * + * game turns, or a full 1000 food units per 100 game turns.\n + *\n * Note that the player's speed is reduced by 10 units while gorged, * so if the player eats a single food ration (5000 food units) when * full (15000 food units), he will be gorged for (5000/100)*10 = 500 * game turns, or 500/(100/5) = 25 player turns (if nothing else is - * affecting the player speed). + * affecting the player speed).\n */ -bool set_food(int v) +bool set_food(TIME_EFFECT v) { int old_aux, new_aux; @@ -4037,52 +3249,20 @@ bool set_food(int v) switch (new_aux) { /* Weak */ - case 1: -#ifdef JP -msg_print("¤Þ¤À¶õÊ¢¤ÇÅݤ줽¤¦¤À¡£"); -#else - msg_print("You are still weak."); -#endif - - break; + case 1: msg_print(_("まだ空腹で倒れそうだ。", "You are still weak.")); break; /* Hungry */ - case 2: -#ifdef JP -msg_print("¤Þ¤À¶õÊ¢¤À¡£"); -#else - msg_print("You are still hungry."); -#endif - - break; + case 2: msg_print(_("まだ空腹だ。", "You are still hungry.")); break; /* Normal */ - case 3: -#ifdef JP -msg_print("¶õÊ¢´¶¤¬¤ª¤µ¤Þ¤Ã¤¿¡£"); -#else - msg_print("You are no longer hungry."); -#endif - - break; + case 3: msg_print(_("空腹感がおさまった。", "You are no longer hungry.")); break; /* Full */ - case 4: -#ifdef JP -msg_print("ËþÊ¢¤À¡ª"); -#else - msg_print("You are full!"); -#endif - - break; + case 4: msg_print(_("満腹だ!", "You are full!")); break; /* Bloated */ case 5: -#ifdef JP -msg_print("¿©¤Ù²á¤®¤À¡ª"); -#else - msg_print("You have gorged yourself!"); -#endif + msg_print(_("食べ過ぎだ!", "You have gorged yourself!")); chg_virtue(V_HARMONY, -1); chg_virtue(V_PATIENCE, -1); chg_virtue(V_TEMPERANCE, -2); @@ -4101,54 +3281,19 @@ msg_print(" switch (new_aux) { /* Fainting / Starving */ - case 0: -#ifdef JP -msg_print("¤¢¤Þ¤ê¤Ë¤â¶õÊ¢¤Çµ¤¤ò¼º¤Ã¤Æ¤·¤Þ¤Ã¤¿¡ª"); -#else - msg_print("You are getting faint from hunger!"); -#endif - - break; + case 0: msg_print(_("あまりにも空腹で気を失ってしまった!", "You are getting faint from hunger!")); break; /* Weak */ - case 1: -#ifdef JP -msg_print("¤ªÊ¢¤¬¶õ¤¤¤ÆÅݤ줽¤¦¤À¡£"); -#else - msg_print("You are getting weak from hunger!"); -#endif - - break; + case 1: msg_print(_("お腹が空いて倒れそうだ。", "You are getting weak from hunger!")); break; /* Hungry */ - case 2: -#ifdef JP -msg_print("¤ªÊ¢¤¬¶õ¤¤¤Æ¤­¤¿¡£"); -#else - msg_print("You are getting hungry."); -#endif - - break; + case 2: msg_print(_("お腹が空いてきた。", "You are getting hungry.")); break; /* Normal */ - case 3: -#ifdef JP -msg_print("ËþÊ¢´¶¤¬¤Ê¤¯¤Ê¤Ã¤¿¡£"); -#else - msg_print("You are no longer full."); -#endif - - break; + case 3: msg_print(_("満腹感がなくなった。", "You are no longer full.")); break; /* Full */ - case 4: -#ifdef JP -msg_print("¤ä¤Ã¤È¤ªÊ¢¤¬¤­¤Ä¤¯¤Ê¤¯¤Ê¤Ã¤¿¡£"); -#else - msg_print("You are no longer gorged."); -#endif - - break; + case 4: msg_print(_("やっとお腹がきつくなくなった。", "You are no longer gorged.")); break; } if (p_ptr->wild_mode && (new_aux < 2)) @@ -4166,31 +3311,26 @@ msg_print(" /* 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); } -/* - * Increases a stat by one randomized level -RAK- - * - * Note that this function (used by stat potions) now restores - * the stat BEFORE increasing it. +/*! + * @brief プレイヤーの基本能力値を増加させる / Increases a stat by one randomized level -RAK- + * @param stat 上昇させるステータスID + * @return 実際に上昇した場合TRUEを返す。 + * @details + * Note that this function (used by stat potions) now restores\n + * the stat BEFORE increasing it.\n */ bool inc_stat(int stat) { - int value, gain; + BASE_STATUS value, gain; /* Then augment the current/max stat */ value = p_ptr->stat_cur[stat]; @@ -4235,8 +3375,6 @@ bool inc_stat(int stat) { p_ptr->stat_max[stat] = value; } - - /* Recalculate bonuses */ p_ptr->update |= (PU_BONUS); /* Success */ @@ -4247,23 +3385,28 @@ bool inc_stat(int stat) return (FALSE); } - - -/* - * Decreases a stat by an amount indended to vary from 0 to 100 percent. - * - * Amount could be a little higher in extreme cases to mangle very high - * stats from massive assaults. -CWS - * - * Note that "permanent" means that the *given* amount is permanent, - * not that the new value becomes permanent. This may not work exactly - * as expected, due to "weirdness" in the algorithm, but in general, - * if your stat is already drained, the "max" value will not drop all - * the way down to the "cur" value. +/*! + * @brief プレイヤーの基本能力値を減少させる / Decreases a stat by an amount indended to vary from 0 to 100 percent. + * @param stat 減少させるステータスID + * @param amount 減少させる基本量 + * @param permanent TRUEならば現在の最大値を減少させる + * @return 実際に減少した場合TRUEを返す。 + * @details + *\n + * Amount could be a little higher in extreme cases to mangle very high\n + * stats from massive assaults. -CWS\n + *\n + * Note that "permanent" means that the *given* amount is permanent,\n + * not that the new value becomes permanent. This may not work exactly\n + * as expected, due to "weirdness" in the algorithm, but in general,\n + * if your stat is already drained, the "max" value will not drop all\n + * the way down to the "cur" value.\n */ bool dec_stat(int stat, int amount, int permanent) { - int cur, max, loss, same, res = FALSE; + BASE_STATUS cur, max; + int loss, same; + bool res = FALSE; /* Acquire current value */ @@ -4365,18 +3508,17 @@ 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); } -/* - * Restore a stat. Return TRUE only if this actually makes a difference. +/*! + * @brief プレイヤーの基本能力値を回復させる / Restore a stat. Return TRUE only if this actually makes a difference. + * @param stat 回復ステータスID + * @return 実際に回復した場合TRUEを返す。 */ bool res_stat(int stat) { @@ -4385,8 +3527,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 */ @@ -4408,7 +3548,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; } @@ -4427,130 +3570,67 @@ 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 */ if (num < 5) { -#ifdef JP -msg_print("¾¯¤·µ¤Ê¬¤¬Îɤ¯¤Ê¤Ã¤¿¡£"); -#else - msg_print("You feel a little better."); -#endif - + msg_print(_("少し気分が良くなった。", "You feel a little better.")); } /* Heal 5-14 */ else if (num < 15) { -#ifdef JP -msg_print("µ¤Ê¬¤¬Îɤ¯¤Ê¤Ã¤¿¡£"); -#else - msg_print("You feel better."); -#endif - + msg_print(_("気分が良くなった。", "You feel better.")); } /* Heal 15-34 */ else if (num < 35) { -#ifdef JP -msg_print("¤È¤Æ¤âµ¤Ê¬¤¬Îɤ¯¤Ê¤Ã¤¿¡£"); -#else - msg_print("You feel much better."); -#endif - + msg_print(_("とても気分が良くなった。", "You feel much better.")); } /* Heal 35+ */ - else - { -#ifdef JP -msg_print("¤Ò¤¸¤ç¤¦¤Ëµ¤Ê¬¤¬Îɤ¯¤Ê¤Ã¤¿¡£"); -#else - msg_print("You feel very good."); -#endif - - } - - /* Notice */ - return (TRUE); - } - - /* Ignore */ - return (FALSE); -} - - -/* - * Array of stat "descriptions" - */ -static cptr desc_stat_pos[] = -{ -#ifdef JP -"¶¯¤¯", -#else - "strong", -#endif - -#ifdef JP -"ÃÎŪ¤Ë", -#else - "smart", -#endif - -#ifdef JP -"¸­¤¯", -#else - "wise", -#endif + else + { + msg_print(_("ひじょうに気分が良くなった。", "You feel very good.")); + } -#ifdef JP -"´ïÍѤË", -#else - "dextrous", -#endif + return (TRUE); + } -#ifdef JP -"·ò¹¯¤Ë", -#else - "healthy", -#endif + /* Ignore */ + return (FALSE); +} -#ifdef JP -"Èþ¤·¤¯" -#else - "cute" -#endif +/* + * Array of stat "descriptions" + */ +static concptr desc_stat_pos[] = +{ + _("強く", "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") }; @@ -4575,14 +3655,8 @@ bool do_dec_stat(int stat) /* Sustain */ if (sust && (!ironman_nightmare || randint0(13))) { - /* Message */ -#ifdef JP -msg_format("%s¤Ê¤Ã¤¿µ¤¤¬¤·¤¿¤¬¡¢¤¹¤°¤Ë¸µ¤ËÌá¤Ã¤¿¡£", -#else - msg_format("You feel %s for a moment, but the feeling passes.", -#endif - - desc_stat_neg[stat]); + msg_format(_("%sなった気がしたが、すぐに元に戻った。", "You feel %s for a moment, but the feeling passes."), + desc_stat_neg[stat]); /* Notice effect */ return (TRUE); @@ -4591,13 +3665,7 @@ msg_format("%s /* Attempt to reduce the stat */ if (dec_stat(stat, 10, (ironman_nightmare && !randint0(13)))) { - /* Message */ -#ifdef JP -msg_format("¤Ò¤É¤¯%s¤Ê¤Ã¤¿µ¤¤¬¤¹¤ë¡£", desc_stat_neg[stat]); -#else - msg_format("You feel very %s.", desc_stat_neg[stat]); -#endif - + msg_format(_("ひどく%sなった気がする。", "You feel very %s."), desc_stat_neg[stat]); /* Notice effect */ return (TRUE); @@ -4616,15 +3684,8 @@ bool do_res_stat(int stat) /* Attempt to increase */ if (res_stat(stat)) { - /* Message */ -#ifdef JP -msg_format("¸µÄ̤ê¤Ë%s¤Ê¤Ã¤¿µ¤¤¬¤¹¤ë¡£", desc_stat_pos[stat]); -#else - msg_format("You feel less %s.", desc_stat_neg[stat]); -#endif + msg_format(_("元通りに%sなった気がする。", "You feel less %s."), desc_stat_pos[stat]); - - /* Notice */ return (TRUE); } @@ -4659,30 +3720,16 @@ bool do_inc_stat(int stat) else if (stat == A_CON) chg_virtue(V_VITALITY, 1); - /* Message */ -#ifdef JP -msg_format("¥ï¡¼¥ª¡ª¤È¤Æ¤â%s¤Ê¤Ã¤¿¡ª", desc_stat_pos[stat]); -#else - msg_format("Wow! You feel very %s!", desc_stat_pos[stat]); -#endif - + msg_format(_("ワーオ!とても%sなった!", "Wow! You feel very %s!"), desc_stat_pos[stat]); - /* Notice */ return (TRUE); } /* Restoration worked */ if (res) { - /* Message */ -#ifdef JP -msg_format("¸µÄ̤ê¤Ë%s¤Ê¤Ã¤¿µ¤¤¬¤¹¤ë¡£", desc_stat_pos[stat]); -#else - msg_format("You feel less %s.", desc_stat_neg[stat]); -#endif + msg_format(_("元通りに%sなった気がする。", "You feel less %s."), desc_stat_pos[stat]); - - /* Notice */ return (TRUE); } @@ -4699,13 +3746,7 @@ bool restore_level(void) /* Restore experience */ if (p_ptr->exp < p_ptr->max_exp) { - /* Message */ -#ifdef JP -msg_print("À¸Ì¿ÎϤ¬Ìá¤Ã¤Æ¤­¤¿µ¤¤¬¤¹¤ë¡£"); -#else - msg_print("You feel your life energies returning."); -#endif - + msg_print(_("経験値が戻ってきた気がする。", "You feel your experience returning.")); /* Restore the experience */ p_ptr->exp = p_ptr->max_exp; @@ -4721,7 +3762,6 @@ msg_print(" return (FALSE); } - /* * Forget everything */ @@ -4755,14 +3795,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 */ @@ -4783,23 +3820,12 @@ void do_poly_wounds(void) if (!(wounds || hit_p || Nasty_effect)) return; -#ifdef JP -msg_print("½ý¤¬¤è¤ê·Ú¤¤¤â¤Î¤ËÊѲ½¤·¤¿¡£"); -#else - msg_print("Your wounds are polymorphed into less serious ones."); -#endif - + msg_print(_("傷がより軽いものに変化した。", "Your wounds are polymorphed into less serious ones.")); hp_player(change); if (Nasty_effect) { -#ifdef JP -msg_print("¿·¤¿¤Ê½ý¤¬¤Ç¤­¤¿¡ª"); -take_hit(DAMAGE_LOSELIFE, change / 2, "ÊѲ½¤·¤¿½ý", -1); -#else - msg_print("A new wound was created!"); - take_hit(DAMAGE_LOSELIFE, change / 2, "a polymorphed wound", -1); -#endif - + msg_print(_("新たな傷ができた!", "A new wound was created!")); + take_hit(DAMAGE_LOSELIFE, change / 2, _("変化した傷", "a polymorphed wound"), -1); set_cut(change); } else @@ -4812,13 +3838,13 @@ take_hit(DAMAGE_LOSELIFE, change / 2, " /* * Change player race */ -void change_race(int 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 - msg_format("¤¢¤Ê¤¿¤Ï%s%s¤ËÊѲ½¤·¤¿¡ª", effect_msg, title); + msg_format("あなたは%s%sに変化した!", effect_msg, title); #else msg_format("You turn into %s %s%s!", (!effect_msg[0] && is_a_vowel(title[0]) ? "an" : "a"), effect_msg, title); #endif @@ -4831,7 +3857,7 @@ void change_race(int 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]; @@ -4870,7 +3896,7 @@ void change_race(int new_race, cptr effect_msg) if (old_race != p_ptr->prace) autopick_load_pref(FALSE); /* Player's graphic tile may change */ - lite_spot(py, px); + lite_spot(p_ptr->y, p_ptr->x); } @@ -4878,18 +3904,13 @@ void do_poly_self(void) { int power = p_ptr->lev; -#ifdef JP -msg_print("¤¢¤Ê¤¿¤ÏÊѲ½¤Îˬ¤ì¤ò´¶¤¸¤¿..."); -#else - msg_print("You feel a change coming over you..."); -#endif - + msg_print(_("あなたは変化の訪れを感じた...", "You feel a change coming over you...")); chg_virtue(V_CHANCE, 1); if ((power > randint0(20)) && one_in_(3) && (p_ptr->prace != RACE_ANDROID)) { char effect_msg[80] = ""; - int new_race, expfact, goalexpfact; + CHARACTER_IDX new_race; /* Some form of racial polymorph... */ power -= 10; @@ -4903,23 +3924,13 @@ msg_print(" { p_ptr->psex = SEX_FEMALE; sp_ptr = &sex_info[p_ptr->psex]; -#ifdef JP -sprintf(effect_msg, "½÷À­¤Î"); -#else - sprintf(effect_msg, "female "); -#endif - + sprintf(effect_msg, _("女性の", "female ")); } else { p_ptr->psex = SEX_MALE; sp_ptr = &sex_info[p_ptr->psex]; -#ifdef JP -sprintf(effect_msg, "ÃËÀ­¤Î"); -#else - sprintf(effect_msg, "male "); -#endif - + sprintf(effect_msg, _("男性の", "male ")); } } @@ -4930,7 +3941,7 @@ sprintf(effect_msg, " /* Harmful deformity */ power -= 15; - while (tmp < 6) + while (tmp < A_MAX) { if (one_in_(2)) { @@ -4946,23 +3957,12 @@ sprintf(effect_msg, " if (effect_msg[0]) { char tmp_msg[10]; -#ifdef JP - sprintf(tmp_msg,"%s",effect_msg); - sprintf(effect_msg,"´ñ·Á¤Î%s",tmp_msg); -#else - sprintf(tmp_msg,"%s ",effect_msg); - sprintf(effect_msg,"deformed %s ",tmp_msg); -#endif - + sprintf(tmp_msg,_("%s", "%s "),effect_msg); + sprintf(effect_msg,_("奇形の%s", "deformed %s "),tmp_msg); } else { -#ifdef JP - sprintf(effect_msg,"´ñ·Á¤Î"); -#else - sprintf(effect_msg,"deformed "); -#endif - + sprintf(effect_msg,_("奇形の", "deformed ")); } } @@ -4972,29 +3972,14 @@ sprintf(effect_msg, " power -= 10; if (!lose_mutation(0)) -#ifdef JP -msg_print("´ñ̯¤Ê¤¯¤é¤¤ÉáÄ̤ˤʤ俵¤¤¬¤¹¤ë¡£"); -#else - msg_print("You feel oddly normal."); -#endif - + msg_print(_("奇妙なくらい普通になった気がする。", "You feel oddly normal.")); } - /* - * Restrict the race choices by exp penalty so - * weak polymorph always means weak race - */ - if (power < 0) - goalexpfact = 100; - else - goalexpfact = 100 + 3 * randint0(power); - do { - new_race = randint0(MAX_RACES); - expfact = race_info[new_race].r_exp; + new_race = (CHARACTER_IDX)randint0(MAX_RACES); } - while (((new_race == p_ptr->prace) && (expfact > goalexpfact)) || (new_race == RACE_ANDROID)); + while ((new_race == p_ptr->prace) || (new_race == RACE_ANDROID)); change_race(new_race, effect_msg); } @@ -5005,27 +3990,17 @@ msg_print(" /* Abomination! */ power -= 20; + msg_format(_("%sの構成が変化した!", "Your internal organs are rearranged!"), p_ptr->prace == RACE_ANDROID ? "機械" : "内臓"); -#ifdef JP -msg_format("%s¤Î¹½À®¤¬ÊѲ½¤·¤¿¡ª", p_ptr->prace == RACE_ANDROID ? "µ¡³£" : "Æâ¡"); -#else - msg_print("Your internal organs are rearranged!"); -#endif - - while (tmp < 6) + while (tmp < A_MAX) { (void)dec_stat(tmp, randint1(6) + 6, one_in_(3)); tmp++; } if (one_in_(6)) { -#ifdef JP - msg_print("¸½ºß¤Î»Ñ¤ÇÀ¸¤­¤Æ¤¤¤¯¤Î¤Ïº¤Æñ¤Ê¤è¤¦¤À¡ª"); - take_hit(DAMAGE_LOSELIFE, damroll(randint1(10), p_ptr->lev), "Ã×̿Ū¤ÊÆÍÁ³ÊÑ°Û", -1); -#else - msg_print("You find living difficult in your present form!"); - take_hit(DAMAGE_LOSELIFE, damroll(randint1(10), p_ptr->lev), "a lethal mutation", -1); -#endif + msg_print(_("現在の姿で生きていくのは困難なようだ!", "You find living difficult in your present form!")); + take_hit(DAMAGE_LOSELIFE, damroll(randint1(10), p_ptr->lev), _("致命的な突然変異", "a lethal mutation"), -1); power -= 10; } @@ -5063,19 +4038,19 @@ msg_format("%s /* * 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, int 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; char death_message[1024]; - char tmp[80]; + char tmp[1024]; int warning = (p_ptr->mhp * hitpoint_warn / 10); @@ -5089,8 +4064,7 @@ int take_hit(int damage_type, int damage, cptr hit_from, int monspell) if (damage_type != DAMAGE_USELIFE) { - /* Disturb */ - disturb(1, 0); + disturb(TRUE, TRUE); if (auto_more) { now_damaged = TRUE; @@ -5106,19 +4080,11 @@ int take_hit(int damage_type, int damage, cptr hit_from, int monspell) { if (damage_type == DAMAGE_FORCE) { -#ifdef JP - msg_print("¥Ð¥ê¥¢¤¬ÀÚ¤êÎö¤«¤ì¤¿¡ª"); -#else - msg_print("The attack cuts your shield of invulnerability open!"); -#endif + msg_print(_("バリアが切り裂かれた!", "The attack cuts your shield of invulnerability open!")); } else if (one_in_(PENETRATE_INVULNERABILITY)) { -#ifdef JP - msg_print("̵Ũ¤Î¥Ð¥ê¥¢¤òÇˤäƹ¶·â¤µ¤ì¤¿¡ª"); -#else - msg_print("The attack penetrates your shield of invulnerability!"); -#endif + msg_print(_("無敵のバリアを破って攻撃された!", "The attack penetrates your shield of invulnerability!")); } else { @@ -5130,19 +4096,11 @@ int take_hit(int damage_type, int damage, cptr hit_from, int monspell) { if (damage_type == DAMAGE_FORCE) { -#ifdef JP - msg_print("¸¸±Æ¤â¤í¤È¤âÂΤ¬ÀÚ¤êÎö¤«¤ì¤¿¡ª"); -#else - msg_print("The attack hits Shadow together with you!"); -#endif + msg_print(_("幻影もろとも体が切り裂かれた!", "The attack hits Shadow together with you!")); } else if (damage_type == DAMAGE_ATTACK) { -#ifdef JP - msg_print("¹¶·â¤Ï¸¸±Æ¤ËÌ¿Ã椷¡¢¤¢¤Ê¤¿¤Ë¤ÏÆϤ«¤Ê¤«¤Ã¤¿¡£"); -#else - msg_print("The attack hits Shadow, you are unharmed!"); -#endif + msg_print(_("攻撃は幻影に命中し、あなたには届かなかった。", "The attack hits Shadow, you are unharmed!")); return 0; } } @@ -5151,11 +4109,7 @@ int take_hit(int damage_type, int damage, cptr hit_from, int monspell) { if (damage_type == DAMAGE_FORCE) { -#ifdef JP - msg_print("Ⱦʪ¼Á¤ÎÂΤ¬ÀÚ¤êÎö¤«¤ì¤¿¡ª"); -#else - msg_print("The attack cuts through your ethereal body!"); -#endif + msg_print(_("半物質の体が切り裂かれた!", "The attack cuts through your ethereal body!")); } else { @@ -5182,11 +4136,8 @@ int take_hit(int damage_type, int damage, cptr hit_from, int monspell) /* Display the hitpoints */ p_ptr->redraw |= (PR_HP); - /* Window stuff */ p_ptr->window |= (PW_PLAYER); - handle_stuff(); - if (damage_type != DAMAGE_GENO && p_ptr->chp == 0) { chg_virtue(V_SACRIFICE, 1); @@ -5198,16 +4149,17 @@ int take_hit(int damage_type, int damage, cptr hit_from, int monspell) { bool android = (p_ptr->prace == RACE_ANDROID ? TRUE : FALSE); -#ifdef JP /* »à¤ó¤À»þ¤Ë¶¯À©½ªÎ»¤·¤Æ»à¤ò²óÈò¤Ç¤­¤Ê¤¯¤·¤Æ¤ß¤¿ by Habu */ +#ifdef JP /* 死んだ時に強制終了して死を回避できなくしてみた by Habu */ if (!cheat_save) - if(!save_player()) msg_print("¥»¡¼¥Ö¼ºÇÔ¡ª"); + if(!save_player()) msg_print("セーブ失敗!"); #endif - /* Sound */ sound(SOUND_DEATH); chg_virtue(V_SACRIFICE, 10); + handle_stuff(); + /* Leaving */ p_ptr->leaving = TRUE; @@ -5216,21 +4168,19 @@ int take_hit(int damage_type, int 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; -#ifdef JP - msg_format("¤¢¤Ê¤¿¤Ï%s¤ÎÁ°¤ËÇÔ¤ìµî¤Ã¤¿¡£", m_name); -#else - msg_format("You are beaten by %s.", m_name); -#endif + 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; + play_music(TERM_XTRA_MUSIC_BASIC, MUSIC_BASIC_GAMEOVER); + #ifdef WORLD_SCORE /* Make screen dump */ screen_dump = make_screen_dump(); @@ -5241,14 +4191,14 @@ int take_hit(int damage_type, int damage, cptr hit_from, int monspell) { strcpy(p_ptr->died_from, hit_from); #ifdef JP - if (!winning_seppuku) strcpy(p_ptr->died_from, "ÀÚÊ¢"); + if (!winning_seppuku) strcpy(p_ptr->died_from, "切腹"); #endif } else { char dummy[1024]; #ifdef JP - sprintf(dummy, "%s%s%s", !p_ptr->paralyzed ? "" : p_ptr->free_act ? "ĦÁü¾õÂÖ¤Ç" : "Ëãáã¾õÂÖ¤Ç", p_ptr->image ? "¸¸³Ð¤ËÏĤó¤À" : "", hit_from); + sprintf(dummy, "%s%s%s", !p_ptr->paralyzed ? "" : p_ptr->free_act ? "彫像状態で" : "麻痺状態で", p_ptr->image ? "幻覚に歪んだ" : "", hit_from); #else sprintf(dummy, "%s%s", hit_from, !p_ptr->paralyzed ? "" : " while helpless"); #endif @@ -5260,64 +4210,32 @@ int take_hit(int damage_type, int damage, cptr hit_from, int monspell) if (winning_seppuku) { -#ifdef JP - do_cmd_write_nikki(NIKKI_BUNSHOU, 0, "¾¡Íø¤Î¸åÀÚÊ¢¤·¤¿¡£"); -#else - do_cmd_write_nikki(NIKKI_BUNSHOU, 0, "did Seppuku after the winning."); -#endif + do_cmd_write_nikki(NIKKI_BUNSHOU, 0, _("勝利の後切腹した。", "did Seppuku after the winning.")); } else { - char buf[10]; + char buf[20]; if (p_ptr->inside_arena) -#ifdef JP - strcpy(buf,"¥¢¥ê¡¼¥Ê"); -#else - strcpy(buf,"in the Arena"); -#endif + strcpy(buf,_("アリーナ", "in the Arena")); else if (!dun_level) -#ifdef JP - strcpy(buf,"ÃϾå"); -#else - strcpy(buf,"on the surface"); -#endif + strcpy(buf,_("地上", "on the surface")); else if (q_idx && (is_fixed_quest_idx(q_idx) && !((q_idx == QUEST_OBERON) || (q_idx == QUEST_SERPENT)))) -#ifdef JP - strcpy(buf,"¥¯¥¨¥¹¥È"); -#else - strcpy(buf,"in a quest"); -#endif + strcpy(buf,_("クエスト", "in a quest")); else -#ifdef JP - sprintf(buf,"%d³¬", dun_level); -#else - sprintf(buf,"level %d", dun_level); -#endif + sprintf(buf,_("%d階", "level %d"), (int)dun_level); -#ifdef JP - sprintf(tmp, "%s¤Ç%s¤Ë»¦¤µ¤ì¤¿¡£", buf, p_ptr->died_from); -#else - sprintf(tmp, "killed by %s %s.", p_ptr->died_from, buf); -#endif + sprintf(tmp, _("%sで%sに殺された。", "killed by %s %s."), buf, p_ptr->died_from); do_cmd_write_nikki(NIKKI_BUNSHOU, 0, tmp); } -#ifdef JP - do_cmd_write_nikki(NIKKI_GAMESTART, 1, "-------- ¥²¡¼¥à¥ª¡¼¥Ð¡¼ --------"); -#else - do_cmd_write_nikki(NIKKI_GAMESTART, 1, "-------- Game Over --------"); -#endif + do_cmd_write_nikki(NIKKI_GAMESTART, 1, _("-------- ゲームオーバー --------", "-------- Game Over --------")); do_cmd_write_nikki(NIKKI_BUNSHOU, 1, "\n\n\n\n"); flush(); -#ifdef JP - if (get_check_strict("²èÌ̤òÊݸ¤·¤Þ¤¹¤«¡©", CHECK_NO_HISTORY)) -#else - if (get_check_strict("Dump the screen? ", CHECK_NO_HISTORY)) -#endif + if (get_check_strict(_("画面を保存しますか?", "Dump the screen? "), CHECK_NO_HISTORY)) { do_cmd_save_screen(); } @@ -5332,7 +4250,7 @@ int take_hit(int damage_type, int damage, cptr hit_from, int monspell) if (!last_words) { #ifdef JP - msg_format("¤¢¤Ê¤¿¤Ï%s¤Þ¤·¤¿¡£", android ? "²õ¤ì" : "»à¤Ë"); + msg_format("あなたは%sました。", android ? "壊れ" : "死に"); #else msg_print(android ? "You are broken." : "You die."); #endif @@ -5343,39 +4261,27 @@ int take_hit(int damage_type, int damage, cptr hit_from, int monspell) { if (winning_seppuku) { -#ifdef JP - get_rnd_line("seppuku_j.txt", 0, death_message); -#else - get_rnd_line("seppuku.txt", 0, death_message); -#endif + get_rnd_line(_("seppuku_j.txt", "seppuku.txt"), 0, death_message); } else { -#ifdef JP - get_rnd_line("death_j.txt", 0, death_message); -#else - get_rnd_line("death.txt", 0, death_message); -#endif + get_rnd_line(_("death_j.txt", "death.txt"), 0, death_message); } do { #ifdef JP - while (!get_string(winning_seppuku ? "¼­À¤¤Î¶ç: " : "ÃÇËöËâ¤Î¶«¤Ó: ", death_message, 1024)) ; + while (!get_string(winning_seppuku ? "辞世の句: " : "断末魔の叫び: ", death_message, 1024)) ; #else while (!get_string("Last word: ", death_message, 1024)) ; #endif } -#ifdef JP - while (winning_seppuku && !get_check_strict("¤è¤í¤·¤¤¤Ç¤¹¤«¡©", CHECK_NO_HISTORY)); -#else - while (winning_seppuku && !get_check_strict("Are you sure? ", CHECK_NO_HISTORY)); -#endif + while (winning_seppuku && !get_check_strict(_("よろしいですか?", "Are you sure? "), CHECK_NO_HISTORY)); if (death_message[0] == '\0') { #ifdef JP - strcpy(death_message, format("¤¢¤Ê¤¿¤Ï%s¤Þ¤·¤¿¡£", android ? "²õ¤ì" : "»à¤Ë")); + strcpy(death_message, format("あなたは%sました。", android ? "壊れ" : "死に")); #else strcpy(death_message, android ? "You are broken." : "You die."); #endif @@ -5390,19 +4296,19 @@ int take_hit(int damage_type, int 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(); - /* ºù»¶¤ë */ + /* 桜散る */ for (i = 0; i < 40; i++) - Term_putstr(randint0(w / 2) * 2, randint0(h), 2, TERM_VIOLET, "¦Ô"); + Term_putstr(randint0(w / 2) * 2, randint0(h), 2, TERM_VIOLET, "υ"); str = death_message; - if (strncmp(str, "¡Ö", 2) == 0) str += 2; + if (strncmp(str, "「", 2) == 0) str += 2; - str2 = my_strstr(str, "¡×"); + str2 = my_strstr(str, "」"); if (str2 != NULL) *str2 = '\0'; i = 0; @@ -5445,6 +4351,8 @@ int take_hit(int damage_type, int damage, cptr hit_from, int monspell) return damage; } + handle_stuff(); + /* Hitpoint warning */ if (p_ptr->chp < warning) { @@ -5456,17 +4364,9 @@ int take_hit(int damage_type, int damage, cptr hit_from, int monspell) if (record_danger && (old_chp > warning)) { if (p_ptr->image && damage_type == DAMAGE_ATTACK) -#ifdef JP - hit_from = "²¿¤«"; -#else - hit_from = "something"; -#endif + hit_from = _("何か", "something"); -#ifdef JP - sprintf(tmp,"%s¤Ë¤è¤Ã¤Æ¥Ô¥ó¥Á¤Ë´Ù¤Ã¤¿¡£",hit_from); -#else - sprintf(tmp,"A critical situation because of %s.",hit_from); -#endif + sprintf(tmp,_("%sによってピンチに陥った。", "A critical situation because of %s."),hit_from); do_cmd_write_nikki(NIKKI_BUNSHOU, 0, tmp); } @@ -5476,13 +4376,7 @@ int take_hit(int damage_type, int damage, cptr hit_from, int monspell) now_damaged = TRUE; } - /* Message */ -#ifdef JP -msg_print("*** ·Ù¹ð:Äã¥Ò¥Ã¥È¡¦¥Ý¥¤¥ó¥È¡ª ***"); -#else - msg_print("*** LOW HITPOINT WARNING! ***"); -#endif - + msg_print(_("*** 警告:低ヒット・ポイント! ***", "*** LOW HITPOINT WARNING! ***")); msg_print(NULL); flush(); } @@ -5541,12 +4435,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); @@ -5603,17 +4495,17 @@ void calc_android_exp(void) if (level > 65) level = 35 + (level - 65) / 5; else if (level > 35) level = 25 + (level - 35) / 3; else if (level > 15) level = 15 + (level - 15) / 2; - exp = MIN(100000L, value) * level * level / 2; + exp = MIN(100000L, value) / 2 * level * level; if (value > 100000L) - exp += (value - 100000L) * level * level / 8; + exp += (value - 100000L) / 8 * level * level; } else { exp = MIN(100000L, value) * level; if (value > 100000L) - exp += (value - 100000L) * level / 4; + 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; } @@ -5646,39 +4538,27 @@ void lose_exp(s32b amount) * Drain experience * If resisted to draining, return FALSE */ -bool drain_exp(s32b drain, s32b slip, int hold_life_prob) +bool drain_exp(s32b drain, s32b slip, int hold_exp_prob) { /* Androids and their mimics are never drained */ if (p_ptr->prace == RACE_ANDROID) return FALSE; - if (p_ptr->hold_life && (randint0(100) < hold_life_prob)) + if (p_ptr->hold_exp && (randint0(100) < hold_exp_prob)) { /* Hold experience */ -#ifdef JP - msg_print("¤·¤«¤·¼«¸Ê¤ÎÀ¸Ì¿ÎϤò¼é¤ê¤­¤Ã¤¿¡ª"); -#else - msg_print("You keep hold of your life force!"); -#endif + msg_print(_("しかし自己の経験値を守りきった!", "You keep hold of your experience!")); return FALSE; } /* Hold experience failed */ - if (p_ptr->hold_life) + if (p_ptr->hold_exp) { -#ifdef JP - msg_print("À¸Ì¿ÎϤò¾¯¤·µÛ¤¤¼è¤é¤ì¤¿µ¤¤¬¤¹¤ë¡ª"); -#else - msg_print("You feel your life slipping away!"); -#endif + msg_print(_("経験値を少し吸い取られた気がする!", "You feel your experience slipping away!")); lose_exp(slip); } else { -#ifdef JP - msg_print("À¸Ì¿ÎϤ¬ÂΤ«¤éµÛ¤¤¼è¤é¤ì¤¿µ¤¤¬¤¹¤ë¡ª"); -#else - msg_print("You feel your life draining away!"); -#endif + msg_print(_("経験値が体から吸い取られた気がする!", "You feel your experience draining away!")); lose_exp(drain); } @@ -5686,7 +4566,7 @@ bool drain_exp(s32b drain, s32b slip, int hold_life_prob) } -bool set_ultimate_res(int v, bool do_dec) +bool set_ultimate_res(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -5704,12 +4584,7 @@ bool set_ultimate_res(int v, bool do_dec) } else if (!p_ptr->ult_res) { -#ifdef JP -msg_print("¤¢¤é¤æ¤ë¤³¤È¤ËÂФ·¤ÆÂÑÀ­¤¬¤Ä¤¤¤¿µ¤¤¬¤¹¤ë¡ª"); -#else - msg_print("You feel resistant!"); -#endif - + msg_print(_("あらゆることに対して耐性がついた気がする!", "You feel resistant!")); notice = TRUE; } } @@ -5719,12 +4594,7 @@ msg_print(" { if (p_ptr->ult_res) { -#ifdef JP -msg_print("¤¢¤é¤æ¤ë¤³¤È¤ËÂФ¹¤ëÂÑÀ­¤¬Çö¤ì¤¿µ¤¤¬¤¹¤ë¡£"); -#else - msg_print("You feel less resistant"); -#endif - + msg_print(_("あらゆることに対する耐性が薄れた気がする。", "You feel less resistant")); notice = TRUE; } } @@ -5738,20 +4608,13 @@ msg_print(" /* 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(int v, bool do_dec) +bool set_tim_res_nether(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -5769,12 +4632,7 @@ bool set_tim_res_nether(int v, bool do_dec) } else if (!p_ptr->tim_res_nether) { -#ifdef JP -msg_print("ÃϹö¤ÎÎϤËÂФ·¤ÆÂÑÀ­¤¬¤Ä¤¤¤¿µ¤¤¬¤¹¤ë¡ª"); -#else - msg_print("You feel nether resistant!"); -#endif - + msg_print(_("地獄の力に対して耐性がついた気がする!", "You feel nether resistant!")); notice = TRUE; } } @@ -5784,12 +4642,7 @@ msg_print(" { if (p_ptr->tim_res_nether) { -#ifdef JP -msg_print("ÃϹö¤ÎÎϤËÂФ¹¤ëÂÑÀ­¤¬Çö¤ì¤¿µ¤¤¬¤¹¤ë¡£"); -#else - msg_print("You feel less nether resistant"); -#endif - + msg_print(_("地獄の力に対する耐性が薄れた気がする。", "You feel less nether resistant")); notice = TRUE; } } @@ -5803,20 +4656,13 @@ msg_print(" /* 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(int v, bool do_dec) +bool set_tim_res_time(TIME_EFFECT v, bool do_dec) { bool notice = FALSE; @@ -5834,12 +4680,7 @@ bool set_tim_res_time(int v, bool do_dec) } else if (!p_ptr->tim_res_time) { -#ifdef JP -msg_print("»þ´ÖµÕž¤ÎÎϤËÂФ·¤ÆÂÑÀ­¤¬¤Ä¤¤¤¿µ¤¤¬¤¹¤ë¡ª"); -#else - msg_print("You feel time resistant!"); -#endif - + msg_print(_("時間逆転の力に対して耐性がついた気がする!", "You feel time resistant!")); notice = TRUE; } } @@ -5849,12 +4690,7 @@ msg_print(" { if (p_ptr->tim_res_time) { -#ifdef JP -msg_print("»þ´ÖµÕž¤ÎÎϤËÂФ¹¤ëÂÑÀ­¤¬Çö¤ì¤¿µ¤¤¬¤¹¤ë¡£"); -#else - msg_print("You feel less time resistant"); -#endif - + msg_print(_("時間逆転の力に対する耐性が薄れた気がする。", "You feel less time resistant")); notice = TRUE; } } @@ -5868,16 +4704,9 @@ msg_print(" /* 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); } @@ -5891,65 +4720,42 @@ 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)) { -#ifdef JP - msg_format("Éð´ï¤ò»ý¤¿¤Ê¤¤¤ÈËâË¡·õ¤Ï»È¤¨¤Ê¤¤¡£"); -#else - msg_format("You cannot use temporary branding with no weapon."); -#endif + msg_format(_("武器を持たないと魔法剣は使えない。", "You cannot use temporary branding with no weapon.")); return FALSE; } - - /* Save screen */ screen_save(); num = (p_ptr->lev - 20) / 5; - -#ifdef JP - c_prt(TERM_RED, " a) ¾Æ´þ", 2, 14); -#else - c_prt(TERM_RED, " a) Fire Brand", 2, 14); -#endif - -#ifdef JP - if (num >= 2) c_prt(TERM_L_WHITE," b) Åà·ë", 3, 14); -#else - if (num >= 2) c_prt(TERM_L_WHITE," b) Cold Brand", 3, 14); -#endif - else prt("", 3, 14); - -#ifdef JP - if (num >= 3) c_prt(TERM_GREEN, " c) ÆÇ»¦", 4, 14); -#else - if (num >= 3) c_prt(TERM_GREEN, " c) Poison Brand", 4, 14); -#endif - else prt("", 4, 14); - -#ifdef JP - if (num >= 4) c_prt(TERM_L_DARK, " d) Íϲò", 5, 14); -#else - if (num >= 4) c_prt(TERM_L_DARK, " d) Acid Brand", 5, 14); -#endif - else prt("", 5, 14); - -#ifdef JP - if (num >= 5) c_prt(TERM_BLUE, " e) ÅÅ·â", 6, 14); -#else - if (num >= 5) c_prt(TERM_BLUE, " e) Elec Brand", 6, 14); -#endif - else prt("", 6, 14); + c_prt(TERM_RED, _(" a) 焼棄", " a) Fire Brand"), 2, 14); + + if (num >= 2) + c_prt(TERM_L_WHITE,_(" b) 凍結", " b) Cold Brand"), 3, 14); + else + prt("", 3, 14); + + if (num >= 3) + c_prt(TERM_GREEN, _(" c) 毒殺", " c) Poison Brand"), 4, 14); + else + prt("", 4, 14); + + if (num >= 4) + c_prt(TERM_L_DARK, _(" d) 溶解", " d) Acid Brand"), 5, 14); + else + prt("", 5, 14); + + if (num >= 5) + c_prt(TERM_BLUE, _(" e) 電撃", " e) Elec Brand"), 6, 14); + else + prt("", 6, 14); prt("", 7, 14); prt("", 8, 14); prt("", 9, 14); prt("", 1, 0); -#ifdef JP - prt(" ¤É¤Î¸µÁǹ¶·â¤ò¤·¤Þ¤¹¤«¡©", 1, 14); -#else - prt(" Choose a temporary elemental brand ", 1, 14); -#endif + prt(_(" どの元素攻撃をしますか?", " Choose a temporary elemental brand "), 1, 14); choice = inkey(); @@ -5965,15 +4771,10 @@ bool choose_ele_attack(void) set_ele_attack(ATTACK_ELEC, p_ptr->lev/2 + randint1(p_ptr->lev/2)); else { -#ifdef JP - msg_print("ËâË¡·õ¤ò»È¤¦¤Î¤ò¤ä¤á¤¿¡£"); -#else - msg_print("You cancel the temporary branding."); -#endif + msg_print(_("魔法剣を使うのをやめた。", "You cancel the temporary branding.")); screen_load(); return FALSE; } - /* Load screen */ screen_load(); return TRUE; } @@ -5982,37 +4783,15 @@ bool choose_ele_attack(void) /* * Choose a elemental immune. -LM- */ -bool choose_ele_immune(int turn) +bool choose_ele_immune(TIME_EFFECT immune_turn) { char choice; - - /* Save screen */ screen_save(); -#ifdef JP - c_prt(TERM_RED, " a) ²Ð±ê", 2, 14); -#else - c_prt(TERM_RED, " a) Immune Fire", 2, 14); -#endif - -#ifdef JP - c_prt(TERM_L_WHITE," b) Î䵤", 3, 14); -#else - c_prt(TERM_L_WHITE," b) Immune Cold", 3, 14); -#endif - -#ifdef JP - c_prt(TERM_L_DARK, " c) »À", 4, 14); -#else - c_prt(TERM_L_DARK, " c) Immune Acid", 4, 14); -#endif - -#ifdef JP - c_prt(TERM_BLUE, " d) ÅÅ·â", 5, 14); -#else - c_prt(TERM_BLUE, " d) Immune Elec", 5, 14); -#endif - + 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); prt("", 6, 14); prt("", 7, 14); @@ -6020,33 +4799,25 @@ bool choose_ele_immune(int turn) prt("", 9, 14); prt("", 1, 0); -#ifdef JP - prt(" ¤É¤Î¸µÁǤÎÌȱ֤ò¤Ä¤±¤Þ¤¹¤«¡©", 1, 14); -#else - prt(" Choose a temporary elemental immune ", 1, 14); -#endif + prt(_(" どの元素の免疫をつけますか?", " Choose a temporary elemental immune "), 1, 14); choice = inkey(); if ((choice == 'a') || (choice == 'A')) - set_ele_immune(DEFENSE_FIRE, turn); + set_ele_immune(DEFENSE_FIRE, immune_turn); else if ((choice == 'b') || (choice == 'B')) - set_ele_immune(DEFENSE_COLD, turn); + set_ele_immune(DEFENSE_COLD, immune_turn); else if ((choice == 'c') || (choice == 'C')) - set_ele_immune(DEFENSE_ACID, turn); + set_ele_immune(DEFENSE_ACID, immune_turn); else if ((choice == 'd') || (choice == 'D')) - set_ele_immune(DEFENSE_ELEC, turn); + set_ele_immune(DEFENSE_ELEC, immune_turn); else { -#ifdef JP - msg_print("Ìȱ֤òÉÕ¤±¤ë¤Î¤ò¤ä¤á¤¿¡£"); -#else - msg_print("You cancel the temporary immune."); -#endif + msg_print(_("免疫を付けるのをやめた。", "You cancel the temporary immune.")); screen_load(); return FALSE; } - /* Load screen */ screen_load(); return TRUE; } +