From: dis- Date: Mon, 17 Feb 2014 07:29:07 +0000 (+0900) Subject: refactor: extract breath functions in make_attack_spell X-Git-Tag: v2.2.0~316 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=b97850172b2c52eef42ca997b56d9198ed0165b9;p=hengband%2Fhengband.git refactor: extract breath functions in make_attack_spell --- diff --git a/src/defines.h b/src/defines.h index ee80bad08..d44e3ae87 100644 --- a/src/defines.h +++ b/src/defines.h @@ -3754,7 +3754,7 @@ #define RF5_CAUSE_3 0x00004000 /* Cause Critical Wound */ #define RF5_CAUSE_4 0x00008000 /* Cause Mortal Wound */ #define RF5_BO_ACID 0x00010000 /* Acid Bolt */ -#define RF5_BO_ELEC 0x00020000 /* Elec Bolt (unused) */ +#define RF5_BO_ELEC 0x00020000 /* Elec Bolt */ #define RF5_BO_FIRE 0x00040000 /* Fire Bolt */ #define RF5_BO_COLD 0x00080000 /* Cold Bolt */ #define RF5_BA_LITE 0x00100000 /* StarBurst */ @@ -3877,7 +3877,7 @@ #define RF9_EAT_LOSE_STR 0x02000000 #define RF9_EAT_LOSE_INT 0x04000000 #define RF9_EAT_LOSE_WIS 0x08000000 -#define RF9_EAT_LOSE_DEX 0x01000000 +#define RF9_EAT_LOSE_DEX 0x10000000 #define RF9_EAT_LOSE_CON 0x20000000 #define RF9_EAT_LOSE_CHR 0x40000000 #define RF9_EAT_DRAIN_MANA 0x80000000 diff --git a/src/externs.h b/src/externs.h index f460c333e..5d1672cfc 100644 --- a/src/externs.h +++ b/src/externs.h @@ -1573,12 +1573,21 @@ extern void do_cmd_mind_browse(void); /* mane.c */ extern bool do_cmd_mane(bool baigaesi); +extern void bolt(int m_idx, int typ, int dam_hp, int monspell, bool learnable); +extern void breath(int y, int x, int m_idx, int typ, int dam_hp, int rad, bool breath, int monspell, bool learnable); /* mspells3.c */ extern bool do_cmd_cast_learned(void); extern void learn_spell(int monspell); extern void set_rf_masks(s32b *f4, s32b *f5, s32b *f6, int mode); +/* mspells4.c */ +extern void spell_RF4_SHRIEK(int m_idx, cptr m_name); +extern void spell_RF4_DISPEL(bool blind, cptr m_name); +extern void spell_RF4_ROCKET(bool blind, cptr m_name, monster_type* m_ptr, int y, int x, int m_idx, bool learnable); +extern void spell_RF4_SHOOT(bool blind, cptr m_name, monster_race* r_ptr, int m_idx, bool learnable); +extern void spell_RF4_BREATH(int GF_TYPE, bool blind, cptr m_name, monster_type* m_ptr, int y, int x, int m_idx, bool learnable); + /* hissatsu.c */ extern void hissatsu_info(char *p, int power); extern void do_cmd_hissatsu(void); diff --git a/src/mspells1.c b/src/mspells1.c index 4c7419e93..2d46c9cf0 100644 --- a/src/mspells1.c +++ b/src/mspells1.c @@ -508,7 +508,7 @@ bool clean_shot(int y1, int x1, int y2, int x2, bool is_friend) * @param learnable ¥é¡¼¥Ë¥ó¥°²Äǽ¤«Èݤ« * @return ¤Ê¤· */ -static void bolt(int m_idx, int typ, int dam_hp, int monspell, bool learnable) +void bolt(int m_idx, int typ, int dam_hp, int monspell, bool learnable) { int flg = PROJECT_STOP | PROJECT_KILL | PROJECT_PLAYER; if (typ != GF_ARROW) flg |= PROJECT_REFLECTABLE; @@ -549,7 +549,7 @@ static void beam(int m_idx, int typ, int dam_hp, int monspell, bool learnable) * @param learnable ¥é¡¼¥Ë¥ó¥°²Äǽ¤«Èݤ« * @return ¤Ê¤· */ -static void breath(int y, int x, int m_idx, int typ, int dam_hp, int rad, bool breath, int monspell, bool learnable) +void breath(int y, int x, int m_idx, int typ, int dam_hp, int rad, bool breath, int monspell, bool learnable) { int flg = PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL | PROJECT_PLAYER; @@ -1798,502 +1798,47 @@ bool make_attack_spell(int m_idx) can_remember = is_original_ap_and_seen(m_ptr); - /* Cast the spell. */ - switch (thrown_spell) - { - /* RF4_SHRIEK */ - case 96+0: - { - disturb(1, 1); - msg_format(_("%^s¤¬¤«¤ó¹â¤¤¶âÀÚ¤êÀ¼¤ò¤¢¤²¤¿¡£", "%^s makes a high pitched shriek."), m_name); - aggravate_monsters(m_idx); - break; - } - - /* RF4_XXX1 */ - case 96+1: - { - /* XXX XXX XXX */ - break; - } - - /* RF4_DISPEL */ - case 96+2: - { - if (!direct) return (FALSE); - disturb(1, 1); - - if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤òÎ϶¯¤¯¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles powerfully."), m_name); - } - else - { - msg_format(_("%^s¤¬ËâÎϾõî¤Î¼öʸ¤òÇ°¤¸¤¿¡£", "%^s invokes a dispel magic."), m_name); - } - dispel_player(); - if (p_ptr->riding) dispel_monster_status(p_ptr->riding); - -#ifdef JP - if ((p_ptr->pseikaku == SEIKAKU_COMBAT) || (inventory[INVEN_BOW].name1 == ART_CRIMSON)) - msg_print("¤ä¤ê¤ä¤¬¤Ã¤¿¤Ê¡ª"); -#endif - learn_spell(MS_DISPEL); - break; - } - - /* RF4_ROCKET */ - case 96+3: - { - disturb(1, 1); - if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤ò¼Í¤Ã¤¿¡£", "%^s shoots something."), m_name); - } - else - { - msg_format(_("%^s¤¬¥í¥±¥Ã¥È¤òȯ¼Í¤·¤¿¡£", "%^s fires a rocket."), m_name); - } - - dam = ((m_ptr->hp / 4) > 800 ? 800 : (m_ptr->hp / 4)); - breath(y, x, m_idx, GF_ROCKET, - dam, 2, FALSE, MS_ROCKET, learnable); - update_smart_learn(m_idx, DRS_SHARD); - break; - } - - /* RF4_SHOOT */ - case 96+4: - { - if (!direct) return (FALSE); - disturb(1, 1); - if (blind) - { - msg_format(_("%^s¤¬´ñ̯¤Ê²»¤òȯ¤·¤¿¡£", "%^s makes a strange noise."), m_name); - } - else - { - msg_format(_("%^s¤¬Ìð¤òÊü¤Ã¤¿¡£", "%^s fires an arrow."), m_name); - } - - dam = damroll(r_ptr->blow[0].d_dice, r_ptr->blow[0].d_side); - bolt(m_idx, GF_ARROW, dam, MS_SHOOT, learnable); - update_smart_learn(m_idx, DRS_REFLECT); - break; - } - - /* RF4_XXX2 */ - case 96+5: - { - /* XXX XXX XXX */ - break; - } - - /* RF4_XXX3 */ - case 96+6: - { - /* XXX XXX XXX */ - break; - } - - /* RF4_XXX4 */ - case 96+7: - { - /* XXX XXX XXX */ - break; - } - - /* RF4_BR_ACID */ - case 96+8: - { - disturb(1, 1); - if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); - } - else - { - msg_format(_("%^s¤¬»À¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes acid."), m_name); - } - - dam = ((m_ptr->hp / 3) > 1600 ? 1600 : (m_ptr->hp / 3)); - breath(y, x, m_idx, GF_ACID, dam, 0, TRUE, MS_BR_ACID, learnable); - update_smart_learn(m_idx, DRS_ACID); - break; - } - - /* RF4_BR_ELEC */ - case 96+9: - { - disturb(1, 1); - if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); - } - else - { - msg_format(_("%^s¤¬°ðºÊ¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes lightning."), m_name); - } - - dam = ((m_ptr->hp / 3) > 1600 ? 1600 : (m_ptr->hp / 3)); - breath(y, x, m_idx, GF_ELEC, dam,0, TRUE, MS_BR_ELEC, learnable); - update_smart_learn(m_idx, DRS_ELEC); - break; - } - - /* RF4_BR_FIRE */ - case 96+10: - { - disturb(1, 1); - if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); - } - else - { - msg_format(_("%^s¤¬²Ð±ê¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes fire."), m_name); - } - - dam = ((m_ptr->hp / 3) > 1600 ? 1600 : (m_ptr->hp / 3)); - breath(y, x, m_idx, GF_FIRE, dam,0, TRUE, MS_BR_FIRE, learnable); - update_smart_learn(m_idx, DRS_FIRE); - break; - } - - /* RF4_BR_COLD */ - case 96+11: - { - disturb(1, 1); - if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); - } - else - { - msg_format(_("%^s¤¬Î䵤¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes frost."), m_name); - } - - dam = ((m_ptr->hp / 3) > 1600 ? 1600 : (m_ptr->hp / 3)); - breath(y, x, m_idx, GF_COLD, dam,0, TRUE, MS_BR_COLD, learnable); - update_smart_learn(m_idx, DRS_COLD); - break; - } - - /* RF4_BR_POIS */ - case 96+12: - { - disturb(1, 1); - if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); - } - else - { - msg_format(_("%^s¤¬¥¬¥¹¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes gas."), m_name); - } - - dam = ((m_ptr->hp / 3) > 800 ? 800 : (m_ptr->hp / 3)); - breath(y, x, m_idx, GF_POIS, dam, 0, TRUE, MS_BR_POIS, learnable); - update_smart_learn(m_idx, DRS_POIS); - break; - } - - - /* RF4_BR_NETH */ - case 96+13: - { - disturb(1, 1); - if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); - } - else - { - msg_format(_("%^s¤¬ÃϹö¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes nether."), m_name); - } - - dam = ((m_ptr->hp / 6) > 550 ? 550 : (m_ptr->hp / 6)); - breath(y, x, m_idx, GF_NETHER, dam,0, TRUE, MS_BR_NETHER, learnable); - update_smart_learn(m_idx, DRS_NETH); - break; - } - - /* RF4_BR_LITE */ - case 96+14: - { - disturb(1, 1); - if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); - } - else - { - msg_format(_("%^s¤¬Á®¸÷¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes light."), m_name); - } - - dam = ((m_ptr->hp / 6) > 400 ? 400 : (m_ptr->hp / 6)); - breath(y_br_lite, x_br_lite, m_idx, GF_LITE, dam,0, TRUE, MS_BR_LITE, learnable); - update_smart_learn(m_idx, DRS_LITE); - break; - } - - /* RF4_BR_DARK */ - case 96+15: - { - disturb(1, 1); - if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); - } - else - { - msg_format(_("%^s¤¬°Å¹õ¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes darkness."), m_name); - } - - dam = ((m_ptr->hp / 6) > 400 ? 400 : (m_ptr->hp / 6)); - breath(y, x, m_idx, GF_DARK, dam,0, TRUE, MS_BR_DARK, learnable); - update_smart_learn(m_idx, DRS_DARK); - break; - } - - /* RF4_BR_CONF */ - case 96+16: - { - disturb(1, 1); - - if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); - } - else - { - msg_format(_("%^s¤¬º®Íð¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes confusion."), m_name); - } - - dam = ((m_ptr->hp / 6) > 450 ? 450 : (m_ptr->hp / 6)); - breath(y, x, m_idx, GF_CONFUSION, dam,0, TRUE, MS_BR_CONF, learnable); - update_smart_learn(m_idx, DRS_CONF); - break; - } - - /* RF4_BR_SOUN */ - case 96+17: - { - disturb(1, 1); - if (m_ptr->r_idx == MON_JAIAN) - { - msg_format(_("¡Ö¥Ü¥©¥¨¡Á¡Á¡Á¡Á¡Á¡Á¡×", "'Booooeeeeee'")); - } - else if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); - } - else - { - msg_format(_("%^s¤¬¹ì²»¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes sound."), m_name); - } - - dam = ((m_ptr->hp / 6) > 450 ? 450 : (m_ptr->hp / 6)); - breath(y, x, m_idx, GF_SOUND, dam,0, TRUE, MS_BR_SOUND, learnable); - update_smart_learn(m_idx, DRS_SOUND); - break; - } - - /* RF4_BR_CHAO */ - case 96+18: - { - disturb(1, 1); - if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); - } - else - { - msg_format(_("%^s¤¬¥«¥ª¥¹¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes chaos."), m_name); - } - - dam = ((m_ptr->hp / 6) > 600 ? 600 : (m_ptr->hp / 6)); - breath(y, x, m_idx, GF_CHAOS, dam,0, TRUE, MS_BR_CHAOS, learnable); - update_smart_learn(m_idx, DRS_CHAOS); - break; - } - - /* RF4_BR_DISE */ - case 96+19: - { - disturb(1, 1); - - if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); - } - else - { - msg_format(_("%^s¤¬Îô²½¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes disenchantment."), m_name); - } - - dam = ((m_ptr->hp / 6) > 500 ? 500 : (m_ptr->hp / 6)); - breath(y, x, m_idx, GF_DISENCHANT, dam,0, TRUE, MS_BR_DISEN, learnable); - update_smart_learn(m_idx, DRS_DISEN); - break; - } - - /* RF4_BR_NEXU */ - case 96+20: - { - disturb(1, 1); - - if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); - } - else - { - msg_format(_("%^s¤¬°ø²Ìº®Íð¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes nexus."), m_name); - } - - dam = ((m_ptr->hp / 3) > 250 ? 250 : (m_ptr->hp / 3)); - breath(y, x, m_idx, GF_NEXUS, dam,0, TRUE, MS_BR_NEXUS, learnable); - update_smart_learn(m_idx, DRS_NEXUS); - break; - } - - /* RF4_BR_TIME */ - case 96+21: - { - disturb(1, 1); - - if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); - } - else - { - msg_format(_("%^s¤¬»þ´ÖµÕž¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes time."), m_name); - } - - dam = ((m_ptr->hp / 3) > 150 ? 150 : (m_ptr->hp / 3)); - breath(y, x, m_idx, GF_TIME, dam,0, TRUE, MS_BR_TIME, learnable); - break; - } - - /* RF4_BR_INER */ - case 96+22: - { - disturb(1, 1); - - if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); - } - else - { - msg_format(_("%^s¤¬ÃÙÆߤΥ֥쥹¤òÅǤ¤¤¿¡£", "%^s breathes inertia."), m_name); - } - - dam = ((m_ptr->hp / 6) > 200 ? 200 : (m_ptr->hp / 6)); - breath(y, x, m_idx, GF_INERTIA, dam,0, TRUE, MS_BR_INERTIA, learnable); - break; - } - - /* RF4_BR_GRAV */ - case 96+23: - { - disturb(1, 1); - - if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); - } - else - { - msg_format(_("%^s¤¬½ÅÎϤΥ֥쥹¤òÅǤ¤¤¿¡£", "%^s breathes gravity."), m_name); - } - - dam = ((m_ptr->hp / 3) > 200 ? 200 : (m_ptr->hp / 3)); - breath(y, x, m_idx, GF_GRAVITY, dam,0, TRUE, MS_BR_GRAVITY, learnable); - break; - } - - /* RF4_BR_SHAR */ - case 96+24: - { - disturb(1, 1); - if (m_ptr->r_idx == MON_BOTEI) - { - msg_format(_("¡Ö¥ÜÄë¥Ó¥ë¥«¥Ã¥¿¡¼¡ª¡ª¡ª¡×", "'Boty-Build cutter!!!'")); - } - else if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); - } - else - { - msg_format(_("%^s¤¬ÇËÊҤΥ֥쥹¤òÅǤ¤¤¿¡£", "%^s breathes shards."), m_name); - } - - dam = ((m_ptr->hp / 6) > 500 ? 500 : (m_ptr->hp / 6)); - breath(y, x, m_idx, GF_SHARDS, dam,0, TRUE, MS_BR_SHARDS, learnable); - update_smart_learn(m_idx, DRS_SHARD); - break; - } - - /* RF4_BR_PLAS */ - case 96+25: - { - disturb(1, 1); - - if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); - } - else - { - msg_format(_("%^s¤¬¥×¥é¥º¥Þ¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes plasma."), m_name); - } - - dam = ((m_ptr->hp / 6) > 150 ? 150 : (m_ptr->hp / 6)); - breath(y, x, m_idx, GF_PLASMA, dam,0, TRUE, MS_BR_PLASMA, learnable); - break; - } - - /* RF4_BR_WALL */ - case 96+26: - { - disturb(1, 1); - - if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); - } - else - { - msg_format(_("%^s¤¬¥Õ¥©¡¼¥¹¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes force."), m_name); - } - - dam = ((m_ptr->hp / 6) > 200 ? 200 : (m_ptr->hp / 6)); - breath(y, x, m_idx, GF_FORCE, dam,0, TRUE, MS_BR_FORCE, learnable); - break; - } - - /* RF4_BR_MANA */ - case 96+27: - { - disturb(1, 1); - - if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); - } - else - { - msg_format(_("%^s¤¬ËâÎϤΥ֥쥹¤òÅǤ¤¤¿¡£", "%^s breathes mana."), m_name); - } + if (!direct) + { + switch (thrown_spell) + { + case 96 + 2: /* RF4_DISPEL */ + case 96 + 4: /* RF4_SHOOT */ + return (FALSE); + } + } - dam = ((m_ptr->hp / 3) > 250 ? 250 : (m_ptr->hp / 3)); - breath(y, x, m_idx, GF_MANA, dam,0, TRUE, MS_BR_MANA, learnable); - break; - } + /* Cast the spell. */ + switch (thrown_spell) + { + case 96 + 0: spell_RF4_SHRIEK(m_idx, m_name); break; /* RF4_SHRIEK */ + case 96 + 1: break; /* RF4_XXX1 */ + case 96 + 2: spell_RF4_DISPEL(blind, m_name); break; /* RF4_DISPEL */ + case 96 + 3: spell_RF4_ROCKET(blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_ROCKET */ + case 96 + 4: spell_RF4_SHOOT(blind, m_name, r_ptr, m_idx, learnable); break; /* RF4_SHOOT */ + case 96 + 5: break; /* RF4_XXX2 */ + case 96 + 6: break; /* RF4_XXX3 */ + case 96 + 7: break; /* RF4_XXX4 */ + case 96 + 8: spell_RF4_BREATH(GF_ACID, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_ACID */ + case 96 + 9: spell_RF4_BREATH(GF_ELEC, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_ELEC */ + case 96 + 10: spell_RF4_BREATH(GF_FIRE, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_FIRE */ + case 96 + 11: spell_RF4_BREATH(GF_COLD, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_COLD */ + case 96 + 12: spell_RF4_BREATH(GF_POIS, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_POIS */ + case 96 + 13: spell_RF4_BREATH(GF_NETHER, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_NETH */ + case 96 + 14: spell_RF4_BREATH(GF_LITE, blind, m_name, m_ptr, y_br_lite, x_br_lite, m_idx, learnable); break; /* RF4_BR_LITE */ + case 96 + 15: spell_RF4_BREATH(GF_DARK, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_DARK */ + case 96 + 16: spell_RF4_BREATH(GF_CONFUSION, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_CONF */ + case 96 + 17: spell_RF4_BREATH(GF_SOUND, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_SOUN */ + case 96 + 18: spell_RF4_BREATH(GF_CHAOS, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_CHAO */ + case 96 + 19: spell_RF4_BREATH(GF_DISENCHANT, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_DISE */ + case 96 + 20: spell_RF4_BREATH(GF_NEXUS, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_NEXU */ + case 96 + 21: spell_RF4_BREATH(GF_TIME, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_TIME */ + case 96 + 22: spell_RF4_BREATH(GF_INERTIA, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_INER */ + case 96 + 23: spell_RF4_BREATH(GF_GRAVITY, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_GRAV */ + case 96 + 24: spell_RF4_BREATH(GF_SHARDS, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_SHAR */ + case 96 + 25: spell_RF4_BREATH(GF_PLASMA, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_PLAS */ + case 96 + 26: spell_RF4_BREATH(GF_FORCE, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_WALL */ + case 96 + 27: spell_RF4_BREATH(GF_MANA, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_MANA */ /* RF4_BA_NUKE */ case 96+28: @@ -2315,26 +1860,8 @@ bool make_attack_spell(int m_idx) break; } - /* RF4_BR_NUKE */ - case 96+29: - { - disturb(1, 1); - - if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); - } - else - { - msg_format(_("%^s¤¬Êü¼ÍÀ­ÇÑ´þʪ¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes toxic waste."), m_name); - } - - dam = ((m_ptr->hp / 3) > 800 ? 800 : (m_ptr->hp / 3)); - breath(y, x, m_idx, GF_NUKE, dam,0, TRUE, MS_BR_NUKE, learnable); - update_smart_learn(m_idx, DRS_POIS); - break; - } - + case 96 + 29: spell_RF4_BREATH(GF_NUKE, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_NUKE */ + /* RF4_BA_CHAO */ case 96+30: { @@ -2355,26 +1882,7 @@ bool make_attack_spell(int m_idx) break; } - /* RF4_BR_DISI */ - case 96+31: - { - disturb(1, 1); - - if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); - } - else - { - msg_format(_("%^s¤¬Ê¬²ò¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes disintegration."), m_name); - } - - dam = ((m_ptr->hp / 6) > 150 ? 150 : (m_ptr->hp / 6)); - breath(y, x, m_idx, GF_DISINTEGRATE, dam,0, TRUE, MS_BR_DISI, learnable); - break; - } - - + case 96 + 31: spell_RF4_BREATH(GF_DISINTEGRATE, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_DISI */ /* RF5_BA_ACID */ case 128+0: @@ -2518,17 +2026,10 @@ bool make_attack_spell(int m_idx) case 128+5: { disturb(1, 1); -#ifdef JP -if (blind) msg_format("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", m_name); -#else - if (blind) msg_format("%^s mumbles.", m_name); -#endif - -#ifdef JP -else msg_format("%^s¤¬ÃϹöµå¤Î¼öʸ¤ò¾§¤¨¤¿¡£", m_name); -#else - else msg_format("%^s casts a nether ball.", m_name); -#endif + if (blind) + msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + else + msg_format(_("%^s¤¬ÃϹöµå¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a nether ball."), m_name); dam = 50 + damroll(10, 10) + (rlev * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1)); breath(y, x, m_idx, GF_NETHER, dam, 2, FALSE, MS_BALL_NETHER, learnable); @@ -2540,23 +2041,13 @@ else msg_format("%^s case 128+6: { disturb(1, 1); -#ifdef JP -if (blind) msg_format("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", m_name); -#else - if (blind) msg_format("%^s mumbles.", m_name); -#endif -#ifdef JP -else msg_format("%^s¤¬Î®¤ì¤ë¤è¤¦¤Ê¿È¿¶¤ê¤ò¤·¤¿¡£", m_name); -#else - else msg_format("%^s gestures fluidly.", m_name); -#endif + if (blind) + msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + else + msg_format(_("%^s¤¬Î®¤ì¤ë¤è¤¦¤Ê¿È¿¶¤ê¤ò¤·¤¿¡£", "%^s gestures fluidly."), m_name); -#ifdef JP -msg_print("¤¢¤Ê¤¿¤Ï±²´¬¤­¤Ë°û¤ß¹þ¤Þ¤ì¤¿¡£"); -#else - msg_print("You are engulfed in a whirlpool."); -#endif + msg_print(_("¤¢¤Ê¤¿¤Ï±²´¬¤­¤Ë°û¤ß¹þ¤Þ¤ì¤¿¡£", "You are engulfed in a whirlpool.")); dam = ((r_ptr->flags2 & RF2_POWERFUL) ? randint1(rlev * 3) : randint1(rlev * 2)) + 50; breath(y, x, m_idx, GF_WATER, dam, 4, FALSE, MS_BALL_WATER, learnable); @@ -2567,17 +2058,10 @@ msg_print(" case 128+7: { disturb(1, 1); -#ifdef JP -if (blind) msg_format("%^s¤¬²¿¤«¤òÎ϶¯¤¯¤Ä¤Ö¤ä¤¤¤¿¡£", m_name); -#else - if (blind) msg_format("%^s mumbles powerfully.", m_name); -#endif - -#ifdef JP -else msg_format("%^s¤¬ËâÎϤÎÍò¤Î¼öʸ¤òÇ°¤¸¤¿¡£", m_name); -#else - else msg_format("%^s invokes a mana storm.", m_name); -#endif + if (blind) + msg_format(_("%^s¤¬²¿¤«¤òÎ϶¯¤¯¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles powerfully."), m_name); + else + msg_format(_("%^s¤¬ËâÎϤÎÍò¤Î¼öʸ¤òÇ°¤¸¤¿¡£", "%^s invokes a mana storm."), m_name); dam = (rlev * 4) + 50 + damroll(10, 10); breath(y, x, m_idx, GF_MANA, dam, 4, FALSE, MS_BALL_MANA, learnable); @@ -2588,17 +2072,11 @@ else msg_format("%^s case 128+8: { disturb(1, 1); -#ifdef JP -if (blind) msg_format("%^s¤¬²¿¤«¤òÎ϶¯¤¯¤Ä¤Ö¤ä¤¤¤¿¡£", m_name); -#else - if (blind) msg_format("%^s mumbles powerfully.", m_name); -#endif -#ifdef JP -else msg_format("%^s¤¬°Å¹õ¤ÎÍò¤Î¼öʸ¤òÇ°¤¸¤¿¡£", m_name); -#else - else msg_format("%^s invokes a darkness storm.", m_name); -#endif + if (blind) + msg_format(_("%^s¤¬²¿¤«¤òÎ϶¯¤¯¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles powerfully."), m_name); + else + msg_format(_("%^s¤¬°Å¹õ¤ÎÍò¤Î¼öʸ¤òÇ°¤¸¤¿¡£", "%^s invokes a darkness storm."), m_name); dam = (rlev * 4) + 50 + damroll(10, 10); breath(y, x, m_idx, GF_DARK, dam, 4, FALSE, MS_BALL_DARK, learnable); @@ -2625,21 +2103,11 @@ else msg_format("%^s disturb(1, 1); if (!seen) { -#ifdef JP -msg_print("²¿¤«¤¬¤¢¤Ê¤¿¤ÎÀº¿À¤ËÇ°¤òÊü¤Ã¤Æ¤¤¤ë¤è¤¦¤À¡£"); -#else - msg_print("You feel something focusing on your mind."); -#endif - + msg_print(_("²¿¤«¤¬¤¢¤Ê¤¿¤ÎÀº¿À¤ËÇ°¤òÊü¤Ã¤Æ¤¤¤ë¤è¤¦¤À¡£", "You feel something focusing on your mind.")); } else { -#ifdef JP -msg_format("%^s¤¬¤¢¤Ê¤¿¤ÎÆ·¤ò¤¸¤Ã¤È¤Ë¤é¤ó¤Ç¤¤¤ë¡£", m_name); -#else - msg_format("%^s gazes deep into your eyes.", m_name); -#endif - + msg_format(_("%^s¤¬¤¢¤Ê¤¿¤ÎÆ·¤ò¤¸¤Ã¤È¤Ë¤é¤ó¤Ç¤¤¤ë¡£", "%^s gazes deep into your eyes."), m_name); } dam = damroll(7, 7); @@ -2654,21 +2122,11 @@ msg_format("%^s disturb(1, 1); if (!seen) { -#ifdef JP -msg_print("²¿¤«¤¬¤¢¤Ê¤¿¤ÎÀº¿À¤ËÇ°¤òÊü¤Ã¤Æ¤¤¤ë¤è¤¦¤À¡£"); -#else - msg_print("You feel something focusing on your mind."); -#endif - + msg_print(_("²¿¤«¤¬¤¢¤Ê¤¿¤ÎÀº¿À¤ËÇ°¤òÊü¤Ã¤Æ¤¤¤ë¤è¤¦¤À¡£", "You feel something focusing on your mind.")); } else { -#ifdef JP -msg_format("%^s¤¬¤¢¤Ê¤¿¤ÎÆ·¤ò¤¸¤Ã¤È¸«¤Æ¤¤¤ë¡£", m_name); -#else - msg_format("%^s looks deep into your eyes.", m_name); -#endif - + msg_format(_("%^s¤¬¤¢¤Ê¤¿¤ÎÆ·¤ò¤¸¤Ã¤È¸«¤Æ¤¤¤ë¡£", "%^s looks deep into your eyes."), m_name); } dam = damroll(12, 12); @@ -2681,17 +2139,11 @@ msg_format("%^s { if (!direct) return (FALSE); disturb(1, 1); -#ifdef JP -if (blind) msg_format("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", m_name); -#else - if (blind) msg_format("%^s mumbles.", m_name); -#endif -#ifdef JP -else msg_format("%^s¤¬¤¢¤Ê¤¿¤ò»Ø¤µ¤·¤Æ¼ö¤Ã¤¿¡£", m_name); -#else - else msg_format("%^s points at you and curses.", m_name); -#endif + if (blind) + msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + else + msg_format(_("%^s¤¬¤¢¤Ê¤¿¤ò»Ø¤µ¤·¤Æ¼ö¤Ã¤¿¡£", "%^s points at you and curses."), m_name); dam = damroll(3, 8); breath(y, x, m_idx, GF_CAUSE_1, dam, 0, FALSE, MS_CAUSE_1, learnable); @@ -2703,17 +2155,11 @@ else msg_format("%^s { if (!direct) return (FALSE); disturb(1, 1); -#ifdef JP -if (blind) msg_format("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", m_name); -#else - if (blind) msg_format("%^s mumbles.", m_name); -#endif -#ifdef JP -else msg_format("%^s¤¬¤¢¤Ê¤¿¤ò»Ø¤µ¤·¤Æ¶²¤í¤·¤²¤Ë¼ö¤Ã¤¿¡£", m_name); -#else - else msg_format("%^s points at you and curses horribly.", m_name); -#endif + if (blind) + msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + else + msg_format(_("%^s¤¬¤¢¤Ê¤¿¤ò»Ø¤µ¤·¤Æ¶²¤í¤·¤²¤Ë¼ö¤Ã¤¿¡£", "%^s points at you and curses horribly."), m_name); dam = damroll(8, 8); breath(y, x, m_idx, GF_CAUSE_2, dam, 0, FALSE, MS_CAUSE_2, learnable); @@ -2725,17 +2171,11 @@ else msg_format("%^s { if (!direct) return (FALSE); disturb(1, 1); -#ifdef JP -if (blind) msg_format("%^s¤¬²¿¤«¤òÂçÀ¼¤Ç¶«¤ó¤À¡£", m_name); -#else - if (blind) msg_format("%^s mumbles loudly.", m_name); -#endif -#ifdef JP -else msg_format("%^s¤¬¤¢¤Ê¤¿¤ò»Ø¤µ¤·¤Æ¶²¤í¤·¤²¤Ë¼öʸ¤ò¾§¤¨¤¿¡ª", m_name); -#else - else msg_format("%^s points at you, incanting terribly!", m_name); -#endif + if (blind) + msg_format(_("%^s¤¬²¿¤«¤òÂçÀ¼¤Ç¶«¤ó¤À¡£", "%^s mumbles loudly."), m_name); + else + msg_format(_("%^s¤¬¤¢¤Ê¤¿¤ò»Ø¤µ¤·¤Æ¶²¤í¤·¤²¤Ë¼öʸ¤ò¾§¤¨¤¿¡ª", "%^s points at you, incanting terribly!"), m_name); dam = damroll(10, 15); breath(y, x, m_idx, GF_CAUSE_3, dam, 0, FALSE, MS_CAUSE_3, learnable); @@ -2747,17 +2187,12 @@ else msg_format("%^s { if (!direct) return (FALSE); disturb(1, 1); -#ifdef JP -if (blind) msg_format("%^s¤¬¡Ö¤ªÁ°¤Ï´û¤Ë»à¤ó¤Ç¤¤¤ë¡×¤È¶«¤ó¤À¡£", m_name); -#else - if (blind) msg_format("%^s screams the word 'DIE!'", m_name); -#endif -#ifdef JP -else msg_format("%^s¤¬¤¢¤Ê¤¿¤ÎÈ빦¤òÆͤ¤¤Æ¡Ö¤ªÁ°¤Ï´û¤Ë»à¤ó¤Ç¤¤¤ë¡×¤È¶«¤ó¤À¡£", m_name); -#else - else msg_format("%^s points at you, screaming the word DIE!", m_name); -#endif + if (blind) + msg_format(_("%^s¤¬¡Ö¤ªÁ°¤Ï´û¤Ë»à¤ó¤Ç¤¤¤ë¡×¤È¶«¤ó¤À¡£", "%^s screams the word 'DIE!'"), m_name); + else + msg_format(_("%^s¤¬¤¢¤Ê¤¿¤ÎÈ빦¤òÆͤ¤¤Æ¡Ö¤ªÁ°¤Ï´û¤Ë»à¤ó¤Ç¤¤¤ë¡×¤È¶«¤ó¤À¡£", + "%^s points at you, screaming the word DIE!"), m_name); dam = damroll(15, 15); breath(y, x, m_idx, GF_CAUSE_4, dam, 0, FALSE, MS_CAUSE_4, learnable); @@ -2769,17 +2204,11 @@ else msg_format("%^s { if (!direct) return (FALSE); disturb(1, 1); -#ifdef JP -if (blind) msg_format("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", m_name); -#else - if (blind) msg_format("%^s mumbles.", m_name); -#endif -#ifdef JP -else msg_format("%^s¤¬¥¢¥·¥Ã¥É¡¦¥Ü¥ë¥È¤Î¼öʸ¤ò¾§¤¨¤¿¡£", m_name); -#else - else msg_format("%^s casts a acid bolt.", m_name); -#endif + if (blind) + msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + else + msg_format(_("%^s¤¬¥¢¥·¥Ã¥É¡¦¥Ü¥ë¥È¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a acid bolt."), m_name); dam = (damroll(7, 8) + (rlev / 3)) * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1); bolt(m_idx, GF_ACID, dam, MS_BOLT_ACID, learnable); @@ -2793,17 +2222,11 @@ else msg_format("%^s { if (!direct) return (FALSE); disturb(1, 1); -#ifdef JP -if (blind) msg_format("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", m_name); -#else - if (blind) msg_format("%^s mumbles.", m_name); -#endif -#ifdef JP -else msg_format("%^s¤¬¥µ¥ó¥À¡¼¡¦¥Ü¥ë¥È¤Î¼öʸ¤ò¾§¤¨¤¿¡£", m_name); -#else - else msg_format("%^s casts a lightning bolt.", m_name); -#endif + if (blind) + msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + else + msg_format(_("%^s¤¬¥µ¥ó¥À¡¼¡¦¥Ü¥ë¥È¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a lightning bolt."), m_name); dam = (damroll(4, 8) + (rlev / 3)) * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1); bolt(m_idx, GF_ELEC, dam, MS_BOLT_ELEC, learnable); @@ -2817,17 +2240,11 @@ else msg_format("%^s { if (!direct) return (FALSE); disturb(1, 1); -#ifdef JP -if (blind) msg_format("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", m_name); -#else - if (blind) msg_format("%^s mumbles.", m_name); -#endif -#ifdef JP -else msg_format("%^s¤¬¥Õ¥¡¥¤¥¢¡¦¥Ü¥ë¥È¤Î¼öʸ¤ò¾§¤¨¤¿¡£", m_name); -#else - else msg_format("%^s casts a fire bolt.", m_name); -#endif + if (blind) + msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + else + msg_format(_("%^s¤¬¥Õ¥¡¥¤¥¢¡¦¥Ü¥ë¥È¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a fire bolt."), m_name); dam = (damroll(9, 8) + (rlev / 3)) * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1); bolt(m_idx, GF_FIRE, dam, MS_BOLT_FIRE, learnable); @@ -2841,17 +2258,11 @@ else msg_format("%^s { if (!direct) return (FALSE); disturb(1, 1); -#ifdef JP -if (blind) msg_format("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", m_name); -#else - if (blind) msg_format("%^s mumbles.", m_name); -#endif -#ifdef JP -else msg_format("%^s¤¬¥¢¥¤¥¹¡¦¥Ü¥ë¥È¤Î¼öʸ¤ò¾§¤¨¤¿¡£", m_name); -#else - else msg_format("%^s casts a frost bolt.", m_name); -#endif + if (blind) + msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + else + msg_format(_("%^s¤¬¥¢¥¤¥¹¡¦¥Ü¥ë¥È¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a frost bolt."), m_name); dam = (damroll(6, 8) + (rlev / 3)) * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1); bolt(m_idx, GF_COLD, dam, MS_BOLT_COLD, learnable); @@ -2864,17 +2275,11 @@ else msg_format("%^s case 128+20: { disturb(1, 1); -#ifdef JP -if (blind) msg_format("%^s¤¬²¿¤«¤òÎ϶¯¤¯¤Ä¤Ö¤ä¤¤¤¿¡£", m_name); -#else - if (blind) msg_format("%^s mumbles powerfully.", m_name); -#endif -#ifdef JP -else msg_format("%^s¤¬¥¹¥¿¡¼¥Ð¡¼¥¹¥È¤Î¼öʸ¤òÇ°¤¸¤¿¡£", m_name); -#else - else msg_format("%^s invokes a starburst.", m_name); -#endif + if (blind) + msg_format(_("%^s¤¬²¿¤«¤òÎ϶¯¤¯¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles powerfully."), m_name); + else + msg_format(_("%^s¤¬¥¹¥¿¡¼¥Ð¡¼¥¹¥È¤Î¼öʸ¤òÇ°¤¸¤¿¡£", "%^s invokes a starburst."), m_name); dam = (rlev * 4) + 50 + damroll(10, 10); breath(y, x, m_idx, GF_LITE, dam, 4, FALSE, MS_STARBURST, learnable); @@ -2887,17 +2292,11 @@ else msg_format("%^s { if (!direct) return (FALSE); disturb(1, 1); -#ifdef JP -if (blind) msg_format("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", m_name); -#else - if (blind) msg_format("%^s mumbles.", m_name); -#endif -#ifdef JP -else msg_format("%^s¤¬ÃϹö¤ÎÌð¤Î¼öʸ¤ò¾§¤¨¤¿¡£", m_name); -#else - else msg_format("%^s casts a nether bolt.", m_name); -#endif + if (blind) + msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + else + msg_format(_("%^s¤¬ÃϹö¤ÎÌð¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a nether bolt."), m_name); dam = 30 + damroll(5, 5) + (rlev * 4) / ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 3); bolt(m_idx, GF_NETHER, dam, MS_BOLT_NETHER, learnable); @@ -2911,17 +2310,11 @@ else msg_format("%^s { if (!direct) return (FALSE); disturb(1, 1); -#ifdef JP -if (blind) msg_format("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", m_name); -#else - if (blind) msg_format("%^s mumbles.", m_name); -#endif -#ifdef JP -else msg_format("%^s¤¬¥¦¥©¡¼¥¿¡¼¡¦¥Ü¥ë¥È¤Î¼öʸ¤ò¾§¤¨¤¿¡£", m_name); -#else - else msg_format("%^s casts a water bolt.", m_name); -#endif + if (blind) + msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + else + msg_format(_("%^s¤¬¥¦¥©¡¼¥¿¡¼¡¦¥Ü¥ë¥È¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a water bolt."), m_name); dam = damroll(10, 10) + (rlev * 3 / ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 3)); bolt(m_idx, GF_WATER, dam, MS_BOLT_WATER, learnable); @@ -2934,17 +2327,10 @@ else msg_format("%^s { if (!direct) return (FALSE); disturb(1, 1); -#ifdef JP -if (blind) msg_format("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", m_name); -#else - if (blind) msg_format("%^s mumbles.", m_name); -#endif - -#ifdef JP -else msg_format("%^s¤¬ËâÎϤÎÌð¤Î¼öʸ¤ò¾§¤¨¤¿¡£", m_name); -#else - else msg_format("%^s casts a mana bolt.", m_name); -#endif + if (blind) + msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + else + msg_format(_("%^s¤¬ËâÎϤÎÌð¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a mana bolt."), m_name); dam = randint1(rlev * 7 / 2) + 50; bolt(m_idx, GF_MANA, dam, MS_BOLT_MANA, learnable); diff --git a/src/mspells4.c b/src/mspells4.c new file mode 100644 index 000000000..0b49330d1 --- /dev/null +++ b/src/mspells4.c @@ -0,0 +1,234 @@ +#include "angband.h" + +void spell_RF4_SHRIEK(int m_idx, cptr m_name) +{ + disturb(1, 1); + msg_format(_("%^s¤¬¤«¤ó¹â¤¤¶âÀÚ¤êÀ¼¤ò¤¢¤²¤¿¡£", "%^s makes a high pitched shriek."), m_name); + aggravate_monsters(m_idx); +} + +void spell_RF4_DISPEL(bool blind, cptr m_name) +{ + disturb(1, 1); + + if (blind) + { + msg_format(_("%^s¤¬²¿¤«¤òÎ϶¯¤¯¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles powerfully."), m_name); + } + else + { + msg_format(_("%^s¤¬ËâÎϾõî¤Î¼öʸ¤òÇ°¤¸¤¿¡£", "%^s invokes a dispel magic."), m_name); + } + dispel_player(); + if (p_ptr->riding) dispel_monster_status(p_ptr->riding); + +#ifdef JP + if ((p_ptr->pseikaku == SEIKAKU_COMBAT) || (inventory[INVEN_BOW].name1 == ART_CRIMSON)) + msg_print("¤ä¤ê¤ä¤¬¤Ã¤¿¤Ê¡ª"); +#endif + learn_spell(MS_DISPEL); +} + +void spell_RF4_ROCKET(bool blind, cptr m_name, monster_type* m_ptr, int y, int x, int m_idx, bool learnable) +{ + int dam; + + disturb(1, 1); + if (blind) + { + msg_format(_("%^s¤¬²¿¤«¤ò¼Í¤Ã¤¿¡£", "%^s shoots something."), m_name); + } + else + { + msg_format(_("%^s¤¬¥í¥±¥Ã¥È¤òȯ¼Í¤·¤¿¡£", "%^s fires a rocket."), m_name); + } + + dam = ((m_ptr->hp / 4) > 800 ? 800 : (m_ptr->hp / 4)); + breath(y, x, m_idx, GF_ROCKET, + dam, 2, FALSE, MS_ROCKET, learnable); + update_smart_learn(m_idx, DRS_SHARD); +} + +void spell_RF4_SHOOT(bool blind, cptr m_name, monster_race* r_ptr, int m_idx, bool learnable) +{ + int dam; + disturb(1, 1); + if (blind) + { + msg_format(_("%^s¤¬´ñ̯¤Ê²»¤òȯ¤·¤¿¡£", "%^s makes a strange noise."), m_name); + } + else + { + msg_format(_("%^s¤¬Ìð¤òÊü¤Ã¤¿¡£", "%^s fires an arrow."), m_name); + } + + dam = damroll(r_ptr->blow[0].d_dice, r_ptr->blow[0].d_side); + bolt(m_idx, GF_ARROW, dam, MS_SHOOT, learnable); + update_smart_learn(m_idx, DRS_REFLECT); +} + +void spell_RF4_BREATH(int GF_TYPE, bool blind, cptr m_name, monster_type* m_ptr, int y, int x, int m_idx, bool learnable) +{ + int dam, ms_type, drs_type; + cptr type_s; + bool smart_learn = TRUE; + + switch (GF_TYPE) + { + case GF_ACID: + dam = ((m_ptr->hp / 3) > 1600 ? 1600 : (m_ptr->hp / 3)); + type_s = _("»À", "acid"); + ms_type = MS_BR_ACID; + drs_type = DRS_ACID; + break; + case GF_ELEC: + dam = ((m_ptr->hp / 3) > 1600 ? 1600 : (m_ptr->hp / 3)); + type_s = _("°ðºÊ", "lightning"); + ms_type = MS_BR_ELEC; + drs_type = DRS_ELEC; + break; + case GF_FIRE: + dam = ((m_ptr->hp / 3) > 1600 ? 1600 : (m_ptr->hp / 3)); + type_s = _("²Ð±ê", "fire"); + ms_type = MS_BR_FIRE; + drs_type = DRS_FIRE; + break; + case GF_COLD: + dam = ((m_ptr->hp / 3) > 1600 ? 1600 : (m_ptr->hp / 3)); + type_s = _("Î䵤", "frost"); + ms_type = MS_BR_COLD; + drs_type = DRS_COLD; + break; + case GF_POIS: + dam = ((m_ptr->hp / 3) > 800 ? 800 : (m_ptr->hp / 3)); + type_s = _("¥¬¥¹", "gas"); + ms_type = MS_BR_POIS; + drs_type = DRS_POIS; + break; + case GF_NETHER: + dam = ((m_ptr->hp / 6) > 550 ? 550 : (m_ptr->hp / 6)); + type_s = _("ÃϹö", "nether"); + ms_type = MS_BR_NETHER; + drs_type = DRS_NETH; + break; + case GF_LITE: + dam = ((m_ptr->hp / 6) > 400 ? 400 : (m_ptr->hp / 6)); + type_s = _("Á®¸÷", "light"); + ms_type = MS_BR_LITE; + drs_type = DRS_LITE; + break; + case GF_DARK: + dam = ((m_ptr->hp / 6) > 400 ? 400 : (m_ptr->hp / 6)); + type_s = _("°Å¹õ", "darkness"); + ms_type = MS_BR_DARK; + drs_type = DRS_DARK; + break; + case GF_CONFUSION: + dam = ((m_ptr->hp / 6) > 450 ? 450 : (m_ptr->hp / 6)); + type_s = _("º®Íð", "confusion"); + ms_type = MS_BR_CONF; + drs_type = DRS_CONF; + break; + case GF_SOUND: + dam = ((m_ptr->hp / 6) > 450 ? 450 : (m_ptr->hp / 6)); + type_s = _("¹ì²»", "sound"); + ms_type = MS_BR_SOUND; + drs_type = DRS_SOUND; + break; + case GF_CHAOS: + dam = ((m_ptr->hp / 6) > 600 ? 600 : (m_ptr->hp / 6)); + type_s = _("¥«¥ª¥¹", "chaos"); + ms_type = MS_BR_CHAOS; + drs_type = DRS_CHAOS; + break; + case GF_DISENCHANT: + dam = ((m_ptr->hp / 6) > 500 ? 500 : (m_ptr->hp / 6)); + type_s = _("Îô²½", "disenchantment"); + ms_type = MS_BR_DISEN; + drs_type = DRS_DISEN; + break; + case GF_NEXUS: + dam = ((m_ptr->hp / 3) > 250 ? 250 : (m_ptr->hp / 3)); + type_s = _("°ø²Ìº®Íð", "nexus"); + ms_type = MS_BR_NEXUS; + drs_type = DRS_NEXUS; + break; + case GF_TIME: + dam = ((m_ptr->hp / 3) > 150 ? 150 : (m_ptr->hp / 3)); + type_s = _("»þ´ÖµÕž", "time"); + ms_type = MS_BR_TIME; + smart_learn = FALSE; + break; + case GF_INERTIA: + dam = ((m_ptr->hp / 6) > 200 ? 200 : (m_ptr->hp / 6)); + type_s = _("ÃÙÆß", "inertia"); + ms_type = MS_BR_INERTIA; + smart_learn = FALSE; + break; + case GF_GRAVITY: + dam = ((m_ptr->hp / 3) > 200 ? 200 : (m_ptr->hp / 3)); + type_s = _("½ÅÎÏ", "gravity"); + ms_type = MS_BR_GRAVITY; + smart_learn = FALSE; + break; + case GF_SHARDS: + dam = ((m_ptr->hp / 6) > 500 ? 500 : (m_ptr->hp / 6)); + type_s = _("ÇËÊÒ", "shards"); + ms_type = MS_BR_SHARDS; + drs_type = DRS_SHARD; + break; + case GF_PLASMA: + dam = ((m_ptr->hp / 6) > 150 ? 150 : (m_ptr->hp / 6)); + type_s = _("¥×¥é¥º¥Þ", "plasma"); + ms_type = MS_BR_PLASMA; + smart_learn = FALSE; + break; + case GF_FORCE: + dam = ((m_ptr->hp / 6) > 200 ? 200 : (m_ptr->hp / 6)); + type_s = _("¥Õ¥©¡¼¥¹", "force"); + ms_type = MS_BR_FORCE; + smart_learn = FALSE; + break; + case GF_MANA: + dam = ((m_ptr->hp / 3) > 250 ? 250 : (m_ptr->hp / 3)); + type_s = _("ËâÎÏ", "mana"); + ms_type = MS_BR_MANA; + smart_learn = FALSE; + break; + case GF_NUKE: + dam = ((m_ptr->hp / 3) > 800 ? 800 : (m_ptr->hp / 3)); + type_s = _("Êü¼ÍÀ­ÇÑ´þʪ", "toxic waste"); + ms_type = MS_BR_NUKE; + drs_type = DRS_POIS; + break; + case GF_DISINTEGRATE: + dam = ((m_ptr->hp / 6) > 150 ? 150 : (m_ptr->hp / 6)); + type_s = _("ʬ²ò", "disintegration"); + ms_type = MS_BR_DISI; + smart_learn = FALSE; + break; + default: + break; + } + + disturb(1, 1); + if (m_ptr->r_idx == MON_JAIAN && GF_TYPE == GF_SOUND) + { + msg_format(_("¡Ö¥Ü¥©¥¨¡Á¡Á¡Á¡Á¡Á¡Á¡×", "'Booooeeeeee'")); + } + else if (m_ptr->r_idx == MON_BOTEI && GF_TYPE == GF_SHARDS) + { + msg_format(_("¡Ö¥ÜÄë¥Ó¥ë¥«¥Ã¥¿¡¼¡ª¡ª¡ª¡×", "'Boty-Build cutter!!!'")); + } + else if (blind) + { + msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); + } + else + { + msg_format(_("%^s¤¬%^s¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes %^s."), m_name, type_s); + } + + breath(y, x, m_idx, GF_TYPE, dam, 0, TRUE, ms_type, learnable); + if (smart_learn) update_smart_learn(m_idx, drs_type); +} \ No newline at end of file