+ msg_print(_("¿¼ÀÄ¿§¤Ëµ±¤¤¤Æ¤¤¤ë...","It glows deep blue..."));
+ msg_print(_("ÂÎÆâ¤ËÃȤ«¤¤¸ÝÆ°¤¬´¶¤¸¤é¤ì¤ë...","You feel a warm tingling inside..."));
+ (void)hp_player(700);
+ (void)set_cut(0);
+ break;
+ }
+
+ case ACT_CURE_1000:
+ {
+ msg_print(_("Çò¤¯ÌÀ¤ë¤¯µ±¤¤¤Æ¤¤¤ë...","It glows a bright white..."));
+ msg_print(_("¤Ò¤¸¤ç¤¦¤Ëµ¤Ê¬¤¬¤è¤¤...","You feel much better..."));
+ (void)hp_player(1000);
+ (void)set_cut(0);
+ break;
+ }
+
+ case ACT_CURING:
+ {
+ msg_format(_("%s¤ÎÍ¥¤·¤µ¤ËÌþ¤µ¤ì¤ë...", "the %s cures you affectionately ..."), name);
+ (void)set_poisoned(0);
+ (void)set_confused(0);
+ (void)set_blind(0);
+ (void)set_stun(0);
+ (void)set_cut(0);
+ (void)set_image(0);
+
+ break;
+ }
+
+ case ACT_CURE_MANA_FULL:
+ {
+ msg_format(_("%s¤¬ÀÄÇò¤¯¸÷¤Ã¤¿¡¥¡¥¡¥","The %s glows pale..."), name);
+ if (p_ptr->pclass == CLASS_MAGIC_EATER)
+ {
+ int i;
+ for (i = 0; i < EATER_EXT*2; i++)
+ {
+ p_ptr->magic_num1[i] += (p_ptr->magic_num2[i] < 10) ? EATER_CHARGE * 3 : p_ptr->magic_num2[i]*EATER_CHARGE/3;
+ if (p_ptr->magic_num1[i] > p_ptr->magic_num2[i]*EATER_CHARGE) p_ptr->magic_num1[i] = p_ptr->magic_num2[i]*EATER_CHARGE;
+ }
+ for (; i < EATER_EXT*3; i++)
+ {
+ int k_idx = lookup_kind(TV_ROD, i-EATER_EXT*2);
+ p_ptr->magic_num1[i] -= ((p_ptr->magic_num2[i] < 10) ? EATER_ROD_CHARGE*3 : p_ptr->magic_num2[i]*EATER_ROD_CHARGE/3)*k_info[k_idx].pval;
+ if (p_ptr->magic_num1[i] < 0) p_ptr->magic_num1[i] = 0;
+ }
+ msg_print(_("Ƭ¤¬¥Ï¥Ã¥¥ê¤È¤·¤¿¡£", "You feel your head clear."));
+ p_ptr->window |= (PW_PLAYER);
+ }
+ else if (p_ptr->csp < p_ptr->msp)
+ {
+ p_ptr->csp = p_ptr->msp;
+ p_ptr->csp_frac = 0;
+ msg_print(_("Ƭ¤¬¥Ï¥Ã¥¥ê¤È¤·¤¿¡£", "You feel your head clear."));
+ p_ptr->redraw |= (PR_MANA);
+ p_ptr->window |= (PW_PLAYER);
+ p_ptr->window |= (PW_SPELL);
+ }
+ break;
+ }
+
+ /* Activate for timed effect */
+
+ case ACT_ESP:
+ {
+ (void)set_tim_esp(randint1(30) + 25, FALSE);
+ break;
+ }
+
+ case ACT_BERSERK:
+ {
+ (void)set_afraid(0);
+ (void)set_shero(randint1(25) + 25, FALSE);
+ /* (void)set_afraid(0);
+ (void)set_hero(randint1(50) + 50, FALSE);
+ (void)set_blessed(randint1(50) + 50, FALSE);
+ o_ptr->timeout = 100 + randint1(100); */
+ break;
+ }
+
+ case ACT_PROT_EVIL:
+ {
+ msg_format(_("%s¤«¤é±Ô¤¤²»¤¬Î®¤ì½Ð¤¿...", "The %s lets out a shrill wail..."), name);
+ k = 3 * p_ptr->lev;
+ (void)set_protevil(randint1(25) + k, FALSE);
+ break;
+ }
+
+ case ACT_RESIST_ALL:
+ {
+ msg_print(_("ÍÍ¡¹¤Ê¿§¤Ëµ±¤¤¤Æ¤¤¤ë...", "It glows many colours..."));
+ (void)set_oppose_acid(randint1(40) + 40, FALSE);
+ (void)set_oppose_elec(randint1(40) + 40, FALSE);
+ (void)set_oppose_fire(randint1(40) + 40, FALSE);
+ (void)set_oppose_cold(randint1(40) + 40, FALSE);
+ (void)set_oppose_pois(randint1(40) + 40, FALSE);
+ break;
+ }
+
+ case ACT_SPEED:
+ {
+ msg_print(_("ÌÀ¤ë¤¯Îп§¤Ëµ±¤¤¤Æ¤¤¤ë...", "It glows bright green..."));
+ (void)set_fast(randint1(20) + 20, FALSE);
+ break;
+ }
+
+ case ACT_XTRA_SPEED:
+ {
+ msg_print(_("ÌÀ¤ë¤¯µ±¤¤¤Æ¤¤¤ë...", "It glows brightly..."));
+ (void)set_fast(randint1(75) + 75, FALSE);
+ break;
+ }
+
+ case ACT_WRAITH:
+ {
+ set_wraith_form(randint1(plev / 2) + (plev / 2), FALSE);
+ break;
+ }
+
+ case ACT_INVULN:
+ {
+ (void)set_invuln(randint1(8) + 8, FALSE);
+ break;
+ }
+
+ case ACT_HELO:
+ {
+ (void)set_afraid(0);
+ set_hero(randint1(25)+25, FALSE);
+ hp_player(10);
+ break;
+ }
+
+ case ACT_HELO_SPEED:
+ {
+ (void)set_fast(randint1(50) + 50, FALSE);
+ hp_player(10);
+ set_afraid(0);
+ set_hero(randint1(50) + 50, FALSE);
+ break;
+ }
+
+ case ACT_RESIST_ACID:
+ {
+ msg_format(_("%s¤¬¹õ¤¯µ±¤¤¤¿...", "The %s grows black."), name);
+ if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ACID))
+ {
+ if (!get_aim_dir(&dir)) return FALSE;
+ fire_ball(GF_ACID, dir, 100, 2);
+ }
+ (void)set_oppose_acid(randint1(20) + 20, FALSE);
+ break;
+ }
+
+ case ACT_RESIST_FIRE:
+ {
+ msg_format(_("%s¤¬ÀÖ¤¯µ±¤¤¤¿...","The %s grows red."), name);
+ if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_FLAMES))
+ {
+ if (!get_aim_dir(&dir)) return FALSE;
+ fire_ball(GF_FIRE, dir, 100, 2);
+ }
+ (void)set_oppose_fire(randint1(20) + 20, FALSE);
+ break;
+ }
+
+ case ACT_RESIST_COLD:
+ {
+ msg_format(_("%s¤¬Çò¤¯µ±¤¤¤¿...","The %s grows white.") , name);
+ if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ICE))
+ {
+ if (!get_aim_dir(&dir)) return FALSE;
+ fire_ball(GF_COLD, dir, 100, 2);
+ }
+ (void)set_oppose_cold(randint1(20) + 20, FALSE);
+ break;
+ }
+
+ case ACT_RESIST_ELEC:
+ {
+ msg_format(_("%s¤¬ÀĤ¯µ±¤¤¤¿...", "The %s grows blue."), name);
+ if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ELEC))
+ {
+ if (!get_aim_dir(&dir)) return FALSE;
+ fire_ball(GF_ELEC, dir, 100, 2);
+ }
+ (void)set_oppose_elec(randint1(20) + 20, FALSE);
+ break;
+ }
+
+ case ACT_RESIST_POIS:
+ {
+ msg_format(_("%s¤¬ÎФ˵±¤¤¤¿...", "The %s grows green."), name);
+ (void)set_oppose_pois(randint1(20) + 20, FALSE);
+ break;
+ }
+
+ /* Activate for general purpose effect (detection etc.) */
+
+ case ACT_LIGHT:
+ {