X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Frooms-pitnest.c;h=10fdf6020ee7ef413216bed2591e0dcfb66ad894;hb=73ecdb9fb162233b038006d1fc88302d5da77627;hp=82904443d0e661dd01b7f5159f7fbbe496039a57;hpb=7b751286e93b77553bc694fdb4861af6944aa948;p=hengband%2Fhengband.git diff --git a/src/rooms-pitnest.c b/src/rooms-pitnest.c index 82904443d..10fdf6020 100644 --- a/src/rooms-pitnest.c +++ b/src/rooms-pitnest.c @@ -1,4 +1,4 @@ -#include "angband.h" +#include "angband.h" #include "grid.h" #include "generate.h" #include "rooms.h" @@ -7,22 +7,22 @@ -#define NUM_NEST_MON_TYPE 64 /*!flags2 & RF2_KILL_BODY) && !(r_ptr->flags1 & RF1_NEVER_BLOW)) return (FALSE); - - /* Also decline evil jellies (like death molds and shoggoths) */ - if (r_ptr->flags3 & (RF3_EVIL)) return (FALSE); - - /* Require icky thing, jelly, mold, or mushroom */ - if (!my_strchr("ijm,", r_ptr->d_char)) return (FALSE); - - /* Okay */ - return (TRUE); -} - -/*! -* @brief ƒ‚ƒ“ƒXƒ^[‚ª“®•¨nest‚̐¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚©‚ð•Ô‚· / -* Helper function for "monster nest (animal)" -* @param r_idx Šm”F‚µ‚½‚¢ƒ‚ƒ“ƒXƒ^[Ží‘°ID -* @return ¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚È‚çTRUE‚ð•Ô‚·B -*/ -static bool vault_aux_animal(MONRACE_IDX r_idx) -{ - monster_race *r_ptr = &r_info[r_idx]; - - /* Validate the monster */ - if (!vault_monster_okay(r_idx)) return (FALSE); - - /* Require "animal" flag */ - if (!(r_ptr->flags3 & (RF3_ANIMAL))) return (FALSE); - - /* Okay */ - return (TRUE); -} - - -/*! -* @brief ƒ‚ƒ“ƒXƒ^[‚ªƒAƒ“ƒfƒbƒhnest‚̐¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚©‚ð•Ô‚· / -* Helper function for "monster nest (undead)" -* @param r_idx Šm”F‚µ‚½‚¢ƒ‚ƒ“ƒXƒ^[Ží‘°ID -* @return ¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚È‚çTRUE‚ð•Ô‚·B -*/ -static bool vault_aux_undead(MONRACE_IDX r_idx) -{ - monster_race *r_ptr = &r_info[r_idx]; - - /* Validate the monster */ - if (!vault_monster_okay(r_idx)) return (FALSE); - - /* Require Undead */ - if (!(r_ptr->flags3 & (RF3_UNDEAD))) return (FALSE); - - /* Okay */ - return (TRUE); -} - -/*! -* @brief ƒ‚ƒ“ƒXƒ^[‚ª¹“°nest‚̐¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚©‚ð•Ô‚· / -* Helper function for "monster nest (chapel)" -* @param r_idx Šm”F‚µ‚½‚¢ƒ‚ƒ“ƒXƒ^[Ží‘°ID -* @return ¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚È‚çTRUE‚ð•Ô‚·B -*/ -static bool vault_aux_chapel_g(MONRACE_IDX r_idx) -{ - static int chapel_list[] = { - MON_NOV_PRIEST, MON_NOV_PALADIN, MON_NOV_PRIEST_G, MON_NOV_PALADIN_G, - MON_PRIEST, MON_JADE_MONK, MON_IVORY_MONK, MON_ULTRA_PALADIN, - MON_EBONY_MONK, MON_W_KNIGHT, MON_KNI_TEMPLAR, MON_PALADIN, - MON_TOPAZ_MONK, 0 }; - - int i; - - monster_race *r_ptr = &r_info[r_idx]; - - /* Validate the monster */ - if (!vault_monster_okay(r_idx)) return (FALSE); - - if (r_ptr->flags3 & (RF3_EVIL)) return (FALSE); - if ((r_idx == MON_A_GOLD) || (r_idx == MON_A_SILVER)) return (FALSE); - - /* Require "priest" or Angel */ - - if (r_ptr->d_char == 'A') return TRUE; - - for (i = 0; chapel_list[i]; i++) - if (r_idx == chapel_list[i]) return TRUE; - - return FALSE; -} - /*! -* @brief ƒ‚ƒ“ƒXƒ^[‚ªŒ¢¬‰®nest‚̐¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚©‚ð•Ô‚· / -* Helper function for "monster nest (kennel)" -* @param r_idx Šm”F‚µ‚½‚¢ƒ‚ƒ“ƒXƒ^[Ží‘°ID -* @return ¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚È‚çTRUE‚ð•Ô‚·B +* @brief ダンジョン毎に指定されたピット配列を基準にランダムなpit/nestタイプを決める +* @param l_ptr 選択されたpit/nest情報を返す参照ポインタ +* @param allow_flag_mask 生成が許されるpit/nestのビット配列 +* @return 選択されたpit/nestのID、選択失敗した場合-1を返す。 */ -static bool vault_aux_kennel(MONRACE_IDX r_idx) -{ - monster_race *r_ptr = &r_info[r_idx]; - - /* Validate the monster */ - if (!vault_monster_okay(r_idx)) return (FALSE); - - /* Require a Zephyr Hound or a dog */ - if (!my_strchr("CZ", r_ptr->d_char)) return (FALSE); - - /* Okay */ - return (TRUE); -} - -/*! -* @brief ƒ‚ƒ“ƒXƒ^[‚ªƒ~ƒ~ƒbƒNnest‚̐¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚©‚ð•Ô‚· / -* Helper function for "monster nest (mimic)" -* @param r_idx Šm”F‚µ‚½‚¢ƒ‚ƒ“ƒXƒ^[Ží‘°ID -* @return ¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚È‚çTRUE‚ð•Ô‚·B -*/ -static bool vault_aux_mimic(MONRACE_IDX r_idx) -{ - monster_race *r_ptr = &r_info[r_idx]; - - /* Validate the monster */ - if (!vault_monster_okay(r_idx)) return (FALSE); - - /* Require mimic */ - if (!my_strchr("!$&(/=?[\\|", r_ptr->d_char)) return (FALSE); - - /* Okay */ - return (TRUE); -} - -/*! -* @brief ƒ‚ƒ“ƒXƒ^[‚ª’PˆêƒNƒ[ƒ“nest‚̐¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚©‚ð•Ô‚· / -* Helper function for "monster nest (clone)" -* @param r_idx Šm”F‚µ‚½‚¢ƒ‚ƒ“ƒXƒ^[Ží‘°ID -* @return ¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚È‚çTRUE‚ð•Ô‚·B -*/ -static bool vault_aux_clone(MONRACE_IDX r_idx) -{ - /* Validate the monster */ - if (!vault_monster_okay(r_idx)) return (FALSE); - - return (r_idx == vault_aux_race); -} - - -/*! -* @brief ƒ‚ƒ“ƒXƒ^[‚ªŽ×ˆ«‘®«ƒVƒ“ƒ{ƒ‹ƒNƒ[ƒ“nest‚̐¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚©‚ð•Ô‚· / -* Helper function for "monster nest (symbol clone)" -* @param r_idx Šm”F‚µ‚½‚¢ƒ‚ƒ“ƒXƒ^[Ží‘°ID -* @return ¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚È‚çTRUE‚ð•Ô‚·B -*/ -static bool vault_aux_symbol_e(MONRACE_IDX r_idx) -{ - monster_race *r_ptr = &r_info[r_idx]; - - /* Validate the monster */ - if (!vault_monster_okay(r_idx)) return (FALSE); - - if ((r_ptr->flags2 & RF2_KILL_BODY) && !(r_ptr->flags1 & RF1_NEVER_BLOW)) return (FALSE); - - if (r_ptr->flags3 & (RF3_GOOD)) return (FALSE); - - /* Decline incorrect symbol */ - if (r_ptr->d_char != vault_aux_char) return (FALSE); - - /* Okay */ - return (TRUE); -} - - -/*! -* @brief ƒ‚ƒ“ƒXƒ^[‚ª‘P—Ç‘®«ƒVƒ“ƒ{ƒ‹ƒNƒ[ƒ“nest‚̐¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚©‚ð•Ô‚· / -* Helper function for "monster nest (symbol clone)" -* @param r_idx Šm”F‚µ‚½‚¢ƒ‚ƒ“ƒXƒ^[Ží‘°ID -* @return ¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚È‚çTRUE‚ð•Ô‚·B -*/ -static bool vault_aux_symbol_g(MONRACE_IDX r_idx) -{ - monster_race *r_ptr = &r_info[r_idx]; - - /* Validate the monster */ - if (!vault_monster_okay(r_idx)) return (FALSE); - - if ((r_ptr->flags2 & RF2_KILL_BODY) && !(r_ptr->flags1 & RF1_NEVER_BLOW)) return (FALSE); - - if (r_ptr->flags3 & (RF3_EVIL)) return (FALSE); - - /* Decline incorrect symbol */ - if (r_ptr->d_char != vault_aux_char) return (FALSE); - - /* Okay */ - return (TRUE); -} - - -/*! -* @brief ƒ‚ƒ“ƒXƒ^[‚ªƒI[ƒNpit‚̐¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚©‚ð•Ô‚· / -* Helper function for "monster pit (orc)" -* @param r_idx Šm”F‚µ‚½‚¢ƒ‚ƒ“ƒXƒ^[Ží‘°ID -* @return ¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚È‚çTRUE‚ð•Ô‚·B -*/ -static bool vault_aux_orc(MONRACE_IDX r_idx) -{ - monster_race *r_ptr = &r_info[r_idx]; - - /* Validate the monster */ - if (!vault_monster_okay(r_idx)) return (FALSE); - - /* Require orc */ - if (!(r_ptr->flags3 & RF3_ORC)) return (FALSE); - - /* Decline undead */ - if (r_ptr->flags3 & RF3_UNDEAD) return (FALSE); - - /* Okay */ - return (TRUE); -} - - -/*! -* @brief ƒ‚ƒ“ƒXƒ^[‚ªƒgƒƒ‹pit‚̐¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚©‚ð•Ô‚· / -* Helper function for "monster pit (troll)" -* @param r_idx Šm”F‚µ‚½‚¢ƒ‚ƒ“ƒXƒ^[Ží‘°ID -* @return ¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚È‚çTRUE‚ð•Ô‚·B -*/ -static bool vault_aux_troll(MONRACE_IDX r_idx) -{ - monster_race *r_ptr = &r_info[r_idx]; - - /* Validate the monster */ - if (!vault_monster_okay(r_idx)) return (FALSE); - - /* Require troll */ - if (!(r_ptr->flags3 & RF3_TROLL)) return (FALSE); - - /* Decline undead */ - if (r_ptr->flags3 & RF3_UNDEAD) return (FALSE); - - /* Okay */ - return (TRUE); -} - - -/*! -* @brief ƒ‚ƒ“ƒXƒ^[‚ª‹lpit‚̐¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚©‚ð•Ô‚· / -* Helper function for "monster pit (giant)" -* @param r_idx Šm”F‚µ‚½‚¢ƒ‚ƒ“ƒXƒ^[Ží‘°ID -* @return ¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚È‚çTRUE‚ð•Ô‚·B -*/ -static bool vault_aux_giant(MONRACE_IDX r_idx) -{ - monster_race *r_ptr = &r_info[r_idx]; - - /* Validate the monster */ - if (!vault_monster_okay(r_idx)) return (FALSE); - - /* Require giant */ - if (!(r_ptr->flags3 & RF3_GIANT)) return (FALSE); - - if (r_ptr->flags3 & RF3_GOOD) return (FALSE); - - /* Decline undead */ - if (r_ptr->flags3 & RF3_UNDEAD) return (FALSE); - - /* Okay */ - return (TRUE); -} - - -/*! -* @brief ƒ‚ƒ“ƒXƒ^[‚ªƒhƒ‰ƒSƒ“pit‚̐¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚©‚ð•Ô‚· / -* Helper function for "monster pit (dragon)" -* @param r_idx Šm”F‚µ‚½‚¢ƒ‚ƒ“ƒXƒ^[Ží‘°ID -* @return ¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚È‚çTRUE‚ð•Ô‚·B -*/ -static bool vault_aux_dragon(MONRACE_IDX r_idx) -{ - monster_race *r_ptr = &r_info[r_idx]; - - /* Validate the monster */ - if (!vault_monster_okay(r_idx)) return (FALSE); - - /* Require dragon */ - if (!(r_ptr->flags3 & RF3_DRAGON)) return (FALSE); - - /* Hack -- Require correct "breath attack" */ - if (r_ptr->flags4 != vault_aux_dragon_mask4) return (FALSE); - - /* Decline undead */ - if (r_ptr->flags3 & RF3_UNDEAD) return (FALSE); - - /* Okay */ - return (TRUE); -} - - -/*! -* @brief ƒ‚ƒ“ƒXƒ^[‚ªˆ«–‚pit‚̐¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚©‚ð•Ô‚· / -* Helper function for "monster pit (demon)" -* @param r_idx Šm”F‚µ‚½‚¢ƒ‚ƒ“ƒXƒ^[Ží‘°ID -* @return ¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚È‚çTRUE‚ð•Ô‚·B -*/ -static bool vault_aux_demon(MONRACE_IDX r_idx) -{ - monster_race *r_ptr = &r_info[r_idx]; - - /* Validate the monster */ - if (!vault_monster_okay(r_idx)) return (FALSE); - - if ((r_ptr->flags2 & RF2_KILL_BODY) && !(r_ptr->flags1 & RF1_NEVER_BLOW)) return (FALSE); - - /* Require demon */ - if (!(r_ptr->flags3 & RF3_DEMON)) return (FALSE); - - /* Okay */ - return (TRUE); -} - - -/*! -* @brief ƒ‚ƒ“ƒXƒ^[‚ª‹¶‹Cpit‚̐¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚©‚ð•Ô‚· / -* Helper function for "monster pit (lovecraftian)" -* @param r_idx Šm”F‚µ‚½‚¢ƒ‚ƒ“ƒXƒ^[Ží‘°ID -* @return ¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚È‚çTRUE‚ð•Ô‚·B -*/ -static bool vault_aux_cthulhu(MONRACE_IDX r_idx) -{ - monster_race *r_ptr = &r_info[r_idx]; - - /* Validate the monster */ - if (!vault_monster_okay(r_idx)) return (FALSE); - - if ((r_ptr->flags2 & RF2_KILL_BODY) && !(r_ptr->flags1 & RF1_NEVER_BLOW)) return (FALSE); - - /* Require eldritch horror */ - if (!(r_ptr->flags2 & (RF2_ELDRITCH_HORROR))) return (FALSE); - - /* Okay */ - return (TRUE); -} - - -/*! -* @brief pit/nest‚̊‚Æ‚È‚é’PŽíƒ‚ƒ“ƒXƒ^[‚ðŒˆ‚ß‚é / -* @return ‚È‚µ -*/ -static void vault_prep_clone(void) -{ - /* Apply the monster restriction */ - get_mon_num_prep(vault_aux_simple, NULL); - - /* Pick a race to clone */ - vault_aux_race = get_mon_num(dun_level + 10); - - /* Remove the monster restriction */ - get_mon_num_prep(NULL, NULL); -} - - -/*! -* @brief pit/nest‚̊‚ƂȂ郂ƒ“ƒXƒ^[ƒVƒ“ƒ{ƒ‹‚ðŒˆ‚ß‚é / -* @return ‚È‚µ -*/ -static void vault_prep_symbol(void) -{ - MONRACE_IDX r_idx; - - /* Apply the monster restriction */ - get_mon_num_prep(vault_aux_simple, NULL); - - /* Pick a race to clone */ - r_idx = get_mon_num(dun_level + 10); - - /* Remove the monster restriction */ - get_mon_num_prep(NULL, NULL); - - /* Extract the symbol */ - vault_aux_char = r_info[r_idx].d_char; -} - -/*! -* @brief pit/nest‚̊‚Æ‚È‚éƒhƒ‰ƒSƒ“‚ÌŽí—Þ‚ðŒˆ‚ß‚é / -* @return ‚È‚µ -*/ -static void vault_prep_dragon(void) -{ - /* Pick dragon type */ - switch (randint0(6)) - { - /* Black */ - case 0: - { - /* Restrict dragon breath type */ - vault_aux_dragon_mask4 = RF4_BR_ACID; - - /* Done */ - break; - } - - /* Blue */ - case 1: - { - /* Restrict dragon breath type */ - vault_aux_dragon_mask4 = RF4_BR_ELEC; - - /* Done */ - break; - } - - /* Red */ - case 2: - { - /* Restrict dragon breath type */ - vault_aux_dragon_mask4 = RF4_BR_FIRE; - - /* Done */ - break; - } - - /* White */ - case 3: - { - /* Restrict dragon breath type */ - vault_aux_dragon_mask4 = RF4_BR_COLD; - - /* Done */ - break; - } - - /* Green */ - case 4: - { - /* Restrict dragon breath type */ - vault_aux_dragon_mask4 = RF4_BR_POIS; - - /* Done */ - break; - } - - /* Multi-hued */ - default: - { - /* Restrict dragon breath type */ - vault_aux_dragon_mask4 = (RF4_BR_ACID | RF4_BR_ELEC | - RF4_BR_FIRE | RF4_BR_COLD | - RF4_BR_POIS); - - /* Done */ - break; - } - } -} - - -/*! -* @brief ƒ‚ƒ“ƒXƒ^[‚ªƒ_[ƒNƒGƒ‹ƒtpit‚̐¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚©‚ð•Ô‚· / -* Helper function for "monster pit (dark elf)" -* @param r_idx Šm”F‚µ‚½‚¢ƒ‚ƒ“ƒXƒ^[Ží‘°ID -* @return ¶¬•K—vðŒ‚ð–ž‚½‚µ‚Ä‚¢‚é‚È‚çTRUE‚ð•Ô‚·B -*/ -static bool vault_aux_dark_elf(MONRACE_IDX r_idx) -{ - int i; - static int dark_elf_list[] = - { - MON_D_ELF, MON_D_ELF_MAGE, MON_D_ELF_WARRIOR, MON_D_ELF_PRIEST, - MON_D_ELF_LORD, MON_D_ELF_WARLOCK, MON_D_ELF_DRUID, MON_NIGHTBLADE, - MON_D_ELF_SORC, MON_D_ELF_SHADE, 0, - }; - - /* Validate the monster */ - if (!vault_monster_okay(r_idx)) return FALSE; - - /* Require dark elves */ - for (i = 0; dark_elf_list[i]; i++) - if (r_idx == dark_elf_list[i]) return TRUE; - - /* Assume not */ - return FALSE; -} - - -/*! -* @brief ƒ_ƒ“ƒWƒ‡ƒ“–ˆ‚ÉŽw’肳‚ꂽƒsƒbƒg”z—ñ‚ðŠî€‚Ƀ‰ƒ“ƒ_ƒ€‚Èpit/nestƒ^ƒCƒv‚ðŒˆ‚ß‚é -* @param l_ptr ‘I‘ð‚³‚ê‚½pit/nestî•ñ‚ð•Ô‚·ŽQÆƒ|ƒCƒ“ƒ^ -* @param allow_flag_mask ¶¬‚ª‹–‚³‚ê‚épit/nest‚̃rƒbƒg”z—ñ -* @return ‘I‘ð‚³‚ê‚½pit/nest‚ÌIDA‘I‘ðŽ¸”s‚µ‚½ê‡-1‚ð•Ô‚·B -*/ -static int pick_vault_type(vault_aux_type *l_ptr, s16b allow_flag_mask) +static int pick_vault_type(vault_aux_type *l_ptr, BIT_FLAGS16 allow_flag_mask) { int tmp, total, count; @@ -620,10 +101,10 @@ static int pick_vault_type(vault_aux_type *l_ptr, s16b allow_flag_mask) } /*! -* @brief ƒfƒoƒbƒOŽž‚ɐ¶¬‚³‚ꂽpit/nest‚ÌŒ^‚ðo—Í‚·‚鏈— -* @param type pit/nest‚ÌŒ^ID -* @param nest TRUE‚È‚ç‚ÎnestAFALSE‚È‚ç‚Îpit -* @return ƒfƒoƒbƒO•\Ž¦•¶Žš—ñ‚ÌŽQÆƒ|ƒCƒ“ƒ^ +* @brief デバッグ時に生成されたpit/nestの型を出力する処理 +* @param type pit/nestの型ID +* @param nest TRUEならばnest、FALSEならばpit +* @return デバッグ表示文字列の参照ポインタ * @details * Hack -- Get the string describing subtype of pit/nest * Determined in prepare function (some pit/nest only) @@ -658,25 +139,14 @@ static cptr pit_subtype_string(int type, bool nest) case PIT_TYPE_DRAGON: switch (vault_aux_dragon_mask4) { -#ifdef JP - case RF4_BR_ACID: strcpy(inner_buf, "(Ž_)"); break; - case RF4_BR_ELEC: strcpy(inner_buf, "(ˆîÈ)"); break; - case RF4_BR_FIRE: strcpy(inner_buf, "(‰Î‰Š)"); break; - case RF4_BR_COLD: strcpy(inner_buf, "(—â‹C)"); break; - case RF4_BR_POIS: strcpy(inner_buf, "(“Å)"); break; - case (RF4_BR_ACID | RF4_BR_ELEC | RF4_BR_FIRE | RF4_BR_COLD | RF4_BR_POIS) : - strcpy(inner_buf, "(–œF)"); break; - default: strcpy(inner_buf, "(–¢’è‹`)"); break; -#else - case RF4_BR_ACID: strcpy(inner_buf, "(acid)"); break; - case RF4_BR_ELEC: strcpy(inner_buf, "(lightning)"); break; - case RF4_BR_FIRE: strcpy(inner_buf, "(fire)"); break; - case RF4_BR_COLD: strcpy(inner_buf, "(frost)"); break; - case RF4_BR_POIS: strcpy(inner_buf, "(poison)"); break; + case RF4_BR_ACID: strcpy(inner_buf, _("(酸)", "(acid)")); break; + case RF4_BR_ELEC: strcpy(inner_buf, _("(稲妻)", "(lightning)")); break; + case RF4_BR_FIRE: strcpy(inner_buf, _("(火炎)", "(fire)")); break; + case RF4_BR_COLD: strcpy(inner_buf, _("(冷気)", "(frost)")); break; + case RF4_BR_POIS: strcpy(inner_buf, _("(毒)", "(poison)")); break; case (RF4_BR_ACID | RF4_BR_ELEC | RF4_BR_FIRE | RF4_BR_COLD | RF4_BR_POIS) : - strcpy(inner_buf, "(multi-hued)"); break; - default: strcpy(inner_buf, "(undefined)"); break; -#endif + strcpy(inner_buf, _("(万色)", "(multi-hued)")); break; + default: strcpy(inner_buf, _("(未定義)", "(undefined)")); break; } break; } @@ -685,23 +155,19 @@ static cptr pit_subtype_string(int type, bool nest) return inner_buf; } - - - - /* -*! @brief nest‚̃‚ƒ“ƒXƒ^[ƒŠƒXƒg‚ðƒ\[ƒg‚·‚邽‚߂̊֐” / +*! @brief nestのモンスターリストをソートするための関数 / * Comp function for sorting nest monster information -* @param u ƒ\[ƒgˆ—‘Ώ۔z—ñƒ|ƒCƒ“ƒ^ -* @param v –¢Žg—p -* @param a ”äŠr‘ΏێQÆID1 -* @param b ”äŠr‘ΏێQÆID2 +* @param u ソート処理対象配列ポインタ +* @param v 未使用 +* @param a 比較対象参照ID1 +* @param b 比較対象参照ID2 */ static bool ang_sort_comp_nest_mon_info(vptr u, vptr v, int a, int b) { nest_mon_info_type *nest_mon_info = (nest_mon_info_type *)u; - int w1 = nest_mon_info[a].r_idx; - int w2 = nest_mon_info[b].r_idx; + MONSTER_IDX w1 = nest_mon_info[a].r_idx; + MONSTER_IDX w2 = nest_mon_info[b].r_idx; monster_race *r1_ptr = &r_info[w1]; monster_race *r2_ptr = &r_info[w2]; int z1, z2; @@ -730,12 +196,12 @@ static bool ang_sort_comp_nest_mon_info(vptr u, vptr v, int a, int b) } /*! -* @brief nest‚̃‚ƒ“ƒXƒ^[ƒŠƒXƒg‚ðƒXƒƒbƒv‚·‚邽‚߂̊֐” / +* @brief nestのモンスターリストをスワップするための関数 / * Swap function for sorting nest monster information -* @param u ƒXƒƒbƒvˆ—‘Ώ۔z—ñƒ|ƒCƒ“ƒ^ -* @param v –¢Žg—p -* @param a ƒXƒƒbƒv‘ΏێQÆID1 -* @param b ƒXƒƒbƒv‘ΏێQÆID2 +* @param u スワップ処理対象配列ポインタ +* @param v 未使用 +* @param a スワップ対象参照ID1 +* @param b スワップ対象参照ID2 */ static void ang_sort_swap_nest_mon_info(vptr u, vptr v, int a, int b) { @@ -753,72 +219,44 @@ static void ang_sort_swap_nest_mon_info(vptr u, vptr v, int a, int b) -/*!nestî•ñƒe[ƒuƒ‹*/ +/*!nest情報テーブル*/ static vault_aux_type nest_types[] = { -#ifdef JP -{ "ƒNƒ[ƒ“", vault_aux_clone, vault_prep_clone, 5, 3 }, -{ "ƒ[ƒŠ[", vault_aux_jelly, NULL, 5, 6 }, -{ "ƒVƒ“ƒ{ƒ‹(‘P)", vault_aux_symbol_g, vault_prep_symbol, 25, 2 }, -{ "ƒVƒ“ƒ{ƒ‹(ˆ«)", vault_aux_symbol_e, vault_prep_symbol, 25, 2 }, -{ "ƒ~ƒ~ƒbƒN", vault_aux_mimic, NULL, 30, 4 }, -{ "‹¶‹C", vault_aux_cthulhu, NULL, 70, 2 }, -{ "Œ¢¬‰®", vault_aux_kennel, NULL, 45, 4 }, -{ "“®•¨‰€", vault_aux_animal, NULL, 35, 5 }, -{ "‹³‰ï", vault_aux_chapel_g, NULL, 75, 4 }, -{ "ƒAƒ“ƒfƒbƒh", vault_aux_undead, NULL, 75, 5 }, -{ NULL, NULL, NULL, 0, 0 }, -#else -{ "clone", vault_aux_clone, vault_prep_clone, 5, 3 }, -{ "jelly", vault_aux_jelly, NULL, 5, 6 }, -{ "symbol good", vault_aux_symbol_g, vault_prep_symbol, 25, 2 }, -{ "symbol evil", vault_aux_symbol_e, vault_prep_symbol, 25, 2 }, -{ "mimic", vault_aux_mimic, NULL, 30, 4 }, -{ "lovecraftian", vault_aux_cthulhu, NULL, 70, 2 }, -{ "kennel", vault_aux_kennel, NULL, 45, 4 }, -{ "animal", vault_aux_animal, NULL, 35, 5 }, -{ "chapel", vault_aux_chapel_g, NULL, 75, 4 }, -{ "undead", vault_aux_undead, NULL, 75, 5 }, -{ NULL, NULL, NULL, 0, 0 }, -#endif + { _("クローン", "clone"), vault_aux_clone, vault_prep_clone, 5, 3 }, + { _("ゼリー", "jelly"), vault_aux_jelly, NULL, 5, 6 }, + { _("シンボル(善)", "symbol good"), vault_aux_symbol_g, vault_prep_symbol, 25, 2 }, + { _("シンボル(悪)", "symbol evil"), vault_aux_symbol_e, vault_prep_symbol, 25, 2 }, + { _("ミミック", "mimic"), vault_aux_mimic, NULL, 30, 4 }, + { _("狂気", "lovecraftian"), vault_aux_cthulhu, NULL, 70, 2 }, + { _("犬小屋", "kennel"), vault_aux_kennel, NULL, 45, 4 }, + { _("動物園", "animal"), vault_aux_animal, NULL, 35, 5 }, + { _("教会", "chapel"), vault_aux_chapel_g, NULL, 75, 4 }, + { _("アンデッド", "undead"), vault_aux_undead, NULL, 75, 5 }, + { NULL, NULL, NULL, 0, 0 }, }; -/*!pitî•ñƒe[ƒuƒ‹*/ +/*!pit情報テーブル*/ static vault_aux_type pit_types[] = { -#ifdef JP -{ "ƒI[ƒN", vault_aux_orc, NULL, 5, 6 }, -{ "ƒgƒƒ‹", vault_aux_troll, NULL, 20, 6 }, -{ "ƒWƒƒƒCƒAƒ“ƒg", vault_aux_giant, NULL, 50, 6 }, -{ "‹¶‹C", vault_aux_cthulhu, NULL, 80, 2 }, -{ "ƒVƒ“ƒ{ƒ‹(‘P)", vault_aux_symbol_g, vault_prep_symbol, 70, 1 }, -{ "ƒVƒ“ƒ{ƒ‹(ˆ«)", vault_aux_symbol_e, vault_prep_symbol, 70, 1 }, -{ "‹³‰ï", vault_aux_chapel_g, NULL, 65, 2 }, -{ "ƒhƒ‰ƒSƒ“", vault_aux_dragon, vault_prep_dragon, 70, 6 }, -{ "ƒf[ƒ‚ƒ“", vault_aux_demon, NULL, 80, 6 }, -{ "ƒ_[ƒNƒGƒ‹ƒt", vault_aux_dark_elf, NULL, 45, 4 }, -{ NULL, NULL, NULL, 0, 0 }, -#else -{ "orc", vault_aux_orc, NULL, 5, 6 }, -{ "troll", vault_aux_troll, NULL, 20, 6 }, -{ "giant", vault_aux_giant, NULL, 50, 6 }, -{ "lovecraftian", vault_aux_cthulhu, NULL, 80, 2 }, -{ "symbol good", vault_aux_symbol_g, vault_prep_symbol, 70, 1 }, -{ "symbol evil", vault_aux_symbol_e, vault_prep_symbol, 70, 1 }, -{ "chapel", vault_aux_chapel_g, NULL, 65, 2 }, -{ "dragon", vault_aux_dragon, vault_prep_dragon, 70, 6 }, -{ "demon", vault_aux_demon, NULL, 80, 6 }, -{ "dark elf", vault_aux_dark_elf, NULL, 45, 4 }, -{ NULL, NULL, NULL, 0, 0 }, -#endif + { _("オーク", "orc"), vault_aux_orc, NULL, 5, 6 }, + { _("トロル", "troll"), vault_aux_troll, NULL, 20, 6 }, + { _("ジャイアント", "giant"), vault_aux_giant, NULL, 50, 6 }, + { _("狂気", "lovecraftian"), vault_aux_cthulhu, NULL, 80, 2 }, + { _("シンボル(善)", "symbol good"), vault_aux_symbol_g, vault_prep_symbol, 70, 1 }, + { _("シンボル(悪)", "symbol evil"), vault_aux_symbol_e, vault_prep_symbol, 70, 1 }, + { _("教会", "chapel"), vault_aux_chapel_g, NULL, 65, 2 }, + { _("ドラゴン", "dragon"), vault_aux_dragon, vault_prep_dragon, 70, 6 }, + { _("デーモン", "demon"), vault_aux_demon, NULL, 80, 6 }, + { _("ダークエルフ", "dark elf"), vault_aux_dark_elf, NULL, 45, 4 }, + { NULL, NULL, NULL, 0, 0 }, }; /*! -* @brief ƒ^ƒCƒv5‚Ì•”‰®cnest‚𐶐¬‚·‚é / Type 5 -- Monster nests -* @return ‚È‚µ +* @brief タイプ5の部屋…nestを生成する / Type 5 -- Monster nests +* @return なし * @details * A monster nest is a "big" room, with an "inner" room, containing\n * a "collection" of monsters of a given type strewn about the room.\n @@ -969,7 +407,7 @@ bool build_type5(void) case 4: place_secret_door(yval, x2 + 1, DOOR_DEFAULT); break; } - msg_format_wizard(CHEAT_DUNGEON, _("ƒ‚ƒ“ƒXƒ^[•”‰®(nest)(%s%s)‚𐶐¬‚µ‚Ü‚·B", "Monster nest (%s%s)"), n_ptr->name, pit_subtype_string(cur_nest_type, TRUE)); + msg_format_wizard(CHEAT_DUNGEON, _("モンスター部屋(nest)(%s%s)を生成します。", "Monster nest (%s%s)"), n_ptr->name, pit_subtype_string(cur_nest_type, TRUE)); /* Place some monsters */ for (y = yval - 2; y <= yval + 2; y++) @@ -1003,7 +441,7 @@ bool build_type5(void) if (nest_mon_info[i].r_idx != nest_mon_info[i + 1].r_idx) break; if (!nest_mon_info[i + 1].used) break; } - msg_format_wizard(CHEAT_DUNGEON, "Nest\¬ƒ‚ƒ“ƒXƒ^[No.%d:%s", i, r_name + r_info[nest_mon_info[i].r_idx].name); + msg_format_wizard(CHEAT_DUNGEON, "Nest構成モンスターNo.%d:%s", i, r_name + r_info[nest_mon_info[i].r_idx].name); } } @@ -1012,8 +450,8 @@ bool build_type5(void) /*! -* @brief ƒ^ƒCƒv6‚Ì•”‰®cpit‚𐶐¬‚·‚é / Type 6 -- Monster pits -* @return ‚È‚µ +* @brief タイプ6の部屋…pitを生成する / Type 6 -- Monster pits +* @return なし * @details * A monster pit is a "big" room, with an "inner" room, containing\n * a "collection" of monsters of a given type organized in the room.\n @@ -1201,14 +639,14 @@ bool build_type6(void) } } - msg_format_wizard(CHEAT_DUNGEON, _("ƒ‚ƒ“ƒXƒ^[•”‰®(pit)(%s%s)‚𐶐¬‚µ‚Ü‚·B", "Monster pit (%s%s)"), n_ptr->name, pit_subtype_string(cur_pit_type, FALSE)); + msg_format_wizard(CHEAT_DUNGEON, _("モンスター部屋(pit)(%s%s)を生成します。", "Monster pit (%s%s)"), n_ptr->name, pit_subtype_string(cur_pit_type, FALSE)); /* Select the entries */ for (i = 0; i < 8; i++) { /* Every other entry */ what[i] = what[i * 2]; - msg_format_wizard(CHEAT_DUNGEON, _("Nest\¬ƒ‚ƒ“ƒXƒ^[‘I‘ðNo.%d:%s", "Nest Monster Select No.%d:%s"), i, r_name + r_info[what[i]].name); + msg_format_wizard(CHEAT_DUNGEON, _("Nest構成モンスター選択No.%d:%s", "Nest Monster Select No.%d:%s"), i, r_name + r_info[what[i]].name); } /* Top and bottom rows */ @@ -1272,20 +710,18 @@ static bool vault_aux_trapped_pit(MONRACE_IDX r_idx) { monster_race *r_ptr = &r_info[r_idx]; - /* Validate the monster */ if (!vault_monster_okay(r_idx)) return (FALSE); /* No wall passing monster */ if (r_ptr->flags2 & (RF2_PASS_WALL | RF2_KILL_WALL)) return (FALSE); - /* Okay */ return (TRUE); } /*! -* @brief ƒ^ƒCƒv13‚Ì•”‰®cƒgƒ‰ƒbƒvpit‚̐¶¬ / Type 13 -- Trapped monster pits -* @return ‚È‚µ +* @brief タイプ13の部屋…トラップpitの生成 / Type 13 -- Trapped monster pits +* @return なし * @details * A trapped monster pit is a "big" room with a straight corridor in\n * which wall opening traps are placed, and with two "inner" rooms\n @@ -1542,7 +978,7 @@ bool build_type13(void) } } - msg_format_wizard(CHEAT_DUNGEON, _("%s%s‚Ì㩃sƒbƒg‚ª¶¬‚³‚ê‚Ü‚µ‚½B", "Trapped monster pit (%s%s)"), + msg_format_wizard(CHEAT_DUNGEON, _("%s%sの罠ピットが生成されました。", "Trapped monster pit (%s%s)"), n_ptr->name, pit_subtype_string(cur_pit_type, FALSE)); /* Select the entries */ @@ -1553,7 +989,6 @@ bool build_type13(void) if (cheat_hear) { - /* Message */ msg_print(r_name + r_info[what[i]].name); } }