X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Fmane.c;h=78e4bc36b21baf6273d5deb635fe8976c28f2cf8;hb=357c73fbdec3518936f1f350a9126082a0a89519;hp=776aaa2393fd0c43ad10c88881854c48c90535fe;hpb=508deae6d28f9cc6757e9e41777b8040435bbcc6;p=hengband%2Fhengband.git diff --git a/src/mane.c b/src/mane.c index 776aaa239..78e4bc36b 100644 --- a/src/mane.c +++ b/src/mane.c @@ -24,17 +24,10 @@ static int damage; static void mane_info(char *p, int power, HIT_POINT dam) { int plev = p_ptr->lev; -#ifdef JP - cptr s_dam = "損傷:"; - cptr s_dur = "期間:"; - cptr s_range = "範囲:"; - cptr s_heal = "回復:"; -#else - cptr s_dam = "dam "; - cptr s_dur = "dur "; - cptr s_range = "range "; - cptr s_heal = "heal "; -#endif + cptr s_dam = _("損傷:", "dam "); + cptr s_dur = _("期間:", "dur "); + cptr s_range = _("範囲:", "range "); + cptr s_heal = _("回復:", "heal "); strcpy(p, ""); @@ -166,7 +159,7 @@ static int get_mane_power(int *sn, bool baigaesi) /* Reduce failure rate by INT/WIS adjustment */ chance -= 3 * (adj_mag_stat[p_ptr->stat_ind[spell.use_stat]] + adj_mag_stat[p_ptr->stat_ind[A_DEX]] - 2) / 2; - if (spell.manedam) chance = chance * p_ptr->mane_dam[i] / spell.manedam; + if (spell.manedam) chance = chance * (baigaesi ? p_ptr->mane_dam[i] * 2 : p_ptr->mane_dam[i]) / spell.manedam; chance += p_ptr->to_m_chance; @@ -287,12 +280,15 @@ static bool use_mane(int spell) /* spell code */ switch (spell) { + case MS_SHRIEK: msg_print(_("かん高い金切り声をあげた。", "You make a high pitched shriek.")); aggravate_monsters(0); break; + case MS_XXX1: break; + case MS_DISPEL: { MONSTER_IDX m_idx; @@ -305,156 +301,165 @@ static bool use_mane(int spell) dispel_monster_status(m_idx); break; } + case MS_ROCKET: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("ロケットを発射した。", "You fire a rocket.")); - fire_rocket(GF_ROCKET, dir, damage, 2); break; + case MS_SHOOT: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("矢を放った。", "You fire an arrow.")); - fire_bolt(GF_ARROW, dir, damage); break; + case MS_XXX2: break; + case MS_XXX3: break; + case MS_XXX4: break; + case MS_BR_ACID: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("酸のブレスを吐いた。", "You breathe acid.")); - - fire_ball(GF_ACID, dir, damage, (plev > 35 ? -3 : -2)); + fire_breath(GF_ACID, dir, damage, (plev > 35 ? 3 : 2)); break; + case MS_BR_ELEC: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("稲妻のブレスを吐いた。", "You breathe lightning.")); - - fire_ball(GF_ELEC, dir, damage, (plev > 35 ? -3 : -2)); + fire_breath(GF_ELEC, dir, damage, (plev > 35 ? 3 : 2)); break; + case MS_BR_FIRE: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("火炎のブレスを吐いた。", "You breathe fire.")); - - fire_ball(GF_FIRE, dir, damage, (plev > 35 ? -3 : -2)); + fire_breath(GF_FIRE, dir, damage, (plev > 35 ? 3 : 2)); break; + case MS_BR_COLD: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("冷気のブレスを吐いた。", "You breathe frost.")); - - fire_ball(GF_COLD, dir, damage, (plev > 35 ? -3 : -2)); + fire_breath(GF_COLD, dir, damage, (plev > 35 ? 3 : 2)); break; + case MS_BR_POIS: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("ガスのブレスを吐いた。", "You breathe gas.")); - - fire_ball(GF_POIS, dir, damage, (plev > 35 ? -3 : -2)); + fire_breath(GF_POIS, dir, damage, (plev > 35 ? 3 : 2)); break; + case MS_BR_NETHER: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("地獄のブレスを吐いた。", "You breathe nether.")); - - fire_ball(GF_NETHER, dir, damage, (plev > 35 ? -3 : -2)); + fire_breath(GF_NETHER, dir, damage, (plev > 35 ? 3 : 2)); break; + case MS_BR_LITE: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("閃光のブレスを吐いた。", "You breathe light.")); - - fire_ball(GF_LITE, dir, damage, (plev > 35 ? -3 : -2)); + fire_breath(GF_LITE, dir, damage, (plev > 35 ? 3 : 2)); break; + case MS_BR_DARK: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("暗黒のブレスを吐いた。", "You breathe darkness.")); - - fire_ball(GF_DARK, dir, damage, (plev > 35 ? -3 : -2)); + fire_breath(GF_DARK, dir, damage, (plev > 35 ? 3 : 2)); break; + case MS_BR_CONF: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("混乱のブレスを吐いた。", "You breathe confusion.")); - - fire_ball(GF_CONFUSION, dir, damage, (plev > 35 ? -3 : -2)); + fire_breath(GF_CONFUSION, dir, damage, (plev > 35 ? 3 : 2)); break; + case MS_BR_SOUND: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("轟音のブレスを吐いた。", "You breathe sound.")); - - fire_ball(GF_SOUND, dir, damage, (plev > 35 ? -3 : -2)); + fire_breath(GF_SOUND, dir, damage, (plev > 35 ? 3 : 2)); break; + case MS_BR_CHAOS: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("カオスのブレスを吐いた。", "You breathe chaos.")); - - fire_ball(GF_CHAOS, dir, damage, (plev > 35 ? -3 : -2)); + fire_breath(GF_CHAOS, dir, damage, (plev > 35 ? 3 : 2)); break; + case MS_BR_DISEN: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("劣化のブレスを吐いた。", "You breathe disenchantment.")); - - fire_ball(GF_DISENCHANT, dir, damage, (plev > 35 ? -3 : -2)); + fire_breath(GF_DISENCHANT, dir, damage, (plev > 35 ? 3 : 2)); break; + case MS_BR_NEXUS: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("因果混乱のブレスを吐いた。", "You breathe nexus.")); - - fire_ball(GF_NEXUS, dir, damage, (plev > 35 ? -3 : -2)); + fire_breath(GF_NEXUS, dir, damage, (plev > 35 ? 3 : 2)); break; + case MS_BR_TIME: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("時間逆転のブレスを吐いた。", "You breathe time.")); - - fire_ball(GF_TIME, dir, damage, (plev > 35 ? -3 : -2)); + fire_breath(GF_TIME, dir, damage, (plev > 35 ? 3 : 2)); break; + case MS_BR_INERTIA: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("遅鈍のブレスを吐いた。", "You breathe inertia.")); - - fire_ball(GF_INERTIAL, dir, damage, (plev > 35 ? -3 : -2)); + fire_breath(GF_INERTIAL, dir, damage, (plev > 35 ? 3 : 2)); break; + case MS_BR_GRAVITY: if (!get_aim_dir(&dir)) return FALSE; - else msg_print(_("重力のブレスを吐いた。", "You breathe gravity.")); - - fire_ball(GF_GRAVITY, dir, damage, (plev > 35 ? -3 : -2)); + else msg_print(_("重力のブレスを吐いた。", "You breathe gravity.")); + fire_breath(GF_GRAVITY, dir, damage, (plev > 35 ? 3 : 2)); break; + case MS_BR_SHARDS: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("破片のブレスを吐いた。", "You breathe shards.")); - - fire_ball(GF_SHARDS, dir, damage, (plev > 35 ? -3 : -2)); + fire_breath(GF_SHARDS, dir, damage, (plev > 35 ? 3 : 2)); break; + case MS_BR_PLASMA: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("プラズマのブレスを吐いた。", "You breathe plasma.")); - fire_ball(GF_PLASMA, dir, damage, (plev > 35 ? -3 : -2)); + fire_breath(GF_PLASMA, dir, damage, (plev > 35 ? 3 : 2)); break; + case MS_BR_FORCE: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("フォースのブレスを吐いた。", "You breathe force.")); - fire_ball(GF_FORCE, dir, damage, (plev > 35 ? -3 : -2)); + fire_breath(GF_FORCE, dir, damage, (plev > 35 ? 3 : 2)); break; + case MS_BR_MANA: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("魔力のブレスを吐いた。", "You breathe mana.")); - fire_ball(GF_MANA, dir, damage, (plev > 35 ? -3 : -2)); + fire_breath(GF_MANA, dir, damage, (plev > 35 ? 3 : 2)); break; + case MS_BALL_NUKE: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("放射能球を放った。", "You cast a ball of radiation.")); fire_ball(GF_NUKE, dir, damage, 2); break; + case MS_BR_NUKE: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("放射性廃棄物のブレスを吐いた。", "You breathe toxic waste.")); - fire_ball(GF_NUKE, dir, damage, (plev > 35 ? -3 : -2)); + fire_breath(GF_NUKE, dir, damage, (plev > 35 ? 3 : 2)); break; + case MS_BALL_CHAOS: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("純ログルスを放った。", "You invoke a raw Logrus.")); @@ -465,7 +470,7 @@ static bool use_mane(int spell) if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("分解のブレスを吐いた。", "You breathe disintegration.")); - fire_ball(GF_DISINTEGRATE, dir, damage, (plev > 35 ? -3 : -2)); + fire_breath(GF_DISINTEGRATE, dir, damage, (plev > 35 ? 3 : 2)); break; case MS_BALL_ACID: if (!get_aim_dir(&dir)) return FALSE; @@ -757,15 +762,18 @@ static bool use_mane(int spell) else teleport_level(target_m_idx); break; } + case MS_PSY_SPEAR: if (!get_aim_dir(&dir)) return FALSE; else msg_print(_("光の剣を放った。", "You throw a psycho-spear.")); (void)fire_beam(GF_PSY_SPEAR, dir, damage); break; + case MS_DARKNESS: msg_print(_("暗闇の中で手を振った。", "You gesture in shadow.")); (void)unlite_area(10, 3); break; + case MS_MAKE_TRAP: if (!target_set(TARGET_KILL)) return FALSE; msg_print(_("呪文を唱えて邪悪に微笑んだ。", "You cast a spell and cackles evilly."));