変愚蛮怒のメインリポジトリです
Revision | 500899d38def136c1c96ab8d28ab12c0a03c7b2f (tree) |
---|---|
Time | 2013-01-24 23:54:33 |
Author | iks <iks@0568...> |
Commiter | iks |
POWERFUL monsters can already invoke elemental balls as same damage as mana balls.
@@ -1310,6 +1310,7 @@ bool make_attack_spell(int m_idx) | ||
1310 | 1310 | u32b mode = 0L; |
1311 | 1311 | int s_num_6 = (easy_band ? 2 : 6); |
1312 | 1312 | int s_num_4 = (easy_band ? 1 : 4); |
1313 | + int rad = 0; //For elemental spells | |
1313 | 1314 | |
1314 | 1315 | /* Target location */ |
1315 | 1316 | int x = px; |
@@ -2348,19 +2349,23 @@ else msg_format("%^s | ||
2348 | 2349 | { |
2349 | 2350 | disturb(1, 0); |
2350 | 2351 | #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); | |
2352 | 2354 | #else |
2353 | 2355 | if (blind) msg_format("%^s mumbles.", m_name); |
2354 | -#endif | |
2355 | - | |
2356 | -#ifdef JP | |
2357 | -else msg_format("%^sがアシッド・ボールの呪文を唱えた。", m_name); | |
2358 | -#else | |
2359 | 2356 | else msg_format("%^s casts an acid ball.", m_name); |
2360 | 2357 | #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); | |
2364 | 2369 | update_smart_learn(m_idx, DRS_ACID); |
2365 | 2370 | break; |
2366 | 2371 | } |
@@ -2368,21 +2373,26 @@ else msg_format("%^s | ||
2368 | 2373 | /* RF5_BA_ELEC */ |
2369 | 2374 | case 128+1: |
2370 | 2375 | { |
2376 | + int rad = (r_ptr->flags2 & RF2_POWERFUL) ? 4 : 2; | |
2371 | 2377 | disturb(1, 0); |
2372 | 2378 | #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); | |
2374 | 2381 | #else |
2375 | 2382 | if (blind) msg_format("%^s mumbles.", m_name); |
2376 | -#endif | |
2377 | - | |
2378 | -#ifdef JP | |
2379 | -else msg_format("%^sがサンダー・ボールの呪文を唱えた。", m_name); | |
2380 | -#else | |
2381 | 2383 | else msg_format("%^s casts a lightning ball.", m_name); |
2382 | 2384 | #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); | |
2386 | 2396 | update_smart_learn(m_idx, DRS_ELEC); |
2387 | 2397 | break; |
2388 | 2398 | } |
@@ -2390,6 +2400,7 @@ else msg_format("%^s | ||
2390 | 2400 | /* RF5_BA_FIRE */ |
2391 | 2401 | case 128+2: |
2392 | 2402 | { |
2403 | + int rad = (r_ptr->flags2 & RF2_POWERFUL) ? 4 : 2; | |
2393 | 2404 | disturb(1, 0); |
2394 | 2405 | |
2395 | 2406 | if (m_ptr->r_idx == MON_ROLENTO) |
@@ -2409,20 +2420,25 @@ else msg_format("%^s | ||
2409 | 2420 | else |
2410 | 2421 | { |
2411 | 2422 | #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); | |
2413 | 2425 | #else |
2414 | 2426 | if (blind) msg_format("%^s mumbles.", m_name); |
2415 | -#endif | |
2416 | - | |
2417 | -#ifdef JP | |
2418 | -else msg_format("%^sがファイア・ボールの呪文を唱えた。", m_name); | |
2419 | -#else | |
2420 | 2427 | else msg_format("%^s casts a fire ball.", m_name); |
2421 | 2428 | #endif |
2422 | 2429 | } |
2423 | 2430 | |
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); | |
2426 | 2442 | update_smart_learn(m_idx, DRS_FIRE); |
2427 | 2443 | break; |
2428 | 2444 | } |
@@ -2430,21 +2446,26 @@ else msg_format("%^s | ||
2430 | 2446 | /* RF5_BA_COLD */ |
2431 | 2447 | case 128+3: |
2432 | 2448 | { |
2449 | + int rad = (r_ptr->flags2 & RF2_POWERFUL) ? 4 : 2; | |
2433 | 2450 | disturb(1, 0); |
2434 | 2451 | #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); | |
2436 | 2454 | #else |
2437 | 2455 | if (blind) msg_format("%^s mumbles.", m_name); |
2438 | -#endif | |
2439 | - | |
2440 | -#ifdef JP | |
2441 | -else msg_format("%^sがアイス・ボールの呪文を唱えた。", m_name); | |
2442 | -#else | |
2443 | 2456 | else msg_format("%^s casts a frost ball.", m_name); |
2444 | 2457 | #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); | |
2448 | 2469 | update_smart_learn(m_idx, DRS_COLD); |
2449 | 2470 | break; |
2450 | 2471 | } |
@@ -291,6 +291,7 @@ bool monst_spell_monst(int m_idx) | ||
291 | 291 | u32b u_mode = 0L; |
292 | 292 | int s_num_6 = (easy_band ? 2 : 6); |
293 | 293 | int s_num_4 = (easy_band ? 1 : 4); |
294 | + int rad = 0; //For elemental balls | |
294 | 295 | |
295 | 296 | byte spell[96], num = 0; |
296 | 297 |
@@ -1931,9 +1932,17 @@ bool monst_spell_monst(int m_idx) | ||
1931 | 1932 | } |
1932 | 1933 | } |
1933 | 1934 | |
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); | |
1937 | 1946 | break; |
1938 | 1947 | |
1939 | 1948 | /* RF5_BA_ELEC */ |
@@ -1969,9 +1978,17 @@ bool monst_spell_monst(int m_idx) | ||
1969 | 1978 | } |
1970 | 1979 | } |
1971 | 1980 | |
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); | |
1975 | 1992 | break; |
1976 | 1993 | |
1977 | 1994 | /* RF5_BA_FIRE */ |
@@ -2024,9 +2041,17 @@ bool monst_spell_monst(int m_idx) | ||
2024 | 2041 | } |
2025 | 2042 | } |
2026 | 2043 | |
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); | |
2030 | 2055 | break; |
2031 | 2056 | |
2032 | 2057 | /* RF5_BA_COLD */ |
@@ -2062,9 +2087,17 @@ bool monst_spell_monst(int m_idx) | ||
2062 | 2087 | } |
2063 | 2088 | } |
2064 | 2089 | |
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); | |
2068 | 2101 | break; |
2069 | 2102 | |
2070 | 2103 | /* RF5_BA_POIS */ |