• R/O
  • HTTP
  • SSH
  • HTTPS

hengband: Commit

変愚蛮怒のメインリポジトリです


Commit MetaInfo

Revision2b0beaed4731927dfec1d776a204c1214cfdc3de (tree)
Time2014-02-24 22:37:55
Authordis- <dis.rogue@gmai...>
Commiterdis-

Log Message

show all mon_spell damage

Change Summary

Incremental Difference

--- a/src/monster1.c
+++ b/src/monster1.c
@@ -128,6 +128,24 @@ static void hooked_roff(cptr str)
128128 hook_c_roff(TERM_WHITE, str);
129129 }
130130
131+/*!
132+ * @brief 文字列にモンスターの攻撃力を加える
133+ * @param r_idx モンスターの種族ID
134+ * @param SPELL_NUM 呪文番号
135+ * @param msg 表示する文字列
136+ * @param tmp 返すメッセージを格納する配列
137+ * @param min_max TRUEなら(最小-最大)形式で、FALSEなら(最大値)形式で返す
138+ * @return なし
139+ */
140+void set_damage(int r_idx, int SPELL_NUM, char* msg, char* tmp, bool min_max)
141+{
142+ int dam_min = monspell_race_damage(SPELL_NUM, r_idx, DAM_MIN);
143+ int dam_max = monspell_race_damage(SPELL_NUM, r_idx, DAM_MAX);
144+ if(min_max)
145+ sprintf(tmp, msg, dam_min, dam_max);
146+ else
147+ sprintf(tmp, msg, dam_max);
148+}
131149
132150 /*!
133151 * @brief モンスターの思い出情報を表示する
@@ -723,8 +741,7 @@ static void roff_aux(int r_idx, int mode)
723741 if (flags4 & RF4_SHRIEK) { vp[vn] = _("悲鳴で助けを求める", "shriek for help"); color[vn++] = TERM_L_WHITE; }
724742 if (flags4 & RF4_ROCKET)
725743 {
726- int dam = monspell_race_damage(monspell_num(RF4_SPELL_START, RF4_ROCKET), r_idx, DAM_MAX);
727- sprintf(tmp_msg[vn], _("ロケット(%d)を発射する", "shoot a rocket(%d)"), dam);
744+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_ROCKET), _("ロケット(%d)を発射する", "shoot a rocket(%d)"), tmp_msg[vn], FALSE);
728745 vp[vn] = tmp_msg[vn];
729746 color[vn++] = TERM_UMBER;
730747 }
@@ -781,28 +798,138 @@ static void roff_aux(int r_idx, int mode)
781798
782799 /* Collect breaths */
783800 vn = 0;
784- if (flags4 & (RF4_BR_ACID)) { vp[vn] = _("酸", "acid"); color[vn++] = TERM_GREEN; }
785- if (flags4 & (RF4_BR_ELEC)) { vp[vn] = _("稲妻", "lightning"); color[vn++] = TERM_BLUE; }
786- if (flags4 & (RF4_BR_FIRE)) { vp[vn] = _("火炎", "fire"); color[vn++] = TERM_RED; }
787- if (flags4 & (RF4_BR_COLD)) { vp[vn] = _("冷気", "frost"); color[vn++] = TERM_L_WHITE; }
788- if (flags4 & (RF4_BR_POIS)) { vp[vn] = _("毒", "poison"); color[vn++] = TERM_L_GREEN; }
789- if (flags4 & (RF4_BR_NETH)) { vp[vn] = _("地獄", "nether"); color[vn++] = TERM_L_DARK; }
790- if (flags4 & (RF4_BR_LITE)) { vp[vn] = _("閃光", "light"); color[vn++] = TERM_YELLOW; }
791- if (flags4 & (RF4_BR_DARK)) { vp[vn] = _("暗黒", "darkness"); color[vn++] = TERM_L_DARK; }
792- if (flags4 & (RF4_BR_CONF)) { vp[vn] = _("混乱", "confusion"); color[vn++] = TERM_L_UMBER; }
793- if (flags4 & (RF4_BR_SOUN)) { vp[vn] = _("轟音", "sound"); color[vn++] = TERM_ORANGE; }
794- if (flags4 & (RF4_BR_CHAO)) { vp[vn] = _("カオス", "chaos"); color[vn++] = TERM_VIOLET; }
795- if (flags4 & (RF4_BR_DISE)) { vp[vn] = _("劣化", "disenchantment"); color[vn++] = TERM_VIOLET; }
796- if (flags4 & (RF4_BR_NEXU)) { vp[vn] = _("因果混乱", "nexus"); color[vn++] = TERM_VIOLET; }
797- if (flags4 & (RF4_BR_TIME)) { vp[vn] = _("時間逆転", "time"); color[vn++] = TERM_L_BLUE; }
798- if (flags4 & (RF4_BR_INER)) { vp[vn] = _("遅鈍", "inertia"); color[vn++] = TERM_SLATE; }
799- if (flags4 & (RF4_BR_GRAV)) { vp[vn] = _("重力", "gravity"); color[vn++] = TERM_SLATE; }
800- if (flags4 & (RF4_BR_SHAR)) { vp[vn] = _("破片", "shards"); color[vn++] = TERM_L_UMBER; }
801- if (flags4 & (RF4_BR_PLAS)) { vp[vn] = _("プラズマ", "plasma"); color[vn++] = TERM_L_RED; }
802- if (flags4 & (RF4_BR_WALL)) { vp[vn] = _("フォース", "force"); color[vn++] = TERM_UMBER; }
803- if (flags4 & (RF4_BR_MANA)) { vp[vn] = _("魔力", "mana"); color[vn++] = TERM_L_BLUE; }
804- if (flags4 & (RF4_BR_NUKE)) { vp[vn] = _("放射性廃棄物", "toxic waste"); color[vn++] = TERM_L_GREEN; }
805- if (flags4 & (RF4_BR_DISI)) { vp[vn] = _("分解", "disintegration"); color[vn++] = TERM_SLATE; }
801+ if (flags4 & (RF4_BR_ACID))
802+ {
803+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_ACID), _("酸(%d)", "acid(%d)"), tmp_msg[vn], FALSE);
804+ vp[vn] = tmp_msg[vn];
805+ color[vn++] = TERM_GREEN;
806+ }
807+ if (flags4 & (RF4_BR_ELEC))
808+ {
809+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_ELEC), _("稲妻(%d)", "lightning(%d)"), tmp_msg[vn], FALSE);
810+ vp[vn] = tmp_msg[vn];
811+ color[vn++] = TERM_BLUE;
812+ }
813+ if (flags4 & (RF4_BR_FIRE))
814+ {
815+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_FIRE), _("火炎(%d)", "fire(%d)"), tmp_msg[vn], FALSE);
816+ vp[vn] = tmp_msg[vn];
817+ color[vn++] = TERM_RED;
818+ }
819+ if (flags4 & (RF4_BR_FIRE))
820+ {
821+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_COLD), _("冷気(%d)", "frost(%d)"), tmp_msg[vn], FALSE);
822+ vp[vn] = tmp_msg[vn];
823+ color[vn++] = TERM_L_WHITE;
824+ }
825+ if (flags4 & (RF4_BR_POIS))
826+ {
827+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_POIS), _("毒(%d)", "poison(%d)"), tmp_msg[vn], FALSE);
828+ vp[vn] = tmp_msg[vn];
829+ color[vn++] = TERM_L_GREEN;
830+ }
831+ if (flags4 & (RF4_BR_NETH))
832+ {
833+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_NETH), _("地獄(%d)", "nether(%d)"), tmp_msg[vn], FALSE);
834+ vp[vn] = tmp_msg[vn];
835+ color[vn++] = TERM_L_DARK;
836+ }
837+ if (flags4 & (RF4_BR_LITE))
838+ {
839+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_LITE), _("閃光(%d)", "light(%d)"), tmp_msg[vn], FALSE);
840+ vp[vn] = tmp_msg[vn];
841+ color[vn++] = TERM_YELLOW;
842+ }
843+ if (flags4 & (RF4_BR_DARK))
844+ {
845+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_DARK), _("暗黒(%d)", "darkness(%d)"), tmp_msg[vn], FALSE);
846+ vp[vn] = tmp_msg[vn];
847+ color[vn++] = TERM_L_DARK;
848+ }
849+ if (flags4 & (RF4_BR_CONF))
850+ {
851+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_CONF), _("混乱(%d)", "confusion(%d)"), tmp_msg[vn], FALSE);
852+ vp[vn] = tmp_msg[vn];
853+ color[vn++] = TERM_L_UMBER;
854+ }
855+ if (flags4 & (RF4_BR_SOUN))
856+ {
857+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_SOUN), _("轟音(%d)", "sound(%d)"), tmp_msg[vn], FALSE);
858+ vp[vn] = tmp_msg[vn];
859+ color[vn++] = TERM_ORANGE;
860+ }
861+ if (flags4 & (RF4_BR_CHAO))
862+ {
863+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_CHAO), _("カオス(%d)", "chaos(%d)"), tmp_msg[vn], FALSE);
864+ vp[vn] = tmp_msg[vn];
865+ color[vn++] = TERM_VIOLET;
866+ }
867+ if (flags4 & (RF4_BR_DISE))
868+ {
869+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_DISE), _("劣化(%d)", "disenchantment(%d)"), tmp_msg[vn], FALSE);
870+ vp[vn] = tmp_msg[vn];
871+ color[vn++] = TERM_VIOLET;
872+ }
873+ if (flags4 & (RF4_BR_NEXU))
874+ {
875+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_NEXU), _("因果混乱(%d)", "nexus(%d)"), tmp_msg[vn], FALSE);
876+ vp[vn] = tmp_msg[vn];
877+ color[vn++] = TERM_VIOLET;
878+ }
879+ if (flags4 & (RF4_BR_TIME))
880+ {
881+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_TIME), _("時間逆転(%d)", "time(%d)"), tmp_msg[vn], FALSE);
882+ vp[vn] = tmp_msg[vn];
883+ color[vn++] = TERM_L_BLUE;
884+ }
885+ if (flags4 & (RF4_BR_INER))
886+ {
887+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_INER), _("遅鈍(%d)", "inertia(%d)"), tmp_msg[vn], FALSE);
888+ vp[vn] = tmp_msg[vn];
889+ color[vn++] = TERM_SLATE;
890+ }
891+ if (flags4 & (RF4_BR_GRAV))
892+ {
893+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_GRAV), _("重力(%d)", "gravity(%d)"), tmp_msg[vn], FALSE);
894+ vp[vn] = tmp_msg[vn];
895+ color[vn++] = TERM_SLATE;
896+ }
897+ if (flags4 & (RF4_BR_SHAR))
898+ {
899+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_SHAR), _("破片(%d)", "shards(%d)"), tmp_msg[vn], FALSE);
900+ vp[vn] = tmp_msg[vn];
901+ color[vn++] = TERM_L_UMBER;
902+ }
903+ if (flags4 & (RF4_BR_PLAS))
904+ {
905+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_PLAS), _("プラズマ(%d)", "plasma(%d)"), tmp_msg[vn], FALSE);
906+ vp[vn] = tmp_msg[vn];
907+ color[vn++] = TERM_L_RED;
908+ }
909+ if (flags4 & (RF4_BR_WALL))
910+ {
911+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_WALL), _("フォース(%d)", "force(%d)"), tmp_msg[vn], FALSE);
912+ vp[vn] = tmp_msg[vn];
913+ color[vn++] = TERM_UMBER;
914+ }
915+ if (flags4 & (RF4_BR_MANA))
916+ {
917+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_MANA), _("魔力(%d)", "mana(%d)"), tmp_msg[vn], FALSE);
918+ vp[vn] = tmp_msg[vn];
919+ color[vn++] = TERM_L_BLUE;
920+ }
921+ if (flags4 & (RF4_BR_NUKE))
922+ {
923+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_NUKE), _("放射性廃棄物(%d)", "toxic waste(%d)"), tmp_msg[vn], FALSE);
924+ vp[vn] = tmp_msg[vn];
925+ color[vn++] = TERM_L_GREEN;
926+ }
927+ if (flags4 & (RF4_BR_DISI))
928+ {
929+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BR_DISI), _("分解(%d)", "disintegration(%d)"), tmp_msg[vn], FALSE);
930+ vp[vn] = tmp_msg[vn];
931+ color[vn++] = TERM_SLATE;
932+ }
806933
807934 /* Describe breaths */
808935 if (vn)
@@ -837,37 +964,191 @@ static void roff_aux(int r_idx, int mode)
837964
838965 /* Collect spells */
839966 vn = 0;
840- if (flags5 & (RF5_BA_ACID)) { vp[vn] = _("アシッド・ボール", "produce acid balls"); color[vn++] = TERM_GREEN; }
841- if (flags5 & (RF5_BA_ELEC)) { vp[vn] = _("サンダー・ボール", "produce lightning balls"); color[vn++] = TERM_BLUE; }
842- if (flags5 & (RF5_BA_FIRE)) { vp[vn] = _("ファイア・ボール", "produce fire balls"); color[vn++] = TERM_RED; }
843- if (flags5 & (RF5_BA_COLD)) { vp[vn] = _("アイス・ボール", "produce frost balls"); color[vn++] = TERM_L_WHITE; }
844- if (flags5 & (RF5_BA_POIS)) { vp[vn] = _("悪臭雲", "produce poison balls"); color[vn++] = TERM_L_GREEN; }
845- if (flags5 & (RF5_BA_NETH)) { vp[vn] = _("地獄球", "produce nether balls"); color[vn++] = TERM_L_DARK; }
846- if (flags5 & (RF5_BA_WATE)) { vp[vn] = _("ウォーター・ボール", "produce water balls"); color[vn++] = TERM_BLUE; }
847- if (flags4 & (RF4_BA_NUKE)) { vp[vn] = _("放射能球", "produce balls of radiation"); color[vn++] = TERM_L_GREEN; }
848- if (flags5 & (RF5_BA_MANA)) { vp[vn] = _("魔力の嵐", "invoke mana storms"); color[vn++] = TERM_L_BLUE; }
849- if (flags5 & (RF5_BA_DARK)) { vp[vn] = _("暗黒の嵐", "invoke darkness storms"); color[vn++] = TERM_L_DARK; }
850- if (flags5 & (RF5_BA_LITE)) { vp[vn] = _("スターバースト", "invoke starburst"); color[vn++] = TERM_YELLOW; }
851- if (flags4 & (RF4_BA_CHAO)) { vp[vn] = _("純ログルス", "invoke raw Logrus"); color[vn++] = TERM_VIOLET; }
852- if (flags6 & (RF6_HAND_DOOM)) { vp[vn] = _("破滅の手", "invoke the Hand of Doom"); color[vn++] = TERM_VIOLET; }
853- if (flags6 & (RF6_PSY_SPEAR)) { vp[vn] = _("光の剣", "psycho-spear"); color[vn++] = TERM_YELLOW; }
854- if (flags5 & (RF5_DRAIN_MANA)) { vp[vn] = _("魔力吸収", "drain mana"); color[vn++] = TERM_SLATE; }
855- if (flags5 & (RF5_MIND_BLAST)) { vp[vn] = _("精神攻撃", "cause mind blasting"); color[vn++] = TERM_L_RED; }
856- if (flags5 & (RF5_BRAIN_SMASH)) { vp[vn] = _("脳攻撃", "cause brain smashing"); color[vn++] = TERM_RED; }
857- if (flags5 & (RF5_CAUSE_1)) { vp[vn] = _("軽傷+呪い", "cause light wounds and cursing"); color[vn++] = TERM_L_WHITE; }
858- if (flags5 & (RF5_CAUSE_2)) { vp[vn] = _("重傷+呪い", "cause serious wounds and cursing"); color[vn++] = TERM_L_WHITE; }
859- if (flags5 & (RF5_CAUSE_3)) { vp[vn] = _("致命傷+呪い", "cause critical wounds and cursing"); color[vn++] = TERM_L_WHITE; }
860- if (flags5 & (RF5_CAUSE_4)) { vp[vn] = _("秘孔を突く", "cause mortal wounds"); color[vn++] = TERM_L_WHITE; }
861- if (flags5 & (RF5_BO_ACID)) { vp[vn] = _("アシッド・ボルト", "produce acid bolts"); color[vn++] = TERM_GREEN; }
862- if (flags5 & (RF5_BO_ELEC)) { vp[vn] = _("サンダー・ボルト", "produce lightning bolts"); color[vn++] = TERM_BLUE; }
863- if (flags5 & (RF5_BO_FIRE)) { vp[vn] = _("ファイア・ボルト", "produce fire bolts"); color[vn++] = TERM_RED; }
864- if (flags5 & (RF5_BO_COLD)) { vp[vn] = _("アイス・ボルト", "produce frost bolts"); color[vn++] = TERM_L_WHITE; }
865- if (flags5 & (RF5_BO_NETH)) { vp[vn] = _("地獄の矢", "produce nether bolts"); color[vn++] = TERM_L_DARK; }
866- if (flags5 & (RF5_BO_WATE)) { vp[vn] = _("ウォーター・ボルト", "produce water bolts"); color[vn++] = TERM_BLUE; }
867- if (flags5 & (RF5_BO_MANA)) { vp[vn] = _("魔力の矢", "produce mana bolts"); color[vn++] = TERM_L_BLUE; }
868- if (flags5 & (RF5_BO_PLAS)) { vp[vn] = _("プラズマ・ボルト", "produce plasma bolts"); color[vn++] = TERM_L_RED; }
869- if (flags5 & (RF5_BO_ICEE)) { vp[vn] = _("極寒の矢", "produce ice bolts"); color[vn++] = TERM_WHITE; }
870- if (flags5 & (RF5_MISSILE)) { vp[vn] = _("マジックミサイル", "produce magic missiles"); color[vn++] = TERM_SLATE; }
967+ if (flags5 & (RF5_BA_ACID))
968+ {
969+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BA_ACID), _("アシッド・ボール(%d-%d)", "produce acid balls(%d-%d)"), tmp_msg[vn], TRUE);
970+ vp[vn] = tmp_msg[vn];
971+ color[vn++] = TERM_GREEN;
972+ }
973+ if (flags5 & (RF5_BA_ELEC))
974+ {
975+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BA_ELEC), _("サンダー・ボール(%d-%d)", "produce lightning balls(%d-%d)"), tmp_msg[vn], TRUE);
976+ vp[vn] = tmp_msg[vn];
977+ color[vn++] = TERM_BLUE;
978+ }
979+ if (flags5 & (RF5_BA_FIRE))
980+ {
981+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BA_FIRE), _("ファイア・ボール(%d-%d)", "produce fire balls(%d-%d)"), tmp_msg[vn], TRUE);
982+ vp[vn] = tmp_msg[vn];
983+ color[vn++] = TERM_RED;
984+ }
985+ if (flags5 & (RF5_BA_COLD))
986+ {
987+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BA_COLD), _("アイス・ボール(%d-%d)", "produce frost balls(%d-%d)"), tmp_msg[vn], TRUE);
988+ vp[vn] = tmp_msg[vn];
989+ color[vn++] = TERM_L_WHITE;
990+ }
991+ if (flags5 & (RF5_BA_POIS))
992+ {
993+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BA_POIS), _("悪臭雲(%d-%d)", "produce poison balls(%d-%d)"), tmp_msg[vn], TRUE);
994+ vp[vn] = tmp_msg[vn];
995+ color[vn++] = TERM_L_GREEN;
996+ }
997+ if (flags5 & (RF5_BA_NETH))
998+ {
999+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BA_NETH), _("地獄球(%d-%d)", "produce nether balls(%d-%d)"), tmp_msg[vn], TRUE);
1000+ vp[vn] = tmp_msg[vn];
1001+ color[vn++] = TERM_L_DARK;
1002+ }
1003+ if (flags5 & (RF5_BA_WATE))
1004+ {
1005+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BA_WATE), _("ウォーター・ボール(%d-%d)", "produce water balls(%d-%d)"), tmp_msg[vn], TRUE);
1006+ vp[vn] = tmp_msg[vn];
1007+ color[vn++] = TERM_BLUE;
1008+ }
1009+ if (flags4 & (RF4_BA_NUKE))
1010+ {
1011+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BA_NUKE), _("放射能球(%d-%d)", "produce balls of radiation(%d-%d)"), tmp_msg[vn], TRUE);
1012+ vp[vn] = tmp_msg[vn];
1013+ color[vn++] = TERM_L_GREEN;
1014+ }
1015+ if (flags5 & (RF5_BA_MANA))
1016+ {
1017+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BA_MANA), _("魔力の嵐(%d-%d)", "invoke mana storms(%d-%d)"), tmp_msg[vn], TRUE);
1018+ vp[vn] = tmp_msg[vn];
1019+ color[vn++] = TERM_L_BLUE;
1020+ }
1021+ if (flags5 & (RF5_BA_DARK))
1022+ {
1023+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BA_DARK), _("暗黒の嵐(%d-%d)", "invoke darkness storms(%d-%d)"), tmp_msg[vn], TRUE);
1024+ vp[vn] = tmp_msg[vn];
1025+ color[vn++] = TERM_L_DARK;
1026+ }
1027+ if (flags5 & (RF5_BA_LITE))
1028+ {
1029+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BA_LITE), _("スターバースト(%d-%d)", "invoke starburst(%d-%d)"), tmp_msg[vn], TRUE);
1030+ vp[vn] = tmp_msg[vn];
1031+ color[vn++] = TERM_YELLOW;
1032+ }
1033+ if (flags4 & (RF4_BA_CHAO))
1034+ {
1035+ set_damage(r_idx, monspell_num(RF4_SPELL_START, RF4_BA_CHAO), _("純ログルス(%d-%d)", "invoke raw Logrus(%d-%d)"), tmp_msg[vn], TRUE);
1036+ vp[vn] = tmp_msg[vn];
1037+ color[vn++] = TERM_VIOLET;
1038+ }
1039+ if (flags6 & (RF6_HAND_DOOM)){ vp[vn] = _("破滅の手(40%-60%)", "invoke the Hand of Doom(40%-60%)"); color[vn++] = TERM_VIOLET; }
1040+ if (flags6 & (RF6_PSY_SPEAR))
1041+ {
1042+ set_damage(r_idx, monspell_num(RF6_SPELL_START, RF6_PSY_SPEAR), _("光の剣(%d-%d)", "psycho-spear(%d-%d)"), tmp_msg[vn], TRUE);
1043+ vp[vn] = tmp_msg[vn];
1044+ color[vn++] = TERM_YELLOW;
1045+ }
1046+ if (flags5 & (RF5_DRAIN_MANA))
1047+ {
1048+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_DRAIN_MANA), _("魔力吸収(%d-%d)", "drain mana(%d-%d)"), tmp_msg[vn], TRUE);
1049+ vp[vn] = tmp_msg[vn];
1050+ color[vn++] = TERM_SLATE;
1051+ }
1052+ if (flags5 & (RF5_MIND_BLAST))
1053+ {
1054+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_MIND_BLAST), _("精神攻撃(%d-%d)", "cause mind blasting(%d-%d)"), tmp_msg[vn], TRUE);
1055+ vp[vn] = tmp_msg[vn];
1056+ color[vn++] = TERM_L_RED;
1057+ }
1058+ if (flags5 & (RF5_BRAIN_SMASH))
1059+ {
1060+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BRAIN_SMASH), _("脳攻撃(%d-%d)", "cause brain smashing(%d-%d)"), tmp_msg[vn], TRUE);
1061+ vp[vn] = tmp_msg[vn];
1062+ color[vn++] = TERM_RED;
1063+ }
1064+ if (flags5 & (RF5_CAUSE_1))
1065+ {
1066+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_CAUSE_1),
1067+ _("軽傷+呪い(%d-%d)", "cause light wounds and cursing(%d-%d)"), tmp_msg[vn], TRUE);
1068+ vp[vn] = tmp_msg[vn];
1069+ color[vn++] = TERM_L_WHITE;
1070+ }
1071+ if (flags5 & (RF5_CAUSE_2))
1072+ {
1073+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_CAUSE_2),
1074+ _("重傷+呪い(%d-%d)", "cause serious wounds and cursing(%d-%d)"), tmp_msg[vn], TRUE);
1075+ vp[vn] = tmp_msg[vn];
1076+ color[vn++] = TERM_L_WHITE;
1077+ }
1078+ if (flags5 & (RF5_CAUSE_3))
1079+ {
1080+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_CAUSE_3),
1081+ _("致命傷+呪い(%d-%d)", "cause critical wounds and cursing(%d-%d)"), tmp_msg[vn], TRUE);
1082+ vp[vn] = tmp_msg[vn];
1083+ color[vn++] = TERM_L_WHITE;
1084+ }
1085+ if (flags5 & (RF5_CAUSE_4))
1086+ {
1087+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_CAUSE_4),
1088+ _("秘孔を突く(%d-%d)", "cause mortal wounds(%d-%d)"), tmp_msg[vn], TRUE);
1089+ vp[vn] = tmp_msg[vn];
1090+ color[vn++] = TERM_L_WHITE;
1091+ }
1092+ if (flags5 & (RF5_BO_ACID))
1093+ {
1094+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BO_ACID), _("アシッド・ボルト(%d-%d)", "produce acid bolts(%d-%d)"), tmp_msg[vn], TRUE);
1095+ vp[vn] = tmp_msg[vn];
1096+ color[vn++] = TERM_GREEN;
1097+ }
1098+ if (flags5 & (RF5_BO_ELEC))
1099+ {
1100+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BO_ELEC), _("サンダー・ボルト(%d-%d)", "produce lightning bolts(%d-%d)"), tmp_msg[vn], TRUE);
1101+ vp[vn] = tmp_msg[vn];
1102+ color[vn++] = TERM_BLUE;
1103+ }
1104+ if (flags5 & (RF5_BO_FIRE))
1105+ {
1106+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BO_FIRE), _("ファイア・ボルト(%d-%d)", "produce fire bolts(%d-%d)"), tmp_msg[vn], TRUE);
1107+ vp[vn] = tmp_msg[vn];
1108+ color[vn++] = TERM_RED;
1109+ }
1110+ if (flags5 & (RF5_BO_COLD))
1111+ {
1112+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BO_COLD), _("アイス・ボルト(%d-%d)", "produce frost bolts(%d-%d)"), tmp_msg[vn], TRUE);
1113+ vp[vn] = tmp_msg[vn];
1114+ color[vn++] = TERM_L_WHITE;
1115+ }
1116+ if (flags5 & (RF5_BO_NETH))
1117+ {
1118+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BO_NETH), _("地獄の矢(%d-%d)", "produce nether bolts(%d-%d)"), tmp_msg[vn], TRUE);
1119+ vp[vn] = tmp_msg[vn];
1120+ color[vn++] = TERM_L_DARK;
1121+ }
1122+ if (flags5 & (RF5_BO_WATE))
1123+ {
1124+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BO_WATE), _("ウォーター・ボルト(%d-%d)", "produce water bolts(%d-%d)"), tmp_msg[vn], TRUE);
1125+ vp[vn] = tmp_msg[vn];
1126+ color[vn++] = TERM_BLUE;
1127+ }
1128+ if (flags5 & (RF5_BO_MANA))
1129+ {
1130+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BO_MANA), _("魔力の矢(%d-%d)", "produce mana bolts(%d-%d)"), tmp_msg[vn], TRUE);
1131+ vp[vn] = tmp_msg[vn];
1132+ color[vn++] = TERM_L_BLUE;
1133+ }
1134+ if (flags5 & (RF5_BO_PLAS))
1135+ {
1136+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BO_PLAS), _("プラズマ・ボルト(%d-%d)", "produce plasma bolts(%d-%d)"), tmp_msg[vn], TRUE);
1137+ vp[vn] = tmp_msg[vn];
1138+ color[vn++] = TERM_L_RED;
1139+ }
1140+ if (flags5 & (RF5_BO_ICEE))
1141+ {
1142+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_BO_ICEE), _("極寒の矢(%d-%d)", "produce ice bolts(%d-%d)"), tmp_msg[vn], TRUE);
1143+ vp[vn] = tmp_msg[vn];
1144+ color[vn++] = TERM_WHITE;
1145+ }
1146+ if (flags5 & (RF5_MISSILE))
1147+ {
1148+ set_damage(r_idx, monspell_num(RF5_SPELL_START, RF5_MISSILE), _("マジックミサイル(%d-%d)", "produce magic missiles(%d-%d)"), tmp_msg[vn], TRUE);
1149+ vp[vn] = tmp_msg[vn];
1150+ color[vn++] = TERM_SLATE;
1151+ }
8711152 if (flags5 & (RF5_SCARE)) { vp[vn] = _("恐怖", "terrify"); color[vn++] = TERM_SLATE; }
8721153 if (flags5 & (RF5_BLIND)) { vp[vn] = _("目くらまし", "blind"); color[vn++] = TERM_L_DARK; }
8731154 if (flags5 & (RF5_CONF)) { vp[vn] = _("混乱", "confuse"); color[vn++] = TERM_L_UMBER; }
--- a/src/mspells4.c
+++ b/src/mspells4.c
@@ -4093,9 +4093,9 @@ int monspell_damage_base(int SPELL_NUM, int hp, int rlev, bool powerful, monster
40934093
40944094 switch (TYPE)
40954095 {
4096- case DAM_MAX: dam += mult / div * maxroll(dice_num, dice_side); break;
4097- case DAM_MIN: dam += mult / div * dice_num * 1; break;
4098- case DAM_ROLL: dam += mult / div * damroll(dice_num, dice_side); break;
4096+ case DAM_MAX: dam += maxroll(dice_num, dice_side) * mult / div ; break;
4097+ case DAM_MIN: dam += dice_num * 1 * mult / div; break;
4098+ case DAM_ROLL: dam += damroll(dice_num, dice_side) * mult / div; break;
40994099 }
41004100
41014101 return dam;
Show on old repository browser