object_type *o_ptr;
if (music_singing_any()) stop_singing();
+ if (hex_spelling_any()) stop_hex_spell_all();
/* Get the item (in the pack) */
if (item >= 0)
}
if (music_singing_any()) stop_singing();
+ if (hex_spelling_any())
+ {
+ if (!hex_spelling(HEX_INHAIL)) stop_hex_spell_all();
+ }
/* Get the item (in the pack) */
if (item >= 0)
set_food(p_ptr->food + ((o_ptr->pval) / 20));
break;
case RACE_ANDROID:
- if (o_ptr->tval == TV_FLASK)
+ if (q_ptr->tval == TV_FLASK)
{
#ifdef JP
msg_print("¥ª¥¤¥ë¤òÊäµë¤·¤¿¡£");
if (music_singing_any()) stop_singing();
+ /* Hex */
+ if (hex_spelling_any() && ((p_ptr->lev < 35) || hex_spell_fully())) stop_hex_spell_all();
+
/* Not identified yet */
ident = FALSE;
case ART_GALADRIEL:
{
#ifdef JP
- msg_print("ààÎÜÉÓ¤«¤éÀ¡¤ó¤À¸÷¤¬¤¢¤Õ¤ì½Ð¤¿...");
+ msg_print("ààÍþÉÓ¤«¤éÀ¡¤ó¤À¸÷¤¬¤¢¤Õ¤ì½Ð¤¿...");
#else
msg_print("The phial wells with clear light...");
#endif
(void)set_stun(0);
(void)set_confused(0);
(void)set_blind(0);
+ (void)set_afraid(0);
(void)set_hero(randint1(25) + 25, FALSE);
(void)hp_player(777);
o_ptr->timeout = 300;
break;
}
+ case ART_HEAVENLY_MAIDEN:
+ {
+#ifdef JP
+ msg_print("¥¯¥í¡¼¥¯¤¬½À¤é¤«¤¯Çò¤¯µ±¤¤¤¿...");
+#else
+ msg_print("Your cloak glows soft white...");
+#endif
+ if (!word_of_recall()) return;
+ o_ptr->timeout = 200;
+ break;
+ }
+
case ART_CAMMITHRIM:
{
#ifdef JP
}
case ART_BRAND:
+ case ART_HELLFIRE:
{
#ifdef JP
msg_print("¥¯¥í¥¹¥Ü¥¦¤¬¿¼¹È¤Ëµ±¤¤¤¿...");
case ART_BOROMIR:
{
if (music_singing_any()) stop_singing();
+ if (hex_spelling_any()) stop_hex_spell_all();
#ifdef JP
msg_print("¤¢¤Ê¤¿¤ÏÎ϶¯¤¤ÆÍÉ÷¤ò¿á¤ÌĤ餷¤¿¡£¼þ°Ï¤ÎŨ¤¬¿Ì¤¨¾å¤Ã¤Æ¤¤¤ë!");
#else
case ART_MATOI:
case ART_AEGISFANG:
{
+ (void)set_afraid(0);
set_hero(randint1(25)+25, FALSE);
hp_player(10);
o_ptr->timeout = randint0(30) + 30;
}
case ART_BLOOD:
{
- int dummy, i;
#ifdef JP
msg_print("³ù¤¬ÌÀ¤ë¤¯µ±¤¤¤¿...");
#else
msg_print("Your scythe glows brightly!");
#endif
- for (i = 0; i < TR_FLAG_SIZE; i++)
- o_ptr->art_flags[i] = a_info[ART_BLOOD].flags[i];
-
- dummy = randint1(2)+randint1(2);
- for (i = 0; i < dummy; i++)
- {
- int flag = randint0(19);
- if (flag == 18) add_flag(o_ptr->art_flags, TR_SLAY_HUMAN);
- else add_flag(o_ptr->art_flags, TR_CHAOTIC + flag);
- }
- dummy = randint1(2);
- for (i = 0; i < dummy; i++)
- one_resistance(o_ptr);
- dummy = 2;
- for (i = 0; i < dummy; i++)
- {
- int tmp = randint0(11);
- if (tmp < 6) add_flag(o_ptr->art_flags, TR_STR + tmp);
- else add_flag(o_ptr->art_flags, TR_STEALTH + tmp - 6);
- }
+ get_bloody_moon_flags(o_ptr);
o_ptr->timeout = 3333;
if (p_ptr->prace == RACE_ANDROID) calc_android_exp();
p_ptr->update |= (PU_BONUS | PU_HP);
#else
msg_print("You stamp. (as if you are in a ring.)");
#endif
+ (void)set_afraid(0);
(void)set_hero(randint1(20) + 20, FALSE);
dispel_evil(p_ptr->lev * 3);
o_ptr->timeout = 100 + randint1(100);
break;
}
+ case ART_AESCULAPIUS:
+ {
+#ifdef JP
+ msg_print("Ï»¼ÜËÀ¤ÏÇ»Îп§¤Ëµ±¤¤¤Æ¤¤¤ë...");
+#else
+ msg_print("The jo staff glows a deep green...");
+#endif
+
+ (void)do_res_stat(A_STR);
+ (void)do_res_stat(A_INT);
+ (void)do_res_stat(A_WIS);
+ (void)do_res_stat(A_DEX);
+ (void)do_res_stat(A_CON);
+ (void)do_res_stat(A_CHR);
+ (void)restore_level();
+ o_ptr->timeout = 750;
+ break;
+ }
+
case ART_NIGHT:
{
#ifdef JP
if (!get_aim_dir(&dir)) return;
if (music_singing_any()) stop_singing();
+ if (hex_spelling_any()) stop_hex_spell_all();
/* Branch on the sub-type */
switch (o_ptr->sval)
break;
case EGO_RING_ACID_BOLT:
if (!get_aim_dir(&dir)) return;
- fire_bolt(GF_FIRE, dir, damroll(5, 8));
+ fire_bolt(GF_ACID, dir, damroll(5, 8));
o_ptr->timeout = randint0(6) + 6;
break;
case EGO_RING_MANA_BOLT:
o_ptr->timeout = 100;
break;
case EGO_RING_BERSERKER:
+ (void)set_afraid(0);
(void)set_shero(randint1(25) + 25, FALSE);
o_ptr->timeout = randint0(75)+75;
break;
else if (o_ptr->tval == TV_WHISTLE)
{
if (music_singing_any()) stop_singing();
+ if (hex_spelling_any()) stop_hex_spell_all();
#if 0
if (object_is_cursed(o_ptr))