• R/O
  • HTTP
  • SSH
  • HTTPS

hengband: Commit

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


Commit MetaInfo

Revision500899d38def136c1c96ab8d28ab12c0a03c7b2f (tree)
Time2013-01-24 23:54:33
Authoriks <iks@0568...>
Commiteriks

Log Message

POWERFUL monsters can already invoke elemental balls as same damage as mana balls.

Change Summary

Incremental Difference

--- a/src/mspells1.c
+++ b/src/mspells1.c
@@ -1310,6 +1310,7 @@ bool make_attack_spell(int m_idx)
13101310 u32b mode = 0L;
13111311 int s_num_6 = (easy_band ? 2 : 6);
13121312 int s_num_4 = (easy_band ? 1 : 4);
1313+ int rad = 0; //For elemental spells
13131314
13141315 /* Target location */
13151316 int x = px;
@@ -2348,19 +2349,23 @@ else msg_format("%^s
23482349 {
23492350 disturb(1, 0);
23502351 #ifdef JP
2351-if (blind) msg_format("%^sが何かをつぶやいた。", m_name);
2352+ if (blind) msg_format("%^sが何かをつぶやいた。", m_name);
2353+ else msg_format("%^sがアシッド・ボールの呪文を唱えた。", m_name);
23522354 #else
23532355 if (blind) msg_format("%^s mumbles.", m_name);
2354-#endif
2355-
2356-#ifdef JP
2357-else msg_format("%^sがアシッド・ボールの呪文を唱えた。", m_name);
2358-#else
23592356 else msg_format("%^s casts an acid ball.", m_name);
23602357 #endif
2361-
2362- dam = (randint1(rlev * 3) + 15) * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1);
2363- breath(y, x, m_idx, GF_ACID, dam, 2, FALSE, MS_BALL_ACID, learnable);
2358+ if (r_ptr->flags2 & RF2_POWERFUL)
2359+ {
2360+ rad = 4;
2361+ dam = (rlev * 4) + 50 + damroll(10, 10);
2362+ }
2363+ else
2364+ {
2365+ rad = 2;
2366+ dam = (randint1(rlev * 3) + 15);
2367+ }
2368+ breath(y, x, m_idx, GF_ACID, dam, rad, FALSE, MS_BALL_ACID, learnable);
23642369 update_smart_learn(m_idx, DRS_ACID);
23652370 break;
23662371 }
@@ -2368,21 +2373,26 @@ else msg_format("%^s
23682373 /* RF5_BA_ELEC */
23692374 case 128+1:
23702375 {
2376+ int rad = (r_ptr->flags2 & RF2_POWERFUL) ? 4 : 2;
23712377 disturb(1, 0);
23722378 #ifdef JP
2373-if (blind) msg_format("%^sが何かをつぶやいた。", m_name);
2379+ if (blind) msg_format("%^sが何かをつぶやいた。", m_name);
2380+ else msg_format("%^sがサンダー・ボールの呪文を唱えた。", m_name);
23742381 #else
23752382 if (blind) msg_format("%^s mumbles.", m_name);
2376-#endif
2377-
2378-#ifdef JP
2379-else msg_format("%^sがサンダー・ボールの呪文を唱えた。", m_name);
2380-#else
23812383 else msg_format("%^s casts a lightning ball.", m_name);
23822384 #endif
2383-
2384- dam = (randint1(rlev * 3 / 2) + 8) * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1);
2385- breath(y, x, m_idx, GF_ELEC, dam, 2, FALSE, MS_BALL_ELEC, learnable);
2385+ if (r_ptr->flags2 & RF2_POWERFUL)
2386+ {
2387+ rad = 4;
2388+ dam = (rlev * 4) + 50 + damroll(10, 10);
2389+ }
2390+ else
2391+ {
2392+ rad = 2;
2393+ dam = (randint1(rlev * 3 / 2) + 8);
2394+ }
2395+ breath(y, x, m_idx, GF_ELEC, dam, rad, FALSE, MS_BALL_ELEC, learnable);
23862396 update_smart_learn(m_idx, DRS_ELEC);
23872397 break;
23882398 }
@@ -2390,6 +2400,7 @@ else msg_format("%^s
23902400 /* RF5_BA_FIRE */
23912401 case 128+2:
23922402 {
2403+ int rad = (r_ptr->flags2 & RF2_POWERFUL) ? 4 : 2;
23932404 disturb(1, 0);
23942405
23952406 if (m_ptr->r_idx == MON_ROLENTO)
@@ -2409,20 +2420,25 @@ else msg_format("%^s
24092420 else
24102421 {
24112422 #ifdef JP
2412-if (blind) msg_format("%^sが何かをつぶやいた。", m_name);
2423+ if (blind) msg_format("%^sが何かをつぶやいた。", m_name);
2424+ else msg_format("%^sがファイア・ボールの呪文を唱えた。", m_name);
24132425 #else
24142426 if (blind) msg_format("%^s mumbles.", m_name);
2415-#endif
2416-
2417-#ifdef JP
2418-else msg_format("%^sがファイア・ボールの呪文を唱えた。", m_name);
2419-#else
24202427 else msg_format("%^s casts a fire ball.", m_name);
24212428 #endif
24222429 }
24232430
2424- dam = (randint1(rlev * 7 / 2) + 10) * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1);
2425- breath(y, x, m_idx, GF_FIRE, dam, 2, FALSE, MS_BALL_FIRE, learnable);
2431+ if (r_ptr->flags2 & RF2_POWERFUL)
2432+ {
2433+ rad = 4;
2434+ dam = (rlev * 4) + 50 + damroll(10, 10);
2435+ }
2436+ else
2437+ {
2438+ rad = 2;
2439+ dam = (randint1(rlev * 7 / 2) + 10);
2440+ }
2441+ breath(y, x, m_idx, GF_FIRE, dam, rad, FALSE, MS_BALL_FIRE, learnable);
24262442 update_smart_learn(m_idx, DRS_FIRE);
24272443 break;
24282444 }
@@ -2430,21 +2446,26 @@ else msg_format("%^s
24302446 /* RF5_BA_COLD */
24312447 case 128+3:
24322448 {
2449+ int rad = (r_ptr->flags2 & RF2_POWERFUL) ? 4 : 2;
24332450 disturb(1, 0);
24342451 #ifdef JP
2435-if (blind) msg_format("%^sが何かをつぶやいた。", m_name);
2452+ if (blind) msg_format("%^sが何かをつぶやいた。", m_name);
2453+ else msg_format("%^sがアイス・ボールの呪文を唱えた。", m_name);
24362454 #else
24372455 if (blind) msg_format("%^s mumbles.", m_name);
2438-#endif
2439-
2440-#ifdef JP
2441-else msg_format("%^sがアイス・ボールの呪文を唱えた。", m_name);
2442-#else
24432456 else msg_format("%^s casts a frost ball.", m_name);
24442457 #endif
2445-
2446- dam = (randint1(rlev * 3 / 2) + 10) * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1);
2447- breath(y, x, m_idx, GF_COLD, dam, 2, FALSE, MS_BALL_COLD, learnable);
2458+ if (r_ptr->flags2 & RF2_POWERFUL)
2459+ {
2460+ rad = 4;
2461+ dam = (rlev * 4) + 50 + damroll(10, 10);
2462+ }
2463+ else
2464+ {
2465+ rad = 2;
2466+ dam = (randint1(rlev * 3 / 2) + 10);
2467+ }
2468+ breath(y, x, m_idx, GF_COLD, dam, rad, FALSE, MS_BALL_COLD, learnable);
24482469 update_smart_learn(m_idx, DRS_COLD);
24492470 break;
24502471 }
--- a/src/mspells2.c
+++ b/src/mspells2.c
@@ -291,6 +291,7 @@ bool monst_spell_monst(int m_idx)
291291 u32b u_mode = 0L;
292292 int s_num_6 = (easy_band ? 2 : 6);
293293 int s_num_4 = (easy_band ? 1 : 4);
294+ int rad = 0; //For elemental balls
294295
295296 byte spell[96], num = 0;
296297
@@ -1931,9 +1932,17 @@ bool monst_spell_monst(int m_idx)
19311932 }
19321933 }
19331934
1934- dam = (randint1(rlev * 3) + 15) * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1);
1935- monst_breath_monst(m_idx, y, x, GF_ACID, dam, 2, FALSE, MS_BALL_ACID, learnable);
1936-
1935+ if (r_ptr->flags2 & RF2_POWERFUL)
1936+ {
1937+ rad = 4;
1938+ dam = (rlev * 4) + 50 + damroll(10, 10);
1939+ }
1940+ else
1941+ {
1942+ rad = 2;
1943+ dam = (randint1(rlev * 3) + 15);
1944+ }
1945+ monst_breath_monst(m_idx, y, x, GF_ACID, dam, rad, FALSE, MS_BALL_ACID, learnable);
19371946 break;
19381947
19391948 /* RF5_BA_ELEC */
@@ -1969,9 +1978,17 @@ bool monst_spell_monst(int m_idx)
19691978 }
19701979 }
19711980
1972- dam = (randint1(rlev * 3 / 2) + 8) * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1);
1973- monst_breath_monst(m_idx, y, x, GF_ELEC, dam, 2, FALSE, MS_BALL_ELEC, learnable);
1974-
1981+ if (r_ptr->flags2 & RF2_POWERFUL)
1982+ {
1983+ rad = 4;
1984+ dam = (rlev * 4) + 50 + damroll(10, 10);
1985+ }
1986+ else
1987+ {
1988+ rad = 2;
1989+ dam = (randint1(rlev * 3 / 2) + 8);
1990+ }
1991+ monst_breath_monst(m_idx, y, x, GF_ELEC, dam, rad, FALSE, MS_BALL_ELEC, learnable);
19751992 break;
19761993
19771994 /* RF5_BA_FIRE */
@@ -2024,9 +2041,17 @@ bool monst_spell_monst(int m_idx)
20242041 }
20252042 }
20262043
2027- dam = (randint1(rlev * 7 / 2) + 10) * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1);
2028- monst_breath_monst(m_idx, y, x, GF_FIRE, dam, 2, FALSE, MS_BALL_FIRE, learnable);
2029-
2044+ if (r_ptr->flags2 & RF2_POWERFUL)
2045+ {
2046+ rad = 4;
2047+ dam = (rlev * 4) + 50 + damroll(10, 10);
2048+ }
2049+ else
2050+ {
2051+ rad = 2;
2052+ dam = (randint1(rlev * 7 / 2) + 10);
2053+ }
2054+ monst_breath_monst(m_idx, y, x, GF_FIRE, dam, rad, FALSE, MS_BALL_FIRE, learnable);
20302055 break;
20312056
20322057 /* RF5_BA_COLD */
@@ -2062,9 +2087,17 @@ bool monst_spell_monst(int m_idx)
20622087 }
20632088 }
20642089
2065- dam = (randint1(rlev * 3 / 2) + 10) * ((r_ptr->flags2 & RF2_POWERFUL) ? 2 : 1);
2066- monst_breath_monst(m_idx, y, x, GF_COLD, dam, 2, FALSE, MS_BALL_COLD, learnable);
2067-
2090+ if (r_ptr->flags2 & RF2_POWERFUL)
2091+ {
2092+ rad = 4;
2093+ dam = (rlev * 4) + 50 + damroll(10, 10);
2094+ }
2095+ else
2096+ {
2097+ rad = 2;
2098+ dam = (randint1(rlev * 3 / 2) + 10);
2099+ }
2100+ monst_breath_monst(m_idx, y, x, GF_COLD, dam, rad, FALSE, MS_BALL_COLD, learnable);
20682101 break;
20692102
20702103 /* RF5_BA_POIS */
Show on old repository browser