one_ability(o_ptr);
}
- msg_print(_("これはかなりの業物だったようだ。", "This blade seems to be exceptionally."));
+ msg_print(_("これはかなりの業物だったようだ。", "This blade seems to be exceptional."));
}
object_desc(player_ptr, basenm, o_ptr, OD_NAME_ONLY);
player_ptr->au -= total_cost;
}
-
/*!
* @brief 施設でモンスターの情報を知るメインルーチン / research_mon -KMW-
* @param player_ptr プレーヤーへの参照ポインタ
--- /dev/null
+/*!
+ * @file cmd-quaff.c
+ * @brief プレイヤーの飲むコマンド実装
+ * @date 2018/09/07
+ * @details
+ * cmd6.cより分離。
+ */
+
+#include "angband.h"
+#include "selfinfo.h"
+#include "object-hook.h"
+#include "mutation.h"
+#include "avatar.h"
+#include "spells-status.h"
+#include "player-status.h"
+#include "realm-hex.h"
+#include "spells-floor.h"
+#include "object-broken.h"
+
+/*!
+ * @brief 薬を飲むコマンドのサブルーチン /
+ * Quaff a potion (from the pack or the floor)
+ * @param item 飲む薬オブジェクトの所持品ID
+ * @return なし
+ */
+void do_cmd_quaff_potion_aux(INVENTORY_IDX item)
+{
+ bool ident;
+ DEPTH lev;
+ object_type *o_ptr;
+ object_type forge;
+ object_type *q_ptr;
+
+ take_turn(p_ptr, 100);
+
+ if (p_ptr->timewalk)
+ {
+ if (flush_failure) flush();
+ msg_print(_("瓶から水が流れ出てこない!", "The potion doesn't flow out from the bottle."));
+
+ sound(SOUND_FAIL);
+ return;
+ }
+
+ if (music_singing_any()) stop_singing(p_ptr);
+ if (hex_spelling_any())
+ {
+ if (!hex_spelling(HEX_INHAIL)) stop_hex_spell_all();
+ }
+
+ /* Get the item (in the pack) */
+ if (item >= 0)
+ {
+ o_ptr = &inventory[item];
+ }
+
+ /* Get the item (on the floor) */
+ else
+ {
+ o_ptr = ¤t_floor_ptr->o_list[0 - item];
+ }
+ q_ptr = &forge;
+
+ /* Obtain a local object */
+ object_copy(q_ptr, o_ptr);
+
+ /* Single object */
+ q_ptr->number = 1;
+
+ /* Reduce and describe inventory */
+ if (item >= 0)
+ {
+ inven_item_increase(item, -1);
+ inven_item_describe(item);
+ inven_item_optimize(item);
+ }
+
+ /* Reduce and describe floor item */
+ else
+ {
+ floor_item_increase(0 - item, -1);
+ floor_item_describe(0 - item);
+ floor_item_optimize(0 - item);
+ }
+
+ sound(SOUND_QUAFF);
+
+
+ /* Not identified yet */
+ ident = FALSE;
+
+ /* Object level */
+ lev = k_info[q_ptr->k_idx].level;
+
+ /* Analyze the potion */
+ if (q_ptr->tval == TV_POTION)
+ {
+ switch (q_ptr->sval)
+ {
+ /* 飲みごたえをオリジナルより細かく表現 */
+ case SV_POTION_WATER:
+ msg_print(_("口の中がさっぱりした。", ""));
+ msg_print(_("のどの渇きが少しおさまった。", "You feel less thirsty."));
+ ident = TRUE;
+ break;
+
+ case SV_POTION_APPLE_JUICE:
+ msg_print(_("甘くてサッパリとしていて、とてもおいしい。", ""));
+ msg_print(_("のどの渇きが少しおさまった。", "You feel less thirsty."));
+ ident = TRUE;
+ break;
+
+ case SV_POTION_SLIME_MOLD:
+ msg_print(_("なんとも不気味な味だ。", ""));
+ msg_print(_("のどの渇きが少しおさまった。", "You feel less thirsty."));
+ ident = TRUE;
+ break;
+
+ case SV_POTION_SLOWNESS:
+ if (set_slow(randint1(25) + 15, FALSE)) ident = TRUE;
+ break;
+
+ case SV_POTION_SALT_WATER:
+ msg_print(_("うぇ!思わず吐いてしまった。", "The potion makes you vomit!"));
+
+ if (!(prace_is_(RACE_GOLEM) ||
+ prace_is_(RACE_ZOMBIE) ||
+ prace_is_(RACE_DEMON) ||
+ prace_is_(RACE_ANDROID) ||
+ prace_is_(RACE_SPECTRE) ||
+ (mimic_info[p_ptr->mimic_form].MIMIC_FLAGS & MIMIC_IS_NONLIVING)))
+ {
+ /* Only living creatures get thirsty */
+ (void)set_food(PY_FOOD_STARVE - 1);
+ }
+
+ (void)set_poisoned(0);
+ (void)set_paralyzed(p_ptr->paralyzed + 4);
+ ident = TRUE;
+ break;
+
+ case SV_POTION_POISON:
+ if (!(p_ptr->resist_pois || IS_OPPOSE_POIS()))
+ {
+ if (set_poisoned(p_ptr->poisoned + randint0(15) + 10))
+ {
+ ident = TRUE;
+ }
+ }
+ break;
+
+ case SV_POTION_BLINDNESS:
+ if (!p_ptr->resist_blind)
+ {
+ if (set_blind(p_ptr->blind + randint0(100) + 100))
+ {
+ ident = TRUE;
+ }
+ }
+ break;
+
+ case SV_POTION_BOOZE:
+ ident = booze(p_ptr);
+ break;
+
+ case SV_POTION_SLEEP:
+ if (!p_ptr->free_act)
+ {
+ msg_print(_("あなたは眠ってしまった。", "You fall asleep."));
+
+ if (ironman_nightmare)
+ {
+ msg_print(_("恐ろしい光景が頭に浮かんできた。", "A horrible vision enters your mind."));
+
+ /* Have some nightmares */
+ sanity_blast(NULL, FALSE);
+ }
+ if (set_paralyzed(p_ptr->paralyzed + randint0(4) + 4))
+ {
+ ident = TRUE;
+ }
+ }
+ break;
+
+ case SV_POTION_LOSE_MEMORIES:
+ if (!p_ptr->hold_exp && (p_ptr->exp > 0))
+ {
+ msg_print(_("過去の記憶が薄れていく気がする。", "You feel your memories fade."));
+ chg_virtue(V_KNOWLEDGE, -5);
+
+ lose_exp(p_ptr->exp / 4);
+ ident = TRUE;
+ }
+ break;
+
+ case SV_POTION_RUINATION:
+ msg_print(_("身も心も弱ってきて、精気が抜けていくようだ。", "Your nerves and muscles feel weak and lifeless!"));
+ take_hit(DAMAGE_LOSELIFE, damroll(10, 10), _("破滅の薬", "a potion of Ruination"), -1);
+
+ (void)dec_stat(A_DEX, 25, TRUE);
+ (void)dec_stat(A_WIS, 25, TRUE);
+ (void)dec_stat(A_CON, 25, TRUE);
+ (void)dec_stat(A_STR, 25, TRUE);
+ (void)dec_stat(A_CHR, 25, TRUE);
+ (void)dec_stat(A_INT, 25, TRUE);
+ ident = TRUE;
+ break;
+
+ case SV_POTION_DEC_STR:
+ if (do_dec_stat(A_STR)) ident = TRUE;
+ break;
+
+ case SV_POTION_DEC_INT:
+ if (do_dec_stat(A_INT)) ident = TRUE;
+ break;
+
+ case SV_POTION_DEC_WIS:
+ if (do_dec_stat(A_WIS)) ident = TRUE;
+ break;
+
+ case SV_POTION_DEC_DEX:
+ if (do_dec_stat(A_DEX)) ident = TRUE;
+ break;
+
+ case SV_POTION_DEC_CON:
+ if (do_dec_stat(A_CON)) ident = TRUE;
+ break;
+
+ case SV_POTION_DEC_CHR:
+ if (do_dec_stat(A_CHR)) ident = TRUE;
+ break;
+
+ case SV_POTION_DETONATIONS:
+ ident = detonation(p_ptr);
+ break;
+
+ case SV_POTION_DEATH:
+ chg_virtue(V_VITALITY, -1);
+ chg_virtue(V_UNLIFE, 5);
+ msg_print(_("死の予感が体中を駆けめぐった。", "A feeling of Death flows through your body."));
+ take_hit(DAMAGE_LOSELIFE, 5000, _("死の薬", "a potion of Death"), -1);
+ ident = TRUE;
+ break;
+
+ case SV_POTION_INFRAVISION:
+ if (set_tim_infra(p_ptr->tim_infra + 100 + randint1(100), FALSE))
+ {
+ ident = TRUE;
+ }
+ break;
+
+ case SV_POTION_DETECT_INVIS:
+ if (set_tim_invis(p_ptr->tim_invis + 12 + randint1(12), FALSE))
+ {
+ ident = TRUE;
+ }
+ break;
+
+ case SV_POTION_SLOW_POISON:
+ if (set_poisoned(p_ptr->poisoned / 2)) ident = TRUE;
+ break;
+
+ case SV_POTION_CURE_POISON:
+ if (set_poisoned(0)) ident = TRUE;
+ break;
+
+ case SV_POTION_BOLDNESS:
+ if (set_afraid(0)) ident = TRUE;
+ break;
+
+ case SV_POTION_SPEED:
+ if (!p_ptr->fast)
+ {
+ if (set_fast(randint1(25) + 15, FALSE)) ident = TRUE;
+ }
+ else
+ {
+ (void)set_fast(p_ptr->fast + 5, FALSE);
+ }
+ break;
+
+ case SV_POTION_RESIST_HEAT:
+ if (set_oppose_fire(p_ptr->oppose_fire + randint1(10) + 10, FALSE))
+ {
+ ident = TRUE;
+ }
+ break;
+
+ case SV_POTION_RESIST_COLD:
+ if (set_oppose_cold(p_ptr->oppose_cold + randint1(10) + 10, FALSE))
+ {
+ ident = TRUE;
+ }
+ break;
+
+ case SV_POTION_HEROISM:
+ ident = heroism(25);
+ break;
+
+ case SV_POTION_BESERK_STRENGTH:
+ ident = berserk(randint1(25) + 25);
+ break;
+
+ case SV_POTION_CURE_LIGHT:
+ ident = cure_light_wounds(2, 8);
+ break;
+
+ case SV_POTION_CURE_SERIOUS:
+ ident = cure_serious_wounds(4, 8);
+ break;
+
+ case SV_POTION_CURE_CRITICAL:
+ ident = cure_critical_wounds(damroll(6, 8));
+ break;
+
+ case SV_POTION_HEALING:
+ ident = cure_critical_wounds(300);
+ break;
+
+ case SV_POTION_STAR_HEALING:
+ ident = cure_critical_wounds(1200);
+ break;
+
+ case SV_POTION_LIFE:
+ ident = life_stream(TRUE, TRUE);
+ break;
+
+ case SV_POTION_RESTORE_MANA:
+ ident = restore_mana(TRUE);
+ break;
+
+ case SV_POTION_RESTORE_EXP:
+ if (restore_level()) ident = TRUE;
+ break;
+
+ case SV_POTION_RES_STR:
+ if (do_res_stat(A_STR)) ident = TRUE;
+ break;
+
+ case SV_POTION_RES_INT:
+ if (do_res_stat(A_INT)) ident = TRUE;
+ break;
+
+ case SV_POTION_RES_WIS:
+ if (do_res_stat(A_WIS)) ident = TRUE;
+ break;
+
+ case SV_POTION_RES_DEX:
+ if (do_res_stat(A_DEX)) ident = TRUE;
+ break;
+
+ case SV_POTION_RES_CON:
+ if (do_res_stat(A_CON)) ident = TRUE;
+ break;
+
+ case SV_POTION_RES_CHR:
+ if (do_res_stat(A_CHR)) ident = TRUE;
+ break;
+
+ case SV_POTION_INC_STR:
+ if (do_inc_stat(A_STR)) ident = TRUE;
+ break;
+
+ case SV_POTION_INC_INT:
+ if (do_inc_stat(A_INT)) ident = TRUE;
+ break;
+
+ case SV_POTION_INC_WIS:
+ if (do_inc_stat(A_WIS)) ident = TRUE;
+ break;
+
+ case SV_POTION_INC_DEX:
+ if (do_inc_stat(A_DEX)) ident = TRUE;
+ break;
+
+ case SV_POTION_INC_CON:
+ if (do_inc_stat(A_CON)) ident = TRUE;
+ break;
+
+ case SV_POTION_INC_CHR:
+ if (do_inc_stat(A_CHR)) ident = TRUE;
+ break;
+
+ case SV_POTION_AUGMENTATION:
+ if (do_inc_stat(A_STR)) ident = TRUE;
+ if (do_inc_stat(A_INT)) ident = TRUE;
+ if (do_inc_stat(A_WIS)) ident = TRUE;
+ if (do_inc_stat(A_DEX)) ident = TRUE;
+ if (do_inc_stat(A_CON)) ident = TRUE;
+ if (do_inc_stat(A_CHR)) ident = TRUE;
+ break;
+
+ case SV_POTION_ENLIGHTENMENT:
+ msg_print(_("自分の置かれている状況が脳裏に浮かんできた...", "An image of your surroundings forms in your mind..."));
+ chg_virtue(V_KNOWLEDGE, 1);
+ chg_virtue(V_ENLIGHTEN, 1);
+ wiz_lite(FALSE);
+ ident = TRUE;
+ break;
+
+ case SV_POTION_STAR_ENLIGHTENMENT:
+ msg_print(_("更なる啓蒙を感じた...", "You begin to feel more enlightened..."));
+ chg_virtue(V_KNOWLEDGE, 1);
+ chg_virtue(V_ENLIGHTEN, 2);
+ msg_print(NULL);
+ wiz_lite(FALSE);
+ (void)do_inc_stat(A_INT);
+ (void)do_inc_stat(A_WIS);
+ (void)detect_traps(DETECT_RAD_DEFAULT, TRUE);
+ (void)detect_doors(DETECT_RAD_DEFAULT);
+ (void)detect_stairs(DETECT_RAD_DEFAULT);
+ (void)detect_treasure(DETECT_RAD_DEFAULT);
+ (void)detect_objects_gold(DETECT_RAD_DEFAULT);
+ (void)detect_objects_normal(DETECT_RAD_DEFAULT);
+ identify_pack();
+ self_knowledge();
+ ident = TRUE;
+ break;
+
+ case SV_POTION_SELF_KNOWLEDGE:
+ msg_print(_("自分自身のことが少しは分かった気がする...", "You begin to know yourself a little better..."));
+ msg_print(NULL);
+ self_knowledge();
+ ident = TRUE;
+ break;
+
+ case SV_POTION_EXPERIENCE:
+ if (p_ptr->prace == RACE_ANDROID) break;
+ chg_virtue(V_ENLIGHTEN, 1);
+ if (p_ptr->exp < PY_MAX_EXP)
+ {
+ EXP ee = (p_ptr->exp / 2) + 10;
+ if (ee > 100000L) ee = 100000L;
+ msg_print(_("更に経験を積んだような気がする。", "You feel more experienced."));
+ gain_exp(ee);
+ ident = TRUE;
+ }
+ break;
+
+ case SV_POTION_RESISTANCE:
+ (void)set_oppose_acid(p_ptr->oppose_acid + randint1(20) + 20, FALSE);
+ (void)set_oppose_elec(p_ptr->oppose_elec + randint1(20) + 20, FALSE);
+ (void)set_oppose_fire(p_ptr->oppose_fire + randint1(20) + 20, FALSE);
+ (void)set_oppose_cold(p_ptr->oppose_cold + randint1(20) + 20, FALSE);
+ (void)set_oppose_pois(p_ptr->oppose_pois + randint1(20) + 20, FALSE);
+ ident = TRUE;
+ break;
+
+ case SV_POTION_CURING:
+ if (true_healing(50)) ident = TRUE;
+ break;
+
+ case SV_POTION_INVULNERABILITY:
+ (void)set_invuln(p_ptr->invuln + randint1(4) + 4, FALSE);
+ ident = TRUE;
+ break;
+
+ case SV_POTION_NEW_LIFE:
+ roll_hitdice(p_ptr, 0L);
+ get_max_stats();
+ p_ptr->update |= PU_BONUS;
+ lose_all_mutations();
+ ident = TRUE;
+ break;
+
+ case SV_POTION_NEO_TSUYOSHI:
+ (void)set_image(0);
+ (void)set_tsuyoshi(p_ptr->tsuyoshi + randint1(100) + 100, FALSE);
+ ident = TRUE;
+ break;
+
+ case SV_POTION_TSUYOSHI:
+ msg_print(_("「オクレ兄さん!」", "Brother OKURE!"));
+ msg_print(NULL);
+ p_ptr->tsuyoshi = 1;
+ (void)set_tsuyoshi(0, TRUE);
+ if (!p_ptr->resist_chaos)
+ {
+ (void)set_image(50 + randint1(50));
+ }
+ ident = TRUE;
+ break;
+
+ case SV_POTION_POLYMORPH:
+ if ((p_ptr->muta1 || p_ptr->muta2 || p_ptr->muta3) && one_in_(23))
+ {
+ lose_all_mutations();
+ }
+ else
+ {
+ do
+ {
+ if (one_in_(2))
+ {
+ if(gain_mutation(p_ptr, 0)) ident = TRUE;
+ }
+ else if (lose_mutation(0)) ident = TRUE;
+ } while(!ident || one_in_(2));
+ }
+ break;
+ }
+ }
+
+ if (prace_is_(RACE_SKELETON))
+ {
+ msg_print(_("液体の一部はあなたのアゴを素通りして落ちた!", "Some of the fluid falls through your jaws!"));
+ (void)potion_smash_effect(0, p_ptr->y, p_ptr->x, q_ptr->k_idx);
+ }
+ p_ptr->update |= (PU_COMBINE | PU_REORDER);
+
+ if (!(object_is_aware(q_ptr)))
+ {
+ chg_virtue(V_PATIENCE, -1);
+ chg_virtue(V_CHANCE, 1);
+ chg_virtue(V_KNOWLEDGE, -1);
+ }
+
+ /* The item has been tried */
+ object_tried(q_ptr);
+
+ /* An identification was made */
+ if (ident && !object_is_aware(q_ptr))
+ {
+ object_aware(q_ptr);
+ gain_exp((lev + (p_ptr->lev >> 1)) / p_ptr->lev);
+ }
+
+ p_ptr->window |= (PW_INVEN | PW_EQUIP | PW_PLAYER);
+
+ /* Potions can feed the player */
+ switch (p_ptr->mimic_form)
+ {
+ case MIMIC_NONE:
+ switch (p_ptr->prace)
+ {
+ case RACE_VAMPIRE:
+ (void)set_food(p_ptr->food + (q_ptr->pval / 10));
+ break;
+ case RACE_SKELETON:
+ /* Do nothing */
+ break;
+ case RACE_GOLEM:
+ case RACE_ZOMBIE:
+ case RACE_DEMON:
+ case RACE_SPECTRE:
+ set_food(p_ptr->food + ((q_ptr->pval) / 20));
+ break;
+ case RACE_ANDROID:
+ if (q_ptr->tval == TV_FLASK)
+ {
+ msg_print(_("オイルを補給した。", "You replenish yourself with the oil."));
+ set_food(p_ptr->food + 5000);
+ }
+ else
+ {
+ set_food(p_ptr->food + ((q_ptr->pval) / 20));
+ }
+ break;
+ case RACE_ENT:
+ msg_print(_("水分を取り込んだ。", "You are moistened."));
+ set_food(MIN(p_ptr->food + q_ptr->pval + MAX(0, q_ptr->pval * 10) + 2000, PY_FOOD_MAX - 1));
+ break;
+ default:
+ (void)set_food(p_ptr->food + q_ptr->pval);
+ break;
+ }
+ break;
+ case MIMIC_DEMON:
+ case MIMIC_DEMON_LORD:
+ set_food(p_ptr->food + ((q_ptr->pval) / 20));
+ break;
+ case MIMIC_VAMPIRE:
+ (void)set_food(p_ptr->food + (q_ptr->pval / 10));
+ break;
+ default:
+ (void)set_food(p_ptr->food + q_ptr->pval);
+ break;
+ }
+}
+
+
+
+/*!
+ * @brief 薬を飲むコマンドのメインルーチン /
+ * Quaff some potion (from the pack or floor)
+ * @return なし
+ */
+void do_cmd_quaff_potion(void)
+{
+ OBJECT_IDX item;
+ concptr q, s;
+
+ if (p_ptr->wild_mode)
+ {
+ return;
+ }
+
+ if (cmd_limit_arena(p_ptr)) return;
+
+ if (p_ptr->special_defense & (KATA_MUSOU | KATA_KOUKIJIN))
+ {
+ set_action(ACTION_NONE);
+ }
+
+ /* Restrict choices to potions */
+ item_tester_hook = item_tester_hook_quaff;
+
+ q = _("どの薬を飲みますか? ", "Quaff which potion? ");
+ s = _("飲める薬がない。", "You have no potions to quaff.");
+
+ if (!choose_object(&item, q, s, (USE_INVEN | USE_FLOOR))) return;
+
+ /* Quaff the potion */
+ do_cmd_quaff_potion_aux(item);
+}
{
if (creature_ptr->image)
{
- msg_print(_("幻覚が見えて集中できない!", "You are too hallucinated!"));
+ msg_print(_("幻覚が見えて集中できない!", "Your hallucinations prevent you from concentrating!"));
return TRUE;
}
return FALSE;
if ((g_ptr->o_idx || (g_ptr->info & CAVE_OBJECT)) &&
(closed_feat != old_feat) && !have_flag(f_info[closed_feat].flags, FF_DROP))
{
- msg_print(_("何かがつっかえて閉まらない。", "There seems stuck."));
+ msg_print(_("何かがつっかえて閉まらない。", "Something prevents it from closing."));
}
else
{
if (j_ptr->sval == SV_CRIMSON)
{
- msg_print(_("この武器は発動して使うもののようだ。", "Do activate."));
+ msg_print(_("この武器は発動して使うもののようだ。", "It's already activated."));
flush();
return;
}
if (snipe_type == SP_FINAL)
{
- msg_print(_("射撃の反動が体を襲った。", "A reactionary of shooting attacked you. "));
+ msg_print(_("射撃の反動が体を襲った。", "The weapon's recoil stuns you. "));
(void)set_slow(creature_ptr, creature_ptr->slow + randint0(7) + 7, FALSE);
(void)set_stun(creature_ptr, creature_ptr->stun + randint1(25));
}
fprintf(fff, _("%sとはぐれてしまった。\n", "lost sight of %s.\n"), note);
break;
case RECORD_NAMED_PET_DESTROY:
- fprintf(fff, _("%sが*破壊*によって消え去った。\n", "%s was made disappeared by *destruction*.\n"), note);
+ fprintf(fff, _("%sが*破壊*によって消え去った。\n", "%s was killed by *destruction*.\n"), note);
break;
case RECORD_NAMED_PET_EARTHQUAKE:
fprintf(fff, _("%sが岩石に押し潰された。\n", "%s was crushed by falling rocks.\n"), note);
break;
case RECORD_NAMED_PET_GENOCIDE:
- fprintf(fff, _("%sが抹殺によって消え去った。\n", "%s was made disappeared by genocide.\n"), note);
+ fprintf(fff, _("%sが抹殺によって消え去った。\n", "%s was a victim of genocide.\n"), note);
break;
case RECORD_NAMED_PET_WIZ_ZAP:
fprintf(fff, _("%sがデバッグコマンドによって消え去った。\n", "%s was removed by debug command.\n"), note);
break;
case RECORD_NAMED_PET_TELE_LEVEL:
- fprintf(fff, _("%sがテレポート・レベルによって消え去った。\n", "%s was made disappeared by teleport level.\n"), note);
+ fprintf(fff, _("%sがテレポート・レベルによって消え去った。\n", "%s was lost after teleporting a level.\n"), note);
break;
case RECORD_NAMED_PET_BLAST:
fprintf(fff, _("%sを爆破した。\n", "blasted %s.\n"), note);
fprintf(fff, _("%sの病気が治り旅から外れた。\n", "%s was healed and left.\n"), note);
break;
case RECORD_NAMED_PET_COMPACT:
- fprintf(fff, _("%sがモンスター情報圧縮によって消え去った。\n", "%s was made disappeared by compacting monsters.\n"), note);
+ fprintf(fff, _("%sがモンスター情報圧縮によって消え去った。\n", "%s was lost when the monster list was pruned.\n"), note);
break;
case RECORD_NAMED_PET_LOSE_PARENT:
- fprintf(fff, _("%sの召喚者が既にいないため消え去った。\n", "%s disappeared because there does not exist summoner.\n"), note);
+ fprintf(fff, _("%sの召喚者が既にいないため消え去った。\n", "%s disappeared because its summoner left.\n"), note);
break;
-
default:
fprintf(fff, "\n");
break;
/* Give some choices */
prt(_("(1) 記録を見る", "(1) Display your record"), 4, 5);
prt(_("(2) 文章を記録する", "(2) Add record"), 5, 5);
- prt(_("(3) 直前に入手又は鑑定したものを記録する", "(3) Record item you last get/identify"), 6, 5);
+ prt(_("(3) 直前に入手又は鑑定したものを記録する", "(3) Record the last item you got or identified"), 6, 5);
prt(_("(4) 記録を消去する", "(4) Delete your record"), 7, 5);
prt(_("(R) プレイ動画を記録する/中止する", "(R) Record playing movie / or stop it"), 9, 5);
Term_clear();
/* Why are we here */
- prt(_("[ オプションの設定 ]", "TinyAngband options"), 1, 0);
+ prt(_("[ オプションの設定 ]", "Game options"), 1, 0);
while (TRUE)
{
if (((o_ptr->curse_flags & TRC_HEAVY_CURSE) && one_in_(7)) || one_in_(4))
{
- msg_print(_("呪われた装備を力づくで剥がした!", "You teared a cursed equipment off by sheer strength!"));
+ msg_print(_("呪われた装備を力づくで剥がした!", "You tore off a piece of cursed equipment by sheer strength!"));
o_ptr->ident |= (IDENT_SENSE);
o_ptr->curse_flags = 0L;
else if ((o_ptr->name2 == EGO_LITE_DARKNESS) || (j_ptr->name2 == EGO_LITE_DARKNESS))
{
j_ptr->xtra4 = 0;
- msg_print(_("しかし松明は全く光らない。", "Curiously, your torche don't light."));
+ msg_print(_("しかし松明は全く光らない。", "Curiously, your torch doesn't light."));
}
/* Over-fuel message */
else if (j_ptr->xtra4 >= FUEL_TORCH)
case MS_MAKE_TRAP:
if (!target_set(caster_ptr, TARGET_KILL)) return FALSE;
- msg_print(_("呪文を唱えて邪悪に微笑んだ。", "You cast a spell and cackles evilly."));
+ msg_print(_("呪文を唱えて邪悪に微笑んだ。", "You cast a spell and cackle evilly."));
trap_creation(caster_ptr, target_row, target_col);
break;
case MS_FORGET:
msg_print(_("しかし何も起きなかった。", "Nothing happen."));
break;
case MS_RAISE_DEAD:
- msg_print(_("死者復活の呪文を唱えた。", "You cast a animate dead."));
+ msg_print(_("死者復活の呪文を唱えた。", "You animate the dead."));
(void)animate_dead(caster_ptr, 0, caster_ptr->y, caster_ptr->x);
break;
case MS_S_KIN:
{
int k;
if (!target_set(caster_ptr, TARGET_KILL)) return FALSE;
- msg_print(_("天使を召喚した!", "You summon angel!"));
+ msg_print(_("天使を召喚した!", "You summon an angel!"));
for (k = 0; k < 1; k++)
summon_specific(caster_ptr, -1, target_row, target_col, plev, SUMMON_ANGEL, mode);
break;
{
int k;
if (!target_set(caster_ptr, TARGET_KILL)) return FALSE;
- msg_print(_("ドラゴンを召喚した!", "You summon dragon!"));
+ msg_print(_("ドラゴンを召喚した!", "You summon a dragon!"));
for (k = 0; k < 1; k++)
summon_specific(caster_ptr, -1, target_row, target_col, plev, SUMMON_DRAGON, (mode | u_mode));
break;
/* Skip non-empty grids */
if (!player_can_ride_aux(creature_ptr, g_ptr, FALSE))
{
- msg_print(_("そちらには降りられません。", "You cannot go to that direction."));
+ msg_print(_("そちらには降りられません。", "You cannot go that direction."));
return FALSE;
}
if (!g_ptr->m_idx || !m_ptr->ml)
{
- msg_print(_("その場所にはモンスターはいません。", "Here is no monster."));
+ msg_print(_("その場所にはモンスターはいません。", "There is no monster here."));
return FALSE;
}
if (!is_pet(m_ptr) && !force)
if (creature_ptr->timewalk)
{
if (flush_failure) flush();
- msg_print(_("瓶から水が流れ出てこない!", "The potion doesn't flow out from a bottle."));
+ msg_print(_("瓶から水が流れ出てこない!", "The potion doesn't flow out from the bottle."));
sound(SOUND_FAIL);
return;
if ((mode != 10) && (object_is_artifact(o_ptr) || object_is_smith(o_ptr)))
{
- msg_print(_("そのアイテムはこれ以上改良できない。", "This item is no more able to be improved."));
+ msg_print(_("そのアイテムはこれ以上改良できない。", "This item can not be improved any further."));
return;
}
if (CHECK_MULTISHADOW(target_ptr))
{
- msg_print(_("攻撃は幻影に命中し、あなたには届かなかった。", "The attack hits Shadow, you are unharmed!"));
+ msg_print(_("攻撃は幻影に命中し、あなたには届かなかった。", "The attack hits Shadow, but you are unharmed!"));
}
else
{
GAME_TEXT m_name_self[80];
/* hisself */
- monster_desc(m_name_self, m_ptr, MD_PRON_VISIBLE | MD_POSSESSIVE | MD_OBJECTIVE);
+ monster_desc(target_ptr, m_name_self, m_ptr, MD_PRON_VISIBLE | MD_POSSESSIVE | MD_OBJECTIVE);
msg_format("The attack of %s has wounded %s!", m_name, m_name_self);
#endif
if (creature_ptr->levitation)
{
- msg_print(_("電撃を受けた!", "The electric shocks you!"));
+ msg_print(_("電撃を受けた!", "The electricity shocks you!"));
take_hit(creature_ptr, DAMAGE_NOESCAPE, damage, format(_("%sの上に浮遊したダメージ", "flying over %s"),
f_name + f_info[get_feat_mimic(&creature_ptr->current_floor_ptr->grid_array[creature_ptr->y][creature_ptr->x])].name), -1);
}
if (creature_ptr->levitation)
{
- msg_print(_("酸が飛び散った!", "The acid melt you!"));
+ msg_print(_("酸が飛び散った!", "The acid melts you!"));
take_hit(creature_ptr, DAMAGE_NOESCAPE, damage, format(_("%sの上に浮遊したダメージ", "flying over %s"),
f_name + f_info[get_feat_mimic(&creature_ptr->current_floor_ptr->grid_array[creature_ptr->y][creature_ptr->x])].name), -1);
}
(void)teleport_player_aux(creature_ptr, 100, TELEPORT_NONMAGICAL | TELEPORT_PASSIVE);
wiz_dark(creature_ptr);
msg_print(_("あなたは見知らぬ場所で目が醒めた...頭が痛い。", "You wake up somewhere with a sore head..."));
- msg_print(_("何も覚えていない。どうやってここに来たかも分からない!", "You can't remember a thing, or how you got here!"));
+ msg_print(_("何も覚えていない。どうやってここに来たかも分からない!", "You can't remember a thing or how you got here!"));
}
else
{
if (number_mon == 0)
{
- msg_print(_("相打ちに終わりました。", "They have kill each other at the same time."));
+ msg_print(_("相打ちに終わりました。", "Nothing survived."));
msg_print(NULL);
player_ptr->energy_need = 0;
update_gambling_monsters(player_ptr);
wm_ptr = &floor_ptr->m_list[win_m_idx];
monster_desc(player_ptr, m_name, wm_ptr, 0);
- msg_format(_("%sが勝利した!", "%s is winner!"), m_name);
+ msg_format(_("%sが勝利した!", "%s won!"), m_name);
msg_print(NULL);
if (win_m_idx == (sel_monster + 1))
}
else if (current_world_ptr->game_turn - floor_ptr->generated_turn == 150 * TURNS_PER_TICK)
{
- msg_print(_("申し分けありませんが、この勝負は引き分けとさせていただきます。", "This battle have ended in a draw."));
+ msg_print(_("申し分けありませんが、この勝負は引き分けとさせていただきます。", "This battle ended in a draw."));
player_ptr->au += kakekin;
msg_print(NULL);
player_ptr->energy_need = 0;
/* No player? -- Try to regenerate floor */
if (!player_ptr->y || !player_ptr->x)
{
- msg_print(_("プレイヤーの位置がおかしい。フロアを再生成します。", "What a strange player location. Regenerate the dungeon floor."));
+ msg_print(_("プレイヤーの位置がおかしい。フロアを再生成します。", "What a strange player location, regenerate the dungeon floor."));
change_floor(player_ptr);
}
#ifdef JP
sprintf(statmsg, "…あなたは勝利の後%sした。", streq(creature_ptr->died_from, "Seppuku") ? "切腹" : "引退");
#else
- sprintf(statmsg, "...You %s after the winning.", streq(creature_ptr->died_from, "Seppuku") ? "did Seppuku" : "retired from the adventure");
+ sprintf(statmsg, "...You %s after winning.", streq(creature_ptr->died_from, "Seppuku") ? "did Seppuku" : "retired from the adventure");
#endif
}
else if (!floor_ptr->dun_level)
fprintf(fff, "%c) %s\n", I2A(i % 12), o_name);
#else
if ((i % 12) == 0) fprintf(fff, "\n ( page %d )\n", x++);
- object_desc(player_ptr, o_name, &st_ptr->stock[i], 0);
+ object_desc(creature_ptr, o_name, &st_ptr->stock[i], 0);
fprintf(fff, "%c) %s\n", I2A(i % 12), o_name);
#endif
}
if (subject_ptr->monlite)
{
- msg_print(_("影の覆いが薄れた気がする。", "Your mantle of shadow become thin."));
+ msg_print(_("影の覆いが薄れた気がする。", "Your mantle of shadow becomes thin."));
}
else
{
- msg_print(_("影の覆いが濃くなった!", "Your mantle of shadow restored its original darkness."));
+ msg_print(_("影の覆いが濃くなった!", "Your mantle of shadow is restored to its original darkness."));
}
subject_ptr->old_monlite = subject_ptr->monlite;
"Releases a confusion ball which doesn't inflict any damage.",
"Swaps positions of you and a monster.",
"Sets a glyph under you. The glyph will explode when a monster moves on it.",
- "Become ethereal form which gives ability to pass walls, and gives resistance to acid for a while. This resistance can be added to which from equipment for more powerful resistance.",
+ "Become ethereal for a period of time. While ethereal, you can pass through walls and are resistant to acid. This resistance can be added to which from equipment for more powerful resistance.",
"Generates huge balls of poison, drain life and confusion, then teleport in a time.",
"Fires some number of beams of fire, nether or plasma in random directions.",
"Creates shadows of yourself which gives you abillity to completely evade any attacks at one in two chance for a while.",
msg_print("地面に落とされた。");
#else
GAME_TEXT m_name[MAX_NLEN];
- monster_desc(m_name, &target_ptr->current_floor_ptr->m_list[target_ptr->riding], 0);
+ monster_desc(target_ptr, m_name, &target_ptr->current_floor_ptr->m_list[target_ptr->riding], 0);
msg_format("You have fallen from %s.", m_name);
#endif
}
if (is_seen(m_ptr))
{
GAME_TEXT m_name[MAX_NLEN];
-#ifdef JP
-#else
-
+#ifndef JP
char m_poss[80];
/* Acquire the monster possessive */
- monster_desc(m_poss, m_ptr, MD_PRON_VISIBLE | MD_POSSESSIVE);
+ monster_desc(target_ptr, m_poss, m_ptr, MD_PRON_VISIBLE | MD_POSSESSIVE);
#endif
monster_desc(target_ptr, m_name, m_ptr, 0);
#ifdef JP
#ifdef JP
hooked_roff(format(" %d レベルのキャラクタにとって 約%ld.%02ld ポイントの経験となる。", player_ptr->lev, (long)i, (long)j));
#else
-
- /* Mention the experience */
- hooked_roff(format(" is worth about %ld.%02ld point%s",
- (long)i, (long)j, ((i == 1) && (j == 0)) ? "" : "s"));
-
- /* Take account of annoying English */
- p = "th";
- i = player_ptr->lev % 10;
- if ((player_ptr->lev / 10) == 1) /* nothing */;
- else if (i == 1) p = "st";
- else if (i == 2) p = "nd";
- else if (i == 3) p = "rd";
-
- /* Take account of "leading vowels" in numbers */
- q = "";
- i = player_ptr->lev;
- if ((i == 8) || (i == 11) || (i == 18)) q = "n";
-
- /* Mention the dependance on the player's level */
- hooked_roff(format(" for a%s %lu%s level character. ",
- q, (long)i, p));
+ {
+ char *p, *q;
+ /* Mention the experience */
+ hooked_roff(format(" is worth about %ld.%02ld point%s",
+ (long)i, (long)j, ((i == 1) && (j == 0)) ? "" : "s"));
+
+ /* Take account of annoying English */
+ p = "th";
+ i = player_ptr->lev % 10;
+ if ((player_ptr->lev / 10) == 1) /* nothing */;
+ else if (i == 1) p = "st";
+ else if (i == 2) p = "nd";
+ else if (i == 3) p = "rd";
+
+ /* Take account of "leading vowels" in numbers */
+ q = "";
+ i = player_ptr->lev;
+ if ((i == 8) || (i == 11) || (i == 18)) q = "n";
+
+ /* Mention the dependance on the player's level */
+ hooked_roff(format(" for a%s %lu%s level character. ",
+ q, (long)i, p));
+ }
#endif
}
GAME_TEXT m_name[MAX_NLEN];
monster_desc(target_ptr, m_name, m_ptr, 0x00);
-#ifdef JP
-#else
-
+#ifndef JP
/* Get the monster possessive ("his"/"her"/"its") */
- monster_desc(m_poss, m_ptr, MD_PRON_VISIBLE | MD_POSSESSIVE);
+ monster_desc(target_ptr, m_poss, m_ptr, MD_PRON_VISIBLE | MD_POSSESSIVE);
#endif
SPELL_IDX thrown_spell = 0;
/* Get the monster name (or "it") */
monster_desc(target_ptr, m_name, m_ptr, 0x00);
-#ifdef JP
-#else
-
+#ifndef JP
/* Get the monster possessive ("his"/"her"/"its") */
- monster_desc(m_poss, m_ptr, MD_PRON_VISIBLE | MD_POSSESSIVE);
+ monster_desc(target_ptr, m_poss, m_ptr, MD_PRON_VISIBLE | MD_POSSESSIVE);
#endif
/* Get the target's name (or "it") */
msg_print(_("しかし何も起きなかった。", "Nothing happen."));
break;
case MS_RAISE_DEAD:
- msg_print(_("死者復活の呪文を唱えた。", "You cast a animate dead."));
+ msg_print(_("死者復活の呪文を唱えた。", "You animate the dead."));
(void)animate_dead(caster_ptr, 0, caster_ptr->y, caster_ptr->x);
break;
case MS_S_KIN:
{
- msg_print(_("援軍を召喚した。", "You summon minions."));
+ msg_print(_("援軍を召喚した。", "You summon one of your kin."));
for (int k = 0;k < 1; k++)
{
if (summon_kin_player(caster_ptr, summon_lev, caster_ptr->y, caster_ptr->x, (pet ? PM_FORCE_PET : 0L)))
{
- if (!pet) msg_print(_("召喚された仲間は怒っている!", "Summoned fellows are angry!"));
+ if (!pet) msg_print(_("召喚された仲間は怒っている!", "The summoned companion is angry!"));
}
else
{
if (summon_specific(caster_ptr, (pet ? -1 : 0), caster_ptr->y, caster_ptr->x, summon_lev, SUMMON_ANGEL, (g_mode | p_mode)))
{
if (!pet)
- msg_print(_("召喚された天使は怒っている!", "Summoned angels are angry!"));
+ msg_print(_("召喚された天使は怒っている!", "The summoned angel is angry!"));
}
else
{
no_trump = TRUE;
}
-
break;
}
case MS_S_DEMON:
if (summon_specific(caster_ptr, (pet ? -1 : 0), caster_ptr->y, caster_ptr->x, summon_lev, SUMMON_DEMON, (g_mode | p_mode)))
{
if (!pet)
- msg_print(_("召喚されたデーモンは怒っている!", "Summoned demons are angry!"));
+ msg_print(_("召喚されたデーモンは怒っている!", "The summoned demon is angry!"));
}
else
{
no_trump = TRUE;
}
-
break;
}
case MS_S_UNDEAD:
if (summon_specific(caster_ptr, (pet ? -1 : 0), caster_ptr->y, caster_ptr->x, summon_lev, SUMMON_UNDEAD, (g_mode | p_mode)))
{
if (!pet)
- msg_print(_("召喚されたアンデッドは怒っている!", "Summoned undeads are angry!"));
+ msg_print(_("召喚されたアンデッドは怒っている!", "The summoned undead is angry!"));
}
else
{
no_trump = TRUE;
}
-
break;
}
case MS_S_DRAGON:
if (summon_specific(caster_ptr, (pet ? -1 : 0), caster_ptr->y, caster_ptr->x, summon_lev, SUMMON_DRAGON, (g_mode | p_mode)))
{
if (!pet)
- msg_print(_("召喚されたドラゴンは怒っている!", "Summoned dragons are angry!"));
+ msg_print(_("召喚されたドラゴンは怒っている!", "The summoned dragon is angry!"));
}
else
{
no_trump = TRUE;
}
-
- break;
+ break;
}
case MS_S_HI_UNDEAD:
{
if (summon_specific(caster_ptr, (pet ? -1 : 0), caster_ptr->y, caster_ptr->x, summon_lev, SUMMON_HI_UNDEAD, (g_mode | p_mode | u_mode)))
{
if (!pet)
- msg_print(_("召喚された上級アンデッドは怒っている!", "Summoned greater undeads are angry!"));
+ msg_print(_("召喚された上級アンデッドは怒っている!", "The summoned greater undead is angry!"));
}
else
{
no_trump = TRUE;
}
-
break;
}
case MS_S_HI_DRAGON:
if (summon_specific(caster_ptr, (pet ? -1 : 0), caster_ptr->y, caster_ptr->x, summon_lev, SUMMON_HI_DRAGON, (g_mode | p_mode | u_mode)))
{
if (!pet)
- msg_print(_("召喚された古代ドラゴンは怒っている!", "Summoned ancient dragons are angry!"));
+ msg_print(_("召喚された古代ドラゴンは怒っている!", "The summoned ancient dragon is angry!"));
}
else
{
no_trump = TRUE;
}
-
break;
}
case MS_S_AMBERITE:
if (summon_specific(caster_ptr, (pet ? -1 : 0), caster_ptr->y, caster_ptr->x, summon_lev, SUMMON_AMBERITES, (g_mode | p_mode | u_mode)))
{
if (!pet)
- msg_print(_("召喚されたアンバーの王族は怒っている!", "Summoned Lords of Amber are angry!"));
+ msg_print(_("召喚されたアンバーの王族は怒っている!", "The summoned Lord of Amber is angry!"));
}
else
{
{
count++;
if (!pet)
- msg_print(_("召喚されたユニーク・モンスターは怒っている!", "Summoned special opponents are angry!"));
+ msg_print(_("召喚されたユニーク・モンスターは怒っている!", "The summoned special opponent is angry!"));
}
}
{
count++;
if (!pet)
- msg_print(_("召喚された上級アンデッドは怒っている!", "Summoned greater undeads are angry!"));
+ msg_print(_("召喚された上級アンデッドは怒っている!", "The summoned greater undead is angry!"));
}
}
if (no_trump)
{
- msg_print(_("何も現れなかった。", "No one have appeared."));
+ msg_print(_("何も現れなかった。", "No one appeared."));
}
return TRUE;
}
else if (damage_type == DAMAGE_ATTACK)
{
- msg_print(_("攻撃は幻影に命中し、あなたには届かなかった。", "The attack hits Shadow, you are unharmed!"));
+ msg_print(_("攻撃は幻影に命中し、あなたには届かなかった。", "The attack hits Shadow, but you are unharmed!"));
return 0;
}
}
}
case ACTION_LEARN:
{
- msg_print(_("学習をやめた。", "You stop Learning"));
+ msg_print(_("学習をやめた。", "You stop learning."));
creature_ptr->new_mane = FALSE;
break;
}
}
case ACTION_LEARN:
{
- msg_print(_("学習を始めた。", "You begin Learning"));
+ msg_print(_("学習を始めた。", "You begin learning"));
break;
}
case ACTION_FISH:
if (creature_ptr->action == ACTION_LEARN)
{
- msg_print(_("学習が続けられない!", "You cannot continue Learning!"));
+ msg_print(_("学習が続けられない!", "You cannot continue learning!"));
creature_ptr->new_mane = FALSE;
creature_ptr->redraw |= (PR_STATE);
}
else if (!creature_ptr->lightspeed)
{
- msg_print(_("非常に素早く動けるようになった!", "You feel yourself moving extremely faster!"));
+ msg_print(_("非常に素早く動けるようになった!", "You feel yourself moving extremely fast!"));
notice = TRUE;
chg_virtue(creature_ptr, V_PATIENCE, -1);
chg_virtue(creature_ptr, V_DILIGENCE, 1);
{
if (creature_ptr->shero)
{
- msg_print(_("野蛮な気持ちが消え失せた。", "You feel less Berserk."));
+ msg_print(_("野蛮な気持ちが消え失せた。", "You feel less berserk."));
notice = TRUE;
}
}
}
else if (!creature_ptr->kabenuke)
{
- msg_print(_("体が半物質の状態になった。", "You became ethereal form."));
+ msg_print(_("体が半物質の状態になった。", "You became ethereal."));
notice = TRUE;
}
}
{
if (creature_ptr->kabenuke)
{
- msg_print(_("体が物質化した。", "You are no longer in an ethereal form."));
+ msg_print(_("体が物質化した。", "You are no longer ethereal."));
notice = TRUE;
}
}
{
if (creature_ptr->tsuyoshi)
{
- msg_print(_("肉体が急速にしぼんでいった。", "Your body had quickly shriveled."));
+ msg_print(_("肉体が急速にしぼんでいった。", "Your body has quickly shriveled."));
(void)dec_stat(creature_ptr, A_CON, 20, TRUE);
(void)dec_stat(creature_ptr, A_STR, 20, TRUE);
char choice;
screen_save();
- c_prt(TERM_RED, _(" a) 火炎", " a) Immune Fire"), 2, 14);
- c_prt(TERM_L_WHITE,_(" b) 冷気", " b) Immune Cold"), 3, 14);
- c_prt(TERM_L_DARK, _(" c) 酸", " c) Immune Acid"), 4, 14);
- c_prt(TERM_BLUE, _(" d) 電撃", " d) Immune Elec"), 5, 14);
+ c_prt(TERM_RED, _(" a) 火炎", " a) Immunity to fire"), 2, 14);
+ c_prt(TERM_L_WHITE,_(" b) 冷気", " b) Immunity to cold"), 3, 14);
+ c_prt(TERM_L_DARK, _(" c) 酸", " c) Immunity to acid"), 4, 14);
+ c_prt(TERM_BLUE, _(" d) 電撃", " d) Immunity to elec"), 5, 14);
prt("", 6, 14);
prt("", 7, 14);
prt("", 9, 14);
prt("", 1, 0);
- prt(_(" どの元素の免疫をつけますか?", " Choose a temporary elemental immune "), 1, 14);
+ prt(_(" どの元素の免疫をつけますか?", " Choose a temporary elemental immunity "), 1, 14);
choice = inkey();
set_ele_immune(creature_ptr, DEFENSE_ELEC, immune_turn);
else
{
- msg_print(_("免疫を付けるのをやめた。", "You cancel the temporary immune."));
+ msg_print(_("免疫を付けるのをやめた。", "You cancel the temporary immunity."));
screen_load();
return FALSE;
}
if (d_info[caster_ptr->dungeon_idx].flags1 & DF1_NO_MELEE)
{
- msg_print(_("なぜか攻撃することができない。", "Something prevent you from attacking."));
+ msg_print(_("なぜか攻撃することができない。", "Something prevents you from attacking."));
return "";
}
msg_print(_("武器を大きく振り下ろした。", "You swing your weapon downward."));
{
if (CHECK_MULTISHADOW(target_ptr))
{
- msg_print(_("攻撃は幻影に命中し、あなたには届かなかった。", "The attack hits Shadow, you are unharmed!"));
+ msg_print(_("攻撃は幻影に命中し、あなたには届かなかった。", "The attack hits Shadow, but you are unharmed!"));
}
else if (target_ptr->csp)
{
{
if (d_info[caster_ptr->dungeon_idx].flags1 & DF1_NO_MELEE)
{
- msg_print(_("なぜか攻撃することができない。", "Something prevent you from attacking."));
+ msg_print(_("なぜか攻撃することができない。", "Something prevents you from attacking."));
return FALSE;
}
(void)teleport_player_aux(creature_ptr, 100, TELEPORT_NONMAGICAL | TELEPORT_PASSIVE);
wiz_dark(creature_ptr);
msg_print(_("知らない場所で目が醒めた。頭痛がする。", "You wake up somewhere with a sore head..."));
- msg_print(_("何も思い出せない。どうやってここへ来たのかも分からない!", "You can't remember a thing, or how you got here!"));
+ msg_print(_("何も思い出せない。どうやってここへ来たのかも分からない!", "You can't remember a thing or how you got here!"));
}
return ident;
return FALSE;
}
- prt(_("どこに行きますか:", "Which town you go: "), 0, 0);
+ prt(_("どこに行きますか:", "Where do you want to go: "), 0, 0);
while (TRUE)
{
i = inkey();