P:4:1d1:0:0:12
F:STEALTH | IGNORE_FIRE
-N:654:[¤Û¤²1]
-E:[nanka1]
+N:654:[ÅÌÄïÆÉËÜ]
+E:[Rites of Initiation]
G:?:W
I:99:0:0
W:10:0:30:100
A:10/1
P:0:1d1:0:0:0
-N:655:[¤Û¤²2]
-E:[nanka2]
+N:655:[Àï½Ñ»ØÆî]
+E:[Ways of War]
G:?:W
I:99:1:0
W:20:0:30:1000
A:20/1
P:0:1d1:0:0:0
-N:656:[¤Û¤²3]
-E:[nanka3]
+N:656:[ÂàËâʧ¼Ù]
+E:[Exorcism and Dispelling]
G:?:w
I:99:2:0
W:50:0:30:25000
P:0:1d1:0:0:0
F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
-N:657:[¤Û¤²4]
-E:[nanka4]
+N:657:[Å·¿ÀÅÜȳ]
+E:[Wrath of God]
G:?:w
I:99:3:0
-W:90:0:30:100000
-A:90/3
+W:95:0:30:100000
+A:95/3
P:0:1d1:0:0:0
F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD
T:35:55:80:115
T:39:40:80:125
T:46:70:80:150
-T:9:9:50:40 #3
+T:9:15:50:40 #3
T:25:25:50:50
T:35:55:80:115
T:42:100:80:225
# Haja
R:9:1
T:1:1:20:4 #0
-T:1:1:15:4
-T:2:2:20:4
+T:2:1:15: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:15:11:55:4
+T:17:15:55:10 #1
T:18:16:60:10
-T:22:18:50:4
+T:20:18:50:4
+T:23:20:70:5
T:26:24:50:7
T:29:23:60:10
T:34:32:85:15
T:25:25:80:250
T:39:32:95:200
T:44:44:80:250
-T:5:5:50:80 #3
+T:5:9:50:80 #3
T:15:14:50:100
T:30:30:80:130
T:35:70:90:250
R:9:1
T:1:1:20:4 #0
T:1:1:10:4
-T:2:2:20:4
T:3:2:25:1
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:14:10:50:4
+T:15:14:50:10 #1
T:16:14:40:10
-T:21:18:50:4
+T:19:17:50:4
+T:21:19:70:4
T:26:22:55:7
T:29:23:60:10
T:36:35:85:15
# Haja
R:9:1
T:1:1:20:4 #0
-T:2:1:30:4
-T:3:3:35:4
+T:3:1:30:4
T:5:4:35:4
-T:9:9:30:4
-T:10:10:50:4
+T:8:8:30:4
+T:9:9:50:4
T:13:12:50:4
T:15:14:55:4
-T:17:12:55:4 #1
-T:18:18:50:4
+T:17:12:55:4
+T:18:18:50:4 #1
T:22:20:50:4
T:24:20:55:4
+T:27:25:80:5
T:29:28:65:4
T:34:28:65:4
T:43:43:85:5
T:42:55:80:115
T:45:45:80:125
T:50:70:80:150
-T:10:10:50:40 #3
+T:10:18:50:40 #3
T:28:28:50:50
T:38:85:80:115
T:45:90:80:225
# Haja
R:9:1
T:2:1:20:4 #0
-T:3:2:30:4
-T:5:5:35:4
+T:4:2:30:4
T:6:6:35:4
-T:10:10:30:4
+T:9:9: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:17:12:55:4
+T:20:20:50:4 #1
T:24:23:50:4
T:26:25:55:4
+T:29:28:80:5
T:31:30:65:4
T:35:28:65:4
T:42:38:85:5
T:40:60:80:115
T:45:45:80:125
T:48:64:80:150
-T:10:10:50:40 #3
+T:10:18:50:40 #3
T:25:25:50:50
T:40:45:80:115
T:44:84:80:225
I:SORCERY:INT:0x05:0:1:430
# Life
R:0:1
-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: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:15:15:40:4
-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
+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:9: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
# Sorcery
R:1:1
# Haja
R:9: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: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
+T:11:11:45:10 #1
+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:16:16:55:50
+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
### Tourist ###
T:35:55:80:115
T:39:40:80:125
T:46:70:80:150
-T:9:9:50:40 #3
+T:9:15:50:40 #3
T:25:25:50:50
T:35:55:80:115
T:42:100:80:225
# Haja
R:9:1
T:1:1:20:4 #0
-T:1:1:15:4
-T:2:2:20:4
+T:2:1:15: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:15:11:55:4
+T:17:15:55:10 #1
T:18:16:60:10
-T:22:18:50:4
+T:20:18:50:4
+T:23:20:70:5
T:26:24:50:7
T:29:23:60:10
T:34:32:85:15
R:9:1
T:2:1:20:4 #0
T:3:3:30:4
-T:5:5:35:4
T:7:8:35:4
-T:13:12:40:4
+T:12:11: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:22:22:55:6
+T:25:19:60:4
+T:27:27:55:4 #1
+T:32:30:50:4
+T:34:30:80:4
T:35:30:55:4
T:37:37:70:4
T:40:35:70:4
T:35:55:80:115
T:39:40:80:125
T:46:64:80:150
-T:9:9:50:40 #3
+T:9:15:50:40 #3
T:25:25:50:50
T:35:45:80:115
T:42:84:80:225
# Haja
R:9:1
T:1:1:20:4 #0
-T:2:1:30:4
-T:3:3:35:4
+T:3:1:30:4
T:5:4:35:4
-T:9:9:30:4
-T:10:10:50:4
+T:8:8:30:4
+T:9:9:50:4
T:13:12:50:4
T:15:14:55:4
-T:17:12:55:4 #1
-T:18:18:50:4
+T:17:12:55:4
+T:18:18:50:4 #1
T:22:20:50:4
T:24:20:55:4
+T:27:25:80:5
T:29:28:65:4
T:34:28:65:4
T:43:43:85:5
# Haja
R:9:0
-
E:80:0x0F
# LIFE_BOOK
-E:90:0x01
+E:90:0x09
# SORCERY_BOOK
E:91:0x0E
E:95:0x03
# ARCANE_BOOK
-E:96:0x09
+E:96:0x02
# ENCHANT_BOOK
E:97:0x0B
# DAEMON_BOOK
E:98:0x04
-# HAJA_BOOK
+# CRUSADE_BOOK
E:99:0x01
# MUSIC_BOOK
Z:GF_PHOTO:wwwy
Z:GF_CONTROL_DEMON:uug
Z:GF_LAVA_FLOW:rR
-Z:GF_STAR_HEAL:rR
Z:GF_SEEKER:y
Z:GF_SUPER_RAY:y
+Z:GF_STAR_HEAL:rR
+Z:GF_WATER_FLOW:s
+Z:GF_STASIS_EVIL:B
+Z:GF_WOUNDS:wwwwgG
{
switch(p_ptr->realm1)
{
- case REALM_LIFE: /* nanka */
- if (virtue_number(V_FAITH))
- p_ptr->vir_types[i++] = V_VITALITY;
- else p_ptr->vir_types[i++] = V_FAITH;
+ case REALM_LIFE:
+ if (virtue_number(V_VITALITY))
+ p_ptr->vir_types[i++] = V_TEMPERANCE;
+ else p_ptr->vir_types[i++] = V_VITALITY;
break;
case REALM_SORCERY:
if (virtue_number(V_KNOWLEDGE))
p_ptr->vir_types[i++] = V_FAITH;
else p_ptr->vir_types[i++] = V_JUSTICE;
break;
- case REALM_HAJA: /* nanka */
- if (virtue_number(V_FAITH))
- p_ptr->vir_types[i++] = V_VITALITY;
- else p_ptr->vir_types[i++] = V_FAITH;
+ case REALM_HAJA:
+ if (virtue_number(V_JUSTICE))
+ p_ptr->vir_types[i++] = V_HONOUR;
+ else p_ptr->vir_types[i++] = V_JUSTICE;
break;
};
}
{
switch(p_ptr->realm2)
{
- case REALM_LIFE: /* nanka */
- if (virtue_number(V_FAITH))
- p_ptr->vir_types[i++] = V_VITALITY;
- else p_ptr->vir_types[i++] = V_FAITH;
+ case REALM_LIFE:
+ if (virtue_number(V_VITALITY))
+ p_ptr->vir_types[i++] = V_TEMPERANCE;
+ else p_ptr->vir_types[i++] = V_VITALITY;
break;
case REALM_SORCERY:
if (virtue_number(V_ENCHANT))
p_ptr->vir_types[i++] = V_FAITH;
else p_ptr->vir_types[i++] = V_JUSTICE;
break;
- case REALM_HAJA: /* nanka */
- if (virtue_number(V_FAITH))
- p_ptr->vir_types[i++] = V_VITALITY;
- else p_ptr->vir_types[i++] = V_FAITH;
+ case REALM_HAJA:
+ if (virtue_number(V_JUSTICE))
+ p_ptr->vir_types[i++] = V_HONOUR;
+ else p_ptr->vir_types[i++] = V_JUSTICE;
break;
};
}
static char realm_subinfo[VALID_REALM][41] =
{
#ifdef JP
-"´¶ÃΤȲóÉü¤ËÍ¥¤ì¡¢¹¶·â¤â¤Ç¤¤Þ¤¹",
+"´¶ÃΤȲóÉü¤ËÍ¥¤ì¤Æ¤¤¤Þ¤¹",
"¹¶·â¤Ï¤Ç¤¤Þ¤»¤ó¤¬Èó¾ï¤ËÊØÍø¤Ç¤¹",
"´¶ÃΤÈËɸæ¤ËÍ¥¤ì¤Æ¤¤¤Þ¤¹",
"Ç˲õŪ¤Ê¹¶·â¤ËÍ¥¤ì¤Æ¤¤¤Þ¤¹",
"¤ä¤ä¼å¤¤¤Ê¤¬¤é¤âÈó¾ï¤ËÊØÍø¤Ç¤¹",
"ľÀÜÀïÆ®¤ÎÊä½õ¤ËÍ¥¤ì¤Æ¤¤¤Þ¤¹",
"¹¶·â¤ÈËɸæ¤ÎξÌ̤ËÍ¥¤ì¤Æ¤¤¤Þ¤¹",
-"Ç˼Ù",/* nanka */
+"¼Ù°¤Ê²øʪ¤ËÂФ¹¤ë¹¶·â¤ËÍ¥¤ì¤Æ¤¤¤Þ¤¹",
"²Î¤Ç¤â²Î¤Ã¤Æ¤¤¤Þ¤·¤ç¤¦",
"ÁÇľ¤ËÅá¤Ç¤â¿¶¤Ã¤Æ¤¤¤Þ¤·¤ç¤¦"
#else
switch (spell)
{
- case 0: /* Detect Evil */
- (void)detect_monsters_evil(DETECT_RAD_DEFAULT);
- break;
- case 1: /* Cure Light Wounds */
+ case 0: /* Cure Light Wounds */
(void)hp_player(damroll(2, 10));
(void)set_cut(p_ptr->cut - 10);
break;
- case 2: /* Bless */
+ case 1: /* Bless */
(void)set_blessed(randint1(12) + 12, FALSE);
break;
- case 3: /* Remove Fear */
- (void)set_afraid(0);
+ case 2: /* Make Light Wounds */
+ if (!get_aim_dir(&dir)) return FALSE;
+ fire_ball_hide(GF_WOUNDS, dir, damroll(3 + ((plev - 1) / 5), 4), 0);
break;
- case 4: /* Call Light */
+ case 3: /* Call Light */
(void)lite_area(damroll(2, (plev / 2)), (plev / 10) + 1);
break;
- case 5: /* Detect Traps + Secret Doors */
+ case 4: /* Detect Traps + Secret Doors */
(void)detect_traps(DETECT_RAD_DEFAULT);
(void)detect_doors(DETECT_RAD_DEFAULT);
(void)detect_stairs(DETECT_RAD_DEFAULT);
break;
- case 6: /* Cure Medium Wounds */
+ case 5: /* Cure Medium Wounds */
(void)hp_player(damroll(4, 10));
(void)set_cut((p_ptr->cut / 2) - 20);
break;
+ case 6: /* Cure Poison */
+ (void)set_poisoned(0);
+ break;
case 7: /* Satisfy Hunger */
(void)set_food(PY_FOOD_MAX - 1);
break;
#endif
}
break;
- case 9: /* Cure Poison */
- (void)set_poisoned(0);
+ case 9: /* Make Medium Wounds */
+ if (!get_aim_dir(&dir)) return FALSE;
+ fire_ball_hide(GF_WOUNDS, dir, damroll(8 + ((plev - 5) / 4), 8), 0);
break;
case 10: /* Cure Critical Wounds */
(void)hp_player(damroll(8, 10));
(void)set_stun(0);
(void)set_cut(0);
break;
- case 11: /* Sense Unseen */
- (void)set_tim_invis(randint1(24) + 24, FALSE);
+ case 11:
+ (void)set_oppose_cold(randint1(20) + 20, FALSE);
+ (void)set_oppose_fire(randint1(20) + 20, FALSE);
break;
- case 12: /* Holy Orb */
- if (!get_aim_dir(&dir)) return FALSE;
-
- fire_ball(GF_HOLY_FIRE, dir,
- (damroll(3, 6) + plev +
- (plev / ((p_ptr->pclass == CLASS_PRIEST ||
- p_ptr->pclass == CLASS_HIGH_MAGE ||
- p_ptr->pclass == CLASS_SORCERER) ? 2 : 4))),
- ((plev < 30) ? 2 : 3));
-
+ case 12:
+ map_area(DETECT_RAD_MAP);
break;
- case 13: /* Protection from Evil */
- (void)set_protevil(randint1(25) + 3 * p_ptr->lev, FALSE);
+ case 13:
+ (void)turn_undead();
break;
case 14: /* Healing */
(void)hp_player(300);
case 15: /* Glyph of Warding */
warding_glyph();
break;
- case 16: /* Exorcism */
- (void)dispel_undead(randint1(plev));
- (void)dispel_demons(randint1(plev));
- (void)turn_evil(plev);
- break;
- case 17: /* Dispel Curse */
+ case 16: /* Dispel Curse */
if (remove_all_curse())
{
#ifdef JP
#endif
}
break;
- case 18: /* Dispel Undead + Demons */
- (void)dispel_undead(randint1(plev * 3));
- (void)dispel_demons(randint1(plev * 3));
+ case 17: /* Perception */
+ return ident_spell(FALSE);
+ case 18: /* Dispel Undead */
+ (void)dispel_undead(randint1(plev * 5));
break;
case 19: /* 'Day of the Dove' */
charm_monsters(plev * 2);
break;
- case 20: /* Dispel Evil */
- (void)dispel_evil(randint1(plev * 4));
+ case 20: /* Make Critical Wounds */
+ if (!get_aim_dir(&dir)) return FALSE;
+ fire_ball_hide(GF_WOUNDS, dir, damroll(5+((plev - 5) / 3), 15), 0);
break;
- case 21: /* Banishment */
- if (banish_evil(100))
- {
-#ifdef JP
-msg_print("¿À¤Î¸æÎϤ¬¼Ù°¤òÂǤÁʧ¤Ã¤¿¡ª");
-#else
- msg_print("The power of your god banishes evil!");
-#endif
-
- }
+ case 21: /* Word of Recall */
+ if (!word_of_recall()) return FALSE;
break;
- case 22: /* Holy Word */
- (void)dispel_evil(randint1(plev * 4));
- (void)hp_player(1000);
- (void)set_afraid(0);
- (void)set_poisoned(0);
- (void)set_stun(0);
- (void)set_cut(0);
+ case 22: /* Alter Reality */
+ alter_reality();
break;
case 23: /* Warding True */
warding_glyph();
glyph_creation();
break;
- case 24: /* Heroism */
- (void)set_hero(randint1(25) + 25, FALSE);
- (void)hp_player(10);
- (void)set_afraid(0);
+ case 24:
+ num_repro += MAX_REPRO;
break;
- case 25: /* Prayer */
- (void)set_blessed(randint1(48) + 48, FALSE);
+ case 25: /* Detection True */
+ (void)detect_all(DETECT_RAD_DEFAULT);
break;
- case 26: /* Turn Undead */
+ case 26: /* Genocide Undead */
(void)mass_genocide_undead(plev+50,TRUE);
break;
- case 27: /* Restoration */
+ case 27: /* Clairvoyance */
+ wiz_lite(FALSE, FALSE);
+ break;
+ case 28: /* Restoration */
(void)do_res_stat(A_STR);
(void)do_res_stat(A_INT);
(void)do_res_stat(A_WIS);
(void)do_res_stat(A_CHR);
(void)restore_level();
break;
- case 28: /* Healing True */
+ case 29: /* Healing True */
(void)hp_player(2000);
(void)set_stun(0);
(void)set_cut(0);
break;
- case 29: /* Holy Vision */
+ case 30: /* Holy Vision */
return identify_fully(FALSE);
- case 30: /* Divine Intervention */
- project(0, 1, py, px, 500, GF_HOLY_FIRE, PROJECT_KILL, -1);
- dispel_monsters(plev * 4);
- slow_monsters();
- stun_monsters(plev * 4);
- confuse_monsters(plev * 4);
- turn_monsters(plev * 4);
- stasis_monsters(plev * 4);
- summon_specific(-1, py, px, plev, SUMMON_ANGEL, (PM_ALLOW_GROUP | PM_FORCE_PET));
- (void)set_hero(randint1(25) + 25, FALSE);
- (void)hp_player(300);
- (void)set_fast(randint1(20 + plev) + plev, FALSE);
- (void)set_afraid(0);
- break;
case 31: /* Ultimate resistance */
{
int v = randint1(plev/2)+plev/2;
case 1:
(void)detect_monsters_evil(DETECT_RAD_DEFAULT);
break;
- case 2: /* Bless */
- (void)set_blessed(randint1(12) + 12, FALSE);
- break;
- case 3: /* Remove Fear */
+ case 2: /* Remove Fear */
(void)set_afraid(0);
break;
- case 4:
+ case 3:
if (!get_aim_dir(&dir)) return FALSE;
(void)fear_monster(dir, plev);
break;
- case 5:
+ case 4:
(void)sleep_monsters_touch();
break;
- case 6:
+ case 5:
teleport_player(plev*3);
break;
- case 7:
+ case 6:
if (!get_aim_dir(&dir)) return FALSE;
fire_blast(GF_LITE, dir, 3+((plev-1)/8), 3, 10, 3);
break;
- case 8:
+ case 7:
(void)set_cut(0);
(void)set_poisoned(0);
(void)set_stun(0);
break;
- case 9:
+ case 8:
if (!get_aim_dir(&dir)) return FALSE;
(void)fire_ball(GF_AWAY_EVIL, dir, MAX_SIGHT*5, 0);
break;
- case 10: /* Exorcism */
+ case 9: /* Exorcism */
(void)dispel_undead(randint1(plev));
(void)dispel_demons(randint1(plev));
(void)turn_evil(plev);
break;
- case 11: /* Holy Orb */
+ case 10: /* Holy Orb */
if (!get_aim_dir(&dir)) return FALSE;
fire_ball(GF_HOLY_FIRE, dir,
((plev < 30) ? 2 : 3));
break;
+ case 11: /* Remove Curse */
+ if (remove_curse())
+ {
+#ifdef JP
+ msg_print("狼¤Ë¸«¼é¤é¤ì¤Æ¤¤¤ë¤è¤¦¤Êµ¤¤¬¤¹¤ë¡£");
+#else
+ msg_print("You feel as if someone is watching over you.");
+#endif
+ }
+ break;
case 12: /* Sense Unseen */
(void)set_tim_invis(randint1(24) + 24, FALSE);
break;
(void)destroy_door(dir);
break;
- case 17: /* Remove Curse */
- if (remove_curse())
- {
-#ifdef JP
- msg_print("狼¤Ë¸«¼é¤é¤ì¤Æ¤¤¤ë¤è¤¦¤Êµ¤¤¬¤¹¤ë¡£");
-#else
- msg_print("You feel as if someone is watching over you.");
-#endif
- }
+ case 17:
+ if (!get_aim_dir(&dir)) return FALSE;
+ (void)stasis_evil(dir);
break;
case 18:
set_tim_sh_holy(randint1(20)+20, FALSE);
if (banish_evil(100))
{
#ifdef JP
-msg_print("¿À¤Î¸æÎϤ¬¼Ù°¤òÂǤÁʧ¤Ã¤¿¡ª");
+msg_print("¿ÀÀ»¤ÊÎϤ¬¼Ù°¤òÂǤÁʧ¤Ã¤¿¡ª");
#else
- msg_print("The power of your god banishes evil!");
+ msg_print("The power of your god banishes evil!"); /* nanka */
#endif
}
case 29:
{
int x, y, tx, ty;
+ int nx, ny;
int dir, i;
int b = 10 + randint1(10);
+
if (!get_aim_dir(&dir)) return FALSE;
- tx = px;
- ty = py;
+
+ /* Use the given direction */
+ tx = px + 99 * ddx[dir];
+ ty = py + 99 * ddy[dir];
/* Hack -- Use an actual "target" */
- if (dir != 5) {
- while(1)
- {
- if (cave_stop_disintegration(ty + ddy[dir], tx + ddx[dir])) break;
- tx += ddx[dir];
- ty += ddy[dir];
- if (!cave_floor_bold(ty,tx) || !player_has_los_bold(ty, tx) || cave[ty][tx].m_idx) break;
- }
- }
- else if (target_okay() && !cave_stop_disintegration(target_row, target_col) && in_disintegration_range(py, px, target_row, target_col))
+ if ((dir == 5) && target_okay())
{
tx = target_col;
ty = target_row;
}
+ x = px;
+ y = py;
+
+ while(1)
+ {
+ /* Hack -- Stop at the target */
+ if ((y == ty) && (x == tx)) break;
+
+ ny = y;
+ nx = x;
+ mmove2(&ny, &nx, py, px, ty, tx);
+
+ /* Stopped by walls/doors */
+ if (!cave_floor_bold(ny, nx)) break;
+
+ /* Save the new location */
+ x = nx;
+ y = ny;
+ }
+ tx = x;
+ ty = y;
for (i = 0; i < b; i++)
{
- int count = 20, d = 0;
+ int count = randint1(2), d = 0;
while (count--)
{
int dx, dy;
- x = tx - 8 + randint0(17);
- y = ty - 8 + randint0(17);
+ x = tx - 5 + randint0(11);
+ y = ty - 5 + randint0(11);
if (!in_bounds(y,x) || cave_stop_disintegration(y,x) || !in_disintegration_range(ty, tx, y, x)) continue;
sound(SOUND_FAIL);
- if (realm == REALM_LIFE) /* nanka */
+ if (realm == REALM_LIFE)
{
if (randint1(100) < chance)
- chg_virtue(V_FAITH, -1);
+ chg_virtue(V_VITALITY, -1);
}
else if (realm == REALM_DEATH)
{
if (randint1(100) < chance)
chg_virtue(V_JUSTICE, 1);
}
- if (realm == REALM_HAJA) /* nanka */
+ if (realm == REALM_HAJA)
{
if (randint1(100) < chance)
- chg_virtue(V_FAITH, -1);
+ chg_virtue(V_JUSTICE, -1);
}
else if (randint1(100) < chance)
{
/* Gain experience */
gain_exp(e * s_ptr->slevel);
- if (realm == REALM_LIFE) /* nanka */
+ if (realm == REALM_LIFE)
{
- chg_virtue(V_FAITH, 1);
+ chg_virtue(V_TEMPERANCE, 1);
chg_virtue(V_COMPASSION, 1);
chg_virtue(V_VITALITY, 1);
- chg_virtue(V_HONOUR, 1);
+ chg_virtue(V_DILIGENCE, 1);
}
else if (realm == REALM_DEATH)
{
chg_virtue(V_HONOUR, -1);
chg_virtue(V_TEMPERANCE, -1);
}
- else if (realm == REALM_HAJA) /* nanka */
+ else if (realm == REALM_HAJA)
{
chg_virtue(V_FAITH, 1);
- chg_virtue(V_COMPASSION, 1);
- chg_virtue(V_VITALITY, 1);
+ chg_virtue(V_JUSTICE, 1);
+ chg_virtue(V_SACRIFICE, 1);
chg_virtue(V_HONOUR, 1);
}
else if (realm == REALM_NATURE)
else
chg_virtue(V_KNOWLEDGE, 1);
}
- if (realm == REALM_LIFE) /* nanka */
+ if (realm == REALM_LIFE)
{
- if (randint1(100 + p_ptr->lev) < shouhimana) chg_virtue(V_FAITH, 1);
+ if (randint1(100 + p_ptr->lev) < shouhimana) chg_virtue(V_TEMPERANCE, 1);
if (randint1(100 + p_ptr->lev) < shouhimana) chg_virtue(V_COMPASSION, 1);
if (randint1(100 + p_ptr->lev) < shouhimana) chg_virtue(V_VITALITY, 1);
- if (randint1(100 + p_ptr->lev) < shouhimana) chg_virtue(V_HONOUR, 1);
+ if (randint1(100 + p_ptr->lev) < shouhimana) chg_virtue(V_DILIGENCE, 1);
}
else if (realm == REALM_DEATH)
{
if (randint1(100 + p_ptr->lev) < shouhimana) chg_virtue(V_HONOUR, -1);
if (randint1(100 + p_ptr->lev) < shouhimana) chg_virtue(V_TEMPERANCE, -1);
}
- else if (realm == REALM_HAJA) /* nanka */
+ else if (realm == REALM_HAJA)
{
if (randint1(100 + p_ptr->lev) < shouhimana) chg_virtue(V_FAITH, 1);
- if (randint1(100 + p_ptr->lev) < shouhimana) chg_virtue(V_COMPASSION, 1);
- if (randint1(100 + p_ptr->lev) < shouhimana) chg_virtue(V_VITALITY, 1);
+ if (randint1(100 + p_ptr->lev) < shouhimana) chg_virtue(V_JUSTICE, 1);
+ if (randint1(100 + p_ptr->lev) < shouhimana) chg_virtue(V_SACRIFICE, 1);
if (randint1(100 + p_ptr->lev) < shouhimana) chg_virtue(V_HONOUR, 1);
}
else if (realm == REALM_NATURE)
/* Hack -- Bypass free action */
(void)set_paralyzed(p_ptr->paralyzed + randint1(5 * oops + 1));
- if (realm == REALM_LIFE) /* nanka */
- chg_virtue(V_FAITH, -10);
+ if (realm == REALM_LIFE)
+ chg_virtue(V_VITALITY, -10);
else if (realm == REALM_DEATH)
chg_virtue(V_UNLIFE, -10);
else if (realm == REALM_DAEMON)
chg_virtue(V_JUSTICE, 10);
else if (realm == REALM_NATURE)
chg_virtue(V_NATURE, -10);
- else if (realm == REALM_HAJA) /* nanka */
- chg_virtue(V_FAITH, -10);
+ else if (realm == REALM_HAJA)
+ chg_virtue(V_JUSTICE, -10);
else
chg_virtue(V_KNOWLEDGE, -10);
#define GF_STAR_HEAL 112
#define GF_WATER_FLOW 113
#define GF_CRUSADE 114
+#define GF_STASIS_EVIL 115
+#define GF_WOUNDS 116
-#define MAX_GF 114
+#define MAX_GF 116
/*
* Some things which induce learning
extern bool slow_monster(int dir);
extern bool sleep_monster(int dir);
extern bool stasis_monster(int dir); /* Like sleep, affects undead as well */
+extern bool stasis_evil(int dir); /* Like sleep, affects undead as well */
extern bool confuse_monster(int dir, int plev);
extern bool stun_monster(int dir, int plev);
extern bool fear_monster(int dir, int plev);
{"GF_STAR_HEAL", GF_STAR_HEAL },
{"GF_WATER_FLOW", GF_WATER_FLOW },
{"GF_CRUSADE", GF_CRUSADE },
+ {"GF_STASIS_EVIL", GF_STASIS_EVIL },
+ {"GF_WOUNDS", GF_WOUNDS },
{NULL, 0 }
};
/* Sleep (Use "dam" as "power") */
+ case GF_STASIS_EVIL:
+ {
+ if (seen) obvious = TRUE;
+
+ if (r_ptr->flags3 & (RF3_RES_ALL))
+ {
+#ifdef JP
+ note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª";
+#else
+ note = " is immune.";
+#endif
+ dam = 0;
+ if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL);
+ break;
+ }
+ /* Attempt a saving throw */
+ if ((r_ptr->flags1 & RF1_UNIQUE) ||
+ !(r_ptr->flags3 & RF3_EVIL) ||
+ (r_ptr->level > randint1((dam - 10) < 1 ? 1 : (dam - 10)) + 10))
+ {
+#ifdef JP
+note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡ª";
+#else
+ note = " is unaffected!";
+#endif
+
+ obvious = FALSE;
+ }
+ else
+ {
+ /* Go to sleep (much) later */
+#ifdef JP
+note = "¤ÏÆ°¤±¤Ê¤¯¤Ê¤Ã¤¿¡ª";
+#else
+ note = " is suspended!";
+#endif
+
+ do_sleep = 500;
+ }
+
+ /* No "real" damage */
+ dam = 0;
+ break;
+ }
+
+ /* Sleep (Use "dam" as "power") */
case GF_STASIS:
{
if (seen) obvious = TRUE;
break;
}
+ case GF_WOUNDS:
+ {
+ if (seen) obvious = TRUE;
+
+ if (r_ptr->flags3 & (RF3_RES_ALL))
+ {
+#ifdef JP
+ note = "¤Ë¤Ï´°Á´¤ÊÂÑÀ¤¬¤¢¤ë¡ª";
+#else
+ note = " is immune.";
+#endif
+ skipped = TRUE;
+ if (seen) r_ptr->r_flags3 |= (RF3_RES_ALL);
+ break;
+ }
+
+ /* Attempt a saving throw */
+ if (randint0(100 + dam) < (r_ptr->level + 50))
+ {
+
+#ifdef JP
+note = "¤Ë¤Ï¸ú²Ì¤¬¤Ê¤«¤Ã¤¿¡£";
+#else
+ note = "is unaffected!";
+#endif
+ dam = 0;
+ }
+ break;
+ }
+
/* Default */
default:
{
}
+bool stasis_evil(int dir)
+{
+ return (fire_ball_hide(GF_STASIS_EVIL, dir, p_ptr->lev*2, 0));
+}
+
+
bool confuse_monster(int dir, int plev)
{
int flg = PROJECT_STOP | PROJECT_KILL;
case 0: /* Life */
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 0: sprintf(p, " %s2d10", s_heal); break;
+ case 1: sprintf(p, " %s12+d12", s_dur); break;
+ case 2: sprintf(p, " %s%dd4", s_dam, 3 + ((plev - 1) / 5)); break;
+ case 3: sprintf(p, " %s%d", s_dam, 10 + (plev / 2)); break;
+ case 5: sprintf(p, " %s4d10", s_heal); break;
+ case 9: sprintf(p, " %s%dd8", s_dam, 8 + ((plev - 1) / 5)); 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 13: sprintf(p, " %sd25+%d", s_dur, 3 * plev); break;
+ case 11: sprintf(p, " %s20+d20", s_dur); 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 20: sprintf(p, " %sd%d", s_dam, 4 * plev); break;
-#ifdef JP
- case 22: sprintf(p, " »:d%d/²ó:1000", 4 * plev); break;
-#else
- case 22: sprintf(p, " d %d/h 1000", 4 * plev); 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;
-#else
- case 30: sprintf(p, " h300/d%d+250", plev * 4); break;
-#endif
+ case 18: sprintf(p, " %sd%d", s_dam, 5 * plev); break;
+ case 20: sprintf(p, " %s%dd15", s_dam, 5 + ((plev - 1) / 3)); break;
+ case 21: sprintf(p, " %s15+d21", s_delay); break;
+ case 29: sprintf(p, " %s2000", s_heal); break;
case 31: sprintf(p, " %s%d+d%d", s_dur,(plev/2), (plev/2)); break;
}
break;
switch (spell)
{
case 0: sprintf(p, " %s%dd4", s_dam, 3 + ((plev - 1) / 5)); break;
- case 6: sprintf(p, " %s%d", s_range, plev*3); break;
+ case 5: sprintf(p, " %s%d", s_range, plev*3); break;
#ifdef JP
- case 7: sprintf(p, " %s³Æ%dd3", s_dam, 3+((plev-1)/8)); break;
+ case 6: 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;
+ case 6: 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 9: sprintf(p, " %sd%d", s_dam, plev); break;
+ case 10: 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, " %s%d", s_dam, plev*5); break;
case 29: sprintf(p, " %s%d each", s_dam, plev*4); break;
#endif
#ifdef JP
- case 30: sprintf(p, " ²ó100/»%d+250", plev * 4); break;
+ case 30: sprintf(p, " ²ó100/»%d+%d", plev * 4, plev*11/2); break;
#else
- case 30: sprintf(p, " h100/d%d+250", plev * 4); break;
+ case 30: sprintf(p, " h100/d%d+%d", plev * 4, plev*11/2); break;
#endif
}
break;
static char *spell_tips[VALID_REALM][32] =
{
{
- "¶á¤¯¤Î¼Ù°¤Ê¥â¥ó¥¹¥¿¡¼¤ò´¶ÃΤ¹¤ë¡£",
"²ø²æ¤ÈÂÎÎϤò¾¯¤·²óÉü¤µ¤»¤ë¡£",
"°ìÄê»þ´Ö¡¢Ì¿ÃæΨ¤ÈAC¤Ë¥Ü¡¼¥Ê¥¹¤òÆÀ¤ë¡£",
- "¶²Éݤò¼è¤ê½ü¤¯¡£",
+ "1ÂΤΥâ¥ó¥¹¥¿¡¼¤Ë¾®¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¡£Äñ¹³¤µ¤ì¤ë¤È̵¸ú¡£",
"¸÷¸»¤¬¾È¤é¤·¤Æ¤¤¤ëÈϰϤ«Éô²°Á´ÂΤò±Êµ×¤ËÌÀ¤ë¤¯¤¹¤ë¡£",
"¶á¤¯¤ÎÁ´¤Æ¤Î櫤ÈÈâ¤È³¬Ãʤò´¶ÃΤ¹¤ë¡£",
"²ø²æ¤ÈÂÎÎϤòÃæÄøÅÙ²óÉü¤µ¤»¤ë¡£",
+ "ÂÎÆâ¤ÎÆǤò¼è¤ê½ü¤¯¡£",
"ËþÊ¢¤Ë¤¹¤ë¡£",
"¥¢¥¤¥Æ¥à¤Ë¤«¤«¤Ã¤¿¼å¤¤¼ö¤¤¤ò²ò½ü¤¹¤ë¡£",
- "ÂÎÆâ¤ÎÆǤò¼è¤ê½ü¤¯¡£",
+ "1ÂΤΥâ¥ó¥¹¥¿¡¼¤ËÃæ¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¡£Äñ¹³¤µ¤ì¤ë¤È̵¸ú¡£",
"ÂÎÎϤòÂçÉý¤Ë²óÉü¤µ¤»¡¢Éé½ý¤ÈÛ¯Û°¾õÂÖ¤âÁ´²÷¤¹¤ë¡£",
- "°ìÄê»þ´Ö¡¢Æ©ÌÀ¤Ê¤â¤Î¤¬¸«¤¨¤ë¤è¤¦¤Ë¤Ê¤ë¡£",
- "À»¤Ê¤ëÎϤò¤â¤ÄÊõ¼î¤òÊü¤Ä¡£¼Ù°¤Ê¥â¥ó¥¹¥¿¡¼¤ËÂФ·¤ÆÂ礤ʥÀ¥á¡¼¥¸¤òÍ¿¤¨¤ë¤¬¡¢Á±Îɤʥâ¥ó¥¹¥¿¡¼¤Ë¤Ï¸ú²Ì¤¬¤Ê¤¤¡£",
- "¼Ù°¤Ê¥â¥ó¥¹¥¿¡¼¤Î¹¶·â¤òËɤ°¥Ð¥ê¥¢¤òÄ¥¤ë¡£",
+ "°ìÄê»þ´Ö¡¢²Ð±ê¤ÈÎ䵤¤ËÂФ¹¤ëÂÑÀ¤òÆÀ¤ë¡£ÁõÈ÷¤Ë¤è¤ëÂÑÀ¤ËÎßÀѤ¹¤ë¡£",
+ "¼þÊÕ¤ÎÃÏ·Á¤ò´¶ÃΤ¹¤ë¡£",
+ "»ë³¦Æâ¤Î¥¢¥ó¥Ç¥Ã¥É¤ò¶²Éݤµ¤»¤ë¡£Äñ¹³¤µ¤ì¤ë¤È̵¸ú¡£",
"¶Ë¤á¤Æ¶¯ÎϤʲóÉü¼öʸ¤Ç¡¢Éé½ý¤ÈÛ¯Û°¾õÂÖ¤âÁ´²÷¤¹¤ë¡£",
"¼«Ê¬¤Î¤¤¤ë¾²¤Î¾å¤Ë¡¢¥â¥ó¥¹¥¿¡¼¤¬Ä̤êÈ´¤±¤¿¤ê¾¤´¤µ¤ì¤¿¤ê¤¹¤ë¤³¤È¤¬¤Ç¤¤Ê¤¯¤Ê¤ë¥ë¡¼¥ó¤òÉÁ¤¯¡£",
- "»ë³¦Æâ¤ÎÁ´¤Æ¤Î¥¢¥ó¥Ç¥Ã¥ÉµÚ¤Ó°Ëâ¤Ë¥À¥á¡¼¥¸¤òÍ¿¤¨¡¢»ë³¦Æâ¤Î¼Ù°¤Ê¥â¥ó¥¹¥¿¡¼¤ò¶²Éݤµ¤»¤è¤¦¤È¤¹¤ë¡£",
"¥¢¥¤¥Æ¥à¤Ë¤«¤«¤Ã¤¿¶¯ÎϤʼö¤¤¤ò²ò½ü¤¹¤ë¡£",
- "»ë³¦Æâ¤ÎÁ´¤Æ¤Î¥¢¥ó¥Ç¥Ã¥ÉµÚ¤Ó°Ëâ¤Ë¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¡£",
+ "¥¢¥¤¥Æ¥à¤ò¼±Ê̤¹¤ë¡£",
+ "»ë³¦Æâ¤ÎÁ´¤Æ¤Î¥¢¥ó¥Ç¥Ã¥É¤Ë¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¡£",
"»ë³¦Æâ¤ÎÁ´¤Æ¤Î¥â¥ó¥¹¥¿¡¼¤ò̥λ¤¹¤ë¡£Äñ¹³¤µ¤ì¤ë¤È̵¸ú¡£",
- "»ë³¦Æâ¤ÎÁ´¤Æ¤Î¼Ù°¤Ê¥â¥ó¥¹¥¿¡¼¤Ë¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¡£",
- "»ë³¦Æâ¤ÎÁ´¤Æ¤Î¼Ù°¤Ê¥â¥ó¥¹¥¿¡¼¤ò¥Æ¥ì¥Ý¡¼¥È¤µ¤»¤ë¡£Äñ¹³¤µ¤ì¤ë¤È̵¸ú¡£",
- "»ë³¦Æâ¤Î¼Ù°¤Ê¸ºß¤ËÂ礤ʥÀ¥á¡¼¥¸¤òÍ¿¤¨¡¢ÂÎÎϤò²óÉü¤·¡¢ÆÇ¡¢¶²ÉÝ¡¢Û¯Û°¾õÂÖ¡¢Éé½ý¤«¤éÁ´²÷¤¹¤ë¡£",
+ "1ÂΤΥâ¥ó¥¹¥¿¡¼¤ËÂç¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¡£Äñ¹³¤µ¤ì¤ë¤È̵¸ú¡£",
+ "ÃϾå¤Ë¤¤¤ë¤È¤¤Ï¥À¥ó¥¸¥ç¥ó¤ÎºÇ¿¼³¬¤Ø¡¢¥À¥ó¥¸¥ç¥ó¤Ë¤¤¤ë¤È¤¤ÏÃϾå¤Ø¤È°ÜÆ°¤¹¤ë¡£",
+ "¸½ºß¤Î³¬¤òºÆ¹½À®¤¹¤ë¡£",
"¼«Ê¬¤Î¤¤¤ë¾²¤È¼þ°Ï8¥Þ¥¹¤Î¾²¤Î¾å¤Ë¡¢¥â¥ó¥¹¥¿¡¼¤¬Ä̤êÈ´¤±¤¿¤ê¾¤´¤µ¤ì¤¿¤ê¤¹¤ë¤³¤È¤¬¤Ç¤¤Ê¤¯¤Ê¤ë¥ë¡¼¥ó¤òÉÁ¤¯¡£",
- "°ìÄê»þ´Ö¡¢¥Ò¡¼¥í¡¼µ¤Ê¬¤Ë¤Ê¤ë¡£",
- "Ĺ»þ´Ö¡¢Ì¿ÃæΨ¤ÈAC¤Ë¥Ü¡¼¥Ê¥¹¤òÆÀ¤ë¡£",
+ "¤³¤Î³¬¤ÎÁý¿£¤¹¤ë¥â¥ó¥¹¥¿¡¼¤¬Áý¿£¤Ç¤¤Ê¤¯¤Ê¤ë¡£",
+ "¶á¤¯¤ÎÁ´¤Æ¤Î¥â¥ó¥¹¥¿¡¼¡¢æ«¡¢Èâ¡¢³¬ÃÊ¡¢ºâÊõ¡¢¤½¤·¤Æ¥¢¥¤¥Æ¥à¤ò´¶ÃΤ¹¤ë¡£",
"¼«Ê¬¤Î¼þ°Ï¤Ë¤¤¤ë¥¢¥ó¥Ç¥Ã¥É¤ò¸½ºß¤Î³¬¤«¤é¾Ã¤·µî¤ë¡£Äñ¹³¤µ¤ì¤ë¤È̵¸ú¡£",
+ "¤½¤Î³¬Á´ÂΤò±Êµ×¤Ë¾È¤é¤·¡¢¥À¥ó¥¸¥ç¥óÆ⤹¤Ù¤Æ¤Î¥¢¥¤¥Æ¥à¤ò´¶ÃΤ¹¤ë¡£",
"¤¹¤Ù¤Æ¤Î¥¹¥Æ¡¼¥¿¥¹¤È·Ð¸³Ãͤò²óÉü¤¹¤ë¡£",
"ºÇ¶¯¤Î¼£Ìþ¤ÎËâË¡¤Ç¡¢Éé½ý¤ÈÛ¯Û°¾õÂÖ¤âÁ´²÷¤¹¤ë¡£",
"¥¢¥¤¥Æ¥à¤Î»ý¤ÄǽÎϤò´°Á´¤ËÃΤ롣",
- "ÎÙÀܤ¹¤ë¥â¥ó¥¹¥¿¡¼¤ËÀ»¤Ê¤ë¥À¥á¡¼¥¸¤òÍ¿¤¨¡¢»ë³¦Æâ¤Î¥â¥ó¥¹¥¿¡¼¤Ë¥À¥á¡¼¥¸¡¢¸ºÂ®¡¢Û¯Û°¡¢º®Í𡢶²ÉÝ¡¢Ì²¤ê¤òÍ¿¤¨¤ë¡£¤µ¤é¤ËÅ·»È¤ò¾¤´¤·¡¢ÂÎÎϤò²óÉü¤·¡¢¶²Éݤò¼è¤ê½ü¤¡¢°ìÄê»þ´Ö¥Ò¡¼¥í¡¼µ¤Ê¬¤Ë¤Ê¤ê¡¢²Ã®¤¹¤ë¡£",
"°ìÄê»þ´Ö¡¢¤¢¤é¤æ¤ëÂÑÀ¤òÉÕ¤±¡¢AC¤ÈËâË¡ËɸæǽÎϤò¾å¾º¤µ¤»¤ë¡£"
},
"°Ëâ¤Î²¦¤ËÊѲ½¤¹¤ë¡£ÊѲ½¤·¤Æ¤¤¤ë´Ö¤ÏËÜÍè¤Î¼ï²¤ÎǽÎϤò¼º¤¤¡¢Âå¤ï¤ê¤Ë°Ëâ¤Î²¦¤È¤·¤Æ¤ÎǽÎϤòÆÀ¡¢ÊɤòÇ˲õ¤·¤Ê¤¬¤éÊ⤯¡£",
},
- { /* nanka */
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
-
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
+ {
+ "ÅÅ·â¤Î¥Ü¥ë¥È¤â¤·¤¯¤Ï¥Ó¡¼¥à¤òÊü¤Ä¡£",
+ "¶á¤¯¤Î¼Ù°¤Ê¥â¥ó¥¹¥¿¡¼¤ò´¶ÃΤ¹¤ë¡£",
+ "¶²Éݤò¼è¤ê½ü¤¯¡£",
+ "¥â¥ó¥¹¥¿¡¼1ÂΤò¶²Éݤµ¤»¤ë¡£Äñ¹³¤µ¤ì¤ë¤È̵¸ú¡£",
+ "ÎÙÀܤ·¤¿Á´¤Æ¤Î¥â¥ó¥¹¥¿¡¼¤ò̲¤é¤»¤ë¡£Äñ¹³¤µ¤ì¤ë¤È̵¸ú¡£",
+ "Ãæµ÷Î¥¤Î¥Æ¥ì¥Ý¡¼¥È¤ò¤¹¤ë¡£",
+ "¥¿¡¼¥²¥Ã¥ÈÉÕ¶á¤ËÁ®¸÷¤Î¥Ü¥ë¥È¤òÏ¢¼Í¤¹¤ë¡£",
+ "½ý¡¢ÆÇ¡¢Û¯Û°¤«¤éÁ´²÷¤¹¤ë¡£",
+
+ "¼Ù°¤Ê¥â¥ó¥¹¥¿¡¼1ÂΤò¥Æ¥ì¥Ý¡¼¥È¤µ¤»¤ë¡£Äñ¹³¤µ¤ì¤ë¤È̵¸ú¡£",
+ "»ë³¦Æâ¤ÎÁ´¤Æ¤Î¥¢¥ó¥Ç¥Ã¥ÉµÚ¤Ó°Ëâ¤Ë¥À¥á¡¼¥¸¤òÍ¿¤¨¡¢¶²Éݤµ¤»¤ë¡£",
+ "À»¤Ê¤ëÎϤò¤â¤ÄÊõ¼î¤òÊü¤Ä¡£¼Ù°¤Ê¥â¥ó¥¹¥¿¡¼¤ËÂФ·¤ÆÂ礤ʥÀ¥á¡¼¥¸¤òÍ¿¤¨¤ë¤¬¡¢Á±Îɤʥâ¥ó¥¹¥¿¡¼¤Ë¤Ï¸ú²Ì¤¬¤Ê¤¤¡£",
+ "¥¢¥¤¥Æ¥à¤Ë¤«¤«¤Ã¤¿¼å¤¤¼ö¤¤¤ò²ò½ü¤¹¤ë¡£",
+ "°ìÄê»þ´Ö¡¢Æ©ÌÀ¤Ê¤â¤Î¤¬¸«¤¨¤ë¤è¤¦¤Ë¤Ê¤ë¡£",
+ "¼Ù°¤Ê¥â¥ó¥¹¥¿¡¼¤Î¹¶·â¤òËɤ°¥Ð¥ê¥¢¤òÄ¥¤ë¡£",
+ "¶¯ÎϤÊÅÅ·â¤Î¥Ü¥ë¥È¤òÊü¤Ä¡£",
+ "»ë³¦Æâ¤Î¼Ù°¤Ê¸ºß¤ËÂ礤ʥÀ¥á¡¼¥¸¤òÍ¿¤¨¡¢ÂÎÎϤò²óÉü¤·¡¢ÆÇ¡¢¶²ÉÝ¡¢Û¯Û°¾õÂÖ¡¢Éé½ý¤«¤éÁ´²÷¤¹¤ë¡£",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
+ "°ìľÀþ¾å¤ÎÁ´¤Æ¤Î櫤ÈÈâ¤òÇ˲õ¤¹¤ë¡£",
+ "¼Ù°¤Ê¥â¥ó¥¹¥¿¡¼¤ÎÆ°¤¤ò»ß¤á¤ë¡£",
+ "°ìÄê»þ´Ö¡¢¼Ù°¤Ê¥â¥ó¥¹¥¿¡¼¤ò½ý¤Ä¤±¤ëÀ»¤Ê¤ë¥ª¡¼¥é¤òÆÀ¤ë¡£",
+ "»ë³¦Æâ¤ÎÁ´¤Æ¤Î¥¢¥ó¥Ç¥Ã¥ÉµÚ¤Ó°Ëâ¤Ë¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¡£",
+ "»ë³¦Æâ¤ÎÁ´¤Æ¤Î¼Ù°¤Ê¥â¥ó¥¹¥¿¡¼¤Ë¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¡£",
+ "Ä̾ï¤ÎÉð´ï¤ËÌǼ٤ΰÀ¤ò¤Ä¤±¤ë¡£",
+ "µðÂç¤ÊÁ®¸÷¤Îµå¤òÊü¤Ä¡£",
+ "Å·»È¤ò1Âξ¤´¤¹¤ë¡£",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
+ "°ìÄê»þ´Ö¡¢¥Ò¡¼¥í¡¼µ¤Ê¬¤Ë¤Ê¤ë¡£",
+ "¥¢¥¤¥Æ¥à¤Ë¤«¤«¤Ã¤¿¶¯ÎϤʼö¤¤¤ò²ò½ü¤¹¤ë¡£",
+ "»ë³¦Æâ¤ÎÁ´¤Æ¤Î¼Ù°¤Ê¥â¥ó¥¹¥¿¡¼¤ò¥Æ¥ì¥Ý¡¼¥È¤µ¤»¤ë¡£Äñ¹³¤µ¤ì¤ë¤È̵¸ú¡£",
+ "¼þÊդΥ¢¥¤¥Æ¥à¡¢¥â¥ó¥¹¥¿¡¼¡¢ÃÏ·Á¤òÇ˲õ¤¹¤ë¡£",
+ "°ìÄê»þ´Ö¡¢¼«Ê¬¤¬¥À¥á¡¼¥¸¤ò¼õ¤±¤¿¤È¤¤Ë¹¶·â¤ò¹Ô¤Ã¤¿¥â¥ó¥¹¥¿¡¼¤ËÂФ·¤ÆƱÅù¤Î¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¡£",
+ "¥¿¡¼¥²¥Ã¥È¤Î¼þ°Ï¤Ëʬ²ò¤Îµå¤ò¿¿ôÍî¤È¤¹¡£",
+ "ÎÙÀܤ¹¤ë¥â¥ó¥¹¥¿¡¼¤ËÀ»¤Ê¤ë¥À¥á¡¼¥¸¤òÍ¿¤¨¡¢»ë³¦Æâ¤Î¥â¥ó¥¹¥¿¡¼¤Ë¥À¥á¡¼¥¸¡¢¸ºÂ®¡¢Û¯Û°¡¢º®Í𡢶²ÉÝ¡¢Ì²¤ê¤òÍ¿¤¨¤ë¡£¤µ¤é¤ËÂÎÎϤò²óÉü¤¹¤ë¡£",
+ "»ë³¦Æâ¤ÎÁ±Îɤʥâ¥ó¥¹¥¿¡¼¤ò¥Ú¥Ã¥È¤Ë¤·¤è¤¦¤È¤·¡¢¤Ê¤é¤Ê¤«¤Ã¤¿¾ì¹çµÚ¤ÓÁ±ÎɤǤʤ¤¥â¥ó¥¹¥¿¡¼¤ò¶²Éݤµ¤»¤ë¡£¤µ¤é¤Ë¿¿ô¤Î²Ã®¤µ¤ì¤¿µ³»Î¤ò¾¤´¤·¡¢¥Ò¡¼¥í¡¼¡¢½ËÊ¡¡¢²Ã®¡¢Âмٰ·ë³¦¤òÆÀ¤ë¡£",
},
{
"Arcane",
"Craft",
"Daemon",
- "nanka",
+ "Crusade",
"unknown",
"unknown",
"unknown",
/*** Life Spells ***/
{
/* Common Life Spellbooks */
-"¼Ù°Â¸ºß´¶ÃÎ",
"·Ú½ý¤Î¼£Ìþ",
"½ËÊ¡",
-"¶²Éݽüµî",
+"·Ú½ý",
"¸÷¤Î¾¤´",
"æ« & ±£¤·Èâ´¶ÃÎ",
"½Å½ý¤Î¼£Ìþ",
+"²òÆÇ",
"¶õÊ¢½¼Â",
"²ò¼ö",
-"²òÆÇ",
+"½Å½ý",
"Ã×Ì¿½ý¤Î¼£Ìþ",
-"Æ©ÌÀ»ëǧ",
-"À»¤Ê¤ë¸÷µå",
-"Âмٰ·ë³¦",
+"ÂÑÇ®ÂÑ´¨",
+"¼þÊÕ´¶ÃÎ",
+"¥Ñ¥Ë¥Ã¥¯¡¦¥¢¥ó¥Ç¥Ã¥É",
"ÂÎÎϲóÉü",
"·ë³¦¤ÎÌæ¾Ï",
/* Rare Life Spellbooks */
-"°Ëâʧ¤¤",
"*²ò¼ö*",
-"¥¢¥ó¥Ç¥Ã¥É & °ËâÂ໶",
+"´Õ¼±",
+"¥¢¥ó¥Ç¥Ã¥ÉÂ໶",
"Æä¤Î¹ï",
-"¼Ù°Â໶",
-"¼Ù°ÄÉÊü",
-"À»¤Ê¤ë¸æ¸ÀÍÕ",
+"Ã×Ì¿½ý",
+"µ¢´Ô¤Î¾Û",
+"¿¿¼Â¤Îº×ÃÅ",
"¿¿¡¦·ë³¦",
-"»Îµ¤¹âÍÈ",
-"µ§¤ê",
+"ÉÔÌÓ²½",
+"Á´´¶ÃÎ",
"¥¢¥ó¥Ç¥Ã¥É¾ÃÌÇ",
+"ÀéΤ´ã",
"Á´Éü³è",
"*ÂÎÎϲóÉü*",
"À»¤Ê¤ë¥Ó¥¸¥ç¥ó",
-"¿À°Ò",
"µæ¶Ë¤ÎÂÑÀ"
},
},
- /*** nanka Spells ***/
+ /*** Crusade Spells ***/
{
- /* Common nanka Spellbooks */
+ /* Common Crusade Spellbooks */
"ÅÅ·â",
"¼Ù°Â¸ºß´¶ÃÎ",
-"½ËÊ¡",
"¶²Éݽüµî",
"¥â¥ó¥¹¥¿¡¼¶²¹²",
"À»°è",
"Æþ¸ý",
"¥¹¥¿¡¼¥À¥¹¥È",
-
"¿ÈÂξô²½",
+
"¼Ù°Èô¤Ð¤·",
"°Ëâʧ¤¤",
"À»¤Ê¤ë¸÷µå",
+"²ò¼ö",
"Æ©ÌÀ»ëǧ",
"Âмٰ·ë³¦",
"ºÛ¤¤ÎÍë",
"À»¤Ê¤ë¸æ¸ÀÍÕ",
- /* Rare nanka Spellbooks */
+ /* Rare Crusade Spellbooks */
"³«¤«¤ì¤¿Æ»",
-"²ò¼ö",
+"ÉõËâ",
"À»¤Ê¤ë¥ª¡¼¥é",
"¥¢¥ó¥Ç¥Ã¥É&°ËâÂ໶",
"¼Ù°Â໶",
cptr spell_names[VALID_REALM][32] =
{
- /*** Life Spells ***/
+ /*** Life Spells ***/ /* nanka */
{
/* Common Life Spellbooks */
"Detect Evil",
/* Common Crusade Spellbooks */
"Zap",
"Detect Evil",
- "Bless",
"Remove Fear",
"Scare Monster",
"Sanctuary",
"Portal",
"Star Dust",
-
"Purify",
+
"Scatter Evil",
"Exorcism",
"Holy Orb",
+ "Remove Curse",
"Sense Unseen",
"Protection from Evil",
"Judgment Thunder",
/* Rare Crusade Spellbooks */
"Unbarring Ways",
- "Remove Curse",
+ "nanka",
"Holy Aura",
"Dispel Undead & Demons",
"Dispel Evil",
{TERM_L_BLUE, "²ó", "²óÉü"},
{TERM_L_RED, "ÀÖ", "ÀÖ³°"},
{TERM_UMBER, "±£", "±£Ì©"},
- {TERM_YELLOW, "Ķ±£", "Ķ±£Ì©"},
+ {TERM_YELLOW, "±£", "Ķ±£Ì©"},
{TERM_WHITE, "µ¢", "µ¢´Ô"},
{0, NULL, NULL}
};
else if (p_ptr->vir_types[i] == V_JUSTICE) p_ptr->align += (p_ptr->virtues[i]*2);
else if (p_ptr->vir_types[i] != V_CHANCE) p_ptr->align += p_ptr->virtues[i];
}
+ if ((inventory[INVEN_RARM].name1 == ART_IRON_BALL) || (inventory[INVEN_LARM].name1 == ART_IRON_BALL)) p_ptr->align -= 1000;
+ if (prace_is_(RACE_ANGEL)) p_ptr->align += 200;
+ if ((prace_is_(RACE_DEMON)) || (p_ptr->mimic_form == MIMIC_DEMON_LORD) || (p_ptr->mimic_form == MIMIC_DEMON)) p_ptr->align -= 200;
while (j)
{
j--;
if (p_ptr->align > 0) p_ptr->align = 0;
}
}
- if ((inventory[INVEN_RARM].name1 == ART_IRON_BALL) || (inventory[INVEN_LARM].name1 == ART_IRON_BALL)) p_ptr->align -= 1000;
- if (prace_is_(RACE_ANGEL)) p_ptr->align += 200;
- if ((prace_is_(RACE_DEMON)) || (p_ptr->mimic_form == MIMIC_DEMON_LORD) || (p_ptr->mimic_form == MIMIC_DEMON)) p_ptr->align -= 200;
have_dd_s = FALSE;
have_dd_t = FALSE;