OSDN Git Service

refactor: remove learnable from arguments
authordis- <dis.rogue@gmail.com>
Wed, 19 Feb 2014 06:48:27 +0000 (15:48 +0900)
committerdis- <dis.rogue@gmail.com>
Wed, 19 Feb 2014 06:48:27 +0000 (15:48 +0900)
src/externs.h
src/monster2.c
src/mspells1.c
src/mspells2.c
src/mspells4.c
src/xtra2.c

index 46d9e4f..91be5db 100644 (file)
@@ -1531,7 +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);
+extern void beam(int m_idx, int typ, int dam_hp, int monspell);
 
 /* mspells2.c */
 extern void get_project_point(int sy, int sx, int *ty, int *tx, int flg);
@@ -1574,11 +1574,11 @@ extern void do_cmd_mind_browse(void);
 
 /* mane.c */
 extern bool do_cmd_mane(bool baigaesi);
-extern void bolt(int m_idx, int typ, int dam_hp, int monspell, bool learnable);
-extern void breath(int y, int x, int m_idx, int typ, int dam_hp, int rad, bool breath, int monspell, bool learnable);
+extern void bolt(int m_idx, int typ, int dam_hp, int monspell);
+extern void breath(int y, int x, int m_idx, int typ, int dam_hp, int rad, bool breath, int monspell);
 
 /* mspells2.c */
-extern void monst_breath_monst(int m_idx, int y, int x, int typ, int dam_hp, int rad, bool breath, int monspell, bool learnable);
+extern void monst_breath_monst(int m_idx, int y, int x, int typ, int dam_hp, int rad, bool breath, int monspell);
 
 /* mspells3.c */
 extern bool do_cmd_cast_learned(void);
@@ -1586,6 +1586,7 @@ extern void learn_spell(int monspell);
 extern void set_rf_masks(s32b *f4, s32b *f5, s32b *f6, int mode);
 
 /* mspells4.c */
+extern bool spell_learnable(int m_idx);
 
 /* spells monster to player */
 extern void MP_spell_RF4_SHRIEK(int m_idx);
index dc3a414..14e89a7 100644 (file)
@@ -3681,7 +3681,7 @@ bool place_monster_aux(int who, int y, int x, int r_idx, u32b mode)
                n = damroll(r_ptr->reinforce_dd[i], r_ptr->reinforce_ds[i]);
                for(j = 0; j < n; j++)
                {
-                       int nx, ny, z, d = 7;
+                       int nx, ny, d = 7;
                        scatter(&ny, &nx, y, x, d, 0);
                        (void)place_monster_one(place_monster_m_idx, ny, nx, r_ptr->reinforce_id[i], mode);
                }
index cc4c3aa..2dac06d 100644 (file)
@@ -508,9 +508,10 @@ bool clean_shot(int y1, int x1, int y2, int x2, bool is_friend)
  * @param learnable ¥é¡¼¥Ë¥ó¥°²Äǽ¤«Èݤ«
  * @return ¤Ê¤·
  */
-void bolt(int m_idx, int typ, int dam_hp, int monspell, bool learnable)
+void bolt(int m_idx, int typ, int dam_hp, int monspell)
 {
-       int flg = PROJECT_STOP | PROJECT_KILL | PROJECT_PLAYER;
+    int flg = PROJECT_STOP | PROJECT_KILL | PROJECT_PLAYER;
+    bool learnable = spell_learnable(m_idx);
        if (typ != GF_ARROW) flg  |= PROJECT_REFLECTABLE;
 
        /* Target the player with a bolt attack */
@@ -523,12 +524,12 @@ void bolt(int m_idx, int typ, int dam_hp, int monspell, bool learnable)
  * @param typ ¸ú²Ì°À­ID
  * @param dam_hp °ÒÎÏ
  * @param monspell ¥â¥ó¥¹¥¿¡¼ËâË¡¤ÎID
- * @param learnable ¥é¡¼¥Ë¥ó¥°²Äǽ¤«Èݤ«
  * @return ¤Ê¤·
  */
-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)
 {
-       int flg = PROJECT_BEAM | PROJECT_KILL | PROJECT_THRU | PROJECT_PLAYER;
+    int flg = PROJECT_BEAM | PROJECT_KILL | PROJECT_THRU | PROJECT_PLAYER;
+    bool learnable = spell_learnable(m_idx);
 
        /* Target the player with a bolt attack */
        (void)project(m_idx, 0, py, px, dam_hp, typ, flg, (learnable ? monspell : -1));
@@ -546,15 +547,15 @@ void beam(int m_idx, int typ, int dam_hp, int monspell, bool learnable)
  * @param rad È¾·Â
  * @param breath TRUE¤Ê¤é¤Ð¥Ö¥ì¥¹½èÍý¡¢FALSE¤Ê¤é¤Ð¥Ü¡¼¥ë½èÍý
  * @param monspell ¥â¥ó¥¹¥¿¡¼ËâË¡¤ÎID
- * @param learnable ¥é¡¼¥Ë¥ó¥°²Äǽ¤«Èݤ«
  * @return ¤Ê¤·
  */
-void breath(int y, int x, int m_idx, int typ, int dam_hp, int rad, bool breath, int monspell, bool learnable)
+void breath(int y, int x, int m_idx, int typ, int dam_hp, int rad, bool breath, int monspell)
 {
        int flg = PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL | PROJECT_PLAYER;
 
        monster_type *m_ptr = &m_list[m_idx];
        monster_race *r_ptr = &r_info[m_ptr->r_idx];
+    bool learnable = spell_learnable(m_idx);
 
        /* Determine the radius of the blast */
        if ((rad < 1) && breath) rad = (r_ptr->flags2 & (RF2_POWERFUL)) ? 3 : 2;
@@ -1439,9 +1440,7 @@ bool make_attack_spell(int m_idx)
 
        /* Extract the "see-able-ness" */
        bool seen = (!blind && m_ptr->ml);
-
        bool maneable = player_has_los_bold(m_ptr->fy, m_ptr->fx);
-       bool learnable = (seen && maneable && !world_monster);
 
        /* Check "projectable" */
        bool direct;
index 56e3b62..aba7e39 100644 (file)
  * @param rad È¾·Â
  * @param breath TRUE¤Ê¤é¤Ð¥Ö¥ì¥¹ / FALSE¤Ê¤é¤Ð¥Ü¡¼¥ë
  * @param monspell Æü칶·â¤ÎID
- * @param learnable ¥é¡¼¥Ë¥ó¥°²Äǽ¤ÊÁ°Äó¤¬Â·¤Ã¤Æ¤¤¤ë¤Ê¤é¤ÐTRUE
  * @return ¤Ê¤·
  * @details
  * Pass over any monsters that may be in the way
  * Affect grids, objects, monsters, and the player
  */
-void monst_breath_monst(int m_idx, int y, int x, int typ, int dam_hp, int rad, bool breath, int monspell, bool learnable)
+void monst_breath_monst(int m_idx, int y, int x, int typ, int dam_hp, int rad, bool breath, int monspell)
 {
        int flg = PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL;
+    bool learnable = spell_learnable(m_idx);
 
        monster_type *m_ptr = &m_list[m_idx];
        monster_race *r_ptr = &r_info[m_ptr->r_idx];
@@ -80,9 +80,11 @@ void monst_breath_monst(int m_idx, int y, int x, int typ, int dam_hp, int rad, b
  * Stop if we hit a monster
  * Affect monsters and the player
  */
-static void monst_bolt_monst(int m_idx, int y, int x, int typ, int dam_hp, int monspell, bool learnable)
+static void monst_bolt_monst(int m_idx, int y, int x, int typ, int dam_hp, int monspell)
 {
        int flg = PROJECT_STOP | PROJECT_KILL;
+    bool learnable = spell_learnable(m_idx);
+
        if (typ != GF_ARROW) flg |= PROJECT_REFLECTABLE;
        (void)project(m_idx, 0, y, x, dam_hp, typ, flg, (learnable ? monspell : -1));
 }
@@ -100,9 +102,10 @@ static void monst_bolt_monst(int m_idx, int y, int x, int typ, int dam_hp, int m
  * @param learnable ¥é¡¼¥Ë¥ó¥°²Äǽ¤ÊÁ°Äó¤¬Â·¤Ã¤Æ¤¤¤ë¤Ê¤é¤ÐTRUE
  * @return ¤Ê¤·
  */
-static void monst_beam_monst(int m_idx, int y, int x, int typ, int dam_hp, int monspell, bool learnable)
+static void monst_beam_monst(int m_idx, int y, int x, int typ, int dam_hp, int monspell)
 {
        int flg = PROJECT_BEAM | PROJECT_KILL | PROJECT_THRU;
+    bool learnable = spell_learnable(m_idx);
 
        (void)project(m_idx, 0, y, x, dam_hp, typ, flg, (learnable ? monspell : -1));
 }
@@ -385,7 +388,6 @@ bool monst_spell_monst(int m_idx)
 
        bool see_m = is_seen(m_ptr);
        bool maneable = player_has_los_bold(m_ptr->fy, m_ptr->fx);
-       bool learnable = (m_ptr->ml && maneable && !world_monster);
        bool see_t;
        bool see_either;
        bool known;
@@ -859,7 +861,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = damroll(r_ptr->blow[0].d_dice, r_ptr->blow[0].d_side);
-               monst_bolt_monst(m_idx, y, x, GF_ARROW, dam, MS_SHOOT, learnable);
+               monst_bolt_monst(m_idx, y, x, GF_ARROW, dam, MS_SHOOT);
 
                break;
 
@@ -905,7 +907,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = ((m_ptr->hp / 3) > 1600 ? 1600 : (m_ptr->hp / 3));
                monst_breath_monst(m_idx, y, x, GF_ACID,
-                                  dam,0, TRUE, MS_BR_ACID, learnable);
+                                  dam,0, TRUE, MS_BR_ACID);
 
                break;
 
@@ -936,7 +938,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = ((m_ptr->hp / 3) > 1600 ? 1600 : (m_ptr->hp / 3));
                monst_breath_monst(m_idx, y, x, GF_ELEC,
-                                  dam,0, TRUE, MS_BR_ELEC, learnable);
+                                  dam,0, TRUE, MS_BR_ELEC);
 
                break;
 
@@ -967,7 +969,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = ((m_ptr->hp / 3) > 1600 ? 1600 : (m_ptr->hp / 3));
                monst_breath_monst(m_idx, y, x, GF_FIRE,
-                                  dam,0, TRUE, MS_BR_FIRE, learnable);
+                                  dam,0, TRUE, MS_BR_FIRE);
 
                break;
 
@@ -998,7 +1000,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = ((m_ptr->hp / 3) > 1600 ? 1600 : (m_ptr->hp / 3));
                monst_breath_monst(m_idx, y, x, GF_COLD,
-                                  dam,0, TRUE, MS_BR_COLD, learnable);
+                                  dam,0, TRUE, MS_BR_COLD);
                break;
 
        /* RF4_BR_POIS */
@@ -1028,7 +1030,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = ((m_ptr->hp / 3) > 800 ? 800 : (m_ptr->hp / 3));
                monst_breath_monst(m_idx, y, x, GF_POIS,
-                                  dam,0, TRUE, MS_BR_POIS, learnable);
+                                  dam,0, TRUE, MS_BR_POIS);
 
                break;
 
@@ -1059,7 +1061,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = ((m_ptr->hp / 6) > 550 ? 550 : (m_ptr->hp / 6));
                monst_breath_monst(m_idx, y, x, GF_NETHER,
-                                  dam,0, TRUE, MS_BR_NETHER, learnable);
+                                  dam,0, TRUE, MS_BR_NETHER);
 
                break;
 
@@ -1090,7 +1092,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = ((m_ptr->hp / 6) > 400 ? 400 : (m_ptr->hp / 6));
                monst_breath_monst(m_idx, y, x, GF_LITE,
-                                  dam,0, TRUE, MS_BR_LITE, learnable);
+                                  dam,0, TRUE, MS_BR_LITE);
 
                break;
 
@@ -1121,7 +1123,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = ((m_ptr->hp / 6) > 400 ? 400 : (m_ptr->hp / 6));
                monst_breath_monst(m_idx, y, x, GF_DARK,
-                                  dam,0, TRUE, MS_BR_DARK, learnable);
+                                  dam,0, TRUE, MS_BR_DARK);
 
                break;
 
@@ -1152,7 +1154,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = ((m_ptr->hp / 6) > 450 ? 450 : (m_ptr->hp / 6));
                monst_breath_monst(m_idx, y, x, GF_CONFUSION,
-                                  dam,0, TRUE, MS_BR_CONF, learnable);
+                                  dam,0, TRUE, MS_BR_CONF);
 
                break;
 
@@ -1187,7 +1189,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = ((m_ptr->hp / 6) > 450 ? 450 : (m_ptr->hp / 6));
                monst_breath_monst(m_idx, y, x, GF_SOUND,
-                                  dam,0, TRUE, MS_BR_SOUND, learnable);
+                                  dam,0, TRUE, MS_BR_SOUND);
 
                break;
 
@@ -1218,7 +1220,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = ((m_ptr->hp / 6) > 600 ? 600 : (m_ptr->hp / 6));
                monst_breath_monst(m_idx, y, x, GF_CHAOS,
-                                  dam,0, TRUE, MS_BR_CHAOS, learnable);
+                                  dam,0, TRUE, MS_BR_CHAOS);
 
                break;
 
@@ -1249,7 +1251,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = ((m_ptr->hp / 6) > 500 ? 500 : (m_ptr->hp / 6));
                monst_breath_monst(m_idx, y, x, GF_DISENCHANT,
-                                  dam,0, TRUE, MS_BR_DISEN, learnable);
+                                  dam,0, TRUE, MS_BR_DISEN);
 
                break;
 
@@ -1280,7 +1282,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = ((m_ptr->hp / 3) > 250 ? 250 : (m_ptr->hp / 3));
                monst_breath_monst(m_idx, y, x, GF_NEXUS,
-                                  dam,0, TRUE, MS_BR_NEXUS, learnable);
+                                  dam,0, TRUE, MS_BR_NEXUS);
 
                break;
 
@@ -1311,7 +1313,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = ((m_ptr->hp / 3) > 150 ? 150 : (m_ptr->hp / 3));
                monst_breath_monst(m_idx, y, x, GF_TIME,
-                                  dam,0, TRUE, MS_BR_TIME, learnable);
+                                  dam,0, TRUE, MS_BR_TIME);
 
                break;
 
@@ -1342,7 +1344,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = ((m_ptr->hp / 6) > 200 ? 200 : (m_ptr->hp / 6));
                monst_breath_monst(m_idx, y, x, GF_INERTIA,
-                                  dam,0, TRUE, MS_BR_INERTIA, learnable);
+                                  dam,0, TRUE, MS_BR_INERTIA);
 
                break;
 
@@ -1373,7 +1375,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = ((m_ptr->hp / 3) > 200 ? 200 : (m_ptr->hp / 3));
                monst_breath_monst(m_idx, y, x, GF_GRAVITY,
-                                  dam,0, TRUE, MS_BR_GRAVITY, learnable);
+                                  dam,0, TRUE, MS_BR_GRAVITY);
 
                break;
 
@@ -1408,7 +1410,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = ((m_ptr->hp / 6) > 500 ? 500 : (m_ptr->hp / 6));
                monst_breath_monst(m_idx, y, x, GF_SHARDS,
-                                  dam,0, TRUE, MS_BR_SHARDS, learnable);
+                                  dam,0, TRUE, MS_BR_SHARDS);
 
                break;
 
@@ -1439,7 +1441,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = ((m_ptr->hp / 6) > 150 ? 150 : (m_ptr->hp / 6));
                monst_breath_monst(m_idx, y, x, GF_PLASMA,
-                                  dam,0, TRUE, MS_BR_PLASMA, learnable);
+                                  dam,0, TRUE, MS_BR_PLASMA);
 
                break;
 
@@ -1470,7 +1472,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = ((m_ptr->hp / 6) > 200 ? 200 : (m_ptr->hp / 6));
                monst_breath_monst(m_idx, y, x, GF_FORCE,
-                                  dam,0, TRUE, MS_BR_FORCE, learnable);
+                                  dam,0, TRUE, MS_BR_FORCE);
                break;
 
        /* RF4_BR_MANA */
@@ -1500,7 +1502,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = ((m_ptr->hp / 3) > 250 ? 250 : (m_ptr->hp / 3));
                monst_breath_monst(m_idx, y, x, GF_MANA,
-                                  dam,0, TRUE, MS_BR_MANA, learnable);
+                                  dam,0, TRUE, MS_BR_MANA);
 
                break;
 
@@ -1529,7 +1531,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = (rlev + damroll(10, 6));
                monst_breath_monst(m_idx, y, x, GF_NUKE,
-                                  dam, 2, FALSE, MS_BALL_NUKE, learnable);
+                                  dam, 2, FALSE, MS_BALL_NUKE);
 
                break;
 
@@ -1560,7 +1562,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = ((m_ptr->hp / 3) > 800 ? 800 : (m_ptr->hp / 3));
                monst_breath_monst(m_idx, y, x, GF_NUKE,
-                                  dam,0, TRUE, MS_BR_NUKE, learnable);
+                                  dam,0, TRUE, MS_BR_NUKE);
                break;
 
        /* RF4_BA_CHAO */
@@ -1588,7 +1590,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = (rlev * 2) + damroll(10, 10);
                monst_breath_monst(m_idx, y, x, GF_CHAOS,
-                                  dam, 4, FALSE, MS_BALL_CHAOS, learnable);
+                                  dam, 4, FALSE, MS_BALL_CHAOS);
 
                break;
 
@@ -1619,7 +1621,7 @@ bool monst_spell_monst(int m_idx)
 
                dam = ((m_ptr->hp / 6) > 150 ? 150 : (m_ptr->hp / 6));
                monst_breath_monst(m_idx, y, x, GF_DISINTEGRATE,
-                                  dam,0, TRUE, MS_BR_DISI, learnable);
+                                  dam,0, TRUE, MS_BR_DISI);
                break;
 
        /* RF5_BA_ACID */
@@ -1656,7 +1658,7 @@ bool monst_spell_monst(int m_idx)
                        rad = 2;
                        dam = (randint1(rlev * 3) + 15);
                }
-               monst_breath_monst(m_idx, y, x, GF_ACID, dam, rad, FALSE, MS_BALL_ACID, learnable);
+               monst_breath_monst(m_idx, y, x, GF_ACID, dam, rad, FALSE, MS_BALL_ACID);
                break;
 
        /* RF5_BA_ELEC */
@@ -1692,7 +1694,7 @@ bool monst_spell_monst(int m_idx)
                        rad = 2;
                        dam = (randint1(rlev * 3 / 2) + 8);
                }
-               monst_breath_monst(m_idx, y, x, GF_ELEC, dam, rad, FALSE, MS_BALL_ELEC, learnable);
+               monst_breath_monst(m_idx, y, x, GF_ELEC, dam, rad, FALSE, MS_BALL_ELEC);
                break;
 
        /* RF5_BA_FIRE */
@@ -1739,7 +1741,7 @@ bool monst_spell_monst(int m_idx)
                        rad = 2;
                        dam = (randint1(rlev * 7 / 2) + 10);
                }
-               monst_breath_monst(m_idx, y, x, GF_FIRE, dam, rad, FALSE, MS_BALL_FIRE, learnable);
+               monst_breath_monst(m_idx, y, x, GF_FIRE, dam, rad, FALSE, MS_BALL_FIRE);
                break;
 
        /* RF5_BA_COLD */
@@ -1776,7 +1778,7 @@ bool monst_spell_monst(int m_idx)
                        rad = 2;
                        dam = (randint1(rlev * 3 / 2) + 10);
                }
-               monst_breath_monst(m_idx, y, x, GF_COLD, dam, rad, FALSE, MS_BALL_COLD, learnable);
+               monst_breath_monst(m_idx, y, x, GF_COLD, dam, rad, FALSE, MS_BALL_COLD);
                break;
 
        /* RF5_BA_POIS */
@@ -1804,7 +1806,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = damroll(12, 2) * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1);
-               monst_breath_monst(m_idx, y, x, GF_POIS, dam, 2, FALSE, MS_BALL_POIS, learnable);
+               monst_breath_monst(m_idx, y, x, GF_POIS, dam, 2, FALSE, MS_BALL_POIS);
 
                break;
 
@@ -1832,7 +1834,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = 50 + damroll(10, 10) + (rlev * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1));
-               monst_breath_monst(m_idx, y, x, GF_NETHER, dam, 2, FALSE, MS_BALL_NETHER, learnable);
+               monst_breath_monst(m_idx, y, x, GF_NETHER, dam, 2, FALSE, MS_BALL_NETHER);
 
                break;
 
@@ -1862,7 +1864,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = ((r_ptr->flags2 & RF2_POWERFUL) ? randint1(rlev * 3) : randint1(rlev * 2)) + 50;
-               monst_breath_monst(m_idx, y, x, GF_WATER, dam, 4, FALSE, MS_BALL_WATER, learnable);
+               monst_breath_monst(m_idx, y, x, GF_WATER, dam, 4, FALSE, MS_BALL_WATER);
 
                break;
 
@@ -1890,7 +1892,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = (rlev * 4) + 50 + damroll(10, 10);
-               monst_breath_monst(m_idx, y, x, GF_MANA, dam, 4, FALSE, MS_BALL_MANA, learnable);
+               monst_breath_monst(m_idx, y, x, GF_MANA, dam, 4, FALSE, MS_BALL_MANA);
 
                break;
 
@@ -1918,7 +1920,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = (rlev * 4) + 50 + damroll(10, 10);
-               monst_breath_monst(m_idx, y, x, GF_DARK, dam, 4, FALSE, MS_BALL_DARK, learnable);
+               monst_breath_monst(m_idx, y, x, GF_DARK, dam, 4, FALSE, MS_BALL_DARK);
 
                break;
 
@@ -1931,7 +1933,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = ((randint1(rlev) / 2) + 1);
-               monst_breath_monst(m_idx, y, x, GF_DRAIN_MANA, dam, 0, FALSE, MS_DRAIN_MANA, learnable);
+               monst_breath_monst(m_idx, y, x, GF_DRAIN_MANA, dam, 0, FALSE, MS_DRAIN_MANA);
 
                break;
 
@@ -1943,7 +1945,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = damroll(7, 7);
-               monst_breath_monst(m_idx, y, x, GF_MIND_BLAST, dam, 0, FALSE, MS_MIND_BLAST, learnable);
+               monst_breath_monst(m_idx, y, x, GF_MIND_BLAST, dam, 0, FALSE, MS_MIND_BLAST);
 
                break;
 
@@ -1955,7 +1957,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = damroll(12, 12);
-               monst_breath_monst(m_idx, y, x, GF_BRAIN_SMASH, dam, 0, FALSE, MS_BRAIN_SMASH, learnable);
+               monst_breath_monst(m_idx, y, x, GF_BRAIN_SMASH, dam, 0, FALSE, MS_BRAIN_SMASH);
 
                break;
 
@@ -1974,7 +1976,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = damroll(3, 8);
-               monst_breath_monst(m_idx, y, x, GF_CAUSE_1, dam, 0, FALSE, MS_CAUSE_1, learnable);
+               monst_breath_monst(m_idx, y, x, GF_CAUSE_1, dam, 0, FALSE, MS_CAUSE_1);
 
                break;
 
@@ -1994,7 +1996,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = damroll(8, 8);
-               monst_breath_monst(m_idx, y, x, GF_CAUSE_2, dam, 0, FALSE, MS_CAUSE_2, learnable);
+               monst_breath_monst(m_idx, y, x, GF_CAUSE_2, dam, 0, FALSE, MS_CAUSE_2);
 
                break;
 
@@ -2014,7 +2016,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = damroll(10, 15);
-               monst_breath_monst(m_idx, y, x, GF_CAUSE_3, dam, 0, FALSE, MS_CAUSE_3, learnable);
+               monst_breath_monst(m_idx, y, x, GF_CAUSE_3, dam, 0, FALSE, MS_CAUSE_3);
 
                break;
 
@@ -2034,7 +2036,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = damroll(15, 15);
-               monst_breath_monst(m_idx, y, x, GF_CAUSE_4, dam, 0, FALSE, MS_CAUSE_4, learnable);
+               monst_breath_monst(m_idx, y, x, GF_CAUSE_4, dam, 0, FALSE, MS_CAUSE_4);
 
                break;
 
@@ -2053,8 +2055,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = (damroll(7, 8) + (rlev / 3)) * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1);
-               monst_bolt_monst(m_idx, y, x, GF_ACID,
-                                dam, MS_BOLT_ACID, learnable);
+               monst_bolt_monst(m_idx, y, x, GF_ACID, dam, MS_BOLT_ACID);
 
                break;
 
@@ -2073,8 +2074,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = (damroll(4, 8) + (rlev / 3)) * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1);
-               monst_bolt_monst(m_idx, y, x, GF_ELEC,
-                                dam, MS_BOLT_ELEC, learnable);
+               monst_bolt_monst(m_idx, y, x, GF_ELEC, dam, MS_BOLT_ELEC);
 
                break;
 
@@ -2093,8 +2093,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = (damroll(9, 8) + (rlev / 3)) * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1);
-               monst_bolt_monst(m_idx, y, x, GF_FIRE,
-                                dam, MS_BOLT_FIRE, learnable);
+               monst_bolt_monst(m_idx, y, x, GF_FIRE, dam, MS_BOLT_FIRE);
 
                break;
 
@@ -2113,8 +2112,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = (damroll(6, 8) + (rlev / 3)) * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1);
-               monst_bolt_monst(m_idx, y, x, GF_COLD,
-                                dam, MS_BOLT_COLD, learnable);
+               monst_bolt_monst(m_idx, y, x, GF_COLD, dam, MS_BOLT_COLD);
 
                break;
 
@@ -2143,7 +2141,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = (rlev * 4) + 50 + damroll(10, 10);
-               monst_breath_monst(m_idx, y, x, GF_LITE, dam, 4, FALSE, MS_STARBURST, learnable);
+               monst_breath_monst(m_idx, y, x, GF_LITE, dam, 4, FALSE, MS_STARBURST);
 
                break;
 
@@ -2163,8 +2161,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = 30 + damroll(5, 5) + (rlev * 4) / ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 3);
-               monst_bolt_monst(m_idx, y, x, GF_NETHER,
-                                dam, MS_BOLT_NETHER, learnable);
+               monst_bolt_monst(m_idx, y, x, GF_NETHER, dam, MS_BOLT_NETHER);
 
                break;
 
@@ -2184,8 +2181,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = damroll(10, 10) + (rlev * 3 / ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 3));
-               monst_bolt_monst(m_idx, y, x, GF_WATER,
-                                dam, MS_BOLT_WATER, learnable);
+               monst_bolt_monst(m_idx, y, x, GF_WATER, dam, MS_BOLT_WATER);
 
                break;
 
@@ -2205,8 +2201,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = randint1(rlev * 7 / 2) + 50;
-               monst_bolt_monst(m_idx, y, x, GF_MANA,
-                                dam, MS_BOLT_MANA, learnable);
+               monst_bolt_monst(m_idx, y, x, GF_MANA, dam, MS_BOLT_MANA);
 
                break;
 
@@ -2226,8 +2221,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = 10 + damroll(8, 7) + (rlev * 3 / ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 3));
-               monst_bolt_monst(m_idx, y, x, GF_PLASMA,
-                                dam, MS_BOLT_PLASMA, learnable);
+               monst_bolt_monst(m_idx, y, x, GF_PLASMA, dam, MS_BOLT_PLASMA);
 
                break;
 
@@ -2247,8 +2241,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = damroll(6, 6) + (rlev * 3 / ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 3));
-               monst_bolt_monst(m_idx, y, x, GF_ICE,
-                                dam, MS_BOLT_ICE, learnable);
+               monst_bolt_monst(m_idx, y, x, GF_ICE, dam, MS_BOLT_ICE);
 
                break;
 
@@ -2268,8 +2261,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = damroll(2, 6) + (rlev / 3);
-               monst_bolt_monst(m_idx, y, x, GF_MISSILE,
-                                dam, MS_MAGIC_MISSILE, learnable);
+               monst_bolt_monst(m_idx, y, x, GF_MISSILE, dam, MS_MAGIC_MISSILE);
 
                break;
 
@@ -2492,7 +2484,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = 20; /* Dummy power */
-               monst_breath_monst(m_idx, y, x, GF_HAND_DOOM, dam, 0, FALSE, MS_HAND_DOOM, learnable);
+               monst_breath_monst(m_idx, y, x, GF_HAND_DOOM, dam, 0, FALSE, MS_HAND_DOOM);
 
                break;
 
@@ -2881,8 +2873,7 @@ bool monst_spell_monst(int m_idx)
                }
 
                dam = (r_ptr->flags2 & RF2_POWERFUL) ? (randint1(rlev * 2) + 180) : (randint1(rlev * 3 / 2) + 120);
-               monst_beam_monst(m_idx, y, x, GF_PSY_SPEAR,
-                                dam, MS_PSY_SPEAR, learnable);
+               monst_beam_monst(m_idx, y, x, GF_PSY_SPEAR, dam, MS_PSY_SPEAR);
                break;
 
        /* RF6_DARKNESS */
index b931430..b13fa96 100644 (file)
@@ -2,7 +2,7 @@
 
 cptr monster_name(int m_idx)
 {
-    char            m_name[80];
+    static char            m_name[80];
     monster_type    *m_ptr = &m_list[m_idx];
     monster_desc(m_name, m_ptr, 0x00);
     return m_name;
@@ -55,12 +55,12 @@ int spell_core(int SPELL_NUM, int hp, int y, int x, int m_idx, int SPELL_TYPE)
         dam = (hp / 4) > 800 ? 800 : (hp / 4);
         if (SPELL_TYPE == SPELL_MON_TO_PLAYER)
         {
-            breath(y, x, m_idx, GF_ROCKET, dam, 2, FALSE, MS_ROCKET, learnable);
+            breath(y, x, m_idx, GF_ROCKET, dam, 2, FALSE, MS_ROCKET);
             update_smart_learn(m_idx, DRS_SHARD);
         }
         else if (SPELL_TYPE == SPELL_MON_TO_MON)
         {
-            monst_breath_monst(m_idx, y, x, GF_ROCKET, dam, 2, FALSE, MS_ROCKET, learnable);
+            monst_breath_monst(m_idx, y, x, GF_ROCKET, dam, 2, FALSE, MS_ROCKET);
         }
         break;
     }
@@ -197,7 +197,7 @@ int spell_RF4_SHOOT(int m_idx)
         msg_format(_("%^s¤¬Ìð¤òÊü¤Ã¤¿¡£", "%^s fires an arrow."), m_name);
 
     dam = damroll(r_ptr->blow[0].d_dice, r_ptr->blow[0].d_side);
-    bolt(m_idx, GF_ARROW, dam, MS_SHOOT, learnable);
+    bolt(m_idx, GF_ARROW, dam, MS_SHOOT);
     update_smart_learn(m_idx, DRS_REFLECT);
     return dam;
 }
@@ -367,7 +367,7 @@ int spell_RF4_BREATH(int GF_TYPE, int y, int x, int m_idx)
         msg_format(_("%^s¤¬%^s¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£", "%^s breathes %^s."), m_name, type_s);
     }
 
-    breath(y, x, m_idx, GF_TYPE, dam, 0, TRUE, ms_type, learnable);
+    breath(y, x, m_idx, GF_TYPE, dam, 0, TRUE, ms_type);
     if (smart_learn) update_smart_learn(m_idx, drs_type);
     return dam;
 }
@@ -390,7 +390,7 @@ int spell_RF4_BA_CHAO(int y, int x, int m_idx)
     
     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);
+    breath(y, x, m_idx, GF_CHAOS, dam, 4, FALSE, MS_BALL_CHAOS);
     update_smart_learn(m_idx, DRS_CHAOS);
     return dam;
 }
@@ -412,7 +412,7 @@ int spell_RF4_BA_NUKE(int y, int x, int m_idx)
     
     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);
+    breath(y, x, m_idx, GF_NUKE, dam, 2, FALSE, MS_BALL_NUKE);
     update_smart_learn(m_idx, DRS_POIS);
     return dam;
 }
@@ -442,7 +442,7 @@ int spell_RF5_BA_ACID(int y, int x, int m_idx)
         rad = 2;
         dam = (randint1(rlev * 3) + 15);
     }
-    breath(y, x, m_idx, GF_ACID, dam, rad, FALSE, MS_BALL_ACID, learnable);
+    breath(y, x, m_idx, GF_ACID, dam, rad, FALSE, MS_BALL_ACID);
     update_smart_learn(m_idx, DRS_ACID);
     return dam;
 }
@@ -472,7 +472,7 @@ int spell_RF5_BA_ELEC(int y, int x, int m_idx)
         rad = 2;
         dam = (randint1(rlev * 3 / 2) + 8);
     }
-    breath(y, x, m_idx, GF_ELEC, dam, rad, FALSE, MS_BALL_ELEC, learnable);
+    breath(y, x, m_idx, GF_ELEC, dam, rad, FALSE, MS_BALL_ELEC);
     update_smart_learn(m_idx, DRS_ELEC);
     return dam;
 }
@@ -512,7 +512,7 @@ int spell_RF5_BA_FIRE(int y, int x, int m_idx)
         rad = 2;
         dam = (randint1(rlev * 7 / 2) + 10);
     }
-    breath(y, x, m_idx, GF_FIRE, dam, rad, FALSE, MS_BALL_FIRE, learnable);
+    breath(y, x, m_idx, GF_FIRE, dam, rad, FALSE, MS_BALL_FIRE);
     update_smart_learn(m_idx, DRS_FIRE);
     return dam;
 }
@@ -542,7 +542,7 @@ int spell_RF5_BA_COLD(int y, int x, int m_idx)
         rad = 2;
         dam = (randint1(rlev * 3 / 2) + 10);
     }
-    breath(y, x, m_idx, GF_COLD, dam, rad, FALSE, MS_BALL_COLD, learnable);
+    breath(y, x, m_idx, GF_COLD, dam, rad, FALSE, MS_BALL_COLD);
     update_smart_learn(m_idx, DRS_COLD);
     return dam;
 }
@@ -563,7 +563,7 @@ int spell_RF5_BA_POIS(int y, int x, int m_idx)
         msg_format(_("%^s¤¬°­½­±À¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^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);
+    breath(y, x, m_idx, GF_POIS, dam, 2, FALSE, MS_BALL_POIS);
     update_smart_learn(m_idx, DRS_POIS);
     return dam;
 }
@@ -583,7 +583,7 @@ int spell_RF5_BA_NETH(int y, int x, int m_idx)
         msg_format(_("%^s¤¬ÃϹöµå¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a nether ball."), m_name);
 
     dam = 50 + damroll(10, 10) + (rlev * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1));
-    breath(y, x, m_idx, GF_NETHER, dam, 2, FALSE, MS_BALL_NETHER, learnable);
+    breath(y, x, m_idx, GF_NETHER, dam, 2, FALSE, MS_BALL_NETHER);
     update_smart_learn(m_idx, DRS_NETH);
     return dam;
 }
@@ -606,13 +606,12 @@ int spell_RF5_BA_WATE(int y, int x, int m_idx)
     msg_print(_("¤¢¤Ê¤¿¤Ï±²´¬¤­¤Ë°û¤ß¹þ¤Þ¤ì¤¿¡£", "You are engulfed in a whirlpool."));
 
     dam = ((r_ptr->flags2 & RF2_POWERFUL) ? randint1(rlev * 3) : randint1(rlev * 2)) + 50;
-    breath(y, x, m_idx, GF_WATER, dam, 4, FALSE, MS_BALL_WATER, learnable);
+    breath(y, x, m_idx, GF_WATER, dam, 4, FALSE, MS_BALL_WATER);
     return dam;
 }
 
 int spell_RF5_BA_MANA(int y, int x, int m_idx)
 {
-    bool learnable = spell_learnable(m_idx);
     cptr m_name = monster_name(m_idx);
     monster_type    *m_ptr = &m_list[m_idx];
     monster_race    *r_ptr = &r_info[m_ptr->r_idx];
@@ -625,13 +624,12 @@ int spell_RF5_BA_MANA(int y, int x, int m_idx)
         msg_format(_("%^s¤¬ËâÎϤÎÍò¤Î¼öʸ¤òÇ°¤¸¤¿¡£", "%^s invokes a mana storm."), m_name);
 
     dam = (rlev * 4) + 50 + damroll(10, 10);
-    breath(y, x, m_idx, GF_MANA, dam, 4, FALSE, MS_BALL_MANA, learnable);
+    breath(y, x, m_idx, GF_MANA, dam, 4, FALSE, MS_BALL_MANA);
     return dam;
 }
 
 int spell_RF5_BA_DARK(int y, int x, int m_idx)
 {
-    bool learnable = spell_learnable(m_idx);
     cptr m_name = monster_name(m_idx);
     monster_type    *m_ptr = &m_list[m_idx];
     monster_race    *r_ptr = &r_info[m_ptr->r_idx];
@@ -645,28 +643,26 @@ int spell_RF5_BA_DARK(int y, int x, int m_idx)
         msg_format(_("%^s¤¬°Å¹õ¤ÎÍò¤Î¼öʸ¤òÇ°¤¸¤¿¡£", "%^s invokes a darkness storm."), m_name);
 
     dam = (rlev * 4) + 50 + damroll(10, 10);
-    breath(y, x, m_idx, GF_DARK, dam, 4, FALSE, MS_BALL_DARK, learnable);
+    breath(y, x, m_idx, GF_DARK, dam, 4, FALSE, MS_BALL_DARK);
     update_smart_learn(m_idx, DRS_DARK);
     return dam;
 }
 
 int spell_RF5_DRAIN_MANA(int y, int x, int m_idx)
 {
-    bool learnable = spell_learnable(m_idx);
     cptr m_name = monster_name(m_idx);
     int rlev = monster_level_idx(m_idx);
     int dam;
     disturb(1, 1);
 
     dam = (randint1(rlev) / 2) + 1;
-    breath(y, x, m_idx, GF_DRAIN_MANA, dam, 0, FALSE, MS_DRAIN_MANA, learnable);
+    breath(y, x, m_idx, GF_DRAIN_MANA, dam, 0, FALSE, MS_DRAIN_MANA);
     update_smart_learn(m_idx, DRS_MANA);
     return dam;
 }
 
 int spell_RF5_MIND_BLAST(int y, int x, int m_idx)
 {
-    bool learnable = spell_learnable(m_idx);
     cptr m_name = monster_name(m_idx);
     monster_type    *m_ptr = &m_list[m_idx];
     bool seen = (!p_ptr->blind && m_ptr->ml);
@@ -679,13 +675,12 @@ int spell_RF5_MIND_BLAST(int y, int x, int m_idx)
         msg_format(_("%^s¤¬¤¢¤Ê¤¿¤ÎÆ·¤ò¤¸¤Ã¤È¤Ë¤é¤ó¤Ç¤¤¤ë¡£", "%^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);
+    breath(y, x, m_idx, GF_MIND_BLAST, dam, 0, FALSE, MS_MIND_BLAST);
     return dam;
 }
 
 int spell_RF5_BRAIN_SMASH(int y, int x, int m_idx)
 {
-    bool learnable = spell_learnable(m_idx);
     cptr m_name = monster_name(m_idx);
     monster_type    *m_ptr = &m_list[m_idx];
     bool seen = (!p_ptr->blind && m_ptr->ml);
@@ -698,13 +693,12 @@ int spell_RF5_BRAIN_SMASH(int y, int x, int m_idx)
         msg_format(_("%^s¤¬¤¢¤Ê¤¿¤ÎÆ·¤ò¤¸¤Ã¤È¸«¤Æ¤¤¤ë¡£", "%^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);
+    breath(y, x, m_idx, GF_BRAIN_SMASH, dam, 0, FALSE, MS_BRAIN_SMASH);
     return dam;
 }
 
 int spell_RF5_CAUSE_1(int y, int x, int m_idx)
 {
-    bool learnable = spell_learnable(m_idx);
     cptr m_name = monster_name(m_idx);
     int rlev = monster_level_idx(m_idx);
     int dam;
@@ -716,13 +710,12 @@ int spell_RF5_CAUSE_1(int y, int x, int m_idx)
         msg_format(_("%^s¤¬¤¢¤Ê¤¿¤ò»Ø¤µ¤·¤Æ¼ö¤Ã¤¿¡£", "%^s points at you and curses."), m_name);
 
     dam = damroll(3, 8);
-    breath(y, x, m_idx, GF_CAUSE_1, dam, 0, FALSE, MS_CAUSE_1, learnable);
+    breath(y, x, m_idx, GF_CAUSE_1, dam, 0, FALSE, MS_CAUSE_1);
     return dam;
 }
 
 int spell_RF5_CAUSE_2(int y, int x, int m_idx)
 {
-    bool learnable = spell_learnable(m_idx);
     cptr m_name = monster_name(m_idx);
     int rlev = monster_level_idx(m_idx);
     int dam;
@@ -734,13 +727,12 @@ int spell_RF5_CAUSE_2(int y, int x, int m_idx)
         msg_format(_("%^s¤¬¤¢¤Ê¤¿¤ò»Ø¤µ¤·¤Æ¶²¤í¤·¤²¤Ë¼ö¤Ã¤¿¡£", "%^s points at you and curses horribly."), m_name);
 
     dam = damroll(8, 8);
-    breath(y, x, m_idx, GF_CAUSE_2, dam, 0, FALSE, MS_CAUSE_2, learnable);
+    breath(y, x, m_idx, GF_CAUSE_2, dam, 0, FALSE, MS_CAUSE_2);
     return dam;
 }
 
 int spell_RF5_CAUSE_3(int y, int x, int m_idx)
 {
-    bool learnable = spell_learnable(m_idx);
     cptr m_name = monster_name(m_idx);
     int rlev = monster_level_idx(m_idx);
     int dam;
@@ -752,13 +744,12 @@ int spell_RF5_CAUSE_3(int y, int x, int m_idx)
         msg_format(_("%^s¤¬¤¢¤Ê¤¿¤ò»Ø¤µ¤·¤Æ¶²¤í¤·¤²¤Ë¼öʸ¤ò¾§¤¨¤¿¡ª", "%^s points at you, incanting terribly!"), m_name);
 
     dam = damroll(10, 15);
-    breath(y, x, m_idx, GF_CAUSE_3, dam, 0, FALSE, MS_CAUSE_3, learnable);
+    breath(y, x, m_idx, GF_CAUSE_3, dam, 0, FALSE, MS_CAUSE_3);
     return dam;
 }
 
 int spell_RF5_CAUSE_4(int y, int x, int m_idx)
 {
-    bool learnable = spell_learnable(m_idx);
     cptr m_name = monster_name(m_idx);
     int rlev = monster_level_idx(m_idx);
     int dam;
@@ -771,7 +762,7 @@ int spell_RF5_CAUSE_4(int y, int x, int m_idx)
         "%^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);
+    breath(y, x, m_idx, GF_CAUSE_4, dam, 0, FALSE, MS_CAUSE_4);
     return dam;
 }
 
@@ -791,7 +782,7 @@ int spell_RF5_BO_ACID(int y, int x, int m_idx)
         msg_format(_("%^s¤¬¥¢¥·¥Ã¥É¡¦¥Ü¥ë¥È¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a acid bolt."), m_name);
 
     dam = (damroll(7, 8) + (rlev / 3)) * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1);
-    bolt(m_idx, GF_ACID, dam, MS_BOLT_ACID, learnable);
+    bolt(m_idx, GF_ACID, dam, MS_BOLT_ACID);
     update_smart_learn(m_idx, DRS_ACID);
     update_smart_learn(m_idx, DRS_REFLECT);
     return dam;
@@ -813,7 +804,7 @@ int spell_RF5_BO_ELEC(int y, int x, int m_idx)
         msg_format(_("%^s¤¬¥µ¥ó¥À¡¼¡¦¥Ü¥ë¥È¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a lightning bolt."), m_name);
 
     dam = (damroll(4, 8) + (rlev / 3)) * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1);
-    bolt(m_idx, GF_ELEC, dam, MS_BOLT_ELEC, learnable);
+    bolt(m_idx, GF_ELEC, dam, MS_BOLT_ELEC);
     update_smart_learn(m_idx, DRS_ELEC);
     update_smart_learn(m_idx, DRS_REFLECT);
     return dam;
@@ -835,7 +826,7 @@ int spell_RF5_BO_FIRE(int y, int x, int m_idx)
         msg_format(_("%^s¤¬¥Õ¥¡¥¤¥¢¡¦¥Ü¥ë¥È¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a fire bolt."), m_name);
 
     dam = (damroll(9, 8) + (rlev / 3)) * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1);
-    bolt(m_idx, GF_FIRE, dam, MS_BOLT_FIRE, learnable);
+    bolt(m_idx, GF_FIRE, dam, MS_BOLT_FIRE);
     update_smart_learn(m_idx, DRS_FIRE);
     update_smart_learn(m_idx, DRS_REFLECT);
     return dam;
@@ -857,7 +848,7 @@ int spell_RF5_BO_COLD(int y, int x, int m_idx)
         msg_format(_("%^s¤¬¥¢¥¤¥¹¡¦¥Ü¥ë¥È¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a frost bolt."), m_name);
 
     dam = (damroll(6, 8) + (rlev / 3)) * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1);
-    bolt(m_idx, GF_COLD, dam, MS_BOLT_COLD, learnable);
+    bolt(m_idx, GF_COLD, dam, MS_BOLT_COLD);
     update_smart_learn(m_idx, DRS_COLD);
     update_smart_learn(m_idx, DRS_REFLECT);
     return dam;
@@ -866,7 +857,6 @@ int spell_RF5_BO_COLD(int y, int x, int m_idx)
 
 int spell_RF5_BA_LITE(int y, int x, int m_idx)
 {
-    bool learnable = spell_learnable(m_idx);
     cptr m_name = monster_name(m_idx);
     int rlev = monster_level_idx(m_idx);
     int dam;
@@ -878,7 +868,7 @@ int spell_RF5_BA_LITE(int y, int x, int m_idx)
         msg_format(_("%^s¤¬¥¹¥¿¡¼¥Ð¡¼¥¹¥È¤Î¼öʸ¤òÇ°¤¸¤¿¡£", "%^s invokes a starburst."), m_name);
 
     dam = (rlev * 4) + 50 + damroll(10, 10);
-    breath(y, x, m_idx, GF_LITE, dam, 4, FALSE, MS_STARBURST, learnable);
+    breath(y, x, m_idx, GF_LITE, dam, 4, FALSE, MS_STARBURST);
     update_smart_learn(m_idx, DRS_LITE);
     return dam;
 }
@@ -900,7 +890,7 @@ int spell_RF5_BO_NETH(int y, int x, int m_idx)
         msg_format(_("%^s¤¬ÃϹö¤ÎÌð¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a nether bolt."), m_name);
 
     dam = 30 + damroll(5, 5) + (rlev * 4) / ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 3);
-    bolt(m_idx, GF_NETHER, dam, MS_BOLT_NETHER, learnable);
+    bolt(m_idx, GF_NETHER, dam, MS_BOLT_NETHER);
     update_smart_learn(m_idx, DRS_NETH);
     update_smart_learn(m_idx, DRS_REFLECT);
     return dam;
@@ -922,7 +912,7 @@ int spell_RF5_BO_WATE(int y, int x, int m_idx)
         msg_format(_("%^s¤¬¥¦¥©¡¼¥¿¡¼¡¦¥Ü¥ë¥È¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a water bolt."), m_name);
 
     dam = damroll(10, 10) + (rlev * 3 / ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 3));
-    bolt(m_idx, GF_WATER, dam, MS_BOLT_WATER, learnable);
+    bolt(m_idx, GF_WATER, dam, MS_BOLT_WATER);
     update_smart_learn(m_idx, DRS_REFLECT);
     return dam;
 }
@@ -942,7 +932,7 @@ int spell_RF5_BO_MANA(int y, int x, int m_idx)
         msg_format(_("%^s¤¬ËâÎϤÎÌð¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a mana bolt."), m_name);
 
     dam = randint1(rlev * 7 / 2) + 50;
-    bolt(m_idx, GF_MANA, dam, MS_BOLT_MANA, learnable);
+    bolt(m_idx, GF_MANA, dam, MS_BOLT_MANA);
     update_smart_learn(m_idx, DRS_REFLECT);
     return dam;
 }
@@ -963,7 +953,7 @@ int spell_RF5_BO_PLAS(int y, int x, int m_idx)
         msg_format(_("%^s¤¬¥×¥é¥º¥Þ¡¦¥Ü¥ë¥È¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^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);
+    bolt(m_idx, GF_PLASMA, dam, MS_BOLT_PLASMA);
     update_smart_learn(m_idx, DRS_REFLECT);
     return dam;
 }
@@ -983,7 +973,7 @@ int spell_RF5_BO_ICEE(int y, int x, int m_idx)
         msg_format(_("%^s¤¬¶Ë´¨¤ÎÌð¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^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);
+    bolt(m_idx, GF_ICE, dam, MS_BOLT_ICE);
     update_smart_learn(m_idx, DRS_COLD);
     update_smart_learn(m_idx, DRS_REFLECT);
     return dam;
@@ -1003,7 +993,7 @@ int spell_RF5_MISSILE(int y, int x, int m_idx)
         msg_format(_("%^s¤¬¥Þ¥¸¥Ã¥¯¡¦¥ß¥µ¥¤¥ë¤Î¼öʸ¤ò¾§¤¨¤¿¡£", "%^s casts a magic missile."), m_name);
 
     dam = damroll(2, 6) + (rlev / 3);
-    bolt(m_idx, GF_MISSILE, dam, MS_MAGIC_MISSILE, learnable);
+    bolt(m_idx, GF_MISSILE, dam, MS_MAGIC_MISSILE);
     update_smart_learn(m_idx, DRS_REFLECT);
     return dam;
 }
@@ -1167,14 +1157,13 @@ void spell_RF6_HASTE(int m_idx)
 
 int spell_RF6_HAND_DOOM(int y, int x, int m_idx)
 {
-    bool learnable = spell_learnable(m_idx);
     cptr m_name = monster_name(m_idx);
     monster_type    *m_ptr = &m_list[m_idx];
     int dam;
     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);
+    breath(y, x, m_idx, GF_HAND_DOOM, dam, 0, FALSE, MS_HAND_DOOM);
     return dam;
 }
 
@@ -1509,7 +1498,7 @@ int spell_RF6_PSY_SPEAR(int m_idx)
         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);
+    beam(m_idx, GF_PSY_SPEAR, dam, MS_PSY_SPEAR);
     return dam;
 }
 
index 90bf7fc..acce58b 100644 (file)
@@ -1785,7 +1785,7 @@ static void get_exp_from_mon(int dam, monster_type *m_ptr)
        }
        
        /* Special penalty for rest_and_shoot exp scum */
-       if ((m_ptr->dealt_damage > m_ptr->max_maxhp) && (m_ptr->hp >= 0))
+       if ((m_ptr->dealt_damage > (u32b)m_ptr->max_maxhp) && (m_ptr->hp >= 0))
        {
                int over_damage = m_ptr->dealt_damage / m_ptr->max_maxhp;
                if (over_damage > 32) over_damage = 32;
@@ -1880,7 +1880,7 @@ bool mon_take_hit(int m_idx, int dam, bool *fear, cptr note)
        m_ptr->hp -= dam;
        
        m_ptr->dealt_damage += dam;
-       if(m_ptr->dealt_damage > m_ptr->max_maxhp * 100) m_ptr->dealt_damage = m_ptr->max_maxhp * 100;
+       if(m_ptr->dealt_damage > (u32b)m_ptr->max_maxhp * 100) m_ptr->dealt_damage = m_ptr->max_maxhp * 100;
        if (p_ptr->wizard)
        {
                msg_format( _("¹ç·×%d/%d¤Î¥À¥á¡¼¥¸¤òÍ¿¤¨¤¿¡£","You do %d (out of %d) damage."),