From: dis- Date: Tue, 18 Feb 2014 09:24:21 +0000 (+0900) Subject: refactor: extract switch in make_attack_spell X-Git-Tag: v2.2.0~312 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=937817b64787d73d005b539b6e52d2520871e1af;p=hengband%2Fhengband.git refactor: extract switch in make_attack_spell --- diff --git a/src/externs.h b/src/externs.h index 2da7d1337..e25f0d4ae 100644 --- a/src/externs.h +++ b/src/externs.h @@ -1531,6 +1531,7 @@ extern bool raise_possible(monster_type *m_ptr); extern bool dispel_check(int m_idx); extern bool spell_is_inate(u16b spell); extern bool make_attack_spell(int m_idx); +extern void beam(int m_idx, int typ, int dam_hp, int monspell, bool learnable); /* mspells2.c */ extern void get_project_point(int sy, int sx, int *ty, int *tx, int flg); @@ -1584,38 +1585,75 @@ 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); -extern void spell_RF4_BA_CHAO(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF4_BA_NUKE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_BA_ACID(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_BA_ELEC(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_BA_FIRE(monster_type* m_ptr, bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_BA_COLD(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_BA_POIS(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_BA_NETH(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_BA_WATE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_BA_MANA(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_BA_DARK(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_DRAIN_MANA(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_MIND_BLAST(bool seen, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_BRAIN_SMASH(bool seen, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_CAUSE_1(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_CAUSE_2(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_CAUSE_3(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_CAUSE_4(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_BO_ACID(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_BO_ELEC(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_BO_FIRE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_BO_COLD(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_BA_LITE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_BO_NETH(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_BO_WATE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_BO_MANA(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_BO_PLAS(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_BO_ICEE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); -extern void spell_RF5_MISSILE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF4_ROCKET(bool blind, cptr m_name, monster_type* m_ptr, int y, int x, int m_idx, bool learnable); +extern int spell_RF4_SHOOT(bool blind, cptr m_name, monster_race* r_ptr, int m_idx, bool learnable); +extern int spell_RF4_BREATH(int GF_TYPE, bool blind, cptr m_name, monster_type* m_ptr, int y, int x, int m_idx, bool learnable); +extern int spell_RF4_BA_CHAO(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF4_BA_NUKE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_BA_ACID(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_BA_ELEC(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_BA_FIRE(monster_type* m_ptr, bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_BA_COLD(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_BA_POIS(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_BA_NETH(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_BA_WATE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_BA_MANA(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_BA_DARK(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_DRAIN_MANA(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_MIND_BLAST(bool seen, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_BRAIN_SMASH(bool seen, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_CAUSE_1(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_CAUSE_2(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_CAUSE_3(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_CAUSE_4(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_BO_ACID(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_BO_ELEC(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_BO_FIRE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_BO_COLD(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_BA_LITE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_BO_NETH(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_BO_WATE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_BO_MANA(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_BO_PLAS(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_BO_ICEE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern int spell_RF5_MISSILE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable); +extern void spell_RF5_SCARE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx); +extern void spell_RF5_BLIND(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx); +extern void spell_RF5_CONF(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx); +extern void spell_RF5_SLOW(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx); +extern void spell_RF5_HOLD(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx); +extern void spell_RF6_HASTE(bool blind, cptr m_name, monster_type* m_ptr, int y, int x, int m_idx); +extern int spell_RF6_HAND_DOOM(bool blind, cptr m_name, monster_type* m_ptr, int y, int x, int m_idx, bool learnable); +extern void spell_RF6_HEAL(bool blind, bool seen, cptr m_name, monster_type* m_ptr, int rlev, int m_idx); +extern void spell_RF6_INVULNER(bool seen, cptr m_name, monster_type* m_ptr, int m_idx); +extern void spell_RF6_BLINK(cptr m_name, int m_idx); +extern void spell_RF6_TPORT(cptr m_name, int m_idx); +extern int spell_RF6_WORLD(cptr m_name, monster_type* m_ptr, int m_idx); +extern int spell_RF6_SPECIAL(cptr m_name, monster_type* m_ptr, monster_race* r_ptr, u32b mode, bool blind, bool direct, int y, int x, int m_idx); +extern void spell_RF6_TELE_TO(cptr m_name, monster_type* m_ptr); +extern void spell_RF6_TELE_AWAY(cptr m_name, monster_type* m_ptr); +extern void spell_RF6_TELE_LEVEL(bool blind, cptr m_name, monster_type* m_ptr, int rlev); +extern int spell_RF6_PSY_SPEAR(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int m_idx, bool learnable); +extern void spell_RF6_DARKNESS(bool blind, cptr m_name, bool can_use_lite_area); +extern void spell_RF6_TRAPS(bool blind, cptr m_name, int y, int x); +extern void spell_RF6_FORGET(cptr m_name, int rlev); +extern void spell_RF6_RAISE_DEAD(bool blind, cptr m_name, int m_idx, monster_type* m_ptr); +extern void spell_RF6_S_KIN(bool blind, cptr m_name, monster_type* m_ptr, monster_race* r_ptr, int m_idx, int y, int x, int rlev, u32b mode); +extern void spell_RF6_S_CYBER(bool blind, cptr m_name, int m_idx, int y, int x); +extern void spell_RF6_S_MONSTER(bool blind, cptr m_name, int m_idx, int y, int x, int rlev); +extern void spell_RF6_S_MONSTERS(bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_6); +extern void spell_RF6_S_ANT(bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_6); +extern void spell_RF6_S_SPIDER(bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_6); +extern void spell_RF6_S_HOUND(bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_4); +extern void spell_RF6_S_HYDRA(bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_4); +extern void spell_RF6_S_ANGEL(bool blind, cptr m_name, monster_race* r_ptr, int m_idx, int y, int x, int rlev); +extern void spell_RF6_S_DEMON(bool blind, cptr m_name, int m_idx, int y, int x, int rlev); +extern void spell_RF6_S_UNDEAD(bool blind, cptr m_name, int m_idx, int y, int x, int rlev); +extern void spell_RF6_S_DRAGON(bool blind, cptr m_name, int m_idx, int y, int x, int rlev); +extern void spell_RF6_S_HI_UNDEAD(monster_type* m_ptr, bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_6, u32b mode); +extern void spell_RF6_S_HI_DRAGON(bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_4); +extern void spell_RF6_S_AMBERITES(bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_4); +extern void spell_RF6_S_UNIQUE(bool blind, cptr m_name, int m_idx, monster_type* m_ptr, int y, int x, int rlev, int s_num_4); /* hissatsu.c */ extern void hissatsu_info(char *p, int power); diff --git a/src/mspells1.c b/src/mspells1.c index 08885515a..58d9c1193 100644 --- a/src/mspells1.c +++ b/src/mspells1.c @@ -1,6 +1,6 @@ /*! * @file mspells1.c - * @brief ¥â¥ó¥¹¥¿¡¼ËâË¡¤Î¼ÂÁõ / Monster spells (attack player) + * @brief ƒ‚ƒ“ƒXƒ^[–‚–@‚ÌŽÀ‘• / Monster spells (attack player) * @date 2014/01/17 * @author * Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke\n @@ -42,11 +42,11 @@ /*! - * @brief ¥â¥ó¥¹¥¿¡¼¤¬¥×¥ì¥¤¥ä¡¼¤Î¼åÅÀ¤ò¤Ä¤¤¤¿ÁªÂò¤ò¼è¤ë¤«¤É¤¦¤«¤ÎȽÄê / + * @brief ƒ‚ƒ“ƒXƒ^[‚ªƒvƒŒƒCƒ„[‚ÌŽã“_‚ð‚‚¢‚½‘I‘ð‚ðŽæ‚é‚©‚Ç‚¤‚©‚Ì”»’è / * Internal probability routine - * @param r_ptr ¥â¥ó¥¹¥¿¡¼¼ï²¤Î¹½Â¤Âλ²¾È¥Ý¥¤¥ó¥¿ - * @param prob ´ðËܳÎΨ(%) - * @return Ŭ¤·¤¿ÁªÂò¤ò¼è¤ë¤Ê¤é¤ÐTRUE¤òÊÖ¤¹¡£ + * @param r_ptr ƒ‚ƒ“ƒXƒ^[Ží‘°‚̍\‘¢‘ÌŽQÆƒ|ƒCƒ“ƒ^ + * @param prob Šî–{Šm—¦(%) + * @return “K‚µ‚½‘I‘ð‚ðŽæ‚é‚È‚ç‚ÎTRUE‚ð•Ô‚·B */ static bool int_outof(monster_race *r_ptr, int prob) { @@ -59,13 +59,13 @@ static bool int_outof(monster_race *r_ptr, int prob) /*! - * @brief ¥â¥ó¥¹¥¿¡¼¤ÎËâË¡°ìÍ÷¤«¤éÀï½ÑŪ¤ËŬ¤µ¤Ê¤¤ËâË¡¤ò½ü³°¤¹¤ë / + * @brief ƒ‚ƒ“ƒXƒ^[‚Ì–‚–@ˆê——‚©‚çíp“I‚É“K‚³‚È‚¢–‚–@‚ðœŠO‚·‚é / * Remove the "bad" spells from a spell list - * @param m_idx ¥â¥ó¥¹¥¿¡¼¤Î¹½Â¤Âλ²¾È¥Ý¥¤¥ó¥¿ - * @param f4p ¥â¥ó¥¹¥¿¡¼ËâË¡¤Î¥Õ¥é¥°¥ê¥¹¥È1 - * @param f5p ¥â¥ó¥¹¥¿¡¼ËâË¡¤Î¥Õ¥é¥°¥ê¥¹¥È2 - * @param f6p ¥â¥ó¥¹¥¿¡¼ËâË¡¤Î¥Õ¥é¥°¥ê¥¹¥È3 - * @return ¤Ê¤· + * @param m_idx ƒ‚ƒ“ƒXƒ^[‚̍\‘¢‘ÌŽQÆƒ|ƒCƒ“ƒ^ + * @param f4p ƒ‚ƒ“ƒXƒ^[–‚–@‚̃tƒ‰ƒOƒŠƒXƒg1 + * @param f5p ƒ‚ƒ“ƒXƒ^[–‚–@‚̃tƒ‰ƒOƒŠƒXƒg2 + * @param f6p ƒ‚ƒ“ƒXƒ^[–‚–@‚̃tƒ‰ƒOƒŠƒXƒg3 + * @return ‚È‚µ */ static void remove_bad_spells(int m_idx, u32b *f4p, u32b *f5p, u32b *f6p) { @@ -356,11 +356,11 @@ static void remove_bad_spells(int m_idx, u32b *f4p, u32b *f5p, u32b *f6p) /*! - * @brief ¥â¥ó¥¹¥¿¡¼¤Ë¤È¤Ã¤Æ½êÄê¤ÎÃÏÅÀ¤¬¾¤´Ô¤ËÁê±þ¤·¤¤ÃÏÅÀ¤«¤É¤¦¤«¤òÊÖ¤¹¡£ / + * @brief ƒ‚ƒ“ƒXƒ^[‚É‚Æ‚Á‚è‚Ì’n“_‚ª¢ŠÒ‚É‘Š‰ž‚µ‚¢’n“_‚©‚Ç‚¤‚©‚ð•Ô‚·B / * Determine if there is a space near the player in which a summoned creature can appear - * @param y1 ȽÄê¤ò¹Ô¤¤¤¿¤¤¥Þ¥¹¤ÎYºÂɸ - * @param x1 ȽÄê¤ò¹Ô¤¤¤¿¤¤¥Þ¥¹¤ÎXºÂɸ - * @return ¾¤´Ô¤ËÁê±þ¤·¤¤¤Ê¤é¤ÐTRUE¤òÊÖ¤¹ + * @param y1 ”»’è‚ðs‚¢‚½‚¢ƒ}ƒX‚ÌYÀ•W + * @param x1 ”»’è‚ðs‚¢‚½‚¢ƒ}ƒX‚ÌXÀ•W + * @return ¢ŠÒ‚É‘Š‰ž‚µ‚¢‚È‚ç‚ÎTRUE‚ð•Ô‚· */ bool summon_possible(int y1, int x1) { @@ -390,10 +390,10 @@ bool summon_possible(int y1, int x1) /*! - * @brief ¥â¥ó¥¹¥¿¡¼¤Ë¤È¤Ã¤Æ»à¼ÔÉü³è¤ò¹Ô¤¦¤Ù¤­¾õÂÖ¤«¤É¤¦¤«¤òÊÖ¤¹ / + * @brief ƒ‚ƒ“ƒXƒ^[‚É‚Æ‚Á‚ÄŽ€ŽÒ•œŠˆ‚ðs‚¤‚ׂ«ó‘Ô‚©‚Ç‚¤‚©‚ð•Ô‚· / * Determine if there is a space near the player in which a summoned creature can appear - * @param m_ptr ȽÄê¤ò¹Ô¤¤¤¿¤¤¥â¥ó¥¹¥¿¡¼¤Î¹½Â¤Âλ²¾È¥Ý¥¤¥ó¥¿ - * @return »à¼ÔÉü³è¤¬Í­¸ú¤Ê¾õÂ֤ʤé¤ÐTRUE¤òÊÖ¤¹¡£ + * @param m_ptr ”»’è‚ðs‚¢‚½‚¢ƒ‚ƒ“ƒXƒ^[‚̍\‘¢‘ÌŽQÆƒ|ƒCƒ“ƒ^ + * @return Ž€ŽÒ•œŠˆ‚ª—LŒø‚ȏó‘Ô‚È‚ç‚ÎTRUE‚ð•Ô‚·B */ bool raise_possible(monster_type *m_ptr) { @@ -435,14 +435,14 @@ bool raise_possible(monster_type *m_ptr) /*! - * @brief ¥â¥ó¥¹¥¿¡¼¤Ë¤È¤Ã¤Æ¥Ü¥ë¥È·¿ËâË¡¤¬Í­¸ú¤Ê¾õÂÖ¤«¤òÊÖ¤¹ / + * @brief ƒ‚ƒ“ƒXƒ^[‚É‚Æ‚Á‚ă{ƒ‹ƒgŒ^–‚–@‚ª—LŒø‚ȏó‘Ô‚©‚ð•Ô‚· / * Determine if a bolt spell will hit the player. - * @param y1 ¥Ü¥ë¥ÈËâˡȯ¼ÍÃÏÅÀ¤ÎYºÂɸ - * @param x1 ¥Ü¥ë¥ÈËâˡȯ¼ÍÃÏÅÀ¤ÎXºÂɸ - * @param y2 ¥Ü¥ë¥ÈËâË¡ÌÜɸÃÏÅÀ¤ÎYºÂɸ - * @param x2 ¥Ü¥ë¥ÈËâË¡ÌÜɸÃÏÅÀ¤ÎXºÂɸ - * @param is_friend ¥â¥ó¥¹¥¿¡¼¤¬¥×¥ì¥¤¥ä¡¼¤Ë³²°Õ¤ò»ý¤¿¤Ê¤¤(¥Ú¥Ã¥È¤«Í§¹¥Åª)¤Ê¤é¤ÐTRUE¤ò¤Ä¤±¤ë - * @return ¥Ü¥ë¥È·¿ËâË¡¤¬Í­¸ú¤Ê¤é¤ÐTRUE¤òÊÖ¤¹¡£ + * @param y1 ƒ{ƒ‹ƒg–‚–@”­ŽË’n“_‚ÌYÀ•W + * @param x1 ƒ{ƒ‹ƒg–‚–@”­ŽË’n“_‚ÌXÀ•W + * @param y2 ƒ{ƒ‹ƒg–‚–@–Ú•W’n“_‚ÌYÀ•W + * @param x2 ƒ{ƒ‹ƒg–‚–@–Ú•W’n“_‚ÌXÀ•W + * @param is_friend ƒ‚ƒ“ƒXƒ^[‚ªƒvƒŒƒCƒ„[‚ÉŠQˆÓ‚ðŽ‚½‚È‚¢(ƒyƒbƒg‚©—FD“I)‚È‚ç‚ÎTRUE‚ð‚‚¯‚é + * @return ƒ{ƒ‹ƒgŒ^–‚–@‚ª—LŒø‚È‚ç‚ÎTRUE‚ð•Ô‚·B * @details * Originally, it was possible for a friendly to shoot another friendly.\n * Change it so a "clean shot" means no equally friendly monster is\n @@ -499,14 +499,14 @@ bool clean_shot(int y1, int x1, int y2, int x2, bool is_friend) } /*! - * @brief ¥â¥ó¥¹¥¿¡¼¤Î¥Ü¥ë¥È·¿ËâË¡½èÍý / + * @brief ƒ‚ƒ“ƒXƒ^[‚̃{ƒ‹ƒgŒ^–‚–@ˆ— / * Cast a bolt at the player Stop if we hit a monster Affect monsters and the player - * @param m_idx ¥â¥ó¥¹¥¿¡¼¤ÎID - * @param typ ¸ú²Ì°À­ID - * @param dam_hp °ÒÎÏ - * @param monspell ¥â¥ó¥¹¥¿¡¼ËâË¡¤ÎID - * @param learnable ¥é¡¼¥Ë¥ó¥°²Äǽ¤«Èݤ« - * @return ¤Ê¤· + * @param m_idx ƒ‚ƒ“ƒXƒ^[‚ÌID + * @param typ Œø‰Ê‘®«ID + * @param dam_hp ˆÐ—Í + * @param monspell ƒ‚ƒ“ƒXƒ^[–‚–@‚ÌID + * @param learnable ƒ‰[ƒjƒ“ƒO‰Â”\‚©”Û‚© + * @return ‚È‚µ */ void bolt(int m_idx, int typ, int dam_hp, int monspell, bool learnable) { @@ -518,15 +518,15 @@ void bolt(int m_idx, int typ, int dam_hp, int monspell, bool learnable) } /*! - * @brief ¥â¥ó¥¹¥¿¡¼¤Î¥Ó¡¼¥à·¿ËâË¡½èÍý / - * @param m_idx ¥â¥ó¥¹¥¿¡¼¤ÎID - * @param typ ¸ú²Ì°À­ID - * @param dam_hp °ÒÎÏ - * @param monspell ¥â¥ó¥¹¥¿¡¼ËâË¡¤ÎID - * @param learnable ¥é¡¼¥Ë¥ó¥°²Äǽ¤«Èݤ« - * @return ¤Ê¤· + * @brief ƒ‚ƒ“ƒXƒ^[‚̃r[ƒ€Œ^–‚–@ˆ— / + * @param m_idx ƒ‚ƒ“ƒXƒ^[‚ÌID + * @param typ Œø‰Ê‘®«ID + * @param dam_hp ˆÐ—Í + * @param monspell ƒ‚ƒ“ƒXƒ^[–‚–@‚ÌID + * @param learnable ƒ‰[ƒjƒ“ƒO‰Â”\‚©”Û‚© + * @return ‚È‚µ */ -static void beam(int m_idx, int typ, int dam_hp, int monspell, bool learnable) +void beam(int m_idx, int typ, int dam_hp, int monspell, bool learnable) { int flg = PROJECT_BEAM | PROJECT_KILL | PROJECT_THRU | PROJECT_PLAYER; @@ -536,18 +536,18 @@ static void beam(int m_idx, int typ, int dam_hp, int monspell, bool learnable) /*! - * @brief ¥â¥ó¥¹¥¿¡¼¤Î¥Ü¡¼¥ë·¿¡õ¥Ö¥ì¥¹·¿ËâË¡½èÍý / + * @brief ƒ‚ƒ“ƒXƒ^[‚̃{[ƒ‹Œ^•ƒuƒŒƒXŒ^–‚–@ˆ— / * Cast a breath (or ball) attack at the player Pass over any monsters that may be in the way Affect grids, objects, monsters, and the player - * @param y ÌÜɸÃÏÅÀ¤ÎYºÂɸ - * @param x ÌÜɸÃÏÅÀ¤ÎXºÂɸ - * @param m_idx ¥â¥ó¥¹¥¿¡¼¤ÎID - * @param typ ¸ú²Ì°À­ID - * @param dam_hp °ÒÎÏ - * @param rad Ⱦ·Â - * @param breath TRUE¤Ê¤é¤Ð¥Ö¥ì¥¹½èÍý¡¢FALSE¤Ê¤é¤Ð¥Ü¡¼¥ë½èÍý - * @param monspell ¥â¥ó¥¹¥¿¡¼ËâË¡¤ÎID - * @param learnable ¥é¡¼¥Ë¥ó¥°²Äǽ¤«Èݤ« - * @return ¤Ê¤· + * @param y –Ú•W’n“_‚ÌYÀ•W + * @param x –Ú•W’n“_‚ÌXÀ•W + * @param m_idx ƒ‚ƒ“ƒXƒ^[‚ÌID + * @param typ Œø‰Ê‘®«ID + * @param dam_hp ˆÐ—Í + * @param rad ”¼Œa + * @param breath TRUE‚È‚ç‚΃uƒŒƒXˆ—AFALSE‚È‚ç‚΃{[ƒ‹ˆ— + * @param monspell ƒ‚ƒ“ƒXƒ^[–‚–@‚ÌID + * @param learnable ƒ‰[ƒjƒ“ƒO‰Â”\‚©”Û‚© + * @return ‚È‚µ */ void breath(int y, int x, int m_idx, int typ, int dam_hp, int rad, bool breath, int monspell, bool learnable) { @@ -584,10 +584,10 @@ void breath(int y, int x, int m_idx, int typ, int dam_hp, int rad, bool breath, } /*! - * @brief ¥â¥ó¥¹¥¿¡¼¤Î¥Ü¡¼¥ë·¿¡õ¥Ö¥ì¥¹·¿ËâË¡½èÍý / - * @param power ¼ö¤¤¤ÎÃʳ¬ - * @param o_ptr ¼ö¤¤¤ò¤«¤±¤é¤ì¤ëÁõÈ÷¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½Â¤Âλ²¾È¥Ý¥¤¥ó¥¿ - * @return Í¿¤¨¤ë¼ö¤¤¤ÎID + * @brief ƒ‚ƒ“ƒXƒ^[‚̃{[ƒ‹Œ^•ƒuƒŒƒXŒ^–‚–@ˆ— / + * @param power Žô‚¢‚Ì’iŠK + * @param o_ptr Žô‚¢‚ð‚©‚¯‚ç‚ê‚é‘•”õƒIƒuƒWƒFƒNƒg‚̍\‘¢‘ÌŽQÆƒ|ƒCƒ“ƒ^ + * @return —^‚¦‚éŽô‚¢‚ÌID */ u32b get_curse(int power, object_type *o_ptr) { @@ -616,10 +616,10 @@ u32b get_curse(int power, object_type *o_ptr) } /*! - * @brief ÁõÈ÷¤Ø¤Î¼ö¤¤ÉÕ²ÃȽÄê¤ÈÉղýèÍý / - * @param chance ¼ö¤¤¤Î´ðËܳÎΨ - * @param heavy_chance ½Å¤¤¼ö¤¤¤òÁªÂò»è¤ËÆþ¤ì¤ë¤«Èݤ«¡£ - * @return ¤Ê¤· + * @brief ‘•”õ‚Ö‚ÌŽô‚¢•t‰Á”»’è‚Æ•t‰Áˆ— / + * @param chance Žô‚¢‚ÌŠî–{Šm—¦ + * @param heavy_chance d‚¢Žô‚¢‚ð‘I‘ðŽˆ‚É“ü‚ê‚é‚©”Û‚©B + * @return ‚È‚µ */ void curse_equipment(int chance, int heavy_chance) { @@ -642,7 +642,7 @@ void curse_equipment(int chance, int heavy_chance) if (have_flag(oflgs, TR_BLESSED) && (randint1(888) > chance)) { #ifdef JP -msg_format("%s¤Ï¼ö¤¤¤òÄ·¤ÍÊÖ¤·¤¿¡ª", o_name, +msg_format("%s‚ÍŽô‚¢‚𒵂˕Ԃµ‚½I", o_name, #else msg_format("Your %s resist%s cursing!", o_name, #endif @@ -679,7 +679,7 @@ msg_format("%s if (changed) { #ifdef JP -msg_format("°­°Õ¤ËËþ¤Á¤¿¹õ¤¤¥ª¡¼¥é¤¬%s¤ò¤È¤ê¤Þ¤¤¤¿...", o_name); +msg_format("ˆ«ˆÓ‚É–ž‚¿‚½•‚¢ƒI[ƒ‰‚ª%s‚ð‚Æ‚è‚Ü‚¢‚½...", o_name); #else msg_format("There is a malignant black aura surrounding %s...", o_name); #endif @@ -691,10 +691,10 @@ msg_format(" /*! - * @brief IDÃͤ¬Àµ¤·¤¤¥â¥ó¥¹¥¿¡¼ËâË¡ID¤«¤É¤¦¤«¤òÊÖ¤¹ / + * @brief ID’l‚ª³‚µ‚¢ƒ‚ƒ“ƒXƒ^[–‚–@ID‚©‚Ç‚¤‚©‚ð•Ô‚· / * Return TRUE if a spell is good for hurting the player (directly). - * @param spell ȽÄêÂоݤÎID - * @return Àµ¤·¤¤ID¤Ê¤é¤ÐTRUE¤òÊÖ¤¹¡£ + * @param spell ”»’è‘ΏۂÌID + * @return ³‚µ‚¢ID‚È‚ç‚ÎTRUE‚ð•Ô‚·B */ static bool spell_attack(byte spell) { @@ -719,10 +719,10 @@ static bool spell_attack(byte spell) /*! - * @brief IDÃͤ¬ÂàÈòÌÜŪ¤ËŬ¤·¤¿¥â¥ó¥¹¥¿¡¼ËâË¡ID¤«¤É¤¦¤«¤òÊÖ¤¹ / + * @brief ID’l‚ª‘Þ”ð–Ú“I‚É“K‚µ‚½ƒ‚ƒ“ƒXƒ^[–‚–@ID‚©‚Ç‚¤‚©‚ð•Ô‚· / * Return TRUE if a spell is good for escaping. - * @param spell ȽÄêÂоݤÎID - * @return Ŭ¤·¤¿ËâË¡¤ÎID¤Ê¤é¤ÐTRUE¤òÊÖ¤¹¡£ + * @param spell ”»’è‘ΏۂÌID + * @return “K‚µ‚½–‚–@‚ÌID‚È‚ç‚ÎTRUE‚ð•Ô‚·B */ static bool spell_escape(byte spell) { @@ -737,10 +737,10 @@ static bool spell_escape(byte spell) } /*! - * @brief IDÃͤ¬Ë¸³²ÌÜŪ¤ËŬ¤·¤¿¥â¥ó¥¹¥¿¡¼ËâË¡ID¤«¤É¤¦¤«¤òÊÖ¤¹ / + * @brief ID’l‚ª–WŠQ–Ú“I‚É“K‚µ‚½ƒ‚ƒ“ƒXƒ^[–‚–@ID‚©‚Ç‚¤‚©‚ð•Ô‚· / * Return TRUE if a spell is good for annoying the player. - * @param spell ȽÄêÂоݤÎID - * @return Ŭ¤·¤¿ËâË¡¤ÎID¤Ê¤é¤ÐTRUE¤òÊÖ¤¹¡£ + * @param spell ”»’è‘ΏۂÌID + * @return “K‚µ‚½–‚–@‚ÌID‚È‚ç‚ÎTRUE‚ð•Ô‚·B */ static bool spell_annoy(byte spell) { @@ -767,10 +767,10 @@ static bool spell_annoy(byte spell) } /*! - * @brief IDÃͤ¬¾¤´­·¿¤Î¥â¥ó¥¹¥¿¡¼ËâË¡ID¤«¤É¤¦¤«¤òÊÖ¤¹ / + * @brief ID’l‚ª¢Š«Œ^‚̃‚ƒ“ƒXƒ^[–‚–@ID‚©‚Ç‚¤‚©‚ð•Ô‚· / * Return TRUE if a spell is good for annoying the player. - * @param spell ȽÄêÂоݤÎID - * @return ¾¤´­·¿ËâË¡¤ÎID¤Ê¤é¤ÐTRUE¤òÊÖ¤¹¡£ + * @param spell ”»’è‘ΏۂÌID + * @return ¢Š«Œ^–‚–@‚ÌID‚È‚ç‚ÎTRUE‚ð•Ô‚·B */ static bool spell_summon(byte spell) { @@ -783,10 +783,10 @@ static bool spell_summon(byte spell) /*! - * @brief IDÃͤ¬»à¼ÔÉü³è½èÍý¤«¤É¤¦¤«¤òÊÖ¤¹ / + * @brief ID’l‚ªŽ€ŽÒ•œŠˆˆ—‚©‚Ç‚¤‚©‚ð•Ô‚· / * Return TRUE if a spell is good for annoying the player. - * @param spell ȽÄêÂоݤÎID - * @return »à¼ÔÉü³è¤Î½èÍý¤Ê¤é¤ÐTRUE¤òÊÖ¤¹¡£ + * @param spell ”»’è‘ΏۂÌID + * @return Ž€ŽÒ•œŠˆ‚̏ˆ—‚È‚ç‚ÎTRUE‚ð•Ô‚·B */ static bool spell_raise(byte spell) { @@ -798,10 +798,10 @@ static bool spell_raise(byte spell) } /*! - * @brief IDÃͤ¬Àï½ÑŪ¤Ê¥â¥ó¥¹¥¿¡¼ËâË¡ID¤«¤É¤¦¤«¤òÊÖ¤¹ / + * @brief ID’l‚ªíp“I‚ȃ‚ƒ“ƒXƒ^[–‚–@ID‚©‚Ç‚¤‚©‚ð•Ô‚· / * Return TRUE if a spell is good in a tactical situation. - * @param spell ȽÄêÂоݤÎID - * @return Àï½ÑŪ¤ÊËâË¡¤ÎID¤Ê¤é¤ÐTRUE¤òÊÖ¤¹¡£ + * @param spell ”»’è‘ΏۂÌID + * @return íp“I‚È–‚–@‚ÌID‚È‚ç‚ÎTRUE‚ð•Ô‚·B */ static bool spell_tactic(byte spell) { @@ -813,10 +813,10 @@ static bool spell_tactic(byte spell) } /*! - * @brief IDÃͤ¬ÌµÅ¨²½¤¹¤ë¥â¥ó¥¹¥¿¡¼ËâË¡ID¤«¤É¤¦¤«¤òÊÖ¤¹ / + * @brief ID’l‚ª–³“G‰»‚·‚郂ƒ“ƒXƒ^[–‚–@ID‚©‚Ç‚¤‚©‚ð•Ô‚· / * Return TRUE if a spell makes invulnerable. - * @param spell ȽÄêÂоݤÎID - * @return ¾¤´­·¿ËâË¡¤ÎID¤Ê¤é¤ÐTRUE¤òÊÖ¤¹¡£ + * @param spell ”»’è‘ΏۂÌID + * @return ¢Š«Œ^–‚–@‚ÌID‚È‚ç‚ÎTRUE‚ð•Ô‚·B */ static bool spell_invulner(byte spell) { @@ -828,10 +828,10 @@ static bool spell_invulner(byte spell) } /*! - * @brief IDÃͤ¬²Ã®¤¹¤ë¥â¥ó¥¹¥¿¡¼ËâË¡ID¤«¤É¤¦¤«¤òÊÖ¤¹ / + * @brief ID’l‚ª‰Á‘¬‚·‚郂ƒ“ƒXƒ^[–‚–@ID‚©‚Ç‚¤‚©‚ð•Ô‚· / * Return TRUE if a spell hastes. - * @param spell ȽÄêÂоݤÎID - * @return ¾¤´­·¿ËâË¡¤ÎID¤Ê¤é¤ÐTRUE¤òÊÖ¤¹¡£ + * @param spell ”»’è‘ΏۂÌID + * @return ¢Š«Œ^–‚–@‚ÌID‚È‚ç‚ÎTRUE‚ð•Ô‚·B */ static bool spell_haste(byte spell) { @@ -844,10 +844,10 @@ static bool spell_haste(byte spell) /*! - * @brief IDÃͤ¬»þ´ÖÄä»ß¤ò¹Ô¤¦¥â¥ó¥¹¥¿¡¼ËâË¡ID¤«¤É¤¦¤«¤òÊÖ¤¹ / + * @brief ID’l‚ªŽžŠÔ’âŽ~‚ðs‚¤ƒ‚ƒ“ƒXƒ^[–‚–@ID‚©‚Ç‚¤‚©‚ð•Ô‚· / * Return TRUE if a spell world. - * @param spell ȽÄêÂоݤÎID - * @return »þ´ÖÄä»ßËâË¡¤ÎID¤Ê¤é¤ÐTRUE¤òÊÖ¤¹¡£ + * @param spell ”»’è‘ΏۂÌID + * @return ŽžŠÔ’âŽ~–‚–@‚ÌID‚È‚ç‚ÎTRUE‚ð•Ô‚·B */ static bool spell_world(byte spell) { @@ -857,10 +857,10 @@ static bool spell_world(byte spell) /*! - * @brief IDÃͤ¬ÆÃÊ̸ú²Ì¤Î¥â¥ó¥¹¥¿¡¼ËâË¡ID¤«¤É¤¦¤«¤òÊÖ¤¹ / + * @brief ID’l‚ª“Á•ÊŒø‰Ê‚̃‚ƒ“ƒXƒ^[–‚–@ID‚©‚Ç‚¤‚©‚ð•Ô‚· / * Return TRUE if a spell special. - * @param spell ȽÄêÂоݤÎID - * @return ÆÃÊ̸ú²ÌËâË¡¤ÎID¤Ê¤é¤ÐTRUE¤òÊÖ¤¹¡£ + * @param spell ”»’è‘ΏۂÌID + * @return “Á•ÊŒø‰Ê–‚–@‚ÌID‚È‚ç‚ÎTRUE‚ð•Ô‚·B */ static bool spell_special(byte spell) { @@ -871,10 +871,10 @@ static bool spell_special(byte spell) /*! - * @brief IDÃͤ¬¸÷¤Î·õ¤Î¥â¥ó¥¹¥¿¡¼ËâË¡ID¤«¤É¤¦¤«¤òÊÖ¤¹ / + * @brief ID’l‚ªŒõ‚ÌŒ•‚̃‚ƒ“ƒXƒ^[–‚–@ID‚©‚Ç‚¤‚©‚ð•Ô‚· / * Return TRUE if a spell psycho-spear. - * @param spell ȽÄêÂоݤÎID - * @return ¸÷¤Î·õ¤ÎID¤Ê¤é¤ÐTRUE¤òÊÖ¤¹¡£ + * @param spell ”»’è‘ΏۂÌID + * @return Œõ‚ÌŒ•‚ÌID‚È‚ç‚ÎTRUE‚ð•Ô‚·B */ static bool spell_psy_spe(byte spell) { @@ -887,10 +887,10 @@ static bool spell_psy_spe(byte spell) /*! - * @brief IDÃͤ¬¼£ÌþËâË¡¤«¤É¤¦¤«¤òÊÖ¤¹ / + * @brief ID’l‚ªŽ¡–ü–‚–@‚©‚Ç‚¤‚©‚ð•Ô‚· / * Return TRUE if a spell is good for healing. - * @param spell ȽÄêÂоݤÎID - * @return ¼£ÌþËâË¡¤ÎID¤Ê¤é¤ÐTRUE¤òÊÖ¤¹¡£ + * @param spell ”»’è‘ΏۂÌID + * @return Ž¡–ü–‚–@‚ÌID‚È‚ç‚ÎTRUE‚ð•Ô‚·B */ static bool spell_heal(byte spell) { @@ -903,10 +903,10 @@ static bool spell_heal(byte spell) /*! - * @brief IDÃͤ¬ËâÎϾõ¤É¤¦¤«¤òÊÖ¤¹ / + * @brief ID’l‚ª–‚—͏Á‹Ž‚©‚Ç‚¤‚©‚ð•Ô‚· / * Return TRUE if a spell is good for dispel. - * @param spell ȽÄêÂоݤÎID - * @return ËâÎϾõî¤ÎID¤Ê¤é¤ÐTRUE¤òÊÖ¤¹¡£ + * @param spell ”»’è‘ΏۂÌID + * @return –‚—͏Á‹Ž‚ÌID‚È‚ç‚ÎTRUE‚ð•Ô‚·B */ static bool spell_dispel(byte spell) { @@ -919,10 +919,10 @@ static bool spell_dispel(byte spell) /*! - * @brief ¥â¥ó¥¹¥¿¡¼¤¬¥×¥ì¥¤¥ä¡¼¤ËËâÎϾõî¤òÍ¿¤¨¤ë¤Ù¤­¤«¤òȽÄꤹ¤ë¥ë¡¼¥Á¥ó + * @brief ƒ‚ƒ“ƒXƒ^[‚ªƒvƒŒƒCƒ„[‚É–‚—͏Á‹Ž‚ð—^‚¦‚é‚ׂ«‚©‚ð”»’è‚·‚郋[ƒ`ƒ“ * Check should monster cast dispel spell. - * @param m_idx ¥â¥ó¥¹¥¿¡¼¤Î¹½Â¤ÂÎÇÛÎóID - * @return ËâÎϾõî¤ò¤«¤±¤ë¤Ù¤­¤Ê¤éTRUE¤òÊÖ¤¹¡£ + * @param m_idx ƒ‚ƒ“ƒXƒ^[‚̍\‘¢‘Ì”z—ñID + * @return –‚—͏Á‹Ž‚ð‚©‚¯‚é‚ׂ«‚È‚çTRUE‚ð•Ô‚·B */ bool dispel_check(int m_idx) { @@ -1023,12 +1023,12 @@ bool dispel_check(int m_idx) /*! - * @brief ¥â¥ó¥¹¥¿¡¼¤ÎËâË¡ÁªÂò¥ë¡¼¥Á¥ó + * @brief ƒ‚ƒ“ƒXƒ^[‚Ì–‚–@‘I‘ðƒ‹[ƒ`ƒ“ * Have a monster choose a spell from a list of "useful" spells. - * @param m_idx ¥â¥ó¥¹¥¿¡¼¤Î¹½Â¤ÂÎÇÛÎóID - * @param spells ¸õÊäËâË¡ID¤ò¤Þ¤È¤á¤¿ÇÛÎó - * @param num spells¤ÎŤµ - * @return ÁªÂò¤·¤¿¥â¥ó¥¹¥¿¡¼ËâË¡¤ÎID + * @param m_idx ƒ‚ƒ“ƒXƒ^[‚̍\‘¢‘Ì”z—ñID + * @param spells Œó•â–‚–@ID‚ð‚Ü‚Æ‚ß‚½”z—ñ + * @param num spells‚Ì’·‚³ + * @return ‘I‘ð‚µ‚½ƒ‚ƒ“ƒXƒ^[–‚–@‚ÌID * @details * Note that this list does NOT include spells that will just hit\n * other monsters, and the list is restricted when the monster is\n @@ -1265,10 +1265,10 @@ static int choose_attack_spell(int m_idx, byte spells[], byte num) /*! - * @brief IDÃͤ¬ÈóËâ½ÑŪ¤ÊÆü쵻ǽ¤«¤É¤¦¤«¤òÊÖ¤¹ / + * @brief ID’l‚ª”ñ–‚p“I‚È“ÁŽê‹Z”\‚©‚Ç‚¤‚©‚ð•Ô‚· / * Return TRUE if a spell is inate spell. - * @param spell ȽÄêÂоݤÎID - * @return ÈóËâ½ÑŪ¤ÊÆü쵻ǽ¤Ê¤é¤ÐTRUE¤òÊÖ¤¹¡£ + * @param spell ”»’è‘ΏۂÌID + * @return ”ñ–‚p“I‚È“ÁŽê‹Z”\‚È‚ç‚ÎTRUE‚ð•Ô‚·B */ bool spell_is_inate(u16b spell) { @@ -1291,13 +1291,13 @@ bool spell_is_inate(u16b spell) /*! - * @brief ¥â¥ó¥¹¥¿¡¼¤¬¥×¥ì¥¤¥ä¡¼¤Ë¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¤¿¤á¤ÎºÇŬ¤ÊºÂɸ¤ò»»½Ð¤¹¤ë / - * @param m_ptr µ»Ç½¤ò»ÈÍѤ¹¤ë¥â¥ó¥¹¥¿¡¼¹½Â¤ÂΤλ²¾È¥Ý¥¤¥ó¥¿ - * @param yp ºÇŬ¤ÊÌÜɸÃÏÅÀ¤ÎYºÂɸ¤òÊÖ¤¹»²¾È¥Ý¥¤¥ó¥¿ - * @param xp ºÇŬ¤ÊÌÜɸÃÏÅÀ¤ÎXºÂɸ¤òÊÖ¤¹»²¾È¥Ý¥¤¥ó¥¿ - * @param f_flag ¼ÍÀþ¤ËÆþ¤ì¤ë¤Î¤òÈò¤±¤ëÃÏ·Á¤Î½ê»ý¥Õ¥é¥° - * @param path_check ¼ÍÀþ¤òȽÄꤹ¤ë¤¿¤á¤Î´Ø¿ô¥Ý¥¤¥ó¥¿ - * @return Í­¸ú¤ÊºÂɸ¤¬¤¢¤Ã¤¿¾ì¹çTRUE¤òÊÖ¤¹ + * @brief ƒ‚ƒ“ƒXƒ^[‚ªƒvƒŒƒCƒ„[‚Ƀ_ƒ[ƒW‚ð—^‚¦‚邽‚߂̍œK‚ȍÀ•W‚ðŽZo‚·‚é / + * @param m_ptr ‹Z”\‚ðŽg—p‚·‚郂ƒ“ƒXƒ^[\‘¢‘Ì‚ÌŽQÆƒ|ƒCƒ“ƒ^ + * @param yp Å“K‚È–Ú•W’n“_‚ÌYÀ•W‚ð•Ô‚·ŽQÆƒ|ƒCƒ“ƒ^ + * @param xp Å“K‚È–Ú•W’n“_‚ÌXÀ•W‚ð•Ô‚·ŽQÆƒ|ƒCƒ“ƒ^ + * @param f_flag ŽËü‚É“ü‚ê‚é‚Ì‚ð”ð‚¯‚é’nŒ`‚̏ŠŽƒtƒ‰ƒO + * @param path_check ŽËü‚ð”»’è‚·‚邽‚߂̊֐”ƒ|ƒCƒ“ƒ^ + * @return —LŒø‚ȍÀ•W‚ª‚ ‚Á‚½ê‡TRUE‚ð•Ô‚· */ static bool adjacent_grid_check(monster_type *m_ptr, int *yp, int *xp, int f_flag, bool (*path_check)(int, int, int, int)) @@ -1347,10 +1347,10 @@ static bool adjacent_grid_check(monster_type *m_ptr, int *yp, int *xp, #define DO_SPELL_BA_LITE 3 /*! - * @brief ¥â¥ó¥¹¥¿¡¼¤ÎÆü쵻ǽ¥á¥¤¥ó¥ë¡¼¥Á¥ó / + * @brief ƒ‚ƒ“ƒXƒ^[‚Ì“ÁŽê‹Z”\ƒƒCƒ“ƒ‹[ƒ`ƒ“ / * Creatures can cast spells, shoot missiles, and breathe. - * @param m_idx ¥â¥ó¥¹¥¿¡¼¹½Â¤ÂÎÇÛÎó¤ÎID - * @return ¼ÂºÝ¤ËÆü쵻ǽ¤òÍøÍѤ·¤¿¤éTRUE¤òÊÖ¤¹ + * @param m_idx ƒ‚ƒ“ƒXƒ^[\‘¢‘Ì”z—ñ‚ÌID + * @return ŽÀÛ‚É“ÁŽê‹Z”\‚ð—˜—p‚µ‚½‚çTRUE‚ð•Ô‚· * @details * Returns "TRUE" if a spell (or whatever) was (successfully) cast.\n *\n @@ -1781,7 +1781,7 @@ bool make_attack_spell(int m_idx) { disturb(1, 1); /* Message */ - msg_format(_("%^s¤Ï¼öʸ¤ò¾§¤¨¤è¤¦¤È¤·¤¿¤¬¼ºÇÔ¤·¤¿¡£", "%^s tries to cast a spell, but fails."), m_name); + msg_format(_("%^s‚ÍŽô•¶‚ð¥‚¦‚悤‚Æ‚µ‚½‚ªŽ¸”s‚µ‚½B", "%^s tries to cast a spell, but fails."), m_name); return (TRUE); } @@ -1789,7 +1789,7 @@ bool make_attack_spell(int m_idx) /* Hex: Anti Magic Barrier */ if (!spell_is_inate(thrown_spell) && magic_barrier(m_idx)) { - msg_format(_("È¿ËâË¡¥Ð¥ê¥¢¤¬%^s¤Î¼öʸ¤ò¤«¤­¾Ã¤·¤¿¡£", "Anti magic barrier cancels the spell which %^s casts."), m_name); + msg_format(_("”½–‚–@ƒoƒŠƒA‚ª%^s‚ÌŽô•¶‚ð‚©‚«Á‚µ‚½B", "Anti magic barrier cancels the spell which %^s casts."), m_name); return (TRUE); } @@ -1821,6 +1821,18 @@ bool make_attack_spell(int m_idx) case 128 + 24: /* RF5_BO_PLAS */ case 128 + 25: /* RF5_BO_ICEE */ case 128 + 26: /* RF5_MISSILE */ + case 128 + 27: /* RF5_SCARE */ + case 128 + 28: /* RF5_BLIND */ + case 128 + 29: /* RF5_CONF */ + case 128 + 30: /* RF5_SLOW */ + case 128 + 31: /* RF5_HOLD */ + case 160 + 1: /* RF6_HAND_DOOM */ + case 160 + 8: /* RF6_TELE_TO */ + case 160 + 9: /* RF6_TELE_AWAY */ + case 160 + 10: /* RF6_TELE_LEVEL */ + case 160 + 11: /* RF6_PSY_SPEAR */ + case 160 + 12: /* RF6_DARKNESS */ + case 160 + 14: /* RF6_FORGET */ return (FALSE); } } @@ -1831,1147 +1843,105 @@ bool make_attack_spell(int m_idx) 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 + 3: dam = spell_RF4_ROCKET(blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_ROCKET */ + case 96 + 4: dam = 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 */ - case 96 + 28: spell_RF4_BA_NUKE(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF4_BA_NUKE */ - case 96 + 29: spell_RF4_BREATH(GF_NUKE, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_NUKE */ - case 96 + 30: spell_RF4_BA_CHAO(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF4_BA_CHAO */ - case 96 + 31: spell_RF4_BREATH(GF_DISINTEGRATE, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_DISI */ - case 128 + 0: spell_RF5_BA_ACID(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BA_ACID */ - case 128 + 1: spell_RF5_BA_ELEC(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BA_ELEC */ - case 128 + 2: spell_RF5_BA_FIRE(m_ptr, blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BA_FIRE */ - case 128 + 3: spell_RF5_BA_COLD(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BA_COLD */ - case 128 + 4: spell_RF5_BA_POIS(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BA_POIS */ - case 128 + 5: spell_RF5_BA_NETH(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BA_NETH */ - case 128 + 6: spell_RF5_BA_WATE(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BA_WATE */ - case 128 + 7: spell_RF5_BA_MANA(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BA_MANA */ - case 128 + 8: spell_RF5_BA_DARK(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BA_DARK */ - case 128 + 9: spell_RF5_DRAIN_MANA(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_DRAIN_MANA */ - case 128 + 10: spell_RF5_MIND_BLAST(seen, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_MIND_BLAST */ - case 128 + 11: spell_RF5_BRAIN_SMASH(seen, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_MIND_BLAST */ - case 128 + 12: spell_RF5_CAUSE_1(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_CAUSE_1 */ - case 128 + 13: spell_RF5_CAUSE_2(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_CAUSE_2 */ - case 128 + 14: spell_RF5_CAUSE_3(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_CAUSE_3 */ - case 128 + 15: spell_RF5_CAUSE_4(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_CAUSE_4 */ - case 128 + 16: spell_RF5_BO_ACID(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BO_ACID */ - case 128 + 17: spell_RF5_BO_ELEC(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BO_ELEC */ - case 128 + 18: spell_RF5_BO_FIRE(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BO_FIRE */ - case 128 + 19: spell_RF5_BO_COLD(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BO_COLD */ - case 128 + 20: spell_RF5_BA_LITE(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BA_LITE */ - case 128 + 21: spell_RF5_BO_NETH(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BO_NETH */ - case 128 + 22: spell_RF5_BO_WATE(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BO_WATE */ - case 128 + 23: spell_RF5_BO_MANA(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BO_MANA */ - case 128 + 24: spell_RF5_BO_PLAS(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BO_PLAS */ - case 128 + 25: spell_RF5_BO_ICEE(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BO_ICEE */ - case 128 + 26: spell_RF5_MISSILE(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_MISSILE */ - - /* RF5_SCARE */ - case 128+27: - { - if (!direct) return (FALSE); - disturb(1, 1); + case 96 + 8: dam = spell_RF4_BREATH(GF_ACID, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_ACID */ + case 96 + 9: dam = spell_RF4_BREATH(GF_ELEC, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_ELEC */ + case 96 + 10: dam = spell_RF4_BREATH(GF_FIRE, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_FIRE */ + case 96 + 11: dam = spell_RF4_BREATH(GF_COLD, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_COLD */ + case 96 + 12: dam = spell_RF4_BREATH(GF_POIS, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_POIS */ + case 96 + 13: dam = spell_RF4_BREATH(GF_NETHER, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_NETH */ + case 96 + 14: dam = 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: dam = spell_RF4_BREATH(GF_DARK, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_DARK */ + case 96 + 16: dam = spell_RF4_BREATH(GF_CONFUSION, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_CONF */ + case 96 + 17: dam = spell_RF4_BREATH(GF_SOUND, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_SOUN */ + case 96 + 18: dam = spell_RF4_BREATH(GF_CHAOS, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_CHAO */ + case 96 + 19: dam = spell_RF4_BREATH(GF_DISENCHANT, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_DISE */ + case 96 + 20: dam = spell_RF4_BREATH(GF_NEXUS, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_NEXU */ + case 96 + 21: dam = spell_RF4_BREATH(GF_TIME, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_TIME */ + case 96 + 22: dam = spell_RF4_BREATH(GF_INERTIA, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_INER */ + case 96 + 23: dam = spell_RF4_BREATH(GF_GRAVITY, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_GRAV */ + case 96 + 24: dam = spell_RF4_BREATH(GF_SHARDS, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_SHAR */ + case 96 + 25: dam = spell_RF4_BREATH(GF_PLASMA, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_PLAS */ + case 96 + 26: dam = spell_RF4_BREATH(GF_FORCE, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_WALL */ + case 96 + 27: dam = spell_RF4_BREATH(GF_MANA, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_MANA */ + case 96 + 28: dam = spell_RF4_BA_NUKE(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF4_BA_NUKE */ + case 96 + 29: dam = spell_RF4_BREATH(GF_NUKE, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_NUKE */ + case 96 + 30: dam = spell_RF4_BA_CHAO(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF4_BA_CHAO */ + case 96 + 31: dam = spell_RF4_BREATH(GF_DISINTEGRATE, blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF4_BR_DISI */ + case 128 + 0: dam = spell_RF5_BA_ACID(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BA_ACID */ + case 128 + 1: dam = spell_RF5_BA_ELEC(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BA_ELEC */ + case 128 + 2: dam = spell_RF5_BA_FIRE(m_ptr, blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BA_FIRE */ + case 128 + 3: dam = spell_RF5_BA_COLD(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BA_COLD */ + case 128 + 4: dam = spell_RF5_BA_POIS(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BA_POIS */ + case 128 + 5: dam = spell_RF5_BA_NETH(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BA_NETH */ + case 128 + 6: dam = spell_RF5_BA_WATE(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BA_WATE */ + case 128 + 7: dam = spell_RF5_BA_MANA(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BA_MANA */ + case 128 + 8: dam = spell_RF5_BA_DARK(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BA_DARK */ + case 128 + 9: dam = spell_RF5_DRAIN_MANA(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_DRAIN_MANA */ + case 128 + 10: dam = spell_RF5_MIND_BLAST(seen, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_MIND_BLAST */ + case 128 + 11: dam = spell_RF5_BRAIN_SMASH(seen, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_MIND_BLAST */ + case 128 + 12: dam = spell_RF5_CAUSE_1(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_CAUSE_1 */ + case 128 + 13: dam = spell_RF5_CAUSE_2(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_CAUSE_2 */ + case 128 + 14: dam = spell_RF5_CAUSE_3(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_CAUSE_3 */ + case 128 + 15: dam = spell_RF5_CAUSE_4(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_CAUSE_4 */ + case 128 + 16: dam = spell_RF5_BO_ACID(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BO_ACID */ + case 128 + 17: dam = spell_RF5_BO_ELEC(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BO_ELEC */ + case 128 + 18: dam = spell_RF5_BO_FIRE(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BO_FIRE */ + case 128 + 19: dam = spell_RF5_BO_COLD(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BO_COLD */ + case 128 + 20: dam = spell_RF5_BA_LITE(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BA_LITE */ + case 128 + 21: dam = spell_RF5_BO_NETH(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BO_NETH */ + case 128 + 22: dam = spell_RF5_BO_WATE(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BO_WATE */ + case 128 + 23: dam = spell_RF5_BO_MANA(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BO_MANA */ + case 128 + 24: dam = spell_RF5_BO_PLAS(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BO_PLAS */ + case 128 + 25: dam = spell_RF5_BO_ICEE(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_BO_ICEE */ + case 128 + 26: dam = spell_RF5_MISSILE(blind, m_name, r_ptr, rlev, y, x, m_idx, learnable); break; /* RF5_MISSILE */ + case 128 + 27: spell_RF5_SCARE(blind, m_name, r_ptr, rlev, y, x, m_idx); break; /* RF5_SCARE */ + case 128 + 28: spell_RF5_BLIND(blind, m_name, r_ptr, rlev, y, x, m_idx); break; /* RF5_BLIND */ + case 128 + 29: spell_RF5_CONF(blind, m_name, r_ptr, rlev, y, x, m_idx); break; /* RF5_CONF */ + case 128 + 30: spell_RF5_SLOW(blind, m_name, r_ptr, rlev, y, x, m_idx); break; /* RF5_SLOW */ + case 128 + 31: spell_RF5_HOLD(blind, m_name, r_ptr, rlev, y, x, m_idx); break; /* RF5_HOLD */ + case 160 + 0: spell_RF6_HASTE(blind, m_name, m_ptr, y, x, m_idx); break; /* RF6_HASTE */ + case 160 + 1: dam = spell_RF6_HAND_DOOM(blind, m_name, m_ptr, y, x, m_idx, learnable); break; /* RF6_HAND_DOOM */ + case 160 + 2: spell_RF6_HEAL(blind, seen, m_name, m_ptr, rlev, m_idx); break; /* RF6_HEAL */ + case 160 + 3: spell_RF6_INVULNER(seen, m_name, m_ptr, m_idx); break; /* RF6_INVULNER */ + case 160 + 4: spell_RF6_BLINK(m_name, m_idx); break; /* RF6_BLINK */ + case 160 + 5: spell_RF6_TPORT(m_name, m_idx); break; /* RF6_TPORT */ + case 160 + 6: dam = spell_RF6_WORLD(m_name, m_ptr, m_idx); break; /* RF6_WORLD */ - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¯¤È¡¢¶²¤í¤·¤²¤Ê²»¤¬Ê¹¤³¤¨¤¿¡£", "%^s mumbles, and you hear scary noises."), m_name); - else - msg_format(_("%^s¤¬¶²¤í¤·¤²¤Ê¸¸³Ð¤òºî¤ê½Ð¤·¤¿¡£", "%^s casts a fearful illusion."), m_name); - - if (p_ptr->resist_fear) - { - msg_print(_("¤·¤«¤·¶²Éݤ˿¯¤µ¤ì¤Ê¤«¤Ã¤¿¡£", "You refuse to be frightened.")); - } - else if (randint0(100 + rlev/2) < p_ptr->skill_sav) - { - msg_print(_("¤·¤«¤·¶²Éݤ˿¯¤µ¤ì¤Ê¤«¤Ã¤¿¡£", "You refuse to be frightened.")); - } - else - { - (void)set_afraid(p_ptr->afraid + randint0(4) + 4); - } - learn_spell(MS_SCARE); - update_smart_learn(m_idx, DRS_FEAR); - break; - } - - /* RF5_BLIND */ - case 128+28: - { - if (!direct) return (FALSE); - disturb(1, 1); - - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else - msg_format(_("%^s¤¬¼öʸ¤ò¾§¤¨¤Æ¤¢¤Ê¤¿¤ÎÌܤò¤¯¤é¤Þ¤·¤¿¡ª", - "%^s casts a spell, burning your eyes!"), m_name); - - if (p_ptr->resist_blind) - { - msg_print(_("¤·¤«¤·¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª", "You are unaffected!")); - } - else if (randint0(100 + rlev/2) < p_ptr->skill_sav) - { - msg_print(_("¤·¤«¤·¸úÎϤòÄ·¤ÍÊÖ¤·¤¿¡ª", "You resist the effects!")); - } - else - { - (void)set_blind(12 + randint0(4)); - } - learn_spell(MS_BLIND); - update_smart_learn(m_idx, DRS_BLIND); - break; - } - - /* RF5_CONF */ - case 128+29: - { - if (!direct) return (FALSE); - disturb(1, 1); - - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¯¤È¡¢Æ¬¤òǺ¤Þ¤¹²»¤¬¤·¤¿¡£", - "%^s mumbles, and you hear puzzling noises."), m_name); - else - msg_format(_("%^s¤¬Í¶ÏÇŪ¤Ê¸¸³Ð¤òºî¤ê½Ð¤·¤¿¡£", - "%^s creates a mesmerising illusion."), m_name); - - if (p_ptr->resist_conf) - { - msg_print(_("¤·¤«¤·¸¸³Ð¤Ë¤Ï¤À¤Þ¤µ¤ì¤Ê¤«¤Ã¤¿¡£", "You disbelieve the feeble spell.")); - } - else if (randint0(100 + rlev/2) < p_ptr->skill_sav) - { - msg_print(_("¤·¤«¤·¸¸³Ð¤Ë¤Ï¤À¤Þ¤µ¤ì¤Ê¤«¤Ã¤¿¡£", "You disbelieve the feeble spell.")); - } - else - { - (void)set_confused(p_ptr->confused + randint0(4) + 4); - } - learn_spell(MS_CONF); - update_smart_learn(m_idx, DRS_CONF); - break; - } - - /* RF5_SLOW */ - case 128+30: - { - if (!direct) return (FALSE); - disturb(1, 1); - - msg_format(_("%^s¤¬¤¢¤Ê¤¿¤Î¶ÚÎϤòµÛ¤¤¼è¤í¤¦¤È¤·¤¿¡ª", - "%^s drains power from your muscles!"), m_name); - - if (p_ptr->free_act) - { - msg_print(_("¤·¤«¤·¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª", "You are unaffected!")); - } - else if (randint0(100 + rlev/2) < p_ptr->skill_sav) - { - msg_print(_("¤·¤«¤·¸úÎϤòÄ·¤ÍÊÖ¤·¤¿¡ª", "You resist the effects!")); - } - else - { - (void)set_slow(p_ptr->slow + randint0(4) + 4, FALSE); - } - learn_spell(MS_SLOW); - update_smart_learn(m_idx, DRS_FREE); - break; - } - - /* RF5_HOLD */ - case 128+31: - { - if (!direct) return (FALSE); - disturb(1, 1); - - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else - msg_format(_("%^s¤¬¤¢¤Ê¤¿¤ÎÌܤò¤¸¤Ã¤È¸«¤Ä¤á¤¿¡ª", "%^s stares deep into your eyes!"), m_name); - - if (p_ptr->free_act) - { - msg_print(_("¤·¤«¤·¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª", "You are unaffected!")); - } - else if (randint0(100 + rlev/2) < p_ptr->skill_sav) - { - msg_format(_("¤·¤«¤·¸úÎϤòÄ·¤ÍÊÖ¤·¤¿¡ª", "You resist the effects!")); - } - else - { - (void)set_paralyzed(p_ptr->paralyzed + randint0(4) + 4); - } - learn_spell(MS_SLEEP); - update_smart_learn(m_idx, DRS_FREE); - break; - } - - /* RF6_HASTE */ - case 160+0: - { - disturb(1, 1); - if (blind) - { - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - } - else - { - msg_format(_("%^s¤¬¼«Ê¬¤ÎÂΤËÇ°¤òÁ÷¤Ã¤¿¡£", "%^s concentrates on %s body."), m_name); - } - - /* Allow quick speed increases to base+10 */ - if (set_monster_fast(m_idx, MON_FAST(m_ptr) + 100)) - { - msg_format(_("%^s¤ÎÆ°¤­¤¬Â®¤¯¤Ê¤Ã¤¿¡£", "%^s starts moving faster."), m_name); - } - break; - } - - /* RF6_HAND_DOOM */ - case 160+1: - { - if (!direct) return (FALSE); - disturb(1, 1); - msg_format(_("%^s¤¬<ÇËÌǤμê>¤òÊü¤Ã¤¿¡ª", "%^s invokes the Hand of Doom!"), m_name); - dam = (((s32b) ((40 + randint1(20)) * (p_ptr->chp))) / 100); - breath(y, x, m_idx, GF_HAND_DOOM, dam, 0, FALSE, MS_HAND_DOOM, learnable); - break; - } - - /* RF6_HEAL */ - case 160+2: - { - disturb(1, 1); - - /* Message */ - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else - msg_format(_("%^s¤¬¼«Ê¬¤Î½ý¤Ë½¸Ã椷¤¿¡£", "%^s concentrates on %s wounds."), m_name); - - /* Heal some */ - m_ptr->hp += (rlev * 6); - - /* Fully healed */ - if (m_ptr->hp >= m_ptr->maxhp) - { - /* Fully healed */ - m_ptr->hp = m_ptr->maxhp; - - /* Message */ - if (seen) - msg_format(_("%^s¤Ï´°Á´¤Ë¼£¤Ã¤¿¡ª", "%^s looks completely healed!"), m_name); - else - msg_format(_("%^s¤Ï´°Á´¤Ë¼£¤Ã¤¿¤è¤¦¤À¡ª", "%^s sounds completely healed!"), m_name); - } - - /* Partially healed */ - else - { - /* Message */ - if (seen) - msg_format(_("%^s¤ÏÂÎÎϤò²óÉü¤·¤¿¤è¤¦¤À¡£", "%^s looks healthier."), m_name); - else - msg_format(_("%^s¤ÏÂÎÎϤò²óÉü¤·¤¿¤è¤¦¤À¡£", "%^s sounds healthier."), m_name); - } - - /* Redraw (later) if needed */ - if (p_ptr->health_who == m_idx) p_ptr->redraw |= (PR_HEALTH); - if (p_ptr->riding == m_idx) p_ptr->redraw |= (PR_UHEALTH); - - /* Cancel fear */ - if (MON_MONFEAR(m_ptr)) - { - /* Cancel fear */ - (void)set_monster_monfear(m_idx, 0); - - /* Message */ - msg_format(_("%^s¤Ïͦµ¤¤ò¼è¤êÌᤷ¤¿¡£", "%^s recovers %s courage."), m_name); - } - break; - } - - /* RF6_INVULNER */ - case 160+3: - { - disturb(1, 1); - - /* Message */ - if (!seen) - msg_format(_("%^s¤¬²¿¤«¤òÎ϶¯¤¯¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles powerfully."), m_name); - else - msg_format(_("%s¤Ï̵½ý¤Îµå¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a Globe of Invulnerability."), m_name); - - if (!MON_INVULNER(m_ptr)) (void)set_monster_invulner(m_idx, randint1(4) + 4, FALSE); - break; - } - - /* RF6_BLINK */ - case 160+4: - { - disturb(1, 1); - if (teleport_barrier(m_idx)) - { - msg_format(_("ËâË¡¤Î¥Ð¥ê¥¢¤¬%^s¤Î¥Æ¥ì¥Ý¡¼¥È¤ò¼ÙË⤷¤¿¡£", - "Magic barrier obstructs teleporting of %^s."), m_name); - } - else - { - msg_format(_("%^s¤¬½Ö»þ¤Ë¾Ã¤¨¤¿¡£", "%^s blinks away."), m_name); - teleport_away(m_idx, 10, 0L); - p_ptr->update |= (PU_MONSTERS); - } - break; - } - - /* RF6_TPORT */ - case 160+5: - { - disturb(1, 1); - if (teleport_barrier(m_idx)) - { - msg_format(_("ËâË¡¤Î¥Ð¥ê¥¢¤¬%^s¤Î¥Æ¥ì¥Ý¡¼¥È¤ò¼ÙË⤷¤¿¡£", - "Magic barrier obstructs teleporting of %^s."), m_name); - } - else - { - msg_format(_("%^s¤¬¥Æ¥ì¥Ý¡¼¥È¤·¤¿¡£", "%^s teleports away."), m_name); - teleport_away_followable(m_idx); - } - break; - } - - /* RF6_WORLD */ - case 160+6: - { - int who = 0; - disturb(1, 1); - if(m_ptr->r_idx == MON_DIO) who = 1; - else if(m_ptr->r_idx == MON_WONG) who = 3; - dam = who; - if (!process_the_world(randint1(2)+2, who, TRUE)) return (FALSE); - break; - } - - /* RF6_SPECIAL */ - case 160+7: - { - int k; - - disturb(1, 1); - switch (m_ptr->r_idx) - { - case MON_OHMU: - /* Moved to process_monster(), like multiplication */ - return FALSE; - - case MON_BANORLUPART: - { - int dummy_hp = (m_ptr->hp + 1) / 2; - int dummy_maxhp = m_ptr->maxhp/2; - int dummy_y = m_ptr->fy; - int dummy_x = m_ptr->fx; - - if (p_ptr->inside_arena || p_ptr->inside_battle || !summon_possible(m_ptr->fy, m_ptr->fx)) return FALSE; - delete_monster_idx(cave[m_ptr->fy][m_ptr->fx].m_idx); - summon_named_creature(0, dummy_y, dummy_x, MON_BANOR, mode); - m_list[hack_m_idx_ii].hp = dummy_hp; - m_list[hack_m_idx_ii].maxhp = dummy_maxhp; - summon_named_creature(0, dummy_y, dummy_x, MON_LUPART, mode); - m_list[hack_m_idx_ii].hp = dummy_hp; - m_list[hack_m_idx_ii].maxhp = dummy_maxhp; - - msg_print(_("¡Ø¥Ð¡¼¥Î¡¼¥ë¡¦¥ë¥Ñ¡¼¥È¡Ù¤¬Ê¬Îö¤·¤¿¡ª", - "Banor=Rupart splits in two person!")); - - break; - } - - case MON_BANOR: - case MON_LUPART: - { - int dummy_hp = 0; - int dummy_maxhp = 0; - int dummy_y = m_ptr->fy; - int dummy_x = m_ptr->fx; - - if (!r_info[MON_BANOR].cur_num || !r_info[MON_LUPART].cur_num) return (FALSE); - for (k = 1; k < m_max; k++) - { - if (m_list[k].r_idx == MON_BANOR || m_list[k].r_idx == MON_LUPART) - { - dummy_hp += m_list[k].hp; - dummy_maxhp += m_list[k].maxhp; - if (m_list[k].r_idx != m_ptr->r_idx) - { - dummy_y = m_list[k].fy; - dummy_x = m_list[k].fx; - } - delete_monster_idx(k); - } - } - summon_named_creature(0, dummy_y, dummy_x, MON_BANORLUPART, mode); - m_list[hack_m_idx_ii].hp = dummy_hp; - m_list[hack_m_idx_ii].maxhp = dummy_maxhp; - - msg_print(_("¡Ø¥Ð¡¼¥Î¡¼¥ë¡Ù¤È¡Ø¥ë¥Ñ¡¼¥È¡Ù¤¬¹çÂΤ·¤¿¡ª", - "Banor and Rupart combine into one!")); - break; - } - - case MON_ROLENTO: - if (blind) - msg_format(_("%^s¤¬²¿¤«ÂçÎ̤ËÅꤲ¤¿¡£", "%^s spreads something."), m_name); - else - msg_format(_("%^s¤Ï¼êÜØÃƤò¤Ð¤é¤Þ¤¤¤¿¡£", "%^s throws some hand grenades."), m_name); - - { - int num = 1 + randint1(3); - - for (k = 0; k < num; k++) - { - count += summon_named_creature(m_idx, y, x, MON_SHURYUUDAN, mode); - } - } - - if (blind && count) - msg_print(_("¿¤¯¤Î¤â¤Î¤¬´Ö¶á¤Ë¤Ð¤é¤Þ¤«¤ì¤ë²»¤¬¤¹¤ë¡£", "You hear many things are scattered nearby.")); - - break; - - default: - if (r_ptr->d_char == 'B') - { - disturb(1, 1); - if (one_in_(3) || !direct) - { - msg_format(_("%^s¤ÏÆÍÁ³»ë³¦¤«¤é¾Ã¤¨¤¿!", "%^s suddenly go out of your sight!"), m_name); - teleport_away(m_idx, 10, TELEPORT_NONMAGICAL); - p_ptr->update |= (PU_MONSTERS); - } - else - { - int get_damage = 0; - bool fear; /* dummy */ - - msg_format(_("%^s¤¬¤¢¤Ê¤¿¤òÄϤó¤Ç¶õÃ椫¤éÅꤲÍî¤È¤·¤¿¡£", - "%^s holds you, and drops from the sky."), m_name); - dam = damroll(4, 8); - teleport_player_to(m_ptr->fy, m_ptr->fx, TELEPORT_NONMAGICAL | TELEPORT_PASSIVE); - - sound(SOUND_FALL); - - if (p_ptr->levitation) - { - msg_print(_("¤¢¤Ê¤¿¤ÏÀŤ«¤ËÃåÃϤ·¤¿¡£", "You float gently down to the ground.")); - } - else - { - msg_print(_("¤¢¤Ê¤¿¤ÏÃÏÌ̤Ë᤭¤Ä¤±¤é¤ì¤¿¡£", "You crashed into the ground.")); - dam += damroll(6, 8); - } - - /* Mega hack -- this special action deals damage to the player. Therefore the code of "eyeeye" is necessary. - -- henkma - */ - get_damage = take_hit(DAMAGE_NOESCAPE, dam, m_name, -1); - if (p_ptr->tim_eyeeye && get_damage > 0 && !p_ptr->is_dead) - { -#ifdef JP - msg_format("¹¶·â¤¬%s¼«¿È¤ò½ý¤Ä¤±¤¿¡ª", m_name); -#else - char m_name_self[80]; - - /* hisself */ - monster_desc(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 - project(0, 0, m_ptr->fy, m_ptr->fx, get_damage, GF_MISSILE, PROJECT_KILL, -1); - set_tim_eyeeye(p_ptr->tim_eyeeye-5, TRUE); - } - - if (p_ptr->riding) mon_take_hit_mon(p_ptr->riding, dam, &fear, extract_note_dies(real_r_ptr(&m_list[p_ptr->riding])), m_idx); - } - break; - } - - /* Something is wrong */ - else return FALSE; - } - break; - } - - /* RF6_TELE_TO */ - case 160+8: - { - if (!direct) return (FALSE); - disturb(1, 1); - msg_format(_("%^s¤¬¤¢¤Ê¤¿¤ò°ú¤­Ìᤷ¤¿¡£", "%^s commands you to return."), m_name); - - teleport_player_to(m_ptr->fy, m_ptr->fx, TELEPORT_PASSIVE); - learn_spell(MS_TELE_TO); - break; - } - - /* RF6_TELE_AWAY */ - case 160+9: - { - if (!direct) return (FALSE); - disturb(1, 1); - - msg_format(_("%^s¤Ë¥Æ¥ì¥Ý¡¼¥È¤µ¤»¤é¤ì¤¿¡£", "%^s teleports you away."), m_name); - if ((p_ptr->pseikaku == SEIKAKU_COMBAT) || (inventory[INVEN_BOW].name1 == ART_CRIMSON)) - msg_print(_("¤¯¤Ã¤½¡Á", "")); - - learn_spell(MS_TELE_AWAY); - teleport_player_away(m_idx, 100); - break; - } - - /* RF6_TELE_LEVEL */ - case 160+10: - { - if (!direct) return (FALSE); - disturb(1, 1); - - if (blind) - msg_format(_("%^s¤¬²¿¤«´ñ̯¤Ê¸ÀÍÕ¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles strangely."), m_name); - else - msg_format(_("%^s¤¬¤¢¤Ê¤¿¤Î­¤ò»Ø¤µ¤·¤¿¡£", "%^s gestures at your feet."), m_name); - - if (p_ptr->resist_nexus) - { - msg_print(_("¤·¤«¤·¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª", "You are unaffected!")); - } - else if (randint0(100 + rlev/2) < p_ptr->skill_sav) - { - msg_print(_("¤·¤«¤·¸úÎϤòÄ·¤ÍÊÖ¤·¤¿¡ª", "You resist the effects!")); - } - else - { - teleport_level(0); - } - learn_spell(MS_TELE_LEVEL); - update_smart_learn(m_idx, DRS_NEXUS); - break; - } - - /* RF6_PSY_SPEAR */ - case 160+11: - { - if (!direct) return (FALSE); - disturb(1, 1); - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else - msg_format(_("%^s¤¬¸÷¤Î·õ¤òÊü¤Ã¤¿¡£", "%^s throw a Psycho-Spear."), m_name); - - dam = (r_ptr->flags2 & RF2_POWERFUL) ? (randint1(rlev * 2) + 150) : (randint1(rlev * 3 / 2) + 100); - beam(m_idx, GF_PSY_SPEAR, dam, MS_PSY_SPEAR, learnable); - break; - } - - /* RF6_DARKNESS */ - case 160+12: - { - if (!direct) return (FALSE); - disturb(1, 1); - - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else if (can_use_lite_area) - msg_format(_("%^s¤¬ÊÕ¤ê¤òÌÀ¤ë¤¯¾È¤é¤·¤¿¡£", "%^s cast a spell to light up."), m_name); - else - msg_format(_("%^s¤¬°Å°Ç¤ÎÃæ¤Ç¼ê¤ò¿¶¤Ã¤¿¡£", "%^s gestures in shadow."), m_name); - - if (can_use_lite_area) (void)lite_area(0, 3); - else - { - learn_spell(MS_DARKNESS); - (void)unlite_area(0, 3); - } - break; - } - - /* RF6_TRAPS */ - case 160+13: - { - disturb(1, 1); - - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤Æ¼Ù°­¤ËÈù¾Ð¤ó¤À¡£", - "%^s mumbles, and then cackles evilly."), m_name); - else - msg_format(_("%^s¤¬¼öʸ¤ò¾§¤¨¤Æ¼Ù°­¤ËÈù¾Ð¤ó¤À¡£", - "%^s casts a spell and cackles evilly."), m_name); - - learn_spell(MS_MAKE_TRAP); - (void)trap_creation(y, x); - break; - } - - /* RF6_FORGET */ - case 160+14: - { - if (!direct) return (FALSE); - disturb(1, 1); - - msg_format(_("%^s¤¬¤¢¤Ê¤¿¤Îµ­²±¤ò¾Ãµî¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¡£", - "%^s tries to blank your mind."), m_name); - - if (randint0(100 + rlev/2) < p_ptr->skill_sav) - { - msg_print(_("¤·¤«¤·¸úÎϤòÄ·¤ÍÊÖ¤·¤¿¡ª", "You resist the effects!")); - } - else if (lose_all_info()) - { - msg_print(_("µ­²±¤¬Çö¤ì¤Æ¤·¤Þ¤Ã¤¿¡£", "Your memories fade away.")); - } - learn_spell(MS_FORGET); - break; - } - - /* RF6_RAISE_DEAD */ - case 160+15: - { - disturb(1, 1); - - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else - msg_format(_("%^s¤¬»à¼ÔÉü³è¤Î¼öʸ¤ò¾§¤¨¤¿¡£", - "%^s casts a spell to revive corpses."), m_name); - - animate_dead(m_idx, m_ptr->fy, m_ptr->fx); - break; - } - - /* RF6_S_KIN */ - case 160+16: - { - disturb(1, 1); - if (m_ptr->r_idx == MON_SERPENT || m_ptr->r_idx == MON_ZOMBI_SERPENT) - { - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else - msg_format(_("%^s¤¬¥À¥ó¥¸¥ç¥ó¤Î¼ç¤ò¾¤´­¤·¤¿¡£", - "%^s magically summons guardians of dungeons."), m_name); - } - else - { - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else -#ifdef JP - msg_format("%^s¤ÏËâË¡¤Ç%s¤ò¾¤´­¤·¤¿¡£", - m_name, - ((r_ptr->flags1) & RF1_UNIQUE ? - "¼ê²¼" : "Ãç´Ö")); -#else - msg_format("%^s magically summons %s %s.", - m_name, m_poss, - ((r_ptr->flags1) & RF1_UNIQUE ? - "minions" : "kin")); -#endif - } - - switch (m_ptr->r_idx) - { - case MON_MENELDOR: - case MON_GWAIHIR: - case MON_THORONDOR: - { - int num = 4 + randint1(3); - for (k = 0; k < num; k++) - { - count += summon_specific(m_idx, y, x, rlev, SUMMON_EAGLES, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE)); - } - } - break; - - case MON_BULLGATES: - { - int num = 2 + randint1(3); - for (k = 0; k < num; k++) - { - count += summon_named_creature(m_idx, y, x, MON_IE, mode); - } - } - break; - - case MON_SERPENT: - case MON_ZOMBI_SERPENT: - { - int num = 2 + randint1(3); - - if (r_info[MON_JORMUNGAND].cur_num < r_info[MON_JORMUNGAND].max_num && one_in_(6)) - { - msg_print(_("ÃÏÌ̤«¤é¿å¤¬¿á¤­½Ð¤·¤¿¡ª", "Water blew off from the ground!")); - fire_ball_hide(GF_WATER_FLOW, 0, 3, 8); - } - - for (k = 0; k < num; k++) - { - count += summon_specific(m_idx, y, x, rlev, SUMMON_GUARDIANS, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE)); - } - } - break; - - case MON_CALDARM: - { - int num = randint1(3); - for (k = 0; k < num; k++) - { - count += summon_named_creature(m_idx, y, x, MON_LOCKE_CLONE, mode); - } - } - break; - - case MON_LOUSY: - { - int num = 2 + randint1(3); - for (k = 0; k < num; k++) - { - count += summon_specific(m_idx, y, x, rlev, SUMMON_LOUSE, PM_ALLOW_GROUP); - } - } - break; - - default: - summon_kin_type = r_ptr->d_char; /* Big hack */ - - for (k = 0; k < 4; k++) - { - count += summon_specific(m_idx, y, x, rlev, SUMMON_KIN, PM_ALLOW_GROUP); - } - break; - } - if (blind && count) - msg_print(_("¿¤¯¤Î¤â¤Î¤¬´Ö¶á¤Ë¸½¤ì¤¿²»¤¬¤¹¤ë¡£", "You hear many things appear nearby.")); - - break; - } - - /* RF6_S_CYBER */ - case 160+17: - { - disturb(1, 1); - - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else - msg_format(_("%^s¤¬¥µ¥¤¥Ð¡¼¥Ç¡¼¥â¥ó¤ò¾¤´­¤·¤¿¡ª", - "%^s magically summons Cyberdemons!"), m_name); - - if (blind && count) - msg_print(_("½Å¸ü¤Ê­²»¤¬¶á¤¯¤Çʹ¤³¤¨¤ë¡£", "You hear heavy steps nearby.")); - - summon_cyber(m_idx, y, x); - break; - } - - /* RF6_S_MONSTER */ - case 160+18: - { - disturb(1, 1); - - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else - msg_format(_("%^s¤¬ËâË¡¤ÇÃç´Ö¤ò¾¤´­¤·¤¿¡ª", "%^s magically summons help!"), m_name); - - for (k = 0; k < 1; k++) - { - count += summon_specific(m_idx, y, x, rlev, 0, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE)); - } - if (blind && count) - msg_print(_("²¿¤«¤¬´Ö¶á¤Ë¸½¤ì¤¿²»¤¬¤¹¤ë¡£", "You hear something appear nearby.")); - - break; - } - - /* RF6_S_MONSTERS */ - case 160+19: - { - disturb(1, 1); - - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else - msg_format(_("%^s¤¬ËâË¡¤Ç¥â¥ó¥¹¥¿¡¼¤ò¾¤´­¤·¤¿¡ª", "%^s magically summons monsters!"), m_name); - - for (k = 0; k < s_num_6; k++) - { - count += summon_specific(m_idx, y, x, rlev, 0, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE)); - } - - if (blind && count) - msg_print(_("¿¤¯¤Î¤â¤Î¤¬´Ö¶á¤Ë¸½¤ì¤¿²»¤¬¤¹¤ë¡£", "You hear many things appear nearby.")); - - break; - } - - /* RF6_S_ANT */ - case 160+20: - { - disturb(1, 1); - - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else - msg_format(_("%^s¤¬ËâË¡¤Ç¥¢¥ê¤ò¾¤´­¤·¤¿¡£", "%^s magically summons ants."), m_name); - - for (k = 0; k < s_num_6; k++) - { - count += summon_specific(m_idx, y, x, rlev, SUMMON_ANT, PM_ALLOW_GROUP); - } - - if (blind && count) - msg_print(_("¿¤¯¤Î¤â¤Î¤¬´Ö¶á¤Ë¸½¤ì¤¿²»¤¬¤¹¤ë¡£", "You hear many things appear nearby.")); - - break; - } - - /* RF6_S_SPIDER */ - case 160+21: - { - disturb(1, 1); - - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else - msg_format(_("%^s¤¬ËâË¡¤Ç¥¯¥â¤ò¾¤´­¤·¤¿¡£", "%^s magically summons spiders."), m_name); - - for (k = 0; k < s_num_6; k++) - { - count += summon_specific(m_idx, y, x, rlev, SUMMON_SPIDER, PM_ALLOW_GROUP); - } - - if (blind && count) - msg_print(_("¿¤¯¤Î¤â¤Î¤¬´Ö¶á¤Ë¸½¤ì¤¿²»¤¬¤¹¤ë¡£", "You hear many things appear nearby.")); - - break; - } - - /* RF6_S_HOUND */ - case 160+22: - { - disturb(1, 1); - - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else - msg_format(_("%^s¤¬ËâË¡¤Ç¥Ï¥¦¥ó¥É¤ò¾¤´­¤·¤¿¡£", "%^s magically summons hounds."), m_name); - - for (k = 0; k < s_num_4; k++) - { - count += summon_specific(m_idx, y, x, rlev, SUMMON_HOUND, PM_ALLOW_GROUP); - } - - if (blind && count) - msg_print(_("¿¤¯¤Î¤â¤Î¤¬´Ö¶á¤Ë¸½¤ì¤¿²»¤¬¤¹¤ë¡£", "You hear many things appear nearby.")); - - break; - } - - /* RF6_S_HYDRA */ - case 160+23: - { - disturb(1, 1); - - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else - msg_format(_("%^s¤¬ËâË¡¤Ç¥Ò¥É¥é¤ò¾¤´­¤·¤¿¡£", "%^s magically summons hydras."), m_name); - - for (k = 0; k < s_num_4; k++) - { - count += summon_specific(m_idx, y, x, rlev, SUMMON_HYDRA, PM_ALLOW_GROUP); - } - if (blind && count) - msg_print(_("¿¤¯¤Î¤â¤Î¤¬´Ö¶á¤Ë¸½¤ì¤¿²»¤¬¤¹¤ë¡£", "You hear many things appear nearby.")); - - break; - } - - /* RF6_S_ANGEL */ - case 160+24: - { - int num = 1; - - disturb(1, 1); - - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else - msg_format(_("%^s¤¬ËâË¡¤ÇÅ·»È¤ò¾¤´­¤·¤¿¡ª", "%^s magically summons an angel!"), m_name); - - if ((r_ptr->flags1 & RF1_UNIQUE) && !easy_band) - { - num += r_ptr->level/40; - } - - for (k = 0; k < num; k++) - { - count += summon_specific(m_idx, y, x, rlev, SUMMON_ANGEL, PM_ALLOW_GROUP); - } - - if (count < 2) - { - if (blind && count) - msg_print(_("²¿¤«¤¬´Ö¶á¤Ë¸½¤ì¤¿²»¤¬¤¹¤ë¡£", "You hear something appear nearby.")); - } - else - { - if (blind) - msg_print(_("¿¤¯¤Î¤â¤Î¤¬´Ö¶á¤Ë¸½¤ì¤¿²»¤¬¤¹¤ë¡£", "You hear many things appear nearby.")); - } - - break; - } - - /* RF6_S_DEMON */ - case 160+25: - { - disturb(1, 1); - - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else - msg_format(_("%^s¤ÏËâË¡¤Çº®Æ٤εÜÄ¤é°­Ëâ¤ò¾¤´­¤·¤¿¡ª", - "%^s magically summons a demon from the Courts of Chaos!"), m_name); - - for (k = 0; k < 1; k++) - { - count += summon_specific(m_idx, y, x, rlev, SUMMON_DEMON, PM_ALLOW_GROUP); - } - - if (blind && count) - msg_print(_("²¿¤«¤¬´Ö¶á¤Ë¸½¤ì¤¿²»¤¬¤¹¤ë¡£", "You hear something appear nearby.")); - - break; - } - - /* RF6_S_UNDEAD */ - case 160+26: - { - disturb(1, 1); - - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else - msg_format(_("%^s¤¬ËâË¡¤Ç¥¢¥ó¥Ç¥Ã¥É¤Î¶¯Å¨¤ò¾¤´­¤·¤¿¡ª", - "%^s magically summons an undead adversary!"), m_name); - - for (k = 0; k < 1; k++) - { - count += summon_specific(m_idx, y, x, rlev, SUMMON_UNDEAD, PM_ALLOW_GROUP); - } - - if (blind && count) - msg_print(_("²¿¤«¤¬´Ö¶á¤Ë¸½¤ì¤¿²»¤¬¤¹¤ë¡£", "You hear something appear nearby.")); - - break; - } - - /* RF6_S_DRAGON */ - case 160+27: - { - disturb(1, 1); - - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else - msg_format(_("%^s¤¬ËâË¡¤Ç¥É¥é¥´¥ó¤ò¾¤´­¤·¤¿¡ª", "%^s magically summons a dragon!"), m_name); - - for (k = 0; k < 1; k++) - { - count += summon_specific(m_idx, y, x, rlev, SUMMON_DRAGON, PM_ALLOW_GROUP); - } - if (blind && count) - msg_print(_("²¿¤«¤¬´Ö¶á¤Ë¸½¤ì¤¿²»¤¬¤¹¤ë¡£", "You hear something appear nearby.")); - - break; - } - - /* RF6_S_HI_UNDEAD */ - case 160+28: - { - disturb(1, 1); - - if (((m_ptr->r_idx == MON_MORGOTH) || (m_ptr->r_idx == MON_SAURON) || (m_ptr->r_idx == MON_ANGMAR)) && ((r_info[MON_NAZGUL].cur_num+2) < r_info[MON_NAZGUL].max_num)) - { - int cy = y; - int cx = x; - - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else - msg_format(_("%^s¤¬ËâË¡¤ÇÍ©µ´ÀïÂâ¤ò¾¤´­¤·¤¿¡ª", "%^s magically summons rangers of Nazgul!"), m_name); - - msg_print(NULL); - - for (k = 0; k < 30; k++) - { - if (!summon_possible(cy, cx) || !cave_empty_bold(cy, cx)) - { - int j; - for (j = 100; j > 0; j--) - { - scatter(&cy, &cx, y, x, 2, 0); - if (cave_empty_bold(cy, cx)) break; - } - if (!j) break; - } - if (!cave_empty_bold(cy, cx)) continue; - - if (summon_named_creature(m_idx, cy, cx, MON_NAZGUL, mode)) - { - y = cy; - x = cx; - count++; - if (count == 1) - msg_format(_("¡ÖÍ©µ´ÀïÂâ%d¹æ¡¢¥Ê¥º¥°¥ë¡¦¥Ö¥é¥Ã¥¯¡ª¡×", - "A Nazgul says 'Nazgul-Rangers Number %d, Nazgul-Black!'"), count); - else - msg_format(_("¡ÖƱ¤¸¤¯%d¹æ¡¢¥Ê¥º¥°¥ë¡¦¥Ö¥é¥Ã¥¯¡ª¡×", - "Another one says 'Number %d, Nazgul-Black!'"), count); - - msg_print(NULL); - } - } - msg_format(_("¡Ö%d¿Í¤½¤í¤Ã¤Æ¡¢¥ê¥ó¥°¥ì¥ó¥¸¥ã¡¼¡ª¡×", - "They say 'The %d meets! We are the Ring-Ranger!'."), count); - msg_print(NULL); - } - else - { - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else - msg_format(_("%^s¤¬ËâË¡¤Ç¶¯ÎϤʥ¢¥ó¥Ç¥Ã¥É¤ò¾¤´­¤·¤¿¡ª", - "%^s magically summons greater undead!"), m_name); - - for (k = 0; k < s_num_6; k++) - { - count += summon_specific(m_idx, y, x, rlev, SUMMON_HI_UNDEAD, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE)); - } - } - if (blind && count) - { - msg_print(_("´Ö¶á¤Ç²¿¤«Â¿¤¯¤Î¤â¤Î¤¬Ç礤²ó¤ë²»¤¬Ê¹¤³¤¨¤ë¡£", - "You hear many creepy things appear nearby.")); - } - break; - } - - /* RF6_S_HI_DRAGON */ - case 160+29: - { - disturb(1, 1); - - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else - msg_format(_("%^s¤¬ËâË¡¤Ç¸ÅÂå¥É¥é¥´¥ó¤ò¾¤´­¤·¤¿¡ª", "%^s magically summons ancient dragons!"), m_name); - - for (k = 0; k < s_num_4; k++) - { - count += summon_specific(m_idx, y, x, rlev, SUMMON_HI_DRAGON, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE)); - } - if (blind && count) - { - msg_print(_("¿¤¯¤ÎÎ϶¯¤¤¤â¤Î¤¬´Ö¶á¤Ë¸½¤ì¤¿²»¤¬Ê¹¤³¤¨¤ë¡£", - "You hear many powerful things appear nearby.")); - } - break; - } - - /* RF6_S_AMBERITES */ - case 160+30: - { - disturb(1, 1); - - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else - msg_format(_("%^s¤¬¥¢¥ó¥Ð¡¼¤Î²¦Â²¤ò¾¤´­¤·¤¿¡ª", "%^s magically summons Lords of Amber!"), m_name); - - - - for (k = 0; k < s_num_4; k++) - { - count += summon_specific(m_idx, y, x, rlev, SUMMON_AMBERITES, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE)); - } - if (blind && count) - { - msg_print(_("ÉÔ»à¤Î¼Ô¤¬¶á¤¯¤Ë¸½¤ì¤ë¤Î¤¬Ê¹¤³¤¨¤¿¡£", "You hear immortal beings appear nearby.")); - } - break; - } - - /* RF6_S_UNIQUE */ - case 160+31: - { - bool uniques_are_summoned = FALSE; - int non_unique_type = SUMMON_HI_UNDEAD; - - disturb(1, 1); - - if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); - else - msg_format(_("%^s¤¬ËâË¡¤ÇÆÃÊ̤ʶ¯Å¨¤ò¾¤´­¤·¤¿¡ª", "%^s magically summons special opponents!"), m_name); - - for (k = 0; k < s_num_4; k++) - { - count += summon_specific(m_idx, y, x, rlev, SUMMON_UNIQUE, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE)); - } - - if (count) uniques_are_summoned = TRUE; - - if ((m_ptr->sub_align & (SUB_ALIGN_GOOD | SUB_ALIGN_EVIL)) == (SUB_ALIGN_GOOD | SUB_ALIGN_EVIL)) - non_unique_type = 0; - else if (m_ptr->sub_align & SUB_ALIGN_GOOD) - non_unique_type = SUMMON_ANGEL; - - for (k = count; k < s_num_4; k++) - { - count += summon_specific(m_idx, y, x, rlev, non_unique_type, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE)); - } - - if (blind && count) - { - msg_format(_("¿¤¯¤Î%s¤¬´Ö¶á¤Ë¸½¤ì¤¿²»¤¬Ê¹¤³¤¨¤ë¡£", "You hear many %s appear nearby."), - uniques_are_summoned ? _("Î϶¯¤¤¤â¤Î", "powerful things") : _("¤â¤Î", "things")); - } - break; - } + /* RF6_SPECIAL */ + case 160 + 7: + dam = spell_RF6_SPECIAL(m_name, m_ptr, r_ptr, mode, blind, direct, y, x, m_idx); + if (dam < 0) return FALSE; + break; + + case 160 + 8: spell_RF6_TELE_TO(m_name, m_ptr); break; /* RF6_TELE_TO */ + case 160 + 9: spell_RF6_TELE_AWAY(m_name, m_idx); break; /* RF6_TELE_AWAY */ + case 160 + 10: spell_RF6_TELE_LEVEL(blind, m_name, m_idx, rlev); break; /* RF6_TELE_LEVEL */ + case 160 + 11: spell_RF6_PSY_SPEAR(blind, m_name, r_ptr, rlev, m_idx, learnable); break; /* RF6_PSY_SPEAR */ + case 160 + 12: spell_RF6_DARKNESS(blind, m_name, can_use_lite_area); break; /* RF6_DARKNESS */ + case 160 + 13: spell_RF6_TRAPS(blind, m_name, y, x); break; /* RF6_TRAPS */ + case 160 + 14: spell_RF6_FORGET(m_name, rlev); break; /* RF6_FORGET */ + case 160 + 15: spell_RF6_RAISE_DEAD(blind, m_name, m_idx, m_ptr); break; /* RF6_RAISE_DEAD */ + case 160 + 16: spell_RF6_S_KIN(blind, m_name, m_ptr, r_ptr, m_idx, y, x, rlev, mode); break; /* RF6_S_KIN */ + case 160 + 17: spell_RF6_S_CYBER(blind, m_name, m_idx, y, x); break; /* RF6_S_CYBER */ + case 160 + 18: spell_RF6_S_MONSTER(blind, m_name, m_idx, y, x, rlev); break; /* RF6_S_MONSTER */ + case 160 + 19: spell_RF6_S_MONSTERS(blind, m_name, m_idx, y, x, rlev, s_num_6); break; /* RF6_S_MONSTER */ + case 160 + 20: spell_RF6_S_ANT(blind, m_name, m_idx, y, x, rlev, s_num_6); break; /* RF6_S_ANT */ + case 160 + 21: spell_RF6_S_SPIDER(blind, m_name, m_idx, y, x, rlev, s_num_6); break; /* RF6_S_SPIDER */ + case 160 + 22: spell_RF6_S_HOUND(blind, m_name, m_idx, y, x, rlev, s_num_4); break; /* RF6_S_HOUND */ + case 160 + 23: spell_RF6_S_HYDRA(blind, m_name, m_idx, y, x, rlev, s_num_4); break; /* RF6_S_HYDRA */ + case 160 + 24: spell_RF6_S_ANGEL(blind, m_name, r_ptr, m_idx, y, x, rlev); break; /* RF6_S_ANGEL */ + case 160 + 25: spell_RF6_S_DEMON(blind, m_name, m_idx, y, x, rlev); break; /* RF6_S_DEMON */ + case 160 + 26: spell_RF6_S_UNDEAD(blind, m_name, m_idx, y, x, rlev); break; /* RF6_S_UNDEAD */ + case 160 + 27: spell_RF6_S_DRAGON(blind, m_name, m_idx, y, x, rlev); break; /* RF6_S_DRAGON */ + case 160 + 28: spell_RF6_S_HI_UNDEAD(m_ptr, blind, m_name, m_idx, y, x, rlev, s_num_6, mode); break; /* RF6_S_HI_UNDEAD */ + case 160 + 29: spell_RF6_S_HI_DRAGON(blind, m_name, m_idx, y, x, rlev, s_num_4); break; /* RF6_S_HI_DRAGON */ + case 160 + 30: spell_RF6_S_AMBERITES(blind, m_name, m_idx, y, x, rlev, s_num_4); break; /* RF6_S_AMBERITES */ + case 160 + 31: spell_RF6_S_UNIQUE(blind, m_name, m_idx, m_ptr, y, x, rlev, s_num_4); break; /* RF6_S_UNIQUE */ } if ((p_ptr->action == ACTION_LEARN) && thrown_spell > 175) diff --git a/src/mspells4.c b/src/mspells4.c index 34aadffb9..c6a3556c6 100644 --- a/src/mspells4.c +++ b/src/mspells4.c @@ -3,7 +3,7 @@ void spell_RF4_SHRIEK(int m_idx, cptr m_name) { disturb(1, 1); - msg_format(_("%^s¤¬¤«¤ó¹â¤¤¶âÀÚ¤êÀ¼¤ò¤¢¤²¤¿¡£", "%^s makes a high pitched shriek."), m_name); + msg_format(_("%^s‚ª‚©‚ñ‚‚¢‹àØ‚萺‚ð‚ ‚°‚½B", "%^s makes a high pitched shriek."), m_name); aggravate_monsters(m_idx); } @@ -12,51 +12,53 @@ void spell_RF4_DISPEL(bool blind, cptr m_name) disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤òÎ϶¯¤¯¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles powerfully."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð—Í‹­‚­‚‚Ԃ₢‚½B", "%^s mumbles powerfully."), m_name); else - msg_format(_("%^s¤¬ËâÎϾõî¤Î¼öʸ¤òÇ°¤¸¤¿¡£", "%^s invokes a dispel magic."), m_name); + msg_format(_("%^s‚ª–‚—͏Á‹Ž‚ÌŽô•¶‚ð”O‚¶‚½B", "%^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("¤ä¤ê¤ä¤¬¤Ã¤¿¤Ê¡ª"); + msg_print("‚â‚è‚₪‚Á‚½‚ȁI"); #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 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); + msg_format(_("%^s‚ª‰½‚©‚ðŽË‚Á‚½B", "%^s shoots something."), m_name); else - msg_format(_("%^s¤¬¥í¥±¥Ã¥È¤òȯ¼Í¤·¤¿¡£", "%^s fires a rocket."), m_name); + msg_format(_("%^s‚ªƒƒPƒbƒg‚ð”­ŽË‚µ‚½B", "%^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); + return dam; } -void spell_RF4_SHOOT(bool blind, cptr m_name, monster_race* r_ptr, int m_idx, bool learnable) +int 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); + msg_format(_("%^s‚ªŠï–­‚ȉ¹‚ð”­‚µ‚½B", "%^s makes a strange noise."), m_name); else - msg_format(_("%^s¤¬Ìð¤òÊü¤Ã¤¿¡£", "%^s fires an arrow."), m_name); + msg_format(_("%^s‚ª–î‚ð•ú‚Á‚½B", "%^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); + return dam; } -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 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; @@ -66,133 +68,133 @@ void spell_RF4_BREATH(int GF_TYPE, bool blind, cptr m_name, monster_type* m_ptr, { case GF_ACID: dam = ((m_ptr->hp / 3) > 1600 ? 1600 : (m_ptr->hp / 3)); - type_s = _("»À", "acid"); + 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"); + 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"); + 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"); + type_s = _("—â‹C", "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"); + type_s = _("ƒKƒX", "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"); + type_s = _("’n–", "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"); + type_s = _("‘MŒõ", "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"); + 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"); + 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"); + 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"); + type_s = _("ƒJƒIƒX", "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"); + 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"); + 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"); + type_s = _("ŽžŠÔ‹t“]", "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"); + type_s = _("’x“Ý", "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"); + type_s = _("d—Í", "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"); + type_s = _("”j•Ð", "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"); + type_s = _("ƒvƒ‰ƒYƒ}", "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"); + type_s = _("ƒtƒH[ƒX", "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"); + 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"); + type_s = _("•úŽË«”pŠü•¨", "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"); + type_s = _("•ª‰ð", "disintegration"); ms_type = MS_BR_DISI; smart_learn = FALSE; break; @@ -203,66 +205,69 @@ void spell_RF4_BREATH(int GF_TYPE, bool blind, cptr m_name, monster_type* m_ptr, disturb(1, 1); if (m_ptr->r_idx == MON_JAIAN && GF_TYPE == GF_SOUND) { - msg_format(_("¡Ö¥Ü¥©¥¨¡Á¡Á¡Á¡Á¡Á¡Á¡×", "'Booooeeeeee'")); + msg_format(_("uƒ{ƒHƒG``````v", "'Booooeeeeee'")); } else if (m_ptr->r_idx == MON_BOTEI && GF_TYPE == GF_SHARDS) { - msg_format(_("¡Ö¥ÜÄë¥Ó¥ë¥«¥Ã¥¿¡¼¡ª¡ª¡ª¡×", "'Boty-Build cutter!!!'")); + msg_format(_("uƒ{’éƒrƒ‹ƒJƒbƒ^[IIIv", "'Boty-Build cutter!!!'")); } else if (blind) { - msg_format(_("%^s¤¬²¿¤«¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes."), m_name); + msg_format(_("%^s‚ª‰½‚©‚̃uƒŒƒX‚ð“f‚¢‚½B", "%^s breathes."), m_name); } else { - msg_format(_("%^s¤¬%^s¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes %^s."), m_name, type_s); + msg_format(_("%^s‚ª%^s‚̃uƒŒƒX‚ð“f‚¢‚½B", "%^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); + return dam; } -void spell_RF4_BA_CHAO(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF4_BA_CHAO(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬¶²¤í¤·¤²¤Ë¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles frighteningly."), m_name); + msg_format(_("%^s‚ª‹°‚낵‚°‚ɂ‚Ԃ₢‚½B", "%^s mumbles frighteningly."), m_name); else - msg_format(_("%^s¤¬½ã¥í¥°¥ë¥¹¤òÊü¤Ã¤¿¡£", "%^s invokes a raw Logrus."), m_name); + msg_format(_("%^s‚ªƒƒƒOƒ‹ƒX‚ð•ú‚Á‚½B", "%^s invokes a raw Logrus."), m_name); dam = ((r_ptr->flags2 & RF2_POWERFUL) ? (rlev * 3) : (rlev * 2)) + damroll(10, 10); breath(y, x, m_idx, GF_CHAOS, dam, 4, FALSE, MS_BALL_CHAOS, learnable); update_smart_learn(m_idx, DRS_CHAOS); + return dam; } -void spell_RF4_BA_NUKE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF4_BA_NUKE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); else - msg_format(_("%^s¤¬Êü¼Íǽµå¤òÊü¤Ã¤¿¡£", "%^s casts a ball of radiation."), m_name); + msg_format(_("%^s‚ª•úŽË”\‹…‚ð•ú‚Á‚½B", "%^s casts a ball of radiation."), m_name); dam = (rlev + damroll(10, 6)) * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1); breath(y, x, m_idx, GF_NUKE, dam, 2, FALSE, MS_BALL_NUKE, learnable); update_smart_learn(m_idx, DRS_POIS); + return dam; } -void spell_RF5_BA_ACID(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_BA_ACID(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam, rad; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); else - msg_format(_("%^s¤¬¥¢¥·¥Ã¥É¡¦¥Ü¡¼¥ë¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts an acid ball."), m_name); + msg_format(_("%^s‚ªƒAƒVƒbƒhEƒ{[ƒ‹‚ÌŽô•¶‚ð¥‚¦‚½B", "%^s casts an acid ball."), m_name); if (r_ptr->flags2 & RF2_POWERFUL) { @@ -276,17 +281,18 @@ void spell_RF5_BA_ACID(bool blind, cptr m_name, monster_race* r_ptr, int rlev, i } breath(y, x, m_idx, GF_ACID, dam, rad, FALSE, MS_BALL_ACID, learnable); update_smart_learn(m_idx, DRS_ACID); + return dam; } -void spell_RF5_BA_ELEC(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_BA_ELEC(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam, rad; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); else - msg_format(_("%^s¤¬¥µ¥ó¥À¡¼¡¦¡¦¥Ü¡¼¥ë¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a lightning ball."), m_name); + msg_format(_("%^s‚ªƒTƒ“ƒ_[EEƒ{[ƒ‹‚ÌŽô•¶‚ð¥‚¦‚½B", "%^s casts a lightning ball."), m_name); if (r_ptr->flags2 & RF2_POWERFUL) { @@ -300,9 +306,10 @@ void spell_RF5_BA_ELEC(bool blind, cptr m_name, monster_race* r_ptr, int rlev, i } breath(y, x, m_idx, GF_ELEC, dam, rad, FALSE, MS_BALL_ELEC, learnable); update_smart_learn(m_idx, DRS_ELEC); + return dam; } -void spell_RF5_BA_FIRE(monster_type* m_ptr, bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_BA_FIRE(monster_type* m_ptr, bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam, rad; disturb(1, 1); @@ -310,16 +317,16 @@ void spell_RF5_BA_FIRE(monster_type* m_ptr, bool blind, cptr m_name, monster_rac if (m_ptr->r_idx == MON_ROLENTO) { if (blind) - msg_format(_("%s¤¬²¿¤«¤òÅꤲ¤¿¡£", "%^s throws something."), m_name); + msg_format(_("%s‚ª‰½‚©‚ð“Š‚°‚½B", "%^s throws something."), m_name); else - msg_format(_("%s¤Ï¼êÜØÃƤòÅꤲ¤¿¡£", "%^s throws a hand grenade."), m_name); + msg_format(_("%s‚ÍŽèžÖ’e‚ð“Š‚°‚½B", "%^s throws a hand grenade."), m_name); } else { if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); else - msg_format(_("%^s¤¬¥Õ¥¡¥¤¥¢¡¦¥Ü¡¼¥ë¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a fire ball."), m_name); + msg_format(_("%^s‚ªƒtƒ@ƒCƒAEƒ{[ƒ‹‚ÌŽô•¶‚ð¥‚¦‚½B", "%^s casts a fire ball."), m_name); } if (r_ptr->flags2 & RF2_POWERFUL) @@ -334,17 +341,18 @@ void spell_RF5_BA_FIRE(monster_type* m_ptr, bool blind, cptr m_name, monster_rac } breath(y, x, m_idx, GF_FIRE, dam, rad, FALSE, MS_BALL_FIRE, learnable); update_smart_learn(m_idx, DRS_FIRE); + return dam; } -void spell_RF5_BA_COLD(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_BA_COLD(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam, rad; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); else - msg_format(_("%^s¤¬¥¢¥¤¥¹¡¦¥Ü¡¼¥ë¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a frost ball."), m_name); + msg_format(_("%^s‚ªƒAƒCƒXEƒ{[ƒ‹‚ÌŽô•¶‚ð¥‚¦‚½B", "%^s casts a frost ball."), m_name); if (r_ptr->flags2 & RF2_POWERFUL) { @@ -358,82 +366,88 @@ void spell_RF5_BA_COLD(bool blind, cptr m_name, monster_race* r_ptr, int rlev, i } breath(y, x, m_idx, GF_COLD, dam, rad, FALSE, MS_BALL_COLD, learnable); update_smart_learn(m_idx, DRS_COLD); + return dam; } -void spell_RF5_BA_POIS(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_BA_POIS(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); else - msg_format(_("%^s¤¬°­½­±À¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a stinking cloud."), m_name); + msg_format(_("%^s‚ªˆ«L‰_‚ÌŽô•¶‚ð¥‚¦‚½B", "%^s casts a stinking cloud."), m_name); dam = damroll(12, 2) * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1); breath(y, x, m_idx, GF_POIS, dam, 2, FALSE, MS_BALL_POIS, learnable); update_smart_learn(m_idx, DRS_POIS); + return dam; } -void spell_RF5_BA_NETH(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_BA_NETH(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); else - msg_format(_("%^s¤¬ÃϹöµå¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a nether ball."), m_name); + msg_format(_("%^s‚ª’n–‹…‚ÌŽô•¶‚ð¥‚¦‚½B", "%^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); update_smart_learn(m_idx, DRS_NETH); + return dam; } -void spell_RF5_BA_WATE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_BA_WATE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); else - msg_format(_("%^s¤¬Î®¤ì¤ë¤è¤¦¤Ê¿È¿¶¤ê¤ò¤·¤¿¡£", "%^s gestures fluidly."), m_name); + msg_format(_("%^s‚ª—¬‚ê‚é‚悤‚ȐgU‚è‚ð‚µ‚½B", "%^s gestures fluidly."), m_name); - msg_print(_("¤¢¤Ê¤¿¤Ï±²´¬¤­¤Ë°û¤ß¹þ¤Þ¤ì¤¿¡£", "You are engulfed in a whirlpool.")); + msg_print(_("‚ ‚È‚½‚͉QŠª‚«‚Ɉù‚ݍž‚܂ꂽB", "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); + return dam; } -void spell_RF5_BA_MANA(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_BA_MANA(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤òÎ϶¯¤¯¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles powerfully."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð—Í‹­‚­‚‚Ԃ₢‚½B", "%^s mumbles powerfully."), m_name); else - msg_format(_("%^s¤¬ËâÎϤÎÍò¤Î¼öʸ¤òÇ°¤¸¤¿¡£", "%^s invokes a mana storm."), m_name); + msg_format(_("%^s‚ª–‚—Í‚Ì—’‚ÌŽô•¶‚ð”O‚¶‚½B", "%^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); + return dam; } -void spell_RF5_BA_DARK(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_BA_DARK(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤òÎ϶¯¤¯¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles powerfully."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð—Í‹­‚­‚‚Ԃ₢‚½B", "%^s mumbles powerfully."), m_name); else - msg_format(_("%^s¤¬°Å¹õ¤ÎÍò¤Î¼öʸ¤òÇ°¤¸¤¿¡£", "%^s invokes a darkness storm."), m_name); + msg_format(_("%^s‚ªˆÃ•‚Ì—’‚ÌŽô•¶‚ð”O‚¶‚½B", "%^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); update_smart_learn(m_idx, DRS_DARK); + return dam; } -void spell_RF5_DRAIN_MANA(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_DRAIN_MANA(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); @@ -441,257 +455,1282 @@ void spell_RF5_DRAIN_MANA(bool blind, cptr m_name, monster_race* r_ptr, int rlev dam = (randint1(rlev) / 2) + 1; breath(y, x, m_idx, GF_DRAIN_MANA, dam, 0, FALSE, MS_DRAIN_MANA, learnable); update_smart_learn(m_idx, DRS_MANA); + return dam; } -void spell_RF5_MIND_BLAST(bool seen, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_MIND_BLAST(bool seen, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (!seen) - msg_print(_("²¿¤«¤¬¤¢¤Ê¤¿¤ÎÀº¿À¤ËÇ°¤òÊü¤Ã¤Æ¤¤¤ë¤è¤¦¤À¡£", "You feel something focusing on your mind.")); + msg_print(_("‰½‚©‚ª‚ ‚È‚½‚̐¸_‚É”O‚ð•ú‚Á‚Ä‚¢‚é‚悤‚¾B", "You feel something focusing on your mind.")); else - msg_format(_("%^s¤¬¤¢¤Ê¤¿¤ÎÆ·¤ò¤¸¤Ã¤È¤Ë¤é¤ó¤Ç¤¤¤ë¡£", "%^s gazes deep into your eyes."), m_name); + msg_format(_("%^s‚ª‚ ‚È‚½‚Ì“µ‚ð‚¶‚Á‚Æ‚É‚ç‚ñ‚Å‚¢‚éB", "%^s gazes deep into your eyes."), m_name); dam = damroll(7, 7); breath(y, x, m_idx, GF_MIND_BLAST, dam, 0, FALSE, MS_MIND_BLAST, learnable); + return dam; } -void spell_RF5_BRAIN_SMASH(bool seen, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_BRAIN_SMASH(bool seen, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (!seen) - msg_print(_("²¿¤«¤¬¤¢¤Ê¤¿¤ÎÀº¿À¤ËÇ°¤òÊü¤Ã¤Æ¤¤¤ë¤è¤¦¤À¡£", "You feel something focusing on your mind.")); + msg_print(_("‰½‚©‚ª‚ ‚È‚½‚̐¸_‚É”O‚ð•ú‚Á‚Ä‚¢‚é‚悤‚¾B", "You feel something focusing on your mind.")); else - msg_format(_("%^s¤¬¤¢¤Ê¤¿¤ÎÆ·¤ò¤¸¤Ã¤È¸«¤Æ¤¤¤ë¡£", "%^s looks deep into your eyes."), m_name); + msg_format(_("%^s‚ª‚ ‚È‚½‚Ì“µ‚ð‚¶‚Á‚ÆŒ©‚Ä‚¢‚éB", "%^s looks deep into your eyes."), m_name); dam = damroll(12, 12); + breath(y, x, m_idx, GF_BRAIN_SMASH, dam, 0, FALSE, MS_BRAIN_SMASH, learnable); + return dam; } -void spell_RF5_CAUSE_1(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_CAUSE_1(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); else - msg_format(_("%^s¤¬¤¢¤Ê¤¿¤ò»Ø¤µ¤·¤Æ¼ö¤Ã¤¿¡£", "%^s points at you and curses."), m_name); + msg_format(_("%^s‚ª‚ ‚È‚½‚ðŽw‚³‚µ‚ÄŽô‚Á‚½B", "%^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); + return dam; } -void spell_RF5_CAUSE_2(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_CAUSE_2(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); else - msg_format(_("%^s¤¬¤¢¤Ê¤¿¤ò»Ø¤µ¤·¤Æ¶²¤í¤·¤²¤Ë¼ö¤Ã¤¿¡£", "%^s points at you and curses horribly."), m_name); + msg_format(_("%^s‚ª‚ ‚È‚½‚ðŽw‚³‚µ‚Ä‹°‚낵‚°‚ÉŽô‚Á‚½B", "%^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); + return dam; } -void spell_RF5_CAUSE_3(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_CAUSE_3(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤òÂçÀ¼¤Ç¶«¤ó¤À¡£", "%^s mumbles loudly."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð‘吺‚Å‹©‚ñ‚¾B", "%^s mumbles loudly."), m_name); else - msg_format(_("%^s¤¬¤¢¤Ê¤¿¤ò»Ø¤µ¤·¤Æ¶²¤í¤·¤²¤Ë¼öʸ¤ò¾§¤¨¤¿¡ª", "%^s points at you, incanting terribly!"), m_name); + msg_format(_("%^s‚ª‚ ‚È‚½‚ðŽw‚³‚µ‚Ä‹°‚낵‚°‚ÉŽô•¶‚ð¥‚¦‚½I", "%^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); + return dam; } -void spell_RF5_CAUSE_4(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_CAUSE_4(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬¡Ö¤ªÁ°¤Ï´û¤Ë»à¤ó¤Ç¤¤¤ë¡×¤È¶«¤ó¤À¡£", "%^s screams the word 'DIE!'"), m_name); + msg_format(_("%^s‚ªu‚¨‘O‚ÍŠù‚ÉŽ€‚ñ‚Å‚¢‚év‚Æ‹©‚ñ‚¾B", "%^s screams the word 'DIE!'"), m_name); else - msg_format(_("%^s¤¬¤¢¤Ê¤¿¤ÎÈ빦¤òÆͤ¤¤Æ¡Ö¤ªÁ°¤Ï´û¤Ë»à¤ó¤Ç¤¤¤ë¡×¤È¶«¤ó¤À¡£", + msg_format(_("%^s‚ª‚ ‚È‚½‚Ì”éE‚ð“Ë‚¢‚āu‚¨‘O‚ÍŠù‚ÉŽ€‚ñ‚Å‚¢‚év‚Æ‹©‚ñ‚¾B", "%^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); + return dam; } -void spell_RF5_BO_ACID(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_BO_ACID(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); else - msg_format(_("%^s¤¬¥¢¥·¥Ã¥É¡¦¥Ü¥ë¥È¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a acid bolt."), m_name); + msg_format(_("%^s‚ªƒAƒVƒbƒhEƒ{ƒ‹ƒg‚ÌŽô•¶‚ð¥‚¦‚½B", "%^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); update_smart_learn(m_idx, DRS_ACID); update_smart_learn(m_idx, DRS_REFLECT); + return dam; } -void spell_RF5_BO_ELEC(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_BO_ELEC(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); else - msg_format(_("%^s¤¬¥µ¥ó¥À¡¼¡¦¥Ü¥ë¥È¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a lightning bolt."), m_name); + msg_format(_("%^s‚ªƒTƒ“ƒ_[Eƒ{ƒ‹ƒg‚ÌŽô•¶‚ð¥‚¦‚½B", "%^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); update_smart_learn(m_idx, DRS_ELEC); update_smart_learn(m_idx, DRS_REFLECT); + return dam; } -void spell_RF5_BO_FIRE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_BO_FIRE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); else - msg_format(_("%^s¤¬¥Õ¥¡¥¤¥¢¡¦¥Ü¥ë¥È¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a fire bolt."), m_name); + msg_format(_("%^s‚ªƒtƒ@ƒCƒAEƒ{ƒ‹ƒg‚ÌŽô•¶‚ð¥‚¦‚½B", "%^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); update_smart_learn(m_idx, DRS_FIRE); update_smart_learn(m_idx, DRS_REFLECT); + return dam; } -void spell_RF5_BO_COLD(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_BO_COLD(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); else - msg_format(_("%^s¤¬¥¢¥¤¥¹¡¦¥Ü¥ë¥È¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a frost bolt."), m_name); + msg_format(_("%^s‚ªƒAƒCƒXEƒ{ƒ‹ƒg‚ÌŽô•¶‚ð¥‚¦‚½B", "%^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); update_smart_learn(m_idx, DRS_COLD); update_smart_learn(m_idx, DRS_REFLECT); + return dam; } -void spell_RF5_BA_LITE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_BA_LITE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤òÎ϶¯¤¯¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles powerfully."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð—Í‹­‚­‚‚Ԃ₢‚½B", "%^s mumbles powerfully."), m_name); else - msg_format(_("%^s¤¬¥¹¥¿¡¼¥Ð¡¼¥¹¥È¤Î¼öʸ¤òÇ°¤¸¤¿¡£", "%^s invokes a starburst."), m_name); + msg_format(_("%^s‚ªƒXƒ^[ƒo[ƒXƒg‚ÌŽô•¶‚ð”O‚¶‚½B", "%^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); update_smart_learn(m_idx, DRS_LITE); + return dam; } -void spell_RF5_BO_NETH(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_BO_NETH(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); else - msg_format(_("%^s¤¬ÃϹö¤ÎÌð¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a nether bolt."), m_name); + msg_format(_("%^s‚ª’n–‚Ì–î‚ÌŽô•¶‚ð¥‚¦‚½B", "%^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); update_smart_learn(m_idx, DRS_NETH); update_smart_learn(m_idx, DRS_REFLECT); + return dam; } -void spell_RF5_BO_WATE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_BO_WATE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); else - msg_format(_("%^s¤¬¥¦¥©¡¼¥¿¡¼¡¦¥Ü¥ë¥È¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a water bolt."), m_name); + msg_format(_("%^s‚ªƒEƒH[ƒ^[Eƒ{ƒ‹ƒg‚ÌŽô•¶‚ð¥‚¦‚½B", "%^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); update_smart_learn(m_idx, DRS_REFLECT); + return dam; } -void spell_RF5_BO_MANA(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_BO_MANA(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); else - msg_format(_("%^s¤¬ËâÎϤÎÌð¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a mana bolt."), m_name); + msg_format(_("%^s‚ª–‚—Í‚Ì–î‚ÌŽô•¶‚ð¥‚¦‚½B", "%^s casts a mana bolt."), m_name); dam = randint1(rlev * 7 / 2) + 50; bolt(m_idx, GF_MANA, dam, MS_BOLT_MANA, learnable); update_smart_learn(m_idx, DRS_REFLECT); + return dam; } -void spell_RF5_BO_PLAS(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_BO_PLAS(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); else - msg_format(_("%^s¤¬¥×¥é¥º¥Þ¡¦¥Ü¥ë¥È¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a plasma bolt."), m_name); + msg_format(_("%^s‚ªƒvƒ‰ƒYƒ}Eƒ{ƒ‹ƒg‚ÌŽô•¶‚ð¥‚¦‚½B", "%^s casts a plasma bolt."), m_name); dam = 10 + damroll(8, 7) + (rlev * 3 / ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 3)); bolt(m_idx, GF_PLASMA, dam, MS_BOLT_PLASMA, learnable); update_smart_learn(m_idx, DRS_REFLECT); + return dam; } -void spell_RF5_BO_ICEE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_BO_ICEE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); else - msg_format(_("%^s¤¬¶Ë´¨¤ÎÌð¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts an ice bolt."), m_name); + msg_format(_("%^s‚ª‹ÉŠ¦‚Ì–î‚ÌŽô•¶‚ð¥‚¦‚½B", "%^s casts an ice bolt."), m_name); dam = damroll(6, 6) + (rlev * 3 / ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 3)); bolt(m_idx, GF_ICE, dam, MS_BOLT_ICE, learnable); update_smart_learn(m_idx, DRS_COLD); update_smart_learn(m_idx, DRS_REFLECT); + return dam; } -void spell_RF5_MISSILE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) +int spell_RF5_MISSILE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx, bool learnable) { int dam; disturb(1, 1); if (blind) - msg_format(_("%^s¤¬²¿¤«¤ò¤Ä¤Ö¤ä¤¤¤¿¡£", "%^s mumbles."), m_name); + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); else - msg_format(_("%^s¤¬¥Þ¥¸¥Ã¥¯¡¦¥ß¥µ¥¤¥ë¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a magic missile."), m_name); + msg_format(_("%^s‚ªƒ}ƒWƒbƒNEƒ~ƒTƒCƒ‹‚ÌŽô•¶‚ð¥‚¦‚½B", "%^s casts a magic missile."), m_name); dam = damroll(2, 6) + (rlev / 3); bolt(m_idx, GF_MISSILE, dam, MS_MAGIC_MISSILE, learnable); update_smart_learn(m_idx, DRS_REFLECT); -} \ No newline at end of file + return dam; +} + +void spell_RF5_SCARE(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx) +{ + disturb(1, 1); + + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₭‚ƁA‹°‚낵‚°‚ȉ¹‚ª•·‚±‚¦‚½B", "%^s mumbles, and you hear scary noises."), m_name); + else + msg_format(_("%^s‚ª‹°‚낵‚°‚ÈŒ¶Šo‚ðì‚èo‚µ‚½B", "%^s casts a fearful illusion."), m_name); + + if (p_ptr->resist_fear) + { + msg_print(_("‚µ‚©‚µ‹°•|‚ɐN‚³‚ê‚È‚©‚Á‚½B", "You refuse to be frightened.")); + } + else if (randint0(100 + rlev / 2) < p_ptr->skill_sav) + { + msg_print(_("‚µ‚©‚µ‹°•|‚ɐN‚³‚ê‚È‚©‚Á‚½B", "You refuse to be frightened.")); + } + else + { + (void)set_afraid(p_ptr->afraid + randint0(4) + 4); + } + learn_spell(MS_SCARE); + update_smart_learn(m_idx, DRS_FEAR); +} + +void spell_RF5_BLIND(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx) +{ + disturb(1, 1); + + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else + msg_format(_("%^s‚ªŽô•¶‚ð¥‚¦‚Ä‚ ‚È‚½‚Ì–Ú‚ð‚­‚ç‚Ü‚µ‚½I", + "%^s casts a spell, burning your eyes!"), m_name); + + if (p_ptr->resist_blind) + { + msg_print(_("‚µ‚©‚µŒø‰Ê‚ª‚È‚©‚Á‚½I", "You are unaffected!")); + } + else if (randint0(100 + rlev / 2) < p_ptr->skill_sav) + { + msg_print(_("‚µ‚©‚µŒø—͂𒵂˕Ԃµ‚½I", "You resist the effects!")); + } + else + { + (void)set_blind(12 + randint0(4)); + } + learn_spell(MS_BLIND); + update_smart_learn(m_idx, DRS_BLIND); +} + +void spell_RF5_CONF(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx) +{ + disturb(1, 1); + + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₭‚ƁA“ª‚ð”Y‚Ü‚·‰¹‚ª‚µ‚½B", + "%^s mumbles, and you hear puzzling noises."), m_name); + else + msg_format(_("%^s‚ª—U˜f“I‚ÈŒ¶Šo‚ðì‚èo‚µ‚½B", + "%^s creates a mesmerising illusion."), m_name); + + if (p_ptr->resist_conf) + { + msg_print(_("‚µ‚©‚µŒ¶Šo‚É‚Í‚¾‚Ü‚³‚ê‚È‚©‚Á‚½B", "You disbelieve the feeble spell.")); + } + else if (randint0(100 + rlev / 2) < p_ptr->skill_sav) + { + msg_print(_("‚µ‚©‚µŒ¶Šo‚É‚Í‚¾‚Ü‚³‚ê‚È‚©‚Á‚½B", "You disbelieve the feeble spell.")); + } + else + { + (void)set_confused(p_ptr->confused + randint0(4) + 4); + } + learn_spell(MS_CONF); + update_smart_learn(m_idx, DRS_CONF); +} + +void spell_RF5_SLOW(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx) +{ + disturb(1, 1); + + msg_format(_("%^s‚ª‚ ‚È‚½‚Ì‹Ø—Í‚ð‹z‚¢Žæ‚낤‚Æ‚µ‚½I", + "%^s drains power from your muscles!"), m_name); + + if (p_ptr->free_act) + { + msg_print(_("‚µ‚©‚µŒø‰Ê‚ª‚È‚©‚Á‚½I", "You are unaffected!")); + } + else if (randint0(100 + rlev / 2) < p_ptr->skill_sav) + { + msg_print(_("‚µ‚©‚µŒø—͂𒵂˕Ԃµ‚½I", "You resist the effects!")); + } + else + { + (void)set_slow(p_ptr->slow + randint0(4) + 4, FALSE); + } + learn_spell(MS_SLOW); + update_smart_learn(m_idx, DRS_FREE); +} + +void spell_RF5_HOLD(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int y, int x, int m_idx) +{ + disturb(1, 1); + + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else + msg_format(_("%^s‚ª‚ ‚È‚½‚Ì–Ú‚ð‚¶‚Á‚ÆŒ©‚‚߂½I", "%^s stares deep into your eyes!"), m_name); + + if (p_ptr->free_act) + { + msg_print(_("‚µ‚©‚µŒø‰Ê‚ª‚È‚©‚Á‚½I", "You are unaffected!")); + } + else if (randint0(100 + rlev / 2) < p_ptr->skill_sav) + { + msg_format(_("‚µ‚©‚µŒø—͂𒵂˕Ԃµ‚½I", "You resist the effects!")); + } + else + { + (void)set_paralyzed(p_ptr->paralyzed + randint0(4) + 4); + } + learn_spell(MS_SLEEP); + update_smart_learn(m_idx, DRS_FREE); +} + +void spell_RF6_HASTE(bool blind, cptr m_name, monster_type* m_ptr, int y, int x, int m_idx) +{ + disturb(1, 1); + if (blind) + { + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + } + else + { + msg_format(_("%^s‚ªŽ©•ª‚Ì‘Ì‚É”O‚ð‘—‚Á‚½B", "%^s concentrates on %s body."), m_name); + } + + /* Allow quick speed increases to base+10 */ + if (set_monster_fast(m_idx, MON_FAST(m_ptr) + 100)) + { + msg_format(_("%^s‚Ì“®‚«‚ª‘¬‚­‚È‚Á‚½B", "%^s starts moving faster."), m_name); + } +} + +int spell_RF6_HAND_DOOM(bool blind, cptr m_name, monster_type* m_ptr, int y, int x, int m_idx, bool learnable) +{ + int dam; + disturb(1, 1); + msg_format(_("%^s‚ª<”j–Å‚ÌŽè>‚ð•ú‚Á‚½I", "%^s invokes the Hand of Doom!"), m_name); + dam = (((s32b)((40 + randint1(20)) * (p_ptr->chp))) / 100); + breath(y, x, m_idx, GF_HAND_DOOM, dam, 0, FALSE, MS_HAND_DOOM, learnable); + return dam; +} + +void spell_RF6_HEAL(bool blind, bool seen, cptr m_name, monster_type* m_ptr,int rlev, int m_idx) +{ + disturb(1, 1); + + /* Message */ + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else + msg_format(_("%^s‚ªŽ©•ª‚̏‚ɏW’†‚µ‚½B", "%^s concentrates on %s wounds."), m_name); + + /* Heal some */ + m_ptr->hp += (rlev * 6); + + /* Fully healed */ + if (m_ptr->hp >= m_ptr->maxhp) + { + /* Fully healed */ + m_ptr->hp = m_ptr->maxhp; + + /* Message */ + if (seen) + msg_format(_("%^s‚ÍŠ®‘S‚ÉŽ¡‚Á‚½I", "%^s looks completely healed!"), m_name); + else + msg_format(_("%^s‚ÍŠ®‘S‚ÉŽ¡‚Á‚½‚悤‚¾I", "%^s sounds completely healed!"), m_name); + } + + /* Partially healed */ + else + { + /* Message */ + if (seen) + msg_format(_("%^s‚Í‘Ì—Í‚ð‰ñ•œ‚µ‚½‚悤‚¾B", "%^s looks healthier."), m_name); + else + msg_format(_("%^s‚Í‘Ì—Í‚ð‰ñ•œ‚µ‚½‚悤‚¾B", "%^s sounds healthier."), m_name); + } + + /* Redraw (later) if needed */ + if (p_ptr->health_who == m_idx) p_ptr->redraw |= (PR_HEALTH); + if (p_ptr->riding == m_idx) p_ptr->redraw |= (PR_UHEALTH); + + /* Cancel fear */ + if (MON_MONFEAR(m_ptr)) + { + /* Cancel fear */ + (void)set_monster_monfear(m_idx, 0); + + /* Message */ + msg_format(_("%^s‚Í—E‹C‚ðŽæ‚è–ß‚µ‚½B", "%^s recovers %s courage."), m_name); + } +} +void spell_RF6_INVULNER(bool seen, cptr m_name, monster_type* m_ptr, int m_idx) +{ + disturb(1, 1); + + /* Message */ + if (!seen) + msg_format(_("%^s‚ª‰½‚©‚ð—Í‹­‚­‚‚Ԃ₢‚½B", "%^s mumbles powerfully."), m_name); + else + msg_format(_("%s‚Í–³‚Ì‹…‚ÌŽô•¶‚ð¥‚¦‚½B", "%^s casts a Globe of Invulnerability."), m_name); + + if (!MON_INVULNER(m_ptr)) (void)set_monster_invulner(m_idx, randint1(4) + 4, FALSE); +} + +void spell_RF6_BLINK(cptr m_name, int m_idx) +{ + disturb(1, 1); + if (teleport_barrier(m_idx)) + { + msg_format(_("–‚–@‚̃oƒŠƒA‚ª%^s‚̃eƒŒƒ|[ƒg‚ðŽ×–‚‚µ‚½B", + "Magic barrier obstructs teleporting of %^s."), m_name); + } + else + { + msg_format(_("%^s‚ªuŽž‚ɏÁ‚¦‚½B", "%^s blinks away."), m_name); + teleport_away(m_idx, 10, 0L); + p_ptr->update |= (PU_MONSTERS); + } +} + +void spell_RF6_TPORT(cptr m_name, int m_idx) +{ + disturb(1, 1); + if (teleport_barrier(m_idx)) + { + msg_format(_("–‚–@‚̃oƒŠƒA‚ª%^s‚̃eƒŒƒ|[ƒg‚ðŽ×–‚‚µ‚½B", + "Magic barrier obstructs teleporting of %^s."), m_name); + } + else + { + msg_format(_("%^s‚ªƒeƒŒƒ|[ƒg‚µ‚½B", "%^s teleports away."), m_name); + teleport_away_followable(m_idx); + } +} + +int spell_RF6_WORLD(cptr m_name, monster_type* m_ptr, int m_idx) +{ + int who = 0; + disturb(1, 1); + if (m_ptr->r_idx == MON_DIO) who = 1; + else if (m_ptr->r_idx == MON_WONG) who = 3; + if (!process_the_world(randint1(2) + 2, who, TRUE)) return (FALSE); + return who; +} + +int spell_RF6_SPECIAL(cptr m_name, monster_type* m_ptr, monster_race* r_ptr, u32b mode, bool blind, bool direct, int y, int x, int m_idx) +{ + int k, dam, count=0; + + disturb(1, 1); + switch (m_ptr->r_idx) + { + case MON_OHMU: + /* Moved to process_monster(), like multiplication */ + return -1; + case MON_BANORLUPART: + { + int dummy_hp = (m_ptr->hp + 1) / 2; + int dummy_maxhp = m_ptr->maxhp / 2; + int dummy_y = m_ptr->fy; + int dummy_x = m_ptr->fx; + + if (p_ptr->inside_arena || p_ptr->inside_battle || !summon_possible(m_ptr->fy, m_ptr->fx)) return -1; + delete_monster_idx(cave[m_ptr->fy][m_ptr->fx].m_idx); + summon_named_creature(0, dummy_y, dummy_x, MON_BANOR, mode); + m_list[hack_m_idx_ii].hp = dummy_hp; + m_list[hack_m_idx_ii].maxhp = dummy_maxhp; + summon_named_creature(0, dummy_y, dummy_x, MON_LUPART, mode); + m_list[hack_m_idx_ii].hp = dummy_hp; + m_list[hack_m_idx_ii].maxhp = dummy_maxhp; + + msg_print(_("wƒo[ƒm[ƒ‹Eƒ‹ƒp[ƒgx‚ª•ª—ô‚µ‚½I","Banor=Rupart splits in two person!")); + break; + } + + case MON_BANOR: + case MON_LUPART: + { + int dummy_hp = 0; + int dummy_maxhp = 0; + int dummy_y = m_ptr->fy; + int dummy_x = m_ptr->fx; + + if (!r_info[MON_BANOR].cur_num || !r_info[MON_LUPART].cur_num) return (FALSE); + for (k = 1; k < m_max; k++) + { + if (m_list[k].r_idx == MON_BANOR || m_list[k].r_idx == MON_LUPART) + { + dummy_hp += m_list[k].hp; + dummy_maxhp += m_list[k].maxhp; + if (m_list[k].r_idx != m_ptr->r_idx) + { + dummy_y = m_list[k].fy; + dummy_x = m_list[k].fx; + } + delete_monster_idx(k); + } + } + summon_named_creature(0, dummy_y, dummy_x, MON_BANORLUPART, mode); + m_list[hack_m_idx_ii].hp = dummy_hp; + m_list[hack_m_idx_ii].maxhp = dummy_maxhp; + + msg_print(_("wƒo[ƒm[ƒ‹x‚Ɓwƒ‹ƒp[ƒgx‚ª‡‘Ì‚µ‚½I", "Banor and Rupart combine into one!")); + break; + } + + case MON_ROLENTO: + if (blind) + msg_format(_("%^s‚ª‰½‚©‘å—Ê‚É“Š‚°‚½B", "%^s spreads something."), m_name); + else + msg_format(_("%^s‚ÍŽèžÖ’e‚ð‚΂ç‚Ü‚¢‚½B", "%^s throws some hand grenades."), m_name); + + { + int num = 1 + randint1(3); + + for (k = 0; k < num; k++) + { + count += summon_named_creature(m_idx, y, x, MON_SHURYUUDAN, mode); + } + } + + if (blind && count) + msg_print(_("‘½‚­‚Ì‚à‚Ì‚ªŠÔ‹ß‚ɂ΂ç‚Ü‚©‚ê‚鉹‚ª‚·‚éB", "You hear many things are scattered nearby.")); + + break; + + default: + if (r_ptr->d_char == 'B') + { + disturb(1, 1); + if (one_in_(3) || !direct) + { + msg_format(_("%^s‚Í“Ë‘RŽ‹ŠE‚©‚çÁ‚¦‚½!", "%^s suddenly go out of your sight!"), m_name); + teleport_away(m_idx, 10, TELEPORT_NONMAGICAL); + p_ptr->update |= (PU_MONSTERS); + } + else + { + int get_damage = 0; + bool fear; /* dummy */ + + msg_format(_("%^s‚ª‚ ‚È‚½‚ð’Í‚ñ‚ŋ󒆂©‚ç“Š‚°—Ž‚Æ‚µ‚½B", + "%^s holds you, and drops from the sky."), m_name); + dam = damroll(4, 8); + teleport_player_to(m_ptr->fy, m_ptr->fx, TELEPORT_NONMAGICAL | TELEPORT_PASSIVE); + + sound(SOUND_FALL); + + if (p_ptr->levitation) + { + msg_print(_("‚ ‚È‚½‚͐©‚É’…’n‚µ‚½B", "You float gently down to the ground.")); + } + else + { + msg_print(_("‚ ‚È‚½‚Í’n–Ê‚É’@‚«‚‚¯‚ç‚ꂽB", "You crashed into the ground.")); + dam += damroll(6, 8); + } + + /* Mega hack -- this special action deals damage to the player. Therefore the code of "eyeeye" is necessary. + -- henkma + */ + get_damage = take_hit(DAMAGE_NOESCAPE, dam, m_name, -1); + if (p_ptr->tim_eyeeye && get_damage > 0 && !p_ptr->is_dead) + { +#ifdef JP + msg_format("UŒ‚‚ª%sŽ©g‚ð‚Â‚¯‚½I", m_name); +#else + char m_name_self[80]; + + /* hisself */ + monster_desc(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 + project(0, 0, m_ptr->fy, m_ptr->fx, get_damage, GF_MISSILE, PROJECT_KILL, -1); + set_tim_eyeeye(p_ptr->tim_eyeeye - 5, TRUE); + } + + if (p_ptr->riding) mon_take_hit_mon(p_ptr->riding, dam, &fear, extract_note_dies(real_r_ptr(&m_list[p_ptr->riding])), m_idx); + } + break; + } + + /* Something is wrong */ + else return -1; + } + return dam; +} + + +void spell_RF6_TELE_TO(cptr m_name, monster_type* m_ptr) +{ + disturb(1, 1); + msg_format(_("%^s‚ª‚ ‚È‚½‚ðˆø‚«–ß‚µ‚½B", "%^s commands you to return."), m_name); + + teleport_player_to(m_ptr->fy, m_ptr->fx, TELEPORT_PASSIVE); + learn_spell(MS_TELE_TO); +} + +void spell_RF6_TELE_AWAY(cptr m_name, int m_idx) +{ + disturb(1, 1); + + msg_format(_("%^s‚ɃeƒŒƒ|[ƒg‚³‚¹‚ç‚ꂽB", "%^s teleports you away."), m_name); + if ((p_ptr->pseikaku == SEIKAKU_COMBAT) || (inventory[INVEN_BOW].name1 == ART_CRIMSON)) + msg_print(_("‚­‚Á‚»`", "")); + + learn_spell(MS_TELE_AWAY); + teleport_player_away(m_idx, 100); +} + +void spell_RF6_TELE_LEVEL(bool blind, cptr m_name, int m_idx, int rlev) +{ + disturb(1, 1); + + if (blind) + msg_format(_("%^s‚ª‰½‚©Šï–­‚ÈŒ¾—t‚ð‚‚Ԃ₢‚½B", "%^s mumbles strangely."), m_name); + else + msg_format(_("%^s‚ª‚ ‚È‚½‚Ì‘«‚ðŽw‚³‚µ‚½B", "%^s gestures at your feet."), m_name); + + if (p_ptr->resist_nexus) + { + msg_print(_("‚µ‚©‚µŒø‰Ê‚ª‚È‚©‚Á‚½I", "You are unaffected!")); + } + else if (randint0(100 + rlev / 2) < p_ptr->skill_sav) + { + msg_print(_("‚µ‚©‚µŒø—͂𒵂˕Ԃµ‚½I", "You resist the effects!")); + } + else + { + teleport_level(0); + } + learn_spell(MS_TELE_LEVEL); + update_smart_learn(m_idx, DRS_NEXUS); +} + +int spell_RF6_PSY_SPEAR(bool blind, cptr m_name, monster_race* r_ptr, int rlev, int m_idx, bool learnable) +{ + int dam; + disturb(1, 1); + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else + msg_format(_("%^s‚ªŒõ‚ÌŒ•‚ð•ú‚Á‚½B", "%^s throw a Psycho-Spear."), m_name); + + dam = (r_ptr->flags2 & RF2_POWERFUL) ? (randint1(rlev * 2) + 150) : (randint1(rlev * 3 / 2) + 100); + beam(m_idx, GF_PSY_SPEAR, dam, MS_PSY_SPEAR, learnable); + return dam; +} + +void spell_RF6_DARKNESS(bool blind, cptr m_name, bool can_use_lite_area) +{ + disturb(1, 1); + + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else if (can_use_lite_area) + msg_format(_("%^s‚ª•Ó‚è‚𖾂邭Æ‚炵‚½B", "%^s cast a spell to light up."), m_name); + else + msg_format(_("%^s‚ªˆÃˆÅ‚Ì’†‚ÅŽè‚ðU‚Á‚½B", "%^s gestures in shadow."), m_name); + + if (can_use_lite_area) (void)lite_area(0, 3); + else + { + learn_spell(MS_DARKNESS); + (void)unlite_area(0, 3); + } +} + +void spell_RF6_TRAPS(bool blind, cptr m_name, int y, int x) +{ + disturb(1, 1); + + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚Ď׈«‚É”÷Î‚ñ‚¾B", + "%^s mumbles, and then cackles evilly."), m_name); + else + msg_format(_("%^s‚ªŽô•¶‚ð¥‚¦‚Ď׈«‚É”÷Î‚ñ‚¾B", + "%^s casts a spell and cackles evilly."), m_name); + + learn_spell(MS_MAKE_TRAP); + (void)trap_creation(y, x); +} + +void spell_RF6_FORGET(cptr m_name, int rlev) +{ + disturb(1, 1); + + msg_format(_("%^s‚ª‚ ‚È‚½‚Ì‹L‰¯‚ðÁ‹Ž‚µ‚悤‚Æ‚µ‚Ä‚¢‚éB", + "%^s tries to blank your mind."), m_name); + + if (randint0(100 + rlev / 2) < p_ptr->skill_sav) + { + msg_print(_("‚µ‚©‚µŒø—͂𒵂˕Ԃµ‚½I", "You resist the effects!")); + } + else if (lose_all_info()) + { + msg_print(_("‹L‰¯‚ª”–‚ê‚Ä‚µ‚Ü‚Á‚½B", "Your memories fade away.")); + } + learn_spell(MS_FORGET); +} + +void spell_RF6_RAISE_DEAD(bool blind, cptr m_name, int m_idx, monster_type* m_ptr) +{ + disturb(1, 1); + + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else + msg_format(_("%^s‚ªŽ€ŽÒ•œŠˆ‚ÌŽô•¶‚ð¥‚¦‚½B", + "%^s casts a spell to revive corpses."), m_name); + + animate_dead(m_idx, m_ptr->fy, m_ptr->fx); +} + +void spell_RF6_S_KIN(bool blind, cptr m_name, monster_type* m_ptr, monster_race* r_ptr, int m_idx, int y, int x, int rlev, u32b mode) +{ + int count = 0, k; + disturb(1, 1); + if (m_ptr->r_idx == MON_SERPENT || m_ptr->r_idx == MON_ZOMBI_SERPENT) + { + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else + msg_format(_("%^s‚ªƒ_ƒ“ƒWƒ‡ƒ“‚ÌŽå‚ð¢Š«‚µ‚½B", + "%^s magically summons guardians of dungeons."), m_name); + } + else + { + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else +#ifdef JP + msg_format("%^s‚Í–‚–@‚Å%s‚ð¢Š«‚µ‚½B", + m_name, + ((r_ptr->flags1) & RF1_UNIQUE ? + "Žè‰º" : "’‡ŠÔ")); +#else + msg_format("%^s magically summons %s %s.", + m_name, m_poss, + ((r_ptr->flags1) & RF1_UNIQUE ? + "minions" : "kin")); +#endif + } + + switch (m_ptr->r_idx) + { + case MON_MENELDOR: + case MON_GWAIHIR: + case MON_THORONDOR: + { + int num = 4 + randint1(3); + for (k = 0; k < num; k++) + { + count += summon_specific(m_idx, y, x, rlev, SUMMON_EAGLES, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE)); + } + } + break; + + case MON_BULLGATES: + { + int num = 2 + randint1(3); + for (k = 0; k < num; k++) + { + count += summon_named_creature(m_idx, y, x, MON_IE, mode); + } + } + break; + + case MON_SERPENT: + case MON_ZOMBI_SERPENT: + { + int num = 2 + randint1(3); + + if (r_info[MON_JORMUNGAND].cur_num < r_info[MON_JORMUNGAND].max_num && one_in_(6)) + { + msg_print(_("’n–Ê‚©‚琅‚ª‚«o‚µ‚½I", "Water blew off from the ground!")); + fire_ball_hide(GF_WATER_FLOW, 0, 3, 8); + } + + for (k = 0; k < num; k++) + { + count += summon_specific(m_idx, y, x, rlev, SUMMON_GUARDIANS, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE)); + } + } + break; + + case MON_CALDARM: + { + int num = randint1(3); + for (k = 0; k < num; k++) + { + count += summon_named_creature(m_idx, y, x, MON_LOCKE_CLONE, mode); + } + } + break; + + case MON_LOUSY: + { + int num = 2 + randint1(3); + for (k = 0; k < num; k++) + { + count += summon_specific(m_idx, y, x, rlev, SUMMON_LOUSE, PM_ALLOW_GROUP); + } + } + break; + + default: + summon_kin_type = r_ptr->d_char; /* Big hack */ + + for (k = 0; k < 4; k++) + { + count += summon_specific(m_idx, y, x, rlev, SUMMON_KIN, PM_ALLOW_GROUP); + } + break; + } + + if (blind && count) + msg_print(_("‘½‚­‚Ì‚à‚Ì‚ªŠÔ‹ß‚ÉŒ»‚ꂽ‰¹‚ª‚·‚éB", "You hear many things appear nearby.")); +} + +void spell_RF6_S_CYBER(bool blind, cptr m_name, int m_idx, int y, int x) +{ + int count = 0; + disturb(1, 1); + + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else + msg_format(_("%^s‚ªƒTƒCƒo[ƒf[ƒ‚ƒ“‚ð¢Š«‚µ‚½I", + "%^s magically summons Cyberdemons!"), m_name); + + count = summon_cyber(m_idx, y, x); + + if (blind && count) + msg_print(_("dŒú‚È‘«‰¹‚ª‹ß‚­‚Å•·‚±‚¦‚éB", "You hear heavy steps nearby.")); +} + +void spell_RF6_S_MONSTER(bool blind, cptr m_name, int m_idx, int y, int x, int rlev) +{ + int k, count = 0; + disturb(1, 1); + + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else + msg_format(_("%^s‚ª–‚–@‚Å’‡ŠÔ‚ð¢Š«‚µ‚½I", "%^s magically summons help!"), m_name); + + for (k = 0; k < 1; k++) + { + count += summon_specific(m_idx, y, x, rlev, 0, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE)); + } + if (blind && count) + msg_print(_("‰½‚©‚ªŠÔ‹ß‚ÉŒ»‚ꂽ‰¹‚ª‚·‚éB", "You hear something appear nearby.")); +} + +void spell_RF6_S_MONSTERS(bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_6) +{ + int k, count = 0; + disturb(1, 1); + + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else + msg_format(_("%^s‚ª–‚–@‚Ń‚ƒ“ƒXƒ^[‚ð¢Š«‚µ‚½I", "%^s magically summons monsters!"), m_name); + + for (k = 0; k < s_num_6; k++) + { + count += summon_specific(m_idx, y, x, rlev, 0, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE)); + } + + if (blind && count) + msg_print(_("‘½‚­‚Ì‚à‚Ì‚ªŠÔ‹ß‚ÉŒ»‚ꂽ‰¹‚ª‚·‚éB", "You hear many things appear nearby.")); +} + +void spell_RF6_S_ANT(bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_6) +{ + int k, count = 0; + disturb(1, 1); + + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else + msg_format(_("%^s‚ª–‚–@‚ŃAƒŠ‚ð¢Š«‚µ‚½B", "%^s magically summons ants."), m_name); + + for (k = 0; k < s_num_6; k++) + { + count += summon_specific(m_idx, y, x, rlev, SUMMON_ANT, PM_ALLOW_GROUP); + } + + if (blind && count) + msg_print(_("‘½‚­‚Ì‚à‚Ì‚ªŠÔ‹ß‚ÉŒ»‚ꂽ‰¹‚ª‚·‚éB", "You hear many things appear nearby.")); +} + +void spell_RF6_S_SPIDER(bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_6) +{ + int k, count = 0; + disturb(1, 1); + + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else + msg_format(_("%^s‚ª–‚–@‚ŃNƒ‚‚ð¢Š«‚µ‚½B", "%^s magically summons spiders."), m_name); + + for (k = 0; k < s_num_6; k++) + { + count += summon_specific(m_idx, y, x, rlev, SUMMON_SPIDER, PM_ALLOW_GROUP); + } + + if (blind && count) + msg_print(_("‘½‚­‚Ì‚à‚Ì‚ªŠÔ‹ß‚ÉŒ»‚ꂽ‰¹‚ª‚·‚éB", "You hear many things appear nearby.")); +} + +void spell_RF6_S_HOUND(bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_4) +{ + int k, count = 0; + disturb(1, 1); + + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else + msg_format(_("%^s‚ª–‚–@‚ŃnƒEƒ“ƒh‚ð¢Š«‚µ‚½B", "%^s magically summons hounds."), m_name); + + for (k = 0; k < s_num_4; k++) + { + count += summon_specific(m_idx, y, x, rlev, SUMMON_HOUND, PM_ALLOW_GROUP); + } + + if (blind && count) + msg_print(_("‘½‚­‚Ì‚à‚Ì‚ªŠÔ‹ß‚ÉŒ»‚ꂽ‰¹‚ª‚·‚éB", "You hear many things appear nearby.")); +} + +void spell_RF6_S_HYDRA(bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_4) +{ + int k, count = 0; + disturb(1, 1); + + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else + msg_format(_("%^s‚ª–‚–@‚Ńqƒhƒ‰‚ð¢Š«‚µ‚½B", "%^s magically summons hydras."), m_name); + + for (k = 0; k < s_num_4; k++) + { + count += summon_specific(m_idx, y, x, rlev, SUMMON_HYDRA, PM_ALLOW_GROUP); + } + if (blind && count) + msg_print(_("‘½‚­‚Ì‚à‚Ì‚ªŠÔ‹ß‚ÉŒ»‚ꂽ‰¹‚ª‚·‚éB", "You hear many things appear nearby.")); +} + +void spell_RF6_S_ANGEL(bool blind, cptr m_name, monster_race* r_ptr, int m_idx, int y, int x, int rlev) +{ + int k, count = 0; + int num = 1; + + disturb(1, 1); + + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else + msg_format(_("%^s‚ª–‚–@‚Å“VŽg‚ð¢Š«‚µ‚½I", "%^s magically summons an angel!"), m_name); + + if ((r_ptr->flags1 & RF1_UNIQUE) && !easy_band) + { + num += r_ptr->level / 40; + } + + for (k = 0; k < num; k++) + { + count += summon_specific(m_idx, y, x, rlev, SUMMON_ANGEL, PM_ALLOW_GROUP); + } + + if (count < 2) + { + if (blind && count) + msg_print(_("‰½‚©‚ªŠÔ‹ß‚ÉŒ»‚ꂽ‰¹‚ª‚·‚éB", "You hear something appear nearby.")); + } + else + { + if (blind) + msg_print(_("‘½‚­‚Ì‚à‚Ì‚ªŠÔ‹ß‚ÉŒ»‚ꂽ‰¹‚ª‚·‚éB", "You hear many things appear nearby.")); + } +} + +void spell_RF6_S_DEMON(bool blind, cptr m_name, int m_idx, int y, int x, int rlev) +{ + int k, count = 0; + disturb(1, 1); + + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else + msg_format(_("%^s‚Í–‚–@‚ō¬“ׂ̋{’ì‚©‚爫–‚‚ð¢Š«‚µ‚½I", + "%^s magically summons a demon from the Courts of Chaos!"), m_name); + + for (k = 0; k < 1; k++) + { + count += summon_specific(m_idx, y, x, rlev, SUMMON_DEMON, PM_ALLOW_GROUP); + } + + if (blind && count) + msg_print(_("‰½‚©‚ªŠÔ‹ß‚ÉŒ»‚ꂽ‰¹‚ª‚·‚éB", "You hear something appear nearby.")); +} + +void spell_RF6_S_UNDEAD(bool blind, cptr m_name, int m_idx, int y, int x, int rlev) +{ + int k, count = 0; + disturb(1, 1); + + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else + msg_format(_("%^s‚ª–‚–@‚ŃAƒ“ƒfƒbƒh‚Ì‹­“G‚ð¢Š«‚µ‚½I", + "%^s magically summons an undead adversary!"), m_name); + + for (k = 0; k < 1; k++) + { + count += summon_specific(m_idx, y, x, rlev, SUMMON_UNDEAD, PM_ALLOW_GROUP); + } + + if (blind && count) + msg_print(_("‰½‚©‚ªŠÔ‹ß‚ÉŒ»‚ꂽ‰¹‚ª‚·‚éB", "You hear something appear nearby.")); +} + +void spell_RF6_S_DRAGON(bool blind, cptr m_name, int m_idx, int y, int x, int rlev) +{ + int k, count = 0; + disturb(1, 1); + + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else + msg_format(_("%^s‚ª–‚–@‚Ńhƒ‰ƒSƒ“‚ð¢Š«‚µ‚½I", "%^s magically summons a dragon!"), m_name); + + for (k = 0; k < 1; k++) + { + count += summon_specific(m_idx, y, x, rlev, SUMMON_DRAGON, PM_ALLOW_GROUP); + } + if (blind && count) + msg_print(_("‰½‚©‚ªŠÔ‹ß‚ÉŒ»‚ꂽ‰¹‚ª‚·‚éB", "You hear something appear nearby.")); +} + +void spell_RF6_S_HI_UNDEAD(monster_type* m_ptr, bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_6, u32b mode) +{ + int k, count = 0; + disturb(1, 1); + + if (((m_ptr->r_idx == MON_MORGOTH) || (m_ptr->r_idx == MON_SAURON) || (m_ptr->r_idx == MON_ANGMAR)) && ((r_info[MON_NAZGUL].cur_num + 2) < r_info[MON_NAZGUL].max_num)) + { + int cy = y; + int cx = x; + + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else + msg_format(_("%^s‚ª–‚–@‚Å—H‹Sí‘à‚ð¢Š«‚µ‚½I", "%^s magically summons rangers of Nazgul!"), m_name); + + msg_print(NULL); + + for (k = 0; k < 30; k++) + { + if (!summon_possible(cy, cx) || !cave_empty_bold(cy, cx)) + { + int j; + for (j = 100; j > 0; j--) + { + scatter(&cy, &cx, y, x, 2, 0); + if (cave_empty_bold(cy, cx)) break; + } + if (!j) break; + } + if (!cave_empty_bold(cy, cx)) continue; + + if (summon_named_creature(m_idx, cy, cx, MON_NAZGUL, mode)) + { + y = cy; + x = cx; + count++; + if (count == 1) + msg_format(_("u—H‹Sí‘à%d†AƒiƒYƒOƒ‹Eƒuƒ‰ƒbƒNIv", + "A Nazgul says 'Nazgul-Rangers Number %d, Nazgul-Black!'"), count); + else + msg_format(_("u“¯‚¶‚­%d†AƒiƒYƒOƒ‹Eƒuƒ‰ƒbƒNIv", + "Another one says 'Number %d, Nazgul-Black!'"), count); + + msg_print(NULL); + } + } + msg_format(_("u%dl‚»‚ë‚Á‚āAƒŠƒ“ƒOƒŒƒ“ƒWƒƒ[Iv", + "They say 'The %d meets! We are the Ring-Ranger!'."), count); + msg_print(NULL); + } + else + { + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else + msg_format(_("%^s‚ª–‚–@‚Å‹­—͂ȃAƒ“ƒfƒbƒh‚ð¢Š«‚µ‚½I", + "%^s magically summons greater undead!"), m_name); + + for (k = 0; k < s_num_6; k++) + { + count += summon_specific(m_idx, y, x, rlev, SUMMON_HI_UNDEAD, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE)); + } + } + if (blind && count) + { + msg_print(_("ŠÔ‹ß‚ʼn½‚©‘½‚­‚Ì‚à‚Ì‚ª”‡‚¢‰ñ‚鉹‚ª•·‚±‚¦‚éB", + "You hear many creepy things appear nearby.")); + } +} + + +void spell_RF6_S_HI_DRAGON(bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_4) +{ + int k, count = 0; + disturb(1, 1); + + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else + msg_format(_("%^s‚ª–‚–@‚ŌÑãƒhƒ‰ƒSƒ“‚ð¢Š«‚µ‚½I", "%^s magically summons ancient dragons!"), m_name); + + for (k = 0; k < s_num_4; k++) + { + count += summon_specific(m_idx, y, x, rlev, SUMMON_HI_DRAGON, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE)); + } + if (blind && count) + { + msg_print(_("‘½‚­‚Ì—Í‹­‚¢‚à‚Ì‚ªŠÔ‹ß‚ÉŒ»‚ꂽ‰¹‚ª•·‚±‚¦‚éB", + "You hear many powerful things appear nearby.")); + } +} + +void spell_RF6_S_AMBERITES(bool blind, cptr m_name, int m_idx, int y, int x, int rlev, int s_num_4) +{ + int k, count = 0; + disturb(1, 1); + + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else + msg_format(_("%^s‚ªƒAƒ“ƒo[‚̉¤‘°‚ð¢Š«‚µ‚½I", "%^s magically summons Lords of Amber!"), m_name); + + for (k = 0; k < s_num_4; k++) + { + count += summon_specific(m_idx, y, x, rlev, SUMMON_AMBERITES, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE)); + } + if (blind && count) + { + msg_print(_("•sŽ€‚ÌŽÒ‚ª‹ß‚­‚ÉŒ»‚ê‚é‚Ì‚ª•·‚±‚¦‚½B", "You hear immortal beings appear nearby.")); + } +} + +void spell_RF6_S_UNIQUE(bool blind, cptr m_name, int m_idx, monster_type* m_ptr, int y, int x, int rlev, int s_num_4) +{ + int k, count = 0; + bool uniques_are_summoned = FALSE; + int non_unique_type = SUMMON_HI_UNDEAD; + + disturb(1, 1); + + if (blind) + msg_format(_("%^s‚ª‰½‚©‚ð‚‚Ԃ₢‚½B", "%^s mumbles."), m_name); + else + msg_format(_("%^s‚ª–‚–@‚Å“Á•Ê‚È‹­“G‚ð¢Š«‚µ‚½I", "%^s magically summons special opponents!"), m_name); + + for (k = 0; k < s_num_4; k++) + { + count += summon_specific(m_idx, y, x, rlev, SUMMON_UNIQUE, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE)); + } + + if (count) uniques_are_summoned = TRUE; + + if ((m_ptr->sub_align & (SUB_ALIGN_GOOD | SUB_ALIGN_EVIL)) == (SUB_ALIGN_GOOD | SUB_ALIGN_EVIL)) + non_unique_type = 0; + else if (m_ptr->sub_align & SUB_ALIGN_GOOD) + non_unique_type = SUMMON_ANGEL; + + for (k = count; k < s_num_4; k++) + { + count += summon_specific(m_idx, y, x, rlev, non_unique_type, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE)); + } + + if (blind && count) + { + msg_format(_("‘½‚­‚Ì%s‚ªŠÔ‹ß‚ÉŒ»‚ꂽ‰¹‚ª•·‚±‚¦‚éB", "You hear many %s appear nearby."), + uniques_are_summoned ? _("—Í‹­‚¢‚à‚Ì", "powerful things") : _("‚à‚Ì", "things")); + } +} +