# Haja
R:9:1
-T:1:1:30:4 #0
-T:3:2:35:4
-T:4:3:35:4
-T:5:5:35:4
-T:7:7:35:4
-T:9:8:40:4
-T:12:12:40:3
-T:15:14:45:3
-T:16:16:45:4 #1
-T:17:17:50:4
-T:18:18:50:4
-T:19:19:50:4
-T:20:20:50:4
-T:23:23:50:4
-T:30:30:55:5
-T:35:70:75:5
-T:26:30:50:75 #2
-T:28:25:70:150
-T:33:33:60:75
-T:35:35:60:75
-T:35:35:70:75
-T:35:55:80:115
-T:39:40:80:125
-T:46:70:80:150
-T:9:9:50:40 #3
-T:25:25:50:50
-T:35:55:80:115
-T:42:100:80:225
-T:45:90:80:115
-T:48:50:80:100
-T:49:100:80:250
-T:50:100:80:250
+T:1:1:20:4 #0
+T:1:1:15:4
+T:2:2:20:4
+T:4:3:25:1
+T:6:4:30:2
+T:7:5:34:4
+T:9:7:30:2
+T:10:10:45:6
+T:15:11:55:4 #1
+T:17:15:55:10
+T:18:16:60:10
+T:22:18:50:4
+T:26:24:50:7
+T:29:23:60:10
+T:34:32:85:15
+T:40:35:85:20
+T:6:5:33:40 #2
+T:18:14:50:50
+T:21:16:60:70
+T:25:20:65:70
+T:32:27:70:120
+T:34:75:95:100
+T:40:45:70:200
+T:44:100:90:250
+T:9:9:50:80 #3
+T:30:35:80:250
+T:32:32:75:100
+T:36:22:80:150
+T:40:40:80:150
+T:43:65:85:200
+T:46:90:85:200
+T:48:100:85:250
### Priest ###
# Haja
R:9:1
-T:1:1:10:4 #0
-T:1:2:15:4
-T:1:2:20:4
+T:1:1:20:4 #0
+T:1:1:10:4
+T:2:2:20:4
T:3:2:25:1
-T:3:3:27:2
-T:4:4:28:2
-T:5:4:32:4
-T:7:5:38:4
-T:7:6:38:5 #1
-T:9:6:38:4
-T:9:7:40:4
-T:10:8:38:4
-T:10:8:40:4
-T:11:8:42:4
-T:20:16:60:7
-T:33:55:90:15
-T:15:14:50:50 #2
-T:16:14:80:60
-T:17:14:55:70
-T:24:20:55:70
-T:25:20:70:120
-T:25:25:80:250
-T:39:32:95:200
-T:44:44:80:250
-T:5:5:50:80 #3
-T:15:14:50:100
-T:30:30:80:130
-T:35:70:90:250
-T:40:50:80:130
-T:40:40:80:200
-T:42:90:85:200
-T:45:90:85:250
+T:5:4:30:2
+T:6:5:34:4
+T:10:7:35:2
+T:12:12:50:6
+T:14:10:50:4 #1
+T:15:14:50:10
+T:16:14:40:10
+T:21:18:50:4
+T:26:22:55:7
+T:29:23:60:10
+T:36:35:85:15
+T:40:35:85:20
+T:5:5:33:40 #2
+T:15:13:83:40
+T:20:15:55:70
+T:23:17:60:70
+T:30:25:70:120
+T:34:75:95:100
+T:41:45:70:200
+T:43:100:90:250
+T:9:9:66:80 #3
+T:28:30:80:250
+T:30:28:65:100
+T:38:22:80:150
+T:40:40:80:150
+T:43:65:80:200
+T:45:90:85:200
+T:46:100:85:250
### Rogue ###
# Haja
R:9:1
-T:1:1:30:4 #0
-T:2:2:35:4
+T:1:1:20:4 #0
+T:2:1:30:4
T:3:3:35:4
-T:4:3:35:4
T:5:4:35:4
-T:8:5:40:4
-T:11:9:40:3
-T:13:10:45:3
-T:14:11:45:4 #1
-T:15:15:50:4
-T:17:15:50:4
-T:18:15:50:4
-T:18:15:50:4
-T:19:15:50:4
-T:30:25:55:5
-T:35:70:75:5
-T:25:22:50:75 #2
-T:28:24:70:150
-T:30:25:60:75
-T:33:30:60:75
-T:35:32:70:75
-T:35:55:80:115
-T:39:38:80:125
-T:46:60:80:150
-T:9:9:50:40 #3
-T:25:20:50:50
-T:35:45:80:115
-T:40:80:80:225
-T:45:80:80:115
-T:45:45:80:100
-T:48:100:90:250
+T:9:9:30:4
+T:10:10:50:4
+T:13:12:50:4
+T:15:14:55:4
+T:17:12:55:4 #1
+T:18:18:50:4
+T:22:20:50:4
+T:24:20:55:4
+T:29:28:65:4
+T:34:28:65:4
+T:43:43:85:5
+T:40:40:85:5
+T:8:8:33:40 #2
+T:20:20:60:50
+T:25:21:65:70
+T:28:28:60:70
+T:35:32:70:100
+T:38:80:95:100
+T:46:55:80:100
+T:48:111:85:150
+T:10:10:66:40 #3
+T:35:45:80:125
+T:36:33:75:100
+T:42:40:80:75
+T:44:50:80:75
+T:47:80:85:100
+T:48:100:90:200
T:50:100:80:250
# Haja
R:9:1
-T:2:2:30:4 #0
-T:4:4:35:4
+T:2:1:20:4 #0
+T:3:2:30:4
T:5:5:35:4
T:6:6:35:4
-T:8:8:35:4
-T:9:9:40:4
-T:14:14:40:3
-T:16:16:45:3
-T:18:18:45:4 #1
+T:10:10:30:4
+T:12:12:50:4
+T:14:14:50:4
+T:15:14:55:4
+T:17:12:55:4 #1
T:20:20:50:4
-T:22:22:50:4
-T:24:24:50:4
-T:26:26:50:4
-T:28:28:50:4
-T:33:33:55:5
-T:40:70:75:5
-T:28:28:50:75 #2
-T:30:30:70:150
-T:34:34:60:75
-T:36:36:60:75
-T:38:38:70:75
-T:42:55:80:115
-T:45:45:80:125
-T:50:70:80:150
-T:10:10:50:40 #3
-T:28:28:50:50
-T:38:85:80:115
-T:45:90:80:225
-T:46:90:80:115
-T:48:50:80:100
+T:24:23:50:4
+T:26:25:55:4
+T:31:30:65:4
+T:35:28:65:4
+T:42:38:85:5
+T:45:45:80:5
+T:7:6:33:40 #2
+T:23:20:60:50
+T:26:22:65:70
+T:30:30:65:70
+T:37:37:65:100
+T:39:80:95:100
+T:45:55:70:100
+T:48:111:85:150
+T:10:10:66:40 #3
+T:36:45:80:125
+T:39:35:80:100
+T:42:40:80:75
+T:44:50:80:75
+T:48:80:85:100
T:49:100:90:100
T:50:100:80:250
I:SORCERY:INT:0x05:0:1:430
# Life
R:0:1
-T:1:1:20:4 #0
-T:2:2:25:4
-T:3:3:25:4
-T:4:4:25:4
-T:5:5:25:4
-T:6:5:30:4
-T:9:9:30:3
-T:12:10:35:3
-T:14:12:35:4 #1
-T:15:14:40:4
+T:1:1:15:4 #0
+T:1:1:10:4
+T:1:2:20:4
+T:3:2:25:4
+T:4:4:30:2
+T:5:4:34:4
+T:7:6:30:2
+T:8:8:45:6
+T:10:8:45:4 #1
+T:11:11:45:10
+T:12:10:35:10
T:15:15:40:4
-T:17:15:40:4
-T:19:17:40:4
-T:21:19:40:4
-T:25:25:45:5
-T:30:50:55:5
-T:20:20:40:75 #2
-T:24:24:60:150
-T:30:30:50:75
-T:31:30:50:75
-T:32:30:60:75
-T:33:40:60:115
-T:35:35:60:125
-T:40:70:70:150
-T:5:5:40:40 #3
-T:20:20:40:50
-T:30:50:60:115
-T:40:80:60:225
-T:42:75:60:115
-T:45:40:60:100
-T:47:90:70:250
-T:49:90:70:250
+T:17:16:40:7
+T:20:18:60:10
+T:28:30:65:15
+T:36:32:95:20
+T:4:4:23:40 #2
+T:13:12:35:50
+T:15:13:55:70
+T:17:14:55:70
+T:25:20:70:120
+T:28:65:80:100
+T:36:38:60:100
+T:38:90:75:250
+T:8:8:50:40 #3
+T:25:25:75:250
+T:27:24:60:100
+T:28:19:70:150
+T:34:30:80:150
+T:39:55:80:200
+T:42:85:85:200
+T:45:90:75:250
# Sorcery
R:1:1
# Haja
R:9:1
-T:1:1:30:4 #0
-T:3:2:35:4
-T:4:3:35:4
-T:5:5:35:4
-T:7:7:35:4
-T:9:8:40:4
-T:12:12:40:3
-T:15:14:45:3
-T:16:16:45:4 #1
-T:17:17:50:4
-T:18:18:50:4
-T:19:19:50:4
-T:20:20:50:4
-T:23:23:50:4
-T:30:30:55:5
-T:35:70:75:5
-T:26:30:50:75 #2
-T:28:25:70:150
-T:33:33:60:75
-T:35:35:60:75
-T:35:35:70:75
-T:35:55:80:115
-T:39:40:80:125
-T:46:70:80:150
-T:9:9:50:40 #3
-T:25:25:50:50
-T:35:55:80:115
-T:42:100:80:225
-T:45:90:80:115
-T:48:50:80:100
-T:49:100:80:250
-T:50:100:80:250
+T:1:1:20:4 #0
+T:1:1:15:4
+T:2:2:20:4
+T:4:3:25:1
+T:6:4:30:2
+T:7:5:34:4
+T:9:7:30:2
+T:10:10:45:6
+T:15:11:55:4 #1
+T:17:15:55:10
+T:18:16:60:10
+T:22:18:50:4
+T:26:24:50:7
+T:29:23:60:10
+T:34:32:85:15
+T:40:35:85:20
+T:6:5:33:40 #2
+T:18:14:50:50
+T:21:16:60:70
+T:25:20:65:70
+T:32:27:70:120
+T:34:75:95:100
+T:40:45:70:200
+T:44:100:90:250
+T:9:9:50:80 #3
+T:30:35:80:250
+T:32:32:75:100
+T:36:22:80:150
+T:40:40:80:150
+T:43:65:85:200
+T:46:90:85:200
+T:48:100:85:250
### Archer ###
N:15
# Haja
R:9:1
-T:2:2:30:4 #0
-T:4:4:35:4
+T:2:1:20:4 #0
+T:3:3:30:4
T:5:5:35:4
T:7:8:35:4
-T:9:9:35:4
-T:11:10:40:4
-T:15:15:40:3
-T:18:18:45:3
-T:20:20:45:4 #1
-T:23:23:50:4
-T:26:25:50:4
-T:30:28:50:4
+T:13:12:40:4
+T:16:16:55:4
+T:19:16:50:4
+T:24:23:55:6
+T:26:20:60:4 #1
+T:30:30:55:4
T:34:30:50:4
-T:38:32:50:4
-T:42:38:55:5
-T:45:80:75:5
+T:35:30:55:4
+T:37:37:70:4
+T:40:35:70:4
+T:45:55:85:5
+T:48:65:80:20
T:99:0:0:0 #2
T:99:0:0:0
T:99:0:0:0
R:8:0
# Haja
-R:9:0
+R:9:1
+T:1:1:20:4 #0
+T:2:1:30:4
+T:3:3:35:4
+T:5:4:35:4
+T:9:9:30:4
+T:10:10:50:4
+T:13:12:50:4
+T:15:14:55:4
+T:17:12:55:4 #1
+T:18:18:50:4
+T:22:20:50:4
+T:24:20:55:4
+T:29:28:65:4
+T:34:28:65:4
+T:43:43:85:5
+T:40:40:85:5
+T:8:8:33:40 #2
+T:20:20:60:50
+T:25:21:65:70
+T:28:28:60:70
+T:35:32:70:100
+T:38:80:95:100
+T:46:55:80:100
+T:48:111:85:150
+T:10:10:66:40 #3
+T:35:45:80:125
+T:36:33:75:100
+T:42:40:80:75
+T:44:50:80:75
+T:47:80:85:100
+T:48:100:90:200
+T:50:100:80:250
### Blue Mage ###
W:19:1:0:100:0:0
B:HIT:HURT:3d10
B:HIT:HURT:3d10
-F:COLD_BLOOD | EMPTY_MIND | AQUATIC |
+F:COLD_BLOOD | EMPTY_MIND | AQUATIC | NONLIVING
F:IM_FIRE | IM_COLD | IM_POIS
F:NO_CONF | NO_SLEEP | NO_FEAR
D:$An ingenious gnomish invention -- a golem designed for underwater
{
case RACE_YEEK:
case RACE_KLACKON:
- mult = 2;break;
+ mult = 20;break;
+ case RACE_HUMAN:
+ case RACE_AMBERITE:
+ case RACE_DUNADAN:
+ mult = 25;break;
case RACE_HALF_ORC:
case RACE_HALF_TROLL:
case RACE_HALF_OGRE:
case RACE_VAMPIRE:
case RACE_SPECTRE:
case RACE_DEMON:
- mult = 3;break;
+ mult = 30;break;
case RACE_DRACONIAN:
- mult = 5;break;
+ mult = 50;break;
default:
mult = 1;break;
}
case MIMIC_DEMON:
case MIMIC_DEMON_LORD:
case MIMIC_VAMPIRE:
- mult = 3;break;
+ mult = 30;break;
default:
- mult = 1;break;
+ mult = 10;break;
}
- if (p_ptr->align < 0 && mult < 2)
- mult = 2;
- if (!(p_ptr->resist_acid || p_ptr->oppose_acid) && (mult < 3))
- mult = mult * 5 / 2;
- if (!(p_ptr->resist_elec || p_ptr->oppose_elec) && (mult < 3))
- mult = mult * 5 / 2;
- if (!(p_ptr->resist_fire || p_ptr->oppose_fire) && (mult < 3))
- mult = mult * 5 / 2;
- if (!(p_ptr->resist_cold || p_ptr->oppose_cold) && (mult < 3))
- mult = mult * 5 / 2;
- if (!(p_ptr->resist_pois || p_ptr->oppose_pois) && (mult < 3))
- mult = mult * 5 / 2;
+ if (p_ptr->align < 0 && mult < 20)
+ mult = 20;
+ if (!(p_ptr->resist_acid || p_ptr->oppose_acid) && (mult < 25))
+ mult = 25;
+ if (!(p_ptr->resist_elec || p_ptr->oppose_elec) && (mult < 25))
+ mult = 25;
+ if (!(p_ptr->resist_fire || p_ptr->oppose_fire) && (mult < 25))
+ mult = 25;
+ if (!(p_ptr->resist_cold || p_ptr->oppose_cold) && (mult < 25))
+ mult = 25;
+ if (!(p_ptr->resist_pois || p_ptr->oppose_pois) && (mult < 25))
+ mult = 25;
if ((p_ptr->pclass != CLASS_SAMURAI) && (f1 & TR1_FORCE_WEAPON) && (p_ptr->csp > (p_ptr->msp / 30)))
{
p_ptr->csp -= (1+(p_ptr->msp / 30));
p_ptr->redraw |= (PR_MANA);
- mult = mult * 7 / 2;
+ mult = mult * 35;
}
k *= mult;
+ k /= 10;
}
k = critical_norm(o_ptr->weight, o_ptr->to_h, k, p_ptr->to_h[hand], mode);
}
-static bool cast_haja_spell(int spell) /* nanka */
+static bool cast_haja_spell(int spell)
{
int dir;
int beam;
(void)sleep_monsters_touch();
break;
case 6:
- if (!get_aim_dir(&dir)) return FALSE;
- fire_blast(GF_LITE, dir, 3+((plev-1)/5), 3, 10, 3);
+ teleport_player(plev*3);
break;
case 7:
- teleport_player(plev*3);
+ if (!get_aim_dir(&dir)) return FALSE;
+ fire_blast(GF_LITE, dir, 3+((plev-1)/8), 3, 10, 3);
break;
case 8:
(void)set_cut(0);
(void)set_poisoned(0);
+ (void)set_stun(0);
break;
- case 9: /* Exorcism */
+ case 9:
+ if (!get_aim_dir(&dir)) return FALSE;
+ (void)fire_ball(GF_AWAY_EVIL, dir, MAX_SIGHT*5, 0);
+ break;
+ case 10: /* Exorcism */
(void)dispel_undead(randint1(plev));
(void)dispel_demons(randint1(plev));
(void)turn_evil(plev);
break;
- case 10: /* Holy Orb */
+ case 11: /* Holy Orb */
if (!get_aim_dir(&dir)) return FALSE;
fire_ball(GF_HOLY_FIRE, dir,
((plev < 30) ? 2 : 3));
break;
- case 11: /* Sense Unseen */
+ case 12: /* Sense Unseen */
(void)set_tim_invis(randint1(24) + 24, FALSE);
break;
- case 12: /* Protection from Evil */
+ case 13: /* Protection from Evil */
(void)set_protevil(randint1(25) + 3 * p_ptr->lev, FALSE);
break;
- case 13: /* Dispel Undead + Demons */
- (void)dispel_undead(randint1(plev * 3));
- (void)dispel_demons(randint1(plev * 3));
- break;
case 14:
if (!get_aim_dir(&dir)) return FALSE;
- (void)fire_ball(GF_ELEC, dir, plev*2+99, plev/5);
+ (void)fire_bolt(GF_ELEC, dir, plev*5);
break;
case 15: /* Holy Word */
(void)dispel_evil(randint1(plev * 6));
- (void)hp_player(150);
+ (void)hp_player(100);
(void)set_afraid(0);
(void)set_poisoned(0);
(void)set_stun(0);
case 18:
set_tim_sh_holy(randint1(20)+20, FALSE);
break;
- case 19:
- (void)set_fast(randint1(20 + plev) + plev, FALSE);
+ case 19: /* Dispel Undead + Demons */
+ (void)dispel_undead(randint1(plev * 4));
+ (void)dispel_demons(randint1(plev * 4));
break;
case 20: /* Dispel Evil */
(void)dispel_evil(randint1(plev * 4));
else
#ifdef JP
-msg_print("¡ÖÈܤ·¤¼Ô¤è¡¢²æ¤ÏÆò¤Î²¼Ëͤˤ¢¤é¤º¡ª ¤ªÁ°¤Îº²¤òĺ¤¯¤¾¡ª¡×"); /* nanka */
+msg_print("¡Ö²æ¤ÏÆò¤Î²¼Ëͤˤ¢¤é¤º¡ª °¹Ô¼Ô¤è¡¢²ù¤¤²þ¤á¤è¡ª¡×");
#else
- msg_print("'NON SERVIAM! Wretch! I shall feast on thy mortal soul!'");
+ msg_print("'NON SERVIAM! Wretch! I shall feast on thy mortal soul!'"); /* nanka */
#endif
}
destroy_area(py, px, 13+randint0(5), TRUE);
break;
case 28: /* Eye for an Eye */
- set_tim_eyeeye(randint1(4)+4, FALSE);
+ set_tim_eyeeye(randint1(10)+10, FALSE);
break;
case 29:
- if (!get_aim_dir(&dir)) return FALSE;
+ {
+ int x, y, tx, ty;
+ int dir, i;
+ int b = 10 + randint1(10);
+ if (!get_aim_dir(&dir)) return FALSE;
+ tx = px;
+ ty = py;
- fire_ball(GF_DISINTEGRATE, dir, 100, 4);
- fire_ball(GF_FORCE, dir, 150, 4);
- fire_ball(GF_ELEC, dir, 200, 4);
+ /* Hack -- Use an actual "target" */
+ if ((dir == 5) && target_okay())
+ {
+ tx = target_col;
+ ty = target_row;
+ }
+ else
+ {
+ while(1)
+ {
+ tx += ddx[dir];
+ ty += ddy[dir];
+ if (!cave_floor_bold(ty,tx) || !player_has_los_bold(ty, tx) || cave[ty][tx].m_idx) break;
+ }
+ }
+
+ for (i = 0; i < b; i++)
+ {
+ int count = 20, d = 0;
+
+ while (count--)
+ {
+ int dx, dy;
+
+ x = tx - 8 + randint0(17);
+ y = ty - 8 + randint0(17);
+
+ if (!in_bounds(y,x) || !in_disintegration_range(ty, tx, y, x)) continue;
+
+ dx = (tx > x) ? (tx - x) : (x - tx);
+ dy = (ty > y) ? (ty - y) : (y - ty);
+
+ /* Approximate distance */
+ d = (dy > dx) ? (dy + (dx >> 1)) : (dx + (dy >> 1));
+ if (d < 5) break;
+ }
+
+ if (count < 0) continue;
+
+ project(0, 2, y, x, plev * 4, GF_DISINTEGRATE, PROJECT_JUMP | PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL, -1);
+ }
+ }
break;
case 30: /* Divine Intervention */
project(0, 1, py, px, plev*11, GF_HOLY_FIRE, PROJECT_KILL, -1);
confuse_monsters(plev * 4);
turn_monsters(plev * 4);
stasis_monsters(plev * 4);
- (void)hp_player(150);
+ (void)hp_player(100);
break;
case 31:
{
(void)set_hero(randint1(25) + 25, FALSE);
(void)set_blessed(randint1(25) + 25, FALSE);
(void)set_fast(randint1(20 + plev) + plev, FALSE);
+ (void)set_protevil(randint1(25) + 25, FALSE);
(void)set_afraid(0);
break;
}
/* Timed sh_holy */
if (p_ptr->tim_sh_holy)
{
- (void)set_tim_sh_holy(p_ptr->tim_sh_fire - 1, TRUE);
+ (void)set_tim_sh_holy(p_ptr->tim_sh_holy - 1, TRUE);
}
/* Timed eyeeye */
if (p_ptr->tim_eyeeye)
{
- (void)set_tim_eyeeye(p_ptr->tim_sh_fire - 1, TRUE);
+ (void)set_tim_eyeeye(p_ptr->tim_eyeeye - 1, TRUE);
}
/* Timed resist-magic */
/*
* Set "p_ptr->tim_sh_holy", notice observable changes
*/
-bool set_tim_sh_holy(int v, bool do_dec) /* nanka */
+bool set_tim_sh_holy(int v, bool do_dec)
{
bool notice = FALSE;
/* Open */
if (v)
{
- if (p_ptr->tim_sh_fire && !do_dec)
+ if (p_ptr->tim_sh_holy && !do_dec)
{
- if (p_ptr->tim_sh_fire > v) return FALSE;
+ if (p_ptr->tim_sh_holy > v) return FALSE;
}
- else if (!p_ptr->tim_sh_fire)
+ else if (!p_ptr->tim_sh_holy)
{
#ifdef JP
-msg_print("ÂΤ¬±ê¤Î¥ª¡¼¥é¤Çʤ¤ï¤ì¤¿¡£");
+msg_print("ÂΤ¬À»¤Ê¤ë¥ª¡¼¥é¤Çʤ¤ï¤ì¤¿¡£");
#else
- msg_print("You have enveloped by fiery aura!");
+ msg_print("You have enveloped by holy aura!");
#endif
notice = TRUE;
/* Shut */
else
{
- if (p_ptr->tim_sh_fire)
+ if (p_ptr->tim_sh_holy)
{
#ifdef JP
-msg_print("±ê¤Î¥ª¡¼¥é¤¬¾Ã¤¨¤¿¡£");
+msg_print("À»¤Ê¤ë¥ª¡¼¥é¤¬¾Ã¤¨¤¿¡£");
#else
- msg_print("Fiery aura disappeared.");
+ msg_print("Holy aura disappeared.");
#endif
notice = TRUE;
}
/* Use the value */
- p_ptr->tim_sh_fire = v;
+ p_ptr->tim_sh_holy = v;
/* Redraw status bar */
p_ptr->redraw |= (PR_STATUS);
/*
* Set "p_ptr->tim_eyeeye", notice observable changes
*/
-bool set_tim_eyeeye(int v, bool do_dec) /* nanka */
+bool set_tim_eyeeye(int v, bool do_dec)
{
bool notice = FALSE;
/* Open */
if (v)
{
- if (p_ptr->tim_sh_fire && !do_dec)
+ if (p_ptr->tim_eyeeye && !do_dec)
{
- if (p_ptr->tim_sh_fire > v) return FALSE;
+ if (p_ptr->tim_eyeeye > v) return FALSE;
}
- else if (!p_ptr->tim_sh_fire)
+ else if (!p_ptr->tim_eyeeye)
{
#ifdef JP
-msg_print("ÂΤ¬±ê¤Î¥ª¡¼¥é¤Çʤ¤ï¤ì¤¿¡£");
+msg_print("nanka¡£");
#else
- msg_print("You have enveloped by fiery aura!");
+ msg_print("nanka!");
#endif
notice = TRUE;
/* Shut */
else
{
- if (p_ptr->tim_sh_fire)
+ if (p_ptr->tim_eyeeye)
{
#ifdef JP
-msg_print("±ê¤Î¥ª¡¼¥é¤¬¾Ã¤¨¤¿¡£");
+msg_print("nanka¡£");
#else
- msg_print("Fiery aura disappeared.");
+ msg_print("nanka.");
#endif
notice = TRUE;
}
/* Use the value */
- p_ptr->tim_sh_fire = v;
+ p_ptr->tim_eyeeye = v;
/* Redraw status bar */
p_ptr->redraw |= (PR_STATUS);
* the game when he dies, since the "You die." message is shown before
* setting the player to "dead".
*/
-bool take_hit(int damage_type, int damage, cptr hit_from, int monspell)
+int take_hit(int damage_type, int damage, cptr hit_from, int monspell)
{
int old_chp = p_ptr->chp;
int warning = (p_ptr->mhp * hitpoint_warn / 10);
/* Paranoia */
- if (death) return FALSE;
+ if (death) return 0;
if (p_ptr->sutemi) damage *= 2;
if (p_ptr->special_defense & KATA_IAI) damage += (damage + 4) / 5;
}
else
{
- return FALSE;
+ return 0;
}
}
#else
msg_print("The attack hits Shadow, you are unharmed!");
#endif
- return FALSE;
+ return 0;
}
}
p_ptr->chp -= damage;
if(damage_type == DAMAGE_GENO && p_ptr->chp < 0)
{
+ damage += p_ptr->chp;
p_ptr->chp = 0;
}
}
/* Dead */
- return TRUE;
+ return damage;
}
/* Hitpoint warning */
p_ptr->energy_need = 0;
change_wild_mode();
}
- return TRUE;
+ return damage;
}
/* spells1.c */
extern bool in_disintegration_range(int y1, int x1, int y2, int x2);
-extern bool take_hit(int damage_type, int damage, cptr kb_str, int monspell);
+extern int take_hit(int damage_type, int damage, cptr kb_str, int monspell);
extern u16b bolt_pict(int y, int x, int ny, int nx, int typ);
extern sint project_path(u16b *gp, int range, int y1, int x1, int y2, int x2, int flg);
extern int dist_to_line(int y, int x, int y1, int x1, int y2, int x2);
rd_s16b(&p_ptr->tim_mimic);
rd_s16b(&p_ptr->tim_sh_fire);
}
+ /* rd_s16b(&p_ptr->tim_sh_holy); nanka */
+ /* rd_s16b(&p_ptr->tim_eyeeye); nanka */
/* by henkma */
if ( z_older_than(11,0,3) ){
bool resist_drain = FALSE;
bool do_silly_attack = (one_in_(2) && p_ptr->image);
int syouryaku = 0;
+ int get_damage = 0;
/* Not allowed to attack */
if (r_ptr->flags1 & (RF1_NEVER_BLOW)) return (FALSE);
tmp_damage = MAX(damage, tmp_damage*2);
/* Take damage */
- take_hit(DAMAGE_ATTACK, tmp_damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, tmp_damage, ddesc, -1);
break;
}
}
damage -= (damage * ((ac < 150) ? ac : 150) / 250);
/* Take damage */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
break;
}
}
/* Take some damage */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
/* Learn about the player */
update_smart_learn(m_idx, DRS_POIS);
}
/* Take some damage */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
/* Learn about the player */
update_smart_learn(m_idx, DRS_DISEN);
case RBE_UN_POWER:
{
/* Take some damage */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (death) break;
case RBE_EAT_GOLD:
{
/* Take some damage */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
/* Confused monsters cannot steal successfully. -LM-*/
if (m_ptr->confused) break;
case RBE_EAT_ITEM:
{
/* Take some damage */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
/* Confused monsters cannot steal successfully. -LM-*/
if (m_ptr->confused) break;
case RBE_EAT_FOOD:
{
/* Take some damage */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (death) break;
o_ptr = &inventory[INVEN_LITE];
/* Take some damage */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (death) break;
case RBE_BLIND:
{
/* Take damage */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (death) break;
{
if (explode) break;
/* Take damage */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (death) break;
case RBE_TERRIFY:
{
/* Take damage */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (death) break;
case RBE_PARALYZE:
{
/* Take damage */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (death) break;
case RBE_LOSE_STR:
{
/* Damage (physical) */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (death) break;
case RBE_LOSE_INT:
{
/* Damage (physical) */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (death) break;
case RBE_LOSE_WIS:
{
/* Damage (physical) */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (death) break;
case RBE_LOSE_DEX:
{
/* Damage (physical) */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (death) break;
case RBE_LOSE_CON:
{
/* Damage (physical) */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (death) break;
case RBE_LOSE_CHR:
{
/* Damage (physical) */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (death) break;
case RBE_LOSE_ALL:
{
/* Damage (physical) */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (death) break;
damage -= (damage * ((ac < 150) ? ac : 150) / 250);
/* Take damage */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
/* Radius 8 earthquake centered at the monster */
if (damage > 23 || explode)
obvious = TRUE;
/* Take damage */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (death) break;
obvious = TRUE;
/* Take damage */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (death) break;
obvious = TRUE;
/* Take damage */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (death) break;
obvious = TRUE;
/* Take damage */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (death) break;
case RBE_DISEASE:
{
/* Take some damage */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (death) break;
}
}
}
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
break;
}
obvious = TRUE;
/* Take damage */
- take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
+ get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (death) break;
}
}
+ if (p_ptr->tim_sh_holy && alive && !death)
+ {
+ if (r_ptr->flags3 & RF3_EVIL)
+ {
+ int dam = damroll(2, 6);
+
+ /* Modify the damage */
+ dam = mon_damage_mod(m_ptr, dam, FALSE);
+
+#ifdef JP
+ msg_format("%^s¤ÏÀ»¤Ê¤ë¥ª¡¼¥é¤Ç½ý¤Ä¤¤¤¿¡ª", m_name);
+ if (mon_take_hit(m_idx, dam, &fear,
+ "¤ÏÅݤ줿¡£"))
+#else
+ msg_format("%^s nanka!", m_name);
+
+ if (mon_take_hit(m_idx, dam, &fear,
+ " nanka."))
+#endif
+
+ {
+ blinked = FALSE;
+ alive = FALSE;
+ }
+ if (m_ptr->ml)
+ r_ptr->r_flags3 |= RF3_EVIL;
+ }
+ }
if (p_ptr->tim_sh_touki && alive && !death)
{
if (mon_take_hit(m_idx, dam, &fear,
"¤ÏÅݤ줿¡£"))
#else
- msg_format("%^s is suddenly very hot!", m_name);
+ msg_format("%^s nanka", m_name);
if (mon_take_hit(m_idx, dam, &fear,
- " turns into a pile of ash."))
+ " nanka."))
#endif
{
alive = FALSE;
}
}
- touched = FALSE;
}
}
}
}
+ if (p_ptr->tim_eyeeye && get_damage > 0 && !death)
+ {
+ msg_format("¹¶·â¤¬%s¼«¿È¤ò½ý¤Ä¤±¤¿¡ª", m_name);
+ project(0, 0, m_ptr->fy, m_ptr->fx, get_damage, GF_MISSILE, PROJECT_KILL | PROJECT_NO_REF, -1);
+ set_tim_eyeeye(p_ptr->tim_eyeeye-5, TRUE);
+ }
+
if ((p_ptr->counter || (p_ptr->special_defense & KATA_MUSOU)) && alive && !death && m_ptr->ml && (p_ptr->csp > 7))
{
}
/* Blink away */
- if (blinked)
+ if (blinked && alive && !death)
{
#ifdef JP
msg_print("Å¥ËÀ¤Ï¾Ð¤Ã¤Æƨ¤²¤¿¡ª");
r_ptr->r_deaths++;
}
- if (m_ptr->ml && fear)
+ if (m_ptr->ml && fear && alive && !death)
{
sound(SOUND_FLEE);
#ifdef JP
{
if (racial_aux(25, 0, A_INT, 10))
{
- if (take_hit(DAMAGE_USELIFE, p_ptr->lev,
+ int gain_sp;
+ if ((gain_sp = take_hit(DAMAGE_USELIFE, p_ptr->lev,
#ifdef JP
-"£È£Ð¤«¤é£Í£Ð¤Ø¤Î̵ËŤÊÊÑ´¹", -1))
+"£È£Ð¤«¤é£Í£Ð¤Ø¤Î̵ËŤÊÊÑ´¹", -1)))
#else
-"thoughtless convertion from HP to SP", -1))
+"thoughtless convertion from HP to SP", -1)))
#endif
{
- p_ptr->csp += p_ptr->lev / 5;
+ p_ptr->csp += gain_sp / 5;
if (p_ptr->csp > p_ptr->msp)
{
p_ptr->csp = p_ptr->msp;
wr_byte(p_ptr->mimic_form);
wr_s16b(p_ptr->tim_mimic);
wr_s16b(p_ptr->tim_sh_fire);
+ /* wr_s16b(p_ptr->tim_sh_holy); nanka */
+ /* wr_s16b(p_ptr->tim_eyeeye); nanka */
/* by henkma */
wr_s16b(p_ptr->tim_reflect);
{
do_fear = randint1(90)+10;
}
+ else if (seen)
+ {
+ r_ptr->r_flags3 |= (RF3_NO_FEAR);
+ }
}
/* No "real" damage */
/* Hack -- Pain message */
- else if (known)
+ else if (known && (dam || !do_fear))
{
message_pain(c_ptr->m_idx, dam);
}
/* Hack -- messages */
cptr act = NULL;
+ int get_damage = 0;
+
/* Player is not here */
if ((x != px) || (y != py)) return (FALSE);
do_dec_stat(A_CON);
}
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
if (!(double_resist || p_ptr->resist_pois))
{
if (p_ptr->resist_pois) dam = (2 * dam + 2) / 5;
if (double_resist) dam = (2 * dam + 2) / 5;
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
if (!(double_resist || p_ptr->resist_pois))
{
set_poisoned(p_ptr->poisoned + randint0(dam) + 10);
if (fuzzy) msg_print("You are hit by something!");
#endif
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
break;
}
dam /= 2;
else if (p_ptr->align < -10)
dam *= 2;
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
break;
}
if (p_ptr->align > 10)
dam *= 2;
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
break;
}
#endif
break;
}
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
break;
}
if (fuzzy) msg_print("You are hit by something *HOT*!");
#endif
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
if (!p_ptr->resist_sound)
{
}
else
{
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
}
break;
inven_damage(set_cold_destroy, 3);
}
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
break;
}
inven_damage(set_elec_destroy, 2);
inven_damage(set_fire_destroy, 2);
}
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
break;
}
inven_damage(set_cold_destroy, 2);
}
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
break;
}
inven_damage(set_cold_destroy, 2);
}
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
break;
}
{
(void)set_confused(p_ptr->confused + randint1(20) + 10);
}
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
break;
}
{
(void)apply_disenchant(0);
}
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
break;
}
{
apply_nexus(m_ptr);
}
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
break;
}
{
(void)set_stun(p_ptr->stun + randint1(20));
}
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
break;
}
inven_damage(set_cold_destroy, 3);
}
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
break;
}
#endif
(void)set_slow(p_ptr->slow + randint0(4) + 4, FALSE);
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
break;
}
dam = dam * 4 / 3;
}
if (p_ptr->wraith_form) dam *= 2;
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
if (p_ptr->wraith_form)
{
{
(void)set_blind(p_ptr->blind + randint1(5) + 2);
}
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
break;
}
}
}
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
break;
}
inven_damage(set_cold_destroy, 2);
}
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
break;
}
if (fuzzy) msg_print("You are hit by pure energy!");
#endif
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
break;
}
if (fuzzy) msg_print("You are hit by an aura of magic!");
#endif
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
break;
}
if (fuzzy) msg_print("You are hit by an energy!");
#endif
- take_hit(DAMAGE_FORCE, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_FORCE, dam, killer, monspell);
break;
}
if (fuzzy) msg_print("Something falls from the sky on you!");
#endif
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
if (!p_ptr->resist_shard || one_in_(13))
{
if (!p_ptr->immune_fire) inven_damage(set_fire_destroy, 2);
if (p_ptr->mimic_form)
{
if (!(mimic_info[p_ptr->mimic_form].MIMIC_FLAGS & MIMIC_IS_NONLIVING))
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
}
else
{
/* Hurt a lot */
default:
{
- take_hit(DAMAGE_ATTACK, dam, killer, monspell);
+ get_damage = take_hit(DAMAGE_ATTACK, dam, killer, monspell);
break;
}
}
}
}
+ if (p_ptr->tim_eyeeye && get_damage > 0 && !death)
+ {
+ msg_format("¹¶·â¤¬%s¼«¿È¤ò½ý¤Ä¤±¤¿¡ª", who_name);
+ project(0, 0, m_ptr->fy, m_ptr->fx, get_damage, GF_MISSILE, PROJECT_KILL | PROJECT_NO_REF, -1);
+ set_tim_eyeeye(p_ptr->tim_eyeeye-5, TRUE);
+ }
+
if (p_ptr->riding && dam > 0)
{
rakubadam_p = (dam > 200) ? 200 : dam;
#endif
break;
case CLASS_NINJA:
- if (plev > 7)
+ if (plev > 19)
{
#ifdef JP
info[i++] = "¤¢¤Ê¤¿¤ÏÁÇÁ᤯°ÜÆ°¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£";
#endif
}
+ if (p_ptr->tim_sh_holy)
+ {
+#ifdef JP
+info[i++] = "¤¢¤Ê¤¿¤ÏÀ»¤Ê¤ë¥ª¡¼¥é¤ËÊñ¤Þ¤ì¤Æ¤¤¤ë¡£";
+#else
+ info[i++] = "You are surrounded with a holy aura.";
+#endif
+
+ }
+ if (p_ptr->tim_sh_touki)
+ {
+#ifdef JP
+info[i++] = "¤¢¤Ê¤¿¤ÏÆ®µ¤¤Î¥ª¡¼¥é¤ËÊñ¤Þ¤ì¤Æ¤¤¤ë¡£";
+#else
+ info[i++] = "You are surrounded with a energy aura.";
+#endif
+
+ }
if (p_ptr->anti_magic)
{
#ifdef JP
#ifdef JP
case 28: sprintf(p, " %s³Æ%d", s_dam, plev * 2); break;
#else
- case 28: sprintf(p, " dam %d each", plev * 2); break;
+ case 28: sprintf(p, " %s%d each", s_dam, plev * 2); break;
#endif
}
break;
}
break;
- case 9: /* Haja *//* nanka */
+ case 9: /* Haja */
switch (spell)
{
- case 1: sprintf(p, " %s2d10", s_heal); break;
- case 2: sprintf(p, " %s12+d12", s_dur); break;
- case 4: sprintf(p, " %s%d", s_dam, 10 + (plev / 2)); break;
- case 6: sprintf(p, " %s4d10", s_heal); break;
- case 10: sprintf(p, " %s8d10", s_heal); break;
- case 11: sprintf(p, " %s24+d24", s_dur); break;
- case 12: sprintf(p, " %s3d6+%d", s_dam, orb); break;
+ case 0: sprintf(p, " %s%dd4", s_dam, 3 + ((plev - 1) / 5)); break;
+ case 6: sprintf(p, " %s%d", s_range, plev*3); break;
+#ifdef JP
+ case 7: sprintf(p, " %s³Æ%dd3", s_dam, 3+((plev-1)/8)); break;
+#else
+ case 7: sprintf(p, " %s%dd3 each", s_dam, 3+((plev-1)/8)); break;
+#endif
+ case 10: sprintf(p, " %sd%d", s_dam, plev); break;
+ case 11: sprintf(p, " %s3d6+%d", s_dam, orb); break;
+ case 12: sprintf(p, " %s24+d24", s_dur); break;
case 13: sprintf(p, " %sd25+%d", s_dur, 3 * plev); break;
- case 14: sprintf(p, " %s300", s_heal); break;
- case 16: sprintf(p, " %sd%d", s_dam, plev); break;
- case 18: sprintf(p, " %sd%d", s_dam, 3 * plev); break;
+ case 14: sprintf(p, " %s%d", s_dam, plev*5); break;
+#ifdef JP
+ case 15: sprintf(p, " »:d%d/²ó:100", 6 * plev); break;
+#else
+ case 15: sprintf(p, " d %d/h 100", 6 * plev); break;
+#endif
+ case 18: sprintf(p, " %s18+d18", s_dur); break;
+ case 19: sprintf(p, " %sd%d", s_dam, 4 * plev); break;
case 20: sprintf(p, " %sd%d", s_dam, 4 * plev); break;
+ case 22: sprintf(p, " %s%d", s_dam, 2 * plev+100); break;
+ case 28: sprintf(p, " %s10+d10", s_dur); break;
#ifdef JP
- case 22: sprintf(p, " »:d%d/²ó:1000", 4 * plev); break;
+ case 29: sprintf(p, " %s³Æ%d", s_dam, plev*4); break;
#else
- case 22: sprintf(p, " d %d/h 1000", 4 * plev); break;
+ case 29: sprintf(p, " %s%d each", s_dam, plev*4); break;
#endif
- case 24: sprintf(p, " %s25+d25", s_dur); break;
- case 25: sprintf(p, " %s48+d48", s_dur); break;
- case 28: sprintf(p, " %s2000", s_heal); break;
#ifdef JP
- case 30: sprintf(p, " ²ó300/»%d+250", plev * 4); break;
+ case 30: sprintf(p, " ²ó100/»%d+250", plev * 4); break;
#else
- case 30: sprintf(p, " h300/d%d+250", plev * 4); break;
+ case 30: sprintf(p, " h100/d%d+250", plev * 4); break;
#endif
- case 31: sprintf(p, " %s%d+d%d", s_dur,(plev/2), (plev/2)); break;
}
break;
(CH_NONE), /* Red Mage */
(CH_HISSATSU), /* Samurai */
(CH_LIFE | CH_NATURE | CH_DEATH |
- CH_ENCHANT), /* ForceTrainer */
+ CH_ENCHANT | CH_HAJA), /* ForceTrainer */
(CH_NONE), /* Blue Mage */
(CH_NONE), /* Kihei */
(CH_NONE), /* Berserker */
"¶²Éݽüµî",
"¥â¥ó¥¹¥¿¡¼¶²¹²",
"À»°è",
-"¥¹¥¿¡¼¥À¥¹¥È",
"Æþ¸ý",
+"¥¹¥¿¡¼¥À¥¹¥È",
-"½ý¤ÈÆǼ£ÎÅ",
+"¿ÈÂξô²½",
+"¼Ù°Èô¤Ð¤·",
"°Ëâʧ¤¤",
"À»¤Ê¤ë¸÷µå",
"Æ©ÌÀ»ëǧ",
"Âмٰ·ë³¦",
-"¥¢¥ó¥Ç¥Ã¥É&°ËâÂ໶",
-"ŷȳ",
+"ºÛ¤¤ÎÍë",
"À»¤Ê¤ë¸æ¸ÀÍÕ",
/* Rare nanka Spellbooks */
"³«¤«¤ì¤¿Æ»",
"²ò¼ö",
"À»¤Ê¤ë¥ª¡¼¥é",
-"¥¹¥Ô¡¼¥É",
+"¥¢¥ó¥Ç¥Ã¥É&°ËâÂ໶",
"¼Ù°Â໶",
"À»¤Ê¤ë¿Ï",
"¥¹¥¿¡¼¥Ð¡¼¥¹¥È",
"Å·»È¾¤´",
"»Îµ¤¹âÍÈ",
-"*²ò¼ö*",
+"¼ö¤¤Â໶",
"¼Ù°ÄÉÊü",
+"¥Ï¥ë¥Þ¥²¥É¥ó",
"ÌܤˤÏÌܤò",
-"*Ç˲õ*",
"¿À¤ÎÅܤê",
"¿À°Ò",
"À»Àï",