OSDN Git Service

show all mon_spell damage
authordis- <dis.rogue@gmail.com>
Mon, 24 Feb 2014 13:37:55 +0000 (22:37 +0900)
committerdis- <dis.rogue@gmail.com>
Mon, 24 Feb 2014 13:37:55 +0000 (22:37 +0900)
src/monster1.c
src/mspells4.c

index cea95be..e17cedc 100644 (file)
@@ -128,6 +128,24 @@ static void hooked_roff(cptr str)
        hook_c_roff(TERM_WHITE, str);
 }
 
+/*!
+ * @brief Ê¸»úÎó¤Ë¥â¥ó¥¹¥¿¡¼¤Î¹¶·âÎϤò²Ã¤¨¤ë
+ * @param r_idx ¥â¥ó¥¹¥¿¡¼¤Î¼ï²ID
+ * @param SPELL_NUM ¼öʸÈÖ¹æ
+ * @param msg É½¼¨¤¹¤ëʸ»úÎó
+ * @param tmp ÊÖ¤¹¥á¥Ã¥»¡¼¥¸¤ò³ÊǼ¤¹¤ëÇÛÎó
+ * @param min_max TRUE¤Ê¤é(ºÇ¾®-ºÇÂç)·Á¼°¤Ç¡¢FALSE¤Ê¤é(ºÇÂçÃÍ)·Á¼°¤ÇÊÖ¤¹
+ * @return ¤Ê¤·
+ */
+void set_damage(int r_idx, int SPELL_NUM, char* msg, char* tmp, bool min_max)
+{
+       int dam_min = monspell_race_damage(SPELL_NUM, r_idx, DAM_MIN);
+       int dam_max = monspell_race_damage(SPELL_NUM, r_idx, DAM_MAX);
+       if(min_max)
+           sprintf(tmp, msg, dam_min, dam_max);
+       else
+           sprintf(tmp, msg, dam_max);
+}
 
 /*!
  * @brief ¥â¥ó¥¹¥¿¡¼¤Î»×¤¤½Ð¾ðÊó¤òɽ¼¨¤¹¤ë
@@ -723,8 +741,7 @@ static void roff_aux(int r_idx, int mode)
        if (flags4 & RF4_SHRIEK)  { vp[vn] = _("ÈáÌĤǽõ¤±¤òµá¤á¤ë", "shriek for help"); color[vn++] = TERM_L_WHITE; }
        if (flags4 & RF4_ROCKET)  
     {
-        int dam = monspell_race_damage(monspell_num(RF4_SPELL_START, RF4_ROCKET), r_idx, DAM_MAX);
-        sprintf(tmp_msg[vn], _("¥í¥±¥Ã¥È(%d)¤òȯ¼Í¤¹¤ë", "shoot a rocket(%d)"), dam);
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_ROCKET), _("¥í¥±¥Ã¥È(%d)¤òȯ¼Í¤¹¤ë", "shoot a rocket(%d)"), tmp_msg[vn], FALSE);
         vp[vn] = tmp_msg[vn];
         color[vn++] = TERM_UMBER; 
     }
@@ -781,28 +798,138 @@ static void roff_aux(int r_idx, int mode)
 
        /* Collect breaths */
        vn = 0;
-       if (flags4 & (RF4_BR_ACID))             { vp[vn] = _("»À", "acid"); color[vn++] = TERM_GREEN; }
-       if (flags4 & (RF4_BR_ELEC))             { vp[vn] = _("°ðºÊ", "lightning"); color[vn++] = TERM_BLUE; }
-       if (flags4 & (RF4_BR_FIRE))             { vp[vn] = _("²Ð±ê", "fire"); color[vn++] = TERM_RED; }
-       if (flags4 & (RF4_BR_COLD))             { vp[vn] = _("Î䵤", "frost"); color[vn++] = TERM_L_WHITE; }
-       if (flags4 & (RF4_BR_POIS))             { vp[vn] = _("ÆÇ", "poison"); color[vn++] = TERM_L_GREEN; }
-       if (flags4 & (RF4_BR_NETH))             { vp[vn] = _("ÃϹö", "nether"); color[vn++] = TERM_L_DARK; }
-       if (flags4 & (RF4_BR_LITE))             { vp[vn] = _("Á®¸÷", "light"); color[vn++] = TERM_YELLOW; }
-       if (flags4 & (RF4_BR_DARK))             { vp[vn] = _("°Å¹õ", "darkness"); color[vn++] = TERM_L_DARK; }
-       if (flags4 & (RF4_BR_CONF))             { vp[vn] = _("º®Íð", "confusion"); color[vn++] = TERM_L_UMBER; }
-       if (flags4 & (RF4_BR_SOUN))             { vp[vn] = _("¹ì²»", "sound"); color[vn++] = TERM_ORANGE; }
-       if (flags4 & (RF4_BR_CHAO))             { vp[vn] = _("¥«¥ª¥¹", "chaos"); color[vn++] = TERM_VIOLET; }
-       if (flags4 & (RF4_BR_DISE))             { vp[vn] = _("Îô²½", "disenchantment"); color[vn++] = TERM_VIOLET; }
-       if (flags4 & (RF4_BR_NEXU))             { vp[vn] = _("°ø²Ìº®Íð", "nexus"); color[vn++] = TERM_VIOLET; }
-       if (flags4 & (RF4_BR_TIME))             { vp[vn] = _("»þ´ÖµÕž", "time"); color[vn++] = TERM_L_BLUE; }
-       if (flags4 & (RF4_BR_INER))             { vp[vn] = _("ÃÙÆß", "inertia"); color[vn++] = TERM_SLATE; }
-       if (flags4 & (RF4_BR_GRAV))             { vp[vn] = _("½ÅÎÏ", "gravity"); color[vn++] = TERM_SLATE; }
-       if (flags4 & (RF4_BR_SHAR))             { vp[vn] = _("ÇËÊÒ", "shards"); color[vn++] = TERM_L_UMBER; }
-       if (flags4 & (RF4_BR_PLAS))             { vp[vn] = _("¥×¥é¥º¥Þ", "plasma"); color[vn++] = TERM_L_RED; }
-       if (flags4 & (RF4_BR_WALL))             { vp[vn] = _("¥Õ¥©¡¼¥¹", "force"); color[vn++] = TERM_UMBER; }
-       if (flags4 & (RF4_BR_MANA))             { vp[vn] = _("ËâÎÏ", "mana"); color[vn++] = TERM_L_BLUE; }
-       if (flags4 & (RF4_BR_NUKE))             { vp[vn] = _("Êü¼ÍÀ­ÇÑ´þʪ", "toxic waste"); color[vn++] = TERM_L_GREEN; }
-       if (flags4 & (RF4_BR_DISI))             { vp[vn] = _("ʬ²ò", "disintegration"); color[vn++] = TERM_SLATE; }
+       if (flags4 & (RF4_BR_ACID))             
+       { 
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_ACID), _("»À(%d)", "acid(%d)"), tmp_msg[vn], FALSE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_GREEN; 
+       }
+       if (flags4 & (RF4_BR_ELEC))             
+       { 
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_ELEC), _("°ðºÊ(%d)", "lightning(%d)"), tmp_msg[vn], FALSE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_BLUE; 
+       }
+       if (flags4 & (RF4_BR_FIRE))             
+       { 
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_FIRE), _("²Ð±ê(%d)", "fire(%d)"), tmp_msg[vn], FALSE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_RED; 
+       }
+       if (flags4 & (RF4_BR_FIRE))             
+       { 
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_COLD), _("Î䵤(%d)", "frost(%d)"), tmp_msg[vn], FALSE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_WHITE; 
+       }
+       if (flags4 & (RF4_BR_POIS))             
+       { 
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_POIS), _("ÆÇ(%d)", "poison(%d)"), tmp_msg[vn], FALSE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_GREEN; 
+       }
+       if (flags4 & (RF4_BR_NETH))
+       { 
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_NETH), _("ÃϹö(%d)", "nether(%d)"), tmp_msg[vn], FALSE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_DARK; 
+       }
+       if (flags4 & (RF4_BR_LITE))             
+       { 
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_LITE), _("Á®¸÷(%d)", "light(%d)"), tmp_msg[vn], FALSE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_YELLOW; 
+       }
+       if (flags4 & (RF4_BR_DARK))             
+       { 
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_DARK), _("°Å¹õ(%d)", "darkness(%d)"), tmp_msg[vn], FALSE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_DARK; 
+       }
+       if (flags4 & (RF4_BR_CONF))
+       { 
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_CONF), _("º®Íð(%d)", "confusion(%d)"), tmp_msg[vn], FALSE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_UMBER; 
+       }
+       if (flags4 & (RF4_BR_SOUN))             
+       {
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_SOUN), _("¹ì²»(%d)", "sound(%d)"), tmp_msg[vn], FALSE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_ORANGE; 
+       }
+       if (flags4 & (RF4_BR_CHAO))             
+       { 
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_CHAO), _("¥«¥ª¥¹(%d)", "chaos(%d)"), tmp_msg[vn], FALSE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_VIOLET; 
+       }
+       if (flags4 & (RF4_BR_DISE))             
+       { 
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_DISE), _("Îô²½(%d)", "disenchantment(%d)"), tmp_msg[vn], FALSE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_VIOLET; 
+       }
+       if (flags4 & (RF4_BR_NEXU))             
+       { 
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_NEXU), _("°ø²Ìº®Íð(%d)", "nexus(%d)"), tmp_msg[vn], FALSE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_VIOLET; 
+       }
+       if (flags4 & (RF4_BR_TIME))             
+       { 
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_TIME), _("»þ´ÖµÕž(%d)", "time(%d)"), tmp_msg[vn], FALSE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_BLUE; 
+       }
+       if (flags4 & (RF4_BR_INER))             
+       { 
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_INER), _("ÃÙÆß(%d)", "inertia(%d)"), tmp_msg[vn], FALSE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_SLATE; 
+       }
+       if (flags4 & (RF4_BR_GRAV))             
+       { 
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_GRAV), _("½ÅÎÏ(%d)", "gravity(%d)"), tmp_msg[vn], FALSE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_SLATE; 
+       }
+       if (flags4 & (RF4_BR_SHAR))             
+       { 
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_SHAR), _("ÇËÊÒ(%d)", "shards(%d)"), tmp_msg[vn], FALSE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_UMBER; 
+       }
+       if (flags4 & (RF4_BR_PLAS))             
+       { 
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_PLAS), _("¥×¥é¥º¥Þ(%d)", "plasma(%d)"), tmp_msg[vn], FALSE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_RED; 
+       }
+       if (flags4 & (RF4_BR_WALL))             
+       { 
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_WALL), _("¥Õ¥©¡¼¥¹(%d)", "force(%d)"), tmp_msg[vn], FALSE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_UMBER; 
+       }
+       if (flags4 & (RF4_BR_MANA))             
+       { 
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_MANA), _("ËâÎÏ(%d)", "mana(%d)"), tmp_msg[vn], FALSE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_BLUE; 
+       }
+       if (flags4 & (RF4_BR_NUKE))             
+       { 
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_NUKE), _("Êü¼ÍÀ­ÇÑ´þʪ(%d)", "toxic waste(%d)"), tmp_msg[vn], FALSE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_GREEN; 
+       }
+       if (flags4 & (RF4_BR_DISI))             
+       { 
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_DISI), _("ʬ²ò(%d)", "disintegration(%d)"), tmp_msg[vn], FALSE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_SLATE; 
+       }
 
        /* Describe breaths */
        if (vn)
@@ -837,37 +964,191 @@ static void roff_aux(int r_idx, int mode)
 
        /* Collect spells */
        vn = 0;
-       if (flags5 & (RF5_BA_ACID))         { vp[vn] = _("¥¢¥·¥Ã¥É¡¦¥Ü¡¼¥ë", "produce acid balls"); color[vn++] = TERM_GREEN; }
-       if (flags5 & (RF5_BA_ELEC))         { vp[vn] = _("¥µ¥ó¥À¡¼¡¦¥Ü¡¼¥ë", "produce lightning balls"); color[vn++] = TERM_BLUE; }
-       if (flags5 & (RF5_BA_FIRE))         { vp[vn] = _("¥Õ¥¡¥¤¥¢¡¦¥Ü¡¼¥ë", "produce fire balls"); color[vn++] = TERM_RED; }
-       if (flags5 & (RF5_BA_COLD))         { vp[vn] = _("¥¢¥¤¥¹¡¦¥Ü¡¼¥ë", "produce frost balls"); color[vn++] = TERM_L_WHITE; }
-       if (flags5 & (RF5_BA_POIS))         { vp[vn] = _("°­½­±À", "produce poison balls"); color[vn++] = TERM_L_GREEN; }
-       if (flags5 & (RF5_BA_NETH))         { vp[vn] = _("ÃϹöµå", "produce nether balls"); color[vn++] = TERM_L_DARK; }
-       if (flags5 & (RF5_BA_WATE))         { vp[vn] = _("¥¦¥©¡¼¥¿¡¼¡¦¥Ü¡¼¥ë", "produce water balls"); color[vn++] = TERM_BLUE; }
-       if (flags4 & (RF4_BA_NUKE))         { vp[vn] = _("Êü¼Íǽµå", "produce balls of radiation"); color[vn++] = TERM_L_GREEN; }
-       if (flags5 & (RF5_BA_MANA))         { vp[vn] = _("ËâÎϤÎÍò", "invoke mana storms"); color[vn++] = TERM_L_BLUE; }
-       if (flags5 & (RF5_BA_DARK))         { vp[vn] = _("°Å¹õ¤ÎÍò", "invoke darkness storms"); color[vn++] = TERM_L_DARK; }
-       if (flags5 & (RF5_BA_LITE))         { vp[vn] = _("¥¹¥¿¡¼¥Ð¡¼¥¹¥È", "invoke starburst"); color[vn++] = TERM_YELLOW; }
-       if (flags4 & (RF4_BA_CHAO))         { vp[vn] = _("½ã¥í¥°¥ë¥¹", "invoke raw Logrus"); color[vn++] = TERM_VIOLET; }
-       if (flags6 & (RF6_HAND_DOOM))       { vp[vn] = _("ÇËÌǤμê", "invoke the Hand of Doom"); color[vn++] = TERM_VIOLET; }
-       if (flags6 & (RF6_PSY_SPEAR))       { vp[vn] = _("¸÷¤Î·õ", "psycho-spear"); color[vn++] = TERM_YELLOW; }
-       if (flags5 & (RF5_DRAIN_MANA))      { vp[vn] = _("ËâÎϵۼý", "drain mana"); color[vn++] = TERM_SLATE; }
-       if (flags5 & (RF5_MIND_BLAST))      { vp[vn] = _("Àº¿À¹¶·â", "cause mind blasting"); color[vn++] = TERM_L_RED; }
-       if (flags5 & (RF5_BRAIN_SMASH))     { vp[vn] = _("Ǿ¹¶·â", "cause brain smashing"); color[vn++] = TERM_RED; }
-       if (flags5 & (RF5_CAUSE_1))         { vp[vn] = _("·Ú½ý¡Ü¼ö¤¤", "cause light wounds and cursing"); color[vn++] = TERM_L_WHITE; }
-       if (flags5 & (RF5_CAUSE_2))         { vp[vn] = _("½Å½ý¡Ü¼ö¤¤", "cause serious wounds and cursing"); color[vn++] = TERM_L_WHITE; }
-       if (flags5 & (RF5_CAUSE_3))         { vp[vn] = _("Ã×Ì¿½ý¡Ü¼ö¤¤", "cause critical wounds and cursing"); color[vn++] = TERM_L_WHITE; }
-       if (flags5 & (RF5_CAUSE_4))         { vp[vn] = _("È빦¤òÆͤ¯", "cause mortal wounds"); color[vn++] = TERM_L_WHITE; }
-       if (flags5 & (RF5_BO_ACID))         { vp[vn] = _("¥¢¥·¥Ã¥É¡¦¥Ü¥ë¥È", "produce acid bolts"); color[vn++] = TERM_GREEN; }
-       if (flags5 & (RF5_BO_ELEC))         { vp[vn] = _("¥µ¥ó¥À¡¼¡¦¥Ü¥ë¥È", "produce lightning bolts"); color[vn++] = TERM_BLUE; }
-       if (flags5 & (RF5_BO_FIRE))         { vp[vn] = _("¥Õ¥¡¥¤¥¢¡¦¥Ü¥ë¥È", "produce fire bolts"); color[vn++] = TERM_RED; }
-       if (flags5 & (RF5_BO_COLD))         { vp[vn] = _("¥¢¥¤¥¹¡¦¥Ü¥ë¥È", "produce frost bolts"); color[vn++] = TERM_L_WHITE; }
-       if (flags5 & (RF5_BO_NETH))         { vp[vn] = _("ÃϹö¤ÎÌð", "produce nether bolts"); color[vn++] = TERM_L_DARK; }
-       if (flags5 & (RF5_BO_WATE))         { vp[vn] = _("¥¦¥©¡¼¥¿¡¼¡¦¥Ü¥ë¥È", "produce water bolts"); color[vn++] = TERM_BLUE; }
-       if (flags5 & (RF5_BO_MANA))         { vp[vn] = _("ËâÎϤÎÌð", "produce mana bolts"); color[vn++] = TERM_L_BLUE; }
-       if (flags5 & (RF5_BO_PLAS))         { vp[vn] = _("¥×¥é¥º¥Þ¡¦¥Ü¥ë¥È", "produce plasma bolts"); color[vn++] = TERM_L_RED; }
-       if (flags5 & (RF5_BO_ICEE))         { vp[vn] = _("¶Ë´¨¤ÎÌð", "produce ice bolts"); color[vn++] = TERM_WHITE; }
-       if (flags5 & (RF5_MISSILE))         { vp[vn] = _("¥Þ¥¸¥Ã¥¯¥ß¥µ¥¤¥ë", "produce magic missiles"); color[vn++] = TERM_SLATE; }
+       if (flags5 & (RF5_BA_ACID))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BA_ACID), _("¥¢¥·¥Ã¥É¡¦¥Ü¡¼¥ë(%d-%d)", "produce acid balls(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_GREEN;
+       }
+       if (flags5 & (RF5_BA_ELEC))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BA_ELEC), _("¥µ¥ó¥À¡¼¡¦¥Ü¡¼¥ë(%d-%d)", "produce lightning balls(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_BLUE;
+       }
+       if (flags5 & (RF5_BA_FIRE))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BA_FIRE), _("¥Õ¥¡¥¤¥¢¡¦¥Ü¡¼¥ë(%d-%d)", "produce fire balls(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_RED;
+       }
+       if (flags5 & (RF5_BA_COLD))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BA_COLD), _("¥¢¥¤¥¹¡¦¥Ü¡¼¥ë(%d-%d)", "produce frost balls(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_WHITE;
+       }
+       if (flags5 & (RF5_BA_POIS))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BA_POIS), _("°­½­±À(%d-%d)", "produce poison balls(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_GREEN;
+       }
+       if (flags5 & (RF5_BA_NETH))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BA_NETH), _("ÃϹöµå(%d-%d)", "produce nether balls(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_DARK;
+       }
+       if (flags5 & (RF5_BA_WATE))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BA_WATE), _("¥¦¥©¡¼¥¿¡¼¡¦¥Ü¡¼¥ë(%d-%d)", "produce water balls(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_BLUE;
+       }
+       if (flags4 & (RF4_BA_NUKE))         
+       {
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BA_NUKE), _("Êü¼Íǽµå(%d-%d)", "produce balls of radiation(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_GREEN;
+       }
+       if (flags5 & (RF5_BA_MANA))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BA_MANA), _("ËâÎϤÎÍò(%d-%d)", "invoke mana storms(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_BLUE;
+       }
+       if (flags5 & (RF5_BA_DARK))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BA_DARK), _("°Å¹õ¤ÎÍò(%d-%d)", "invoke darkness storms(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_DARK;
+       }
+       if (flags5 & (RF5_BA_LITE))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BA_LITE), _("¥¹¥¿¡¼¥Ð¡¼¥¹¥È(%d-%d)", "invoke starburst(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_YELLOW;
+       }
+       if (flags4 & (RF4_BA_CHAO))         
+       {
+               set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BA_CHAO), _("½ã¥í¥°¥ë¥¹(%d-%d)", "invoke raw Logrus(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_VIOLET;
+       }
+       if (flags6 & (RF6_HAND_DOOM)){ vp[vn] = _("ÇËÌǤμê(40%-60%)", "invoke the Hand of Doom(40%-60%)"); color[vn++] = TERM_VIOLET; }
+       if (flags6 & (RF6_PSY_SPEAR))
+       {
+               set_damage(r_idx, monspell_num(RF6_SPELL_START, RF6_PSY_SPEAR), _("¸÷¤Î·õ(%d-%d)", "psycho-spear(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_YELLOW;
+       }
+       if (flags5 & (RF5_DRAIN_MANA))
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_DRAIN_MANA), _("ËâÎϵۼý(%d-%d)", "drain mana(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_SLATE;
+       }
+       if (flags5 & (RF5_MIND_BLAST))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_MIND_BLAST), _("Àº¿À¹¶·â(%d-%d)", "cause mind blasting(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_RED;
+       }
+       if (flags5 & (RF5_BRAIN_SMASH))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BRAIN_SMASH), _("Ǿ¹¶·â(%d-%d)", "cause brain smashing(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_RED;
+       }
+       if (flags5 & (RF5_CAUSE_1))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_CAUSE_1), 
+                       _("·Ú½ý¡Ü¼ö¤¤(%d-%d)", "cause light wounds and cursing(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_WHITE;
+       }
+       if (flags5 & (RF5_CAUSE_2))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_CAUSE_2), 
+                       _("½Å½ý¡Ü¼ö¤¤(%d-%d)", "cause serious wounds and cursing(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_WHITE;
+       }
+       if (flags5 & (RF5_CAUSE_3))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_CAUSE_3), 
+                       _("Ã×Ì¿½ý¡Ü¼ö¤¤(%d-%d)", "cause critical wounds and cursing(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_WHITE;
+       }
+       if (flags5 & (RF5_CAUSE_4))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_CAUSE_4), 
+                       _("È빦¤òÆͤ¯(%d-%d)", "cause mortal wounds(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_WHITE;
+       }
+       if (flags5 & (RF5_BO_ACID))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BO_ACID), _("¥¢¥·¥Ã¥É¡¦¥Ü¥ë¥È(%d-%d)", "produce acid bolts(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_GREEN;
+       }
+       if (flags5 & (RF5_BO_ELEC))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BO_ELEC), _("¥µ¥ó¥À¡¼¡¦¥Ü¥ë¥È(%d-%d)", "produce lightning bolts(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_BLUE;
+       }
+       if (flags5 & (RF5_BO_FIRE))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BO_FIRE), _("¥Õ¥¡¥¤¥¢¡¦¥Ü¥ë¥È(%d-%d)", "produce fire bolts(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_RED;
+       }
+       if (flags5 & (RF5_BO_COLD))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BO_COLD), _("¥¢¥¤¥¹¡¦¥Ü¥ë¥È(%d-%d)", "produce frost bolts(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_WHITE;
+       }
+       if (flags5 & (RF5_BO_NETH))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BO_NETH), _("ÃϹö¤ÎÌð(%d-%d)", "produce nether bolts(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_DARK;
+       }
+       if (flags5 & (RF5_BO_WATE))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BO_WATE), _("¥¦¥©¡¼¥¿¡¼¡¦¥Ü¥ë¥È(%d-%d)", "produce water bolts(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_BLUE;
+       }
+       if (flags5 & (RF5_BO_MANA))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BO_MANA), _("ËâÎϤÎÌð(%d-%d)", "produce mana bolts(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_BLUE;
+       }
+       if (flags5 & (RF5_BO_PLAS))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BO_PLAS), _("¥×¥é¥º¥Þ¡¦¥Ü¥ë¥È(%d-%d)", "produce plasma bolts(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_L_RED;
+       }
+       if (flags5 & (RF5_BO_ICEE))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BO_ICEE), _("¶Ë´¨¤ÎÌð(%d-%d)", "produce ice bolts(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_WHITE;
+       }
+       if (flags5 & (RF5_MISSILE))         
+       {
+               set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_MISSILE), _("¥Þ¥¸¥Ã¥¯¥ß¥µ¥¤¥ë(%d-%d)", "produce magic missiles(%d-%d)"), tmp_msg[vn], TRUE);
+        vp[vn] = tmp_msg[vn];
+               color[vn++] = TERM_SLATE;
+       }
        if (flags5 & (RF5_SCARE))           { vp[vn] = _("¶²ÉÝ", "terrify"); color[vn++] = TERM_SLATE; }
        if (flags5 & (RF5_BLIND))           { vp[vn] = _("Ìܤ¯¤é¤Þ¤·", "blind"); color[vn++] = TERM_L_DARK; }
        if (flags5 & (RF5_CONF))            { vp[vn] = _("º®Íð", "confuse"); color[vn++] = TERM_L_UMBER; }
index e3e5757..c7beefb 100644 (file)
@@ -4093,9 +4093,9 @@ int monspell_damage_base(int SPELL_NUM, int hp, int rlev, bool powerful, monster
 
     switch (TYPE)
     {
-    case DAM_MAX: dam += mult / div * maxroll(dice_num, dice_side); break;
-    case DAM_MIN: dam += mult / div * dice_num * 1; break;
-    case DAM_ROLL: dam += mult / div * damroll(dice_num, dice_side); break;
+    case DAM_MAX: dam += maxroll(dice_num, dice_side) * mult / div ; break;
+    case DAM_MIN: dam += dice_num * 1 * mult / div; break;
+    case DAM_ROLL: dam += damroll(dice_num, dice_side) * mult / div; break;
     }
 
     return dam;