D:¥ô¥¡¥ó¥ä¡¼¥ë²¤Î¾åµé²¦¥¤¥ó¥°¥¦¥§¤Î²È·ÏÅÁÍè¤Î²ÈÊõ¡£
D:¥¤¥ó¥°¥¦¥§¤ËÂй³¤Ç¤¤ë¼Ù°¤Ê¤â¤Î¤Ï¤¤¤Ê¤«¤Ã¤¿¡£
-
# The Necklace of the Dwarves
N:6:¥É¥ï¡¼¥Õ¤Î
D:´è¶¯¤Ê¥É¥ï¡¼¥Õ¤Î¿¦¿Íº²¤¬¤·¤Ã¤«¤ê¤È½É¤Ã¤Æ¤ª¤ê¡¢
D:ÃØéá¤Î»å¤Î¤è¤¦¤Ë¿È¤ËÉÕ¤±¤ë¼Ô¤Ë¥Õ¥£¥Ã¥È¤¹¤ë¡£
-
# The Incandescent Light of Yeduson
# Thomas Alva Yeduson the "Wizard of Menlo Park"
# patented 1,093 inventions.
W:50:40:2:75000
F:STR | INT | WIS | DEX | CON | CHR | STEALTH | HIDE_TYPE |
F:RES_POIS | ACTIVATE | SEE_INVIS | SEARCH | WARNING | INSTA_ART
+U:DRAIN_1
D:$This bracelet has its own will, which was created by Marlin
D:$ the prince of chaos. It is invisible but it sometimes
D:$ ripples to warn owner's dangers. It can morph to strangle
D:$The treasure of Tulkas, most fleet and wrathful of the Valar.
D:¥ô¥¡¥é¡¼¥ë¤ÎÃæ¤Ç¤âºÇ¤âÁÇÁ᤯¤«¤ÄͦÌԤʥȥ¥¥ë¥«¥¹¤ÎÊõ¤À¡£
-
# The Ring of Power (Narya)
N:10:¡Ô¥Ê¥ë¥ä¡Õ¤È¤¤¤¦
D:¹ï¤ó¤Ç¤¢¤ë¡£¤³¤Î¤ï¤±¤ï¤«¤é¤ó²Ò¤ÎÎϤϤ¢¤Þ¤ê¤Ë¤â¶¯Âç¤Ê¤Î¤Ç¡¢
D:ÉáÄ̤μԤϤ½¤ì¤ò¿È¤ËÉÕ¤±¤ë¤À¤±¤ÇÏĤá¤é¤ì»ÙÇÛ¤µ¤ì¤Æ¤·¤Þ¤¦¡£
-
N:15:¥Ñ¥é¥ó¥Æ¥£¥¢¤ÎÀÐ
E:Palantir~ of Westernesse
I:39:8:3
W:60:50:10:60000
P:0:1d1:0:0:0
F:WIS | CHR | ACTIVATE | TELEPATHY | INSTA_ART | FULL_NAME
+U:DETECT_UNIQUE
D:$A shining white ball of unbreakable crystal, the ancient palantiri,
D:$or 'far-watchers', were used by kings of Numenor and later by the Exiles
D:$for rapid communication between distant lands.
D:¸å¤Ë¤Ï¥¨¥ì¥ó¥Ç¥£¥ë¤ò¤Ï¤¸¤á¤È¤¹¤ëήϲ¤Î̱¤Ë¤è¤Ã¤Æ¡¢Î¥¤ì¤¿ÅÚÃϤδ֤Î
D:¹â®ÄÌ¿®¤ËÍѤ¤¤é¤ì¤¿¡Ö±ó˾¡×¤ÎÀФÀ¡£
-
N:16:¡Ø¥¯¥ê¥à¥¾¥ó¡Ù
E:'Crimson'
I:19:50:4
D:¥¯¥ê¥à¥¾¥ó¤Ï¤è¤ê¶¯ÎϤÊÉð´ï¤Ø¤È¿Ê²½¤·¤Æ¤¤¤Ã¤¿¡£¡½¡×(¥Ç¥¹¥¯
D:¥ê¥à¥¾¥ó¡¤¥¨¥³¡¼¥ë¥½¥Õ¥È¥¦¥§¥¢)
-
N:17:Ã챤Î
E:of Lore
I:39:7:0
F:STEALTH | SHOW_MODS | HIDE_TYPE |
F:RES_CONF | SUST_DEX | ACTIVATE |
F:INSTA_ART
+U:PESTICIDE
D:$A slim neckpiece of True-silver, with quiet spells of Ithilien to aid and
D:$protect the wearer.
D:¡Ö¤Þ¤³¤È¤Î¶ä¡×¤Çºî¤é¤ì¤¿¼ó¾þ¤ê¤Ç¡¢¿È¤ËÉÕ¤±¤ë¼Ô¤ò½õ¤±¤Æ¼é¤ë¥¤¥·¥ê¥¨¥ó
F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | RES_POIS |
F:HOLD_LIFE | RES_NETHER | RES_DARK | RES_FEAR |
F:ACTIVATE
+U:CHOIR_SINGS
D:$The shining armor of Lohengrin the son of Parsifal.
D:$ If you wears it, the holy grail gives to you the devine protection
D:$ from all evils. (W.R.Wagner, 'Parsifal')
F:WIS | INFRA | HIDE_TYPE | BLESSED |
F:BRAND_COLD | SLAY_ORC | RES_COLD | RES_LITE | LITE | REGEN |
F:ACTIVATE | SHOW_MODS | XTRA_H_RES
-U:DRAIN_1
+U:DRAIN_2
D:$Wielded by the High Priest of Meneltarma, this great mace gleams coldly as
D:$though moonlit, and it can strike as mighty a blow spiritually as
D:$physically.
W:50:25:110:100000
P:0:0d0:10:14:0
F:SPEED | RES_FIRE | XTRA_MIGHT | ACTIVATE | SHOW_MODS | XTRA_RES_OR_POWER
+U:BRAND_FIRE_BOLTS
D:$Magic power of this crossbow of Brand the prince of Amber will enable
D:$ you to move faster.
D:¥È¥é¥ó¥×¤ÎËâÎϤò¼«Ê¬¤Îʪ¤Ë¤·¡¢¿·¤¿¤Ê±§Ãè¤òÁϤ¤·¤è¤¦¤È¤·¤¿
P:0:2d6:10:12:2
F:CON | BLOWS | HIDE_TYPE | BRAND_ACID | SHOW_MODS
F:SLAY_TROLL | SLAY_DEMON | ACTIVATE
+U:HELO_SPEED
D:$"Hurin [...] wielded the axe two-handed, and it is sung that the axe
D:$ smoked in the black blood of the troll-guard of Gothmog, until it withered,
D:$ and each time that he slew Hurin cried 'Aure entuluva! Day shall come
P:10:1d2:0:0:20
F:LITE | CHR | RES_ELEC | RES_ACID | HIDE_TYPE | REFLECT |
F:SUST_WIS | SUST_CHR | ACTIVATE
+U:BLINDING_LIGHT
D:$The legendary shield of Gil-Galad, who fought his way to the gates of
D:$ the Dark Tower, and with whom came light even to Gorgoroth.
D:¥Î¥ë¥É¡¼¥ë¤ÎºÇ¸å¤Î¾åµé²¦¡¢¥®¥ë=¥¬¥é¥É¤ÎÅÁÀâ¤Î½â¤À¡£Èà¤Ï¥Ð¥é¥É=¥É¥¥¥¢¤ÎÌç¤Þ¤Ç
F:STR | DEX | HIDE_TYPE | SEARCH | FREE_ACT | SLAY_HUMAN |
F:SLAY_TROLL | SLAY_GIANT | SLAY_ANIMAL | SLAY_ORC | RES_FIRE | RES_COLD |
F:RES_ELEC | RES_ACID | RES_FEAR | SHOW_MODS | RIDING
+D:$Because of very superb sharpness such as dragon flies are
+D:$cut which perches on the tip of this spear, it is called
+D:$'Tonbo giri' which means 'dragon fry cutter'.
D:ÆÁÀî»ÍÅ·²¦¤Î£±¿ÍËÜ¿Ã龡¤Î°¦ÍѤÎÁä¤À¡£
D:¤½¤ÎÀÚ¤ìÌ£¤ÏÊæÀè¤Ë»ß¤Þ¤Ã¤¿éñéÙ¤¬ÀÚ¤ì¤ÆÍî¤Á¤ë¤Û¤É¤Ç¤¢¤ë¡£
W:8:5:30:18000
P:0:1d6:16:13:0
F:INT | WIS | LEVITATION | SHOW_MODS | ACTIVATE | SEE_INVIS
+U:TELEKINESIS
+D:$This is the whip of the famous archaeologist Prof. Jones.
+D:¤¢¤ÎÃø̾¤Ê¹Í¸Å³Ø¼Ô¥¸¥ç¡¼¥ó¥ºÇî»Î¤Î¥à¥Á¤À¡£
+D:ɬ¤º¤ä¡¢¥¹¡¼¥Ñ¡¼¥¢¥¯¥·¥ç¥ó¤ò²Äǽ¤Ë¤¹¤ë¤À¤í¤¦¡£
# The Spear 'GaeBolg'
N:163:¡Ø¥¬¥¨¥Ü¥ë¥°¡Ù
W:40:5:100:808
P:0:1d7:-5:10:3
F:STR | CHR | RES_FIRE | ACTIVATE |
+U:HELO
D:¾Ã²Ðºî¶È¤Ë¤¢¤¿¤Ã¤Æ¡¢»Îµ¤¤ò¸ÝÉñ¤¹¤Ù¤¯¿¶¤ê¤¿¤Æ¤é¤ì¤¿¾ó¤À¡£
D:¾ó¤ÎÀè¤ËÂâ¤Î¥Þ¡¼¥¯Æþ¤ê¤Î±ßÈפ¬¤¢¤ê¡¢¤½¤Î²¼Â¦¤«¤é
D:Ť¤ÂÓ¾õ¤Î¾þ¤ê¤¬´öËܤâ¤Î¤Ó¤Æ¤¤¤ë¡£
P:10:1d6:0:0:20
F:LITE | RES_BLIND | RES_DARK | RES_NETHER | RES_ELEC | RES_FIRE |
F:ACTIVATE | ESP_GOOD
+U:CURING
D:$A shining shield, once borne by the great mariner Earendil, "scored with
D:$runes to keep all wounds and harm from him".
D:¤«¤Ä¤Æ°ÎÂç¤Ê¤ëÁ¥¾è¤ê¥¨¥¢¥ì¥ó¥Ç¥£¥ë¤¬¿È¤ËÉÕ¤±¤Æ¤¤¤¿µ±¤¯½â¤À¡£
W:20:20:30:50000
P:3:0d0:0:0:20
F:RES_COLD | RES_ACID | RES_CHAOS | LEVITATION | ACTIVATE
+U:RESIST_COLD
D:¥¬¥Á¥ã¥Ô¥ó¤ÈÂФò¤Ê¤¹ÀÖ¤¤½Ã¤ÎÌÓÈé¤Î¥¯¥í¡¼¥¯¤À¡£
# ¶â°À½¥é¥á¥é¡¼¡¦¥¢¡¼¥Þ¡¼¡Ø¥Ð¥Æ¥ì¥ó³»¡Ù
F:STR | DEX | CHR | TUNNEL | BLESSED |
F:SLAY_EVIL | SLAY_DRAGON | SLAY_ORC | SLAY_GIANT | SLAY_DEMON |
F:RES_COLD | SEE_INVIS | RES_FEAR | REGEN
+U:HELO
D:¥Ð¥È¥ë¥Ï¥ó¥Þ¡¼»á²¤Î¥É¥ï¡¼¥Õ¤ÎŤˤ·¤Æ¡¢ÅÁÀâ¤ÎÅԥߥ¹¥ê¥ë¡¦¥Û¡¼¥ë¤Î²¦¡¢
D:¥Ö¥ë¡¼¥Î¡¼¡¦¥Ð¥È¥ë¥Ï¥ó¥Þ¡¼¤ÎÀ¸³¶ºÇ¹â·æºî¤À¡£
D:¡Ö¤Ê¤ë¤Û¤É¤Í¡×¥É¥ê¥Ã¥º¥É¤Ï¡¢¥Ï¥ó¥Þ¡¼¤ò¥Ö¥ë¡¼¥Î¡¼¤ËÊÖ¤·¤¿¡£
F:SEE_INVIS | FREE_ACT | SLOW_DIGEST | REGEN | LITE | WARNING |
F:SH_FIRE | SH_ELEC | SH_COLD | ACTIVATE |
F:INSTA_ART
+U:CURE_MANA_FULL
N:220:¤â¤Î¤Þ¤Í¤Î»ÏÁÄ¥´¥´¤Î
E:of Gogo
P:0:2d1:15:17:0
F:STR | INFRA | RES_FIRE | SH_FIRE |
F:ACTIVATE | HIDE_TYPE | SHOW_MODS
+U:BRAND_FIRE_BOLTS
D:$This crossbow gives flame energy to bolts which it fires.
D:¤³¤Îdz¤¨¤ë¤è¤¦¤Ê¿§¤Î¥¯¥í¥¹¥Ü¥¦¤Ï¡¢È¯¼Í¤¹¤ë¥Ü¥ë¥È¤Ë±ê¤ÎÎϤò
D:Í¿¤¨¤ë¤³¤È¤¬¤Ç¤¤ë¡£
case ACT_DRAIN_1:
{
#ifdef JP
- msg_print("¤½¤ì¤Ï¹õ¤¯µ±¤¤¤¿...");
+ msg_format("¤¢¤Ê¤¿¤Ï%s¤ËŨ¤òÄù¤á»¦¤¹¤è¤¦Ì¿¤¸¤¿¡£", name);
#else
- msg_print("It glows black...");
+ msg_format("You order the %s to strangle your opponent.", name);
#endif
if (!get_aim_dir(&dir)) return FALSE;
- if (drain_life(dir, 90))
- o_ptr->timeout = 70;
+ if (drain_life(dir, 100))
+ o_ptr->timeout = randint0(100) + 100;
break;
}
break;
}
+ case ACT_BA_MISS_3:
+ {
+ if (!get_aim_dir(&dir)) return FALSE;
+#ifdef JP
+ msg_print("¤¢¤Ê¤¿¤Ï¥¨¥ì¥á¥ó¥È¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£");
+#else
+ msg_print("You breathe the elements.");
+#endif
+ fire_ball(GF_MISSILE, dir, 300, 4);
+ o_ptr->timeout = 500;
+ break;
+ }
+
case ACT_DISP_GOOD:
{
#ifdef JP
break;
}
- case ACT_BA_MISS_3:
+ case ACT_PESTICIDE:
{
- if (!get_aim_dir(&dir)) return FALSE;
#ifdef JP
- msg_print("¤¢¤Ê¤¿¤Ï¥¨¥ì¥á¥ó¥È¤Î¥Ö¥ì¥¹¤òÅǤ¤¤¿¡£");
+ msg_print("¤¢¤Ê¤¿¤Ï³²Ãî¤ò°ìÁݤ·¤¿¡£");
#else
- msg_print("You breathe the elements.");
+ msg_print("You exterminate small life.");
#endif
- fire_ball(GF_MISSILE, dir, 300, 4);
- o_ptr->timeout = 500;
+ (void)dispel_monsters(4);
+ o_ptr->timeout = randint0(55) + 55;
+ break;
+ }
+
+ case ACT_BLINDING_LIGHT:
+ {
+#ifdef JP
+ msg_format("%s¤¬âÁ¤·¤¤¸÷¤Çµ±¤¤¤¿...", name);
+#else
+ msg_format("The %s gleams with blinding light...", name);
+#endif
+ fire_ball(GF_LITE, 0, 300, 6);
+ confuse_monsters(3 * p_ptr->lev / 2);
+ o_ptr->timeout = 250;
break;
}
/* Activate for healing */
+ case ACT_CHOIR_SINGS:
+ {
+#ifdef JP
+ msg_print("Å·¹ñ¤Î²Î¤¬Ê¹¤³¤¨¤ë...");
+#else
+ msg_print("A heavenly choir sings...");
+#endif
+ (void)set_poisoned(0);
+ (void)set_cut(0);
+ (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 ACT_CURE_LW:
{
(void)set_afraid(0);
break;
}
+ case ACT_CURING:
+ {
+#ifdef JP
+ msg_format("%s¤ÎÍ¥¤·¤µ¤ËÌþ¤µ¤ì¤ë...", name);
+#else
+ msg_format("the %s cures you affectionately ...", name);
+#endif
+ (void)set_poisoned(0);
+ (void)set_confused(0);
+ (void)set_blind(0);
+ (void)set_stun(0);
+ (void)set_cut(0);
+ (void)set_image(0);
+
+ o_ptr->timeout = 100;
+ break;
+ }
+
+ case ACT_CURE_MANA_FULL:
+ {
+#ifdef JP
+ msg_format("%s¤¬ÀÄÇò¤¯¸÷¤Ã¤¿¡¥¡¥¡¥", name);
+#else
+ msg_format("The %s glows pale...", name);
+#endif
+ 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;
+ }
+#ifdef JP
+ msg_print("Ƭ¤¬¥Ï¥Ã¥¥ê¤È¤·¤¿¡£");
+#else
+ msg_print("You feel your head clear.");
+#endif
+ p_ptr->window |= (PW_PLAYER);
+ }
+ else if (p_ptr->csp < p_ptr->msp)
+ {
+ p_ptr->csp = p_ptr->msp;
+ p_ptr->csp_frac = 0;
+#ifdef JP
+ msg_print("Ƭ¤¬¥Ï¥Ã¥¥ê¤È¤·¤¿¡£");
+#else
+ msg_print("You feel your head clear.");
+#endif
+ p_ptr->redraw |= (PR_MANA);
+ p_ptr->window |= (PW_PLAYER);
+ p_ptr->window |= (PW_SPELL);
+ }
+ o_ptr->timeout = 777;
+ break;
+ }
+
/* Activate for timed effect */
case ACT_ESP:
break;
}
+ case ACT_HELO:
+ {
+ (void)set_afraid(0);
+ set_hero(randint1(25)+25, FALSE);
+ hp_player(10);
+ o_ptr->timeout = randint0(30) + 30;
+ break;
+ }
+
+ case ACT_HELO_SPEED:
+ {
+ (void)set_fast(randint1(50) + 50, FALSE);
+ hp_player(10);
+ set_afraid(0);
+ set_hero(randint1(50) + 50, FALSE);
+ o_ptr->timeout = randint0(200) + 100;
+ break;
+ }
+
+ case ACT_RESIST_ACID:
+ {
+#ifdef JP
+ msg_format("%s¤¬¹õ¤¯µ±¤¤¤¿...", name);
+#else
+ msg_format("The %s grows black.", name);
+#endif
+ (void)set_oppose_acid(randint1(20) + 20, FALSE);
+ o_ptr->timeout = 40 + randint1(40);
+ break;
+ }
+
+ case ACT_RESIST_FIRE:
+ {
+#ifdef JP
+ msg_format("%s¤¬ÀÖ¤¯µ±¤¤¤¿...", name);
+#else
+ msg_format("The %s grows red.", name);
+#endif
+ (void)set_oppose_fire(randint1(20) + 20, FALSE);
+ o_ptr->timeout = 40 + randint1(40);
+ break;
+ }
+
+ case ACT_RESIST_COLD:
+ {
+#ifdef JP
+ msg_format("%s¤¬Çò¤¯µ±¤¤¤¿...", name);
+#else
+ msg_format("The %s grows white.", name);
+#endif
+ (void)set_oppose_cold(randint1(20) + 20, FALSE);
+ o_ptr->timeout = 40 + randint1(40);
+ break;
+ }
+
+ case ACT_RESIST_ELEC:
+ {
+#ifdef JP
+ msg_format("%s¤¬ÀĤ¯µ±¤¤¤¿...", name);
+#else
+ msg_format("The %s grows blue.", name);
+#endif
+ (void)set_oppose_cold(randint1(20) + 20, FALSE);
+ o_ptr->timeout = 40 + randint1(40);
+ break;
+ }
+
+ case ACT_RESIST_POIS:
+ {
+#ifdef JP
+ msg_format("%s¤¬ÎФ˵±¤¤¤¿...", name);
+#else
+ msg_format("The %s grows green.", name);
+#endif
+ (void)set_oppose_cold(randint1(20) + 20, FALSE);
+ o_ptr->timeout = 40 + randint1(40);
+ break;
+ }
+
/* Activate for general purpose effect (detection etc.) */
case ACT_LIGHT:
break;
}
+ case ACT_TELEKINESIS:
+ {
+ if (!get_aim_dir(&dir)) return FALSE;
+#ifdef JP
+ msg_format("%s¤ò¿¤Ð¤·¤¿¡£", name);
+#else
+ msg_format("You stretched your %s.", name);
+#endif
+ fetch(dir, 500, TRUE);
+ o_ptr->timeout = randint0(25) + 25;
+ break;
+ }
+
/* Unique activation */
+ case ACT_BRAND_FIRE_BOLTS:
+ {
+#ifdef JP
+ msg_format("%s¤¬¿¼¹È¤Ëµ±¤¤¤¿...", name);
+#else
+ msg_format("Your %s glows deep red...", name);
+#endif
+ (void)brand_bolts();
+ o_ptr->timeout = 999;
+ break;
+ }
+
case ACT_JUDGE:
{
#ifdef JP
break;
}
+ case ACT_DETECT_UNIQUE:
+ {
+ int i;
+ monster_type *m_ptr;
+ monster_race *r_ptr;
+#ifdef JP
+ msg_print("´ñ̯¤Ê¾ì½ê¤¬Æ¬¤ÎÃæ¤ËÉ⤫¤ó¤À¡¥¡¥¡¥");
+#else
+ msg_print("Some strange places show up in your mind. And you see ...");
+#endif
+ /* Process the monsters (backwards) */
+ for (i = m_max - 1; i >= 1; i--)
+ {
+ /* Access the monster */
+ m_ptr = &m_list[i];
+
+ /* Ignore "dead" monsters */
+ if (!m_ptr->r_idx) continue;
+
+ r_ptr = &r_info[m_ptr->r_idx];
+
+ if(r_ptr->flags1 & RF1_UNIQUE)
+ {
+#ifdef JP
+ msg_format("%s¡¥ ",r_name + r_ptr->name);
+#else
+ msg_format("%s. ",r_name + r_ptr->name);
+#endif
+ }
+ }
+ o_ptr->timeout = 200;
+ break;
+ }
+
default:
{
#ifdef JP
q_ptr->to_h = a_ptr->to_h;
q_ptr->to_d = a_ptr->to_d;
q_ptr->weight = a_ptr->weight;
+ q_ptr->xtra2 = a_ptr->act_idx;
/* Hack -- extract the "cursed" flag */
if (a_ptr->gen_flags & TRG_CURSED) q_ptr->curse_flags |= (TRC_CURSED);
if (!o_ptr->xtra2) o_ptr->xtra2 = a_info[o_ptr->name1].act_idx;
}
- if ((o_ptr->name1 || o_ptr->art_name) && o_ptr->xtra2)
+ if (object_is_artifact(o_ptr) && o_ptr->xtra2)
{
(void)activate_random_artifact(o_ptr);
/* Choose effect */
switch (o_ptr->name1)
{
- case ART_FRAKIR:
- {
-#ifdef JP
- msg_print("¤¢¤Ê¤¿¤Ï¥Õ¥é¥¥¢¤ËŨ¤òÄù¤á»¦¤¹¤è¤¦Ì¿¤¸¤¿¡£");
-#else
- msg_print("You order Frakir to strangle your opponent.");
-#endif
-
- if (!get_aim_dir(&dir)) return;
- if (drain_life(dir, 100))
- o_ptr->timeout = randint0(100) + 100;
- break;
- }
-
case ART_RAZORBACK:
{
int num = damroll(5, 3);
break;
}
- case ART_LOHENGRIN:
- {
-#ifdef JP
- msg_print("Å·¹ñ¤Î²Î¤¬Ê¹¤³¤¨¤ë...");
-#else
- msg_print("A heavenly choir sings...");
-#endif
- (void)set_poisoned(0);
- (void)set_cut(0);
- (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_KUSANAGI:
case ART_WEREWINDLE:
{
break;
default:
#ifdef JP
-if (get_check("¤³¤Î³¬¤òµî¤ê¤Þ¤¹¤«¡©"))
+ if (get_check("¤³¤Î³¬¤òµî¤ê¤Þ¤¹¤«¡©"))
#else
if (get_check("Leave this level? "))
#endif
-
{
if (autosave_l) do_cmd_save_game(TRUE);
break;
}
- case ART_BRAND:
- case ART_HELLFIRE:
- {
-#ifdef JP
- msg_print("¥¯¥í¥¹¥Ü¥¦¤¬¿¼¹È¤Ëµ±¤¤¤¿...");
-#else
- msg_print("Your crossbow glows deep red...");
-#endif
- (void)brand_bolts();
- o_ptr->timeout = 999;
- break;
- }
-
case ART_CRIMSON:
{
int num = 1;
o_ptr->timeout = 15;
break;
}
- case ART_PALANTIR:
- {
- monster_type *m_ptr;
- monster_race *r_ptr;
- int i;
-
-#ifdef JP
- msg_print("´ñ̯¤Ê¾ì½ê¤¬Æ¬¤ÎÃæ¤ËÉ⤫¤ó¤À¡¥¡¥¡¥");
-#else
- msg_print("Some strange places show up in your mind. And you see ...");
-#endif
-
- /* Process the monsters (backwards) */
- for (i = m_max - 1; i >= 1; i--)
- {
- /* Access the monster */
- m_ptr = &m_list[i];
-
- /* Ignore "dead" monsters */
- if (!m_ptr->r_idx) continue;
-
- r_ptr = &r_info[m_ptr->r_idx];
-
- if(r_ptr->flags1 & RF1_UNIQUE)
- {
-#ifdef JP
- msg_format("%s¡¥ ",r_name + r_ptr->name);
-#else
- msg_format("%s. ",r_name + r_ptr->name);
-#endif
- }
- }
- o_ptr->timeout = 200;
- break;
- }
-
case ART_STONE_LORE:
{
#ifdef JP
o_ptr->timeout = randint0(40) + 40;
break;
}
-
- case ART_FARAMIR:
- {
-#ifdef JP
- msg_print("¤¢¤Ê¤¿¤Ï³²Ãî¤ò°ìÁݤ·¤¿¡£");
-#else
- msg_print("You exterminate small life.");
-#endif
- (void)dispel_monsters(4);
- o_ptr->timeout = randint0(55) + 55;
- break;
- }
-
- case ART_HURIN:
- {
- (void)set_fast(randint1(50) + 50, FALSE);
- hp_player(10);
- set_afraid(0);
- set_hero(randint1(50) + 50, FALSE);
- o_ptr->timeout = randint0(200) + 100;
- break;
- }
- case ART_GIL_GALAD:
- {
-#ifdef JP
- msg_print("¥·¡¼¥ë¥É¤¬âÁ¤·¤¤¸÷¤Çµ±¤¤¤¿¡¥¡¥¡¥");
-#else
- msg_print("Your shield gleams with blinding light...");
-#endif
- fire_ball(GF_LITE, 0, 300, 6);
- confuse_monsters(3 * p_ptr->lev / 2);
- o_ptr->timeout = 250;
- break;
- }
case ART_YENDOR:
{
#ifdef JP
p_ptr->redraw |= (PR_STATE);
break;
}
- case ART_JONES:
- {
- if (!get_aim_dir(&dir)) return;
-#ifdef JP
- msg_print("¥à¥Á¤ò¿¤Ð¤·¤¿¡£");
-#else
- msg_print("You stretched your whip.");
-#endif
-
- fetch(dir, 500, TRUE);
- o_ptr->timeout = randint0(25) + 25;
- break;
- }
-
case ART_INROU:
{
int count = 0, i;
aggravate_monsters(0);
break;
}
-
- 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;
- break;
- }
-
- case ART_EARENDIL:
- {
- (void)set_poisoned(0);
- (void)set_confused(0);
- (void)set_blind(0);
- (void)set_stun(0);
- (void)set_cut(0);
- (void)set_image(0);
-
- o_ptr->timeout = 100;
- break;
- }
-
- case ART_BOLISHOI:
- {
- if (!get_aim_dir(&dir)) return;
- (void)charm_animal(dir, p_ptr->lev);
-
- o_ptr->timeout = 200;
- break;
- }
case ART_BLOOD:
{
#ifdef JP
o_ptr->timeout = 100 + randint1(100);
break;
}
- case ART_MOOK:
- {
-#ifdef JP
- msg_print("¥¯¥í¡¼¥¯¤¬Çò¤¯µ±¤¤¤¿...");
-#else
- msg_print("Your cloak grows white.");
-#endif
- (void)set_oppose_cold(randint1(20) + 20, FALSE);
- o_ptr->timeout = 40 + randint1(40);
- break;
- }
case ART_JIZO:
{
u32b mode = PM_ALLOW_GROUP;
#ifdef JP
msg_print("Âý¤¬¤¢¤Ê¤¿¤Î²¼ËͤȤ·¤Æ½Ð¸½¤·¤¿¡£");
#else
- msg_print("A group of octopuses appear as your servant.");
+ msg_print("A group of octopuses appear as your servant.");
#endif
-
else
#ifdef JP
msg_print("Âý¤Ï¤¢¤Ê¤¿¤òâˤó¤Ç¤¤¤ë¡ª");
#else
msg_print("A group of octopuses appear as your enemy!");
#endif
-
}
o_ptr->timeout = 300 + randint1(150);
(void)probing();
break;
}
- case ART_CHARMED:
- {
-#ifdef JP
- msg_print("¥Ú¥ó¥À¥ó¥È¤¬ÀÄÇò¤¯¸÷¤Ã¤¿¡¥¡¥¡¥");
-#else
- msg_print("Your pendant glows pale...");
-#endif
- 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;
- }
-#ifdef JP
- msg_print("Ƭ¤¬¥Ï¥Ã¥¥ê¤È¤·¤¿¡£");
-#else
- msg_print("You feel your head clear.");
-#endif
- p_ptr->window |= (PW_PLAYER);
- }
- else if (p_ptr->csp < p_ptr->msp)
- {
- p_ptr->csp = p_ptr->msp;
- p_ptr->csp_frac = 0;
-#ifdef JP
- msg_print("Ƭ¤¬¥Ï¥Ã¥¥ê¤È¤·¤¿¡£");
-#else
- msg_print("You feel your head clear.");
-#endif
-
- p_ptr->redraw |= (PR_MANA);
- p_ptr->window |= (PW_PLAYER);
- p_ptr->window |= (PW_SPELL);
- }
- o_ptr->timeout = 777;
- break;
- }
}
/* Window stuff */
#define ACT_BA_STAR 29
#define ACT_BA_DARK 30
#define ACT_BA_MANA 31
-/* 27 - 50 unused */
+#define ACT_PESTICIDE 32
+#define ACT_BLINDING_LIGHT 33
+/* 34 - 50 unused */
#define ACT_CONFUSE 51
#define ACT_SLEEP 52
#define ACT_QUAKE 53
#define ACT_SUMMON_UNDEAD 74
#define ACT_SUMMON_HOUND 75
/* 76 - 80 unused */
+#define ACT_CHOIR_SINGS 80
#define ACT_CURE_LW 81
#define ACT_CURE_MW 82
#define ACT_CURE_POISON 83
#define ACT_REST_ALL 85
#define ACT_CURE_700 86
#define ACT_CURE_1000 87
-/* 88 - 90 unused */
+#define ACT_CURING 88
+#define ACT_CURE_MANA_FULL 89
+/* 90 unused */
#define ACT_ESP 91
#define ACT_BERSERK 92
#define ACT_PROT_EVIL 93
#define ACT_XTRA_SPEED 96
#define ACT_WRAITH 97
#define ACT_INVULN 98
-/* 99 - 110 unused */
+#define ACT_HELO 99
+#define ACT_HELO_SPEED 100
+#define ACT_RESIST_ACID 101
+#define ACT_RESIST_FIRE 102
+#define ACT_RESIST_COLD 103
+#define ACT_RESIST_ELEC 104
+#define ACT_RESIST_POIS 105
+/* 106 - 110 unused */
#define ACT_LIGHT 111
#define ACT_MAP_LIGHT 112
#define ACT_DETECT_ALL 113
#define ACT_DIM_DOOR 124
#define ACT_TELEPORT 125
#define ACT_RECALL 126
+#define ACT_TELEKINESIS 127
+#define ACT_DETECT_UNIQUE 128
/* 127 -> unused */
+#define ACT_BRAND_FIRE_BOLTS 253
#define ACT_JUDGE 254
#define ACT_BIZARRE 255
{ "BA_STAR", ACT_BA_STAR },
{ "BA_DARK", ACT_BA_DARK },
{ "BA_MANA", ACT_BA_MANA },
+ { "PESTICIDE", ACT_PESTICIDE },
+ { "BLINDING_LIGHT", ACT_BLINDING_LIGHT },
{ "CONFUSE", ACT_CONFUSE },
{ "SLEEP", ACT_SLEEP },
{ "SUMMON_UNDEAD", ACT_SUMMON_UNDEAD },
{ "SUMMON_HOUND", ACT_SUMMON_HOUND },
+ { "CHOIR_SINGS", ACT_CHOIR_SINGS },
{ "CURE_LW", ACT_CURE_LW },
{ "CURE_MW", ACT_CURE_MW },
{ "CURE_POISON", ACT_CURE_POISON },
{ "REST_ALL", ACT_REST_ALL },
{ "CURE_700", ACT_CURE_700 },
{ "CURE_1000", ACT_CURE_1000 },
+ { "CURING", ACT_CURING },
+ { "CURE_MANA_FULL", ACT_CURE_MANA_FULL },
{ "ESP", ACT_ESP },
{ "BERSERK", ACT_BERSERK },
{ "XTRA_SPEED", ACT_XTRA_SPEED },
{ "WRAITH", ACT_WRAITH },
{ "INVULN", ACT_INVULN },
+ { "HELO", ACT_HELO },
+ { "HELO_SPEED", ACT_HELO_SPEED },
+ { "RESIST_ACID", ACT_RESIST_ACID },
+ { "RESIST_FIRE", ACT_RESIST_ACID },
+ { "RESIST_COLD", ACT_RESIST_ACID },
+ { "RESIST_ELEC", ACT_RESIST_ACID },
+ { "RESIST_POIS", ACT_RESIST_ACID },
{ "LIGHT", ACT_LIGHT },
{ "MAP_LIGHT", ACT_MAP_LIGHT },
{ "DIM_DOOR", ACT_DIM_DOOR },
{ "TELEPORT", ACT_TELEPORT },
{ "RECALL", ACT_RECALL },
+ { "TELEKINESIS", ACT_TELEKINESIS },
+ { "DETECT_UNIQUE", ACT_DETECT_UNIQUE },
+ { "BRAND_FIRE_BOLTS", ACT_BRAND_FIRE_BOLTS },
{ "JUDGE", ACT_JUDGE },
{ "BIZARRE", ACT_BIZARRE },
case ACT_BA_FIRE_1:
return "¥Õ¥¡¥¤¥¢¡¦¥Ü¡¼¥ë (72) : 9+d9 ¥¿¡¼¥óËè";
case ACT_DRAIN_1:
- return "À¸Ì¿Îϵۼý (90) : 70 ¥¿¡¼¥óËè";
+ return "Ã⩹¶·â(100) : 100+d100 ¥¿¡¼¥óËè";
case ACT_BA_COLD_2:
return "¥¢¥¤¥¹¡¦¥Ü¡¼¥ë (100) : 12+d12 ¥¿¡¼¥óËè";
case ACT_BA_ELEC_2:
return "°Å¹õ¤ÎÍò(250) : 150+d150 ¥¿¡¼¥óËè";
case ACT_BA_MANA:
return "ËâÎϤÎÍò(400) : 250+d250¥¿¡¼¥óËè";
+ case ACT_PESTICIDE:
+ return "³²Ãî¤Î¶î½ü : 55+d55¥¿¡¼¥óËè";
+ case ACT_BLINDING_LIGHT:
+ return "âÁ¤·¤¤¸÷ : 250 ¥¿¡¼¥óËè";
case ACT_CONFUSE:
return "¥Ñ¥Ë¥Ã¥¯¡¦¥â¥ó¥¹¥¿¡¼ : 15 ¥¿¡¼¥óËè";
case ACT_SLEEP:
return "°Ë⾤´ : 666+d333 ¥¿¡¼¥óËè";
case ACT_SUMMON_UNDEAD:
return "¥¢¥ó¥Ç¥Ã¥É¾¤´ : 666+d333 ¥¿¡¼¥óËè";
+ case ACT_CHOIR_SINGS:
+ return "²óÉü (777)¡¢Ìþ¤·¡¢»Îµ¤¹âÍÈ : 300 ¥¿¡¼¥óËè";
case ACT_CURE_LW:
return "¶²Éݽüµî/ÂÎÎϲóÉü(30) : 10 ¥¿¡¼¥óËè";
case ACT_CURE_MW:
return "ÂÎÎϲóÉü(700) : 250 ¥¿¡¼¥óËè";
case ACT_CURE_1000:
return "ÂÎÎϲóÉü(1000) : 888 ¥¿¡¼¥óËè";
+ case ACT_CURING:
+ return "Ìþ¤· : 100¥¿¡¼¥óËè";
+ case ACT_CURE_MANA_FULL:
+ return "ËâÎÏÉü³è: 777 ¥¿¡¼¥óËè";
case ACT_ESP:
return "¥Æ¥ì¥Ñ¥·¡¼ (´ü´Ö 25+d30) : 200 ¥¿¡¼¥óËè";
case ACT_BERSERK:
return "Í©Âβ½ (´ü´Ö level/2 + d(level/2)) : 1000 ¥¿¡¼¥óËè";
case ACT_INVULN:
return "̵Ũ²½ (´ü´Ö 8+d8) : 1000 ¥¿¡¼¥óËè";
+ case ACT_HELO:
+ return "»Îµ¤¹âÍÈ : 30+d30¥¿¡¼¥óËè";
+ case ACT_HELO_SPEED:
+ return "»Îµ¤¹âÍÈ, ¥¹¥Ô¡¼¥É(50+d50¥¿¡¼¥ó) : 100+d200 ¥¿¡¼¥óËè";
case ACT_LIGHT:
return "¥¤¥ë¥ß¥Í¡¼¥·¥ç¥ó : 10+d10 ¥¿¡¼¥óËè";
case ACT_MAP_LIGHT:
return "¥Æ¥ì¥Ý¡¼¥È (range 100) : 25 ¥¿¡¼¥óËè";
case ACT_RECALL:
return "µ¢´Ô¤Î¾Û : 200 ¥¿¡¼¥óËè";
+ case ACT_TELEKINESIS:
+ return "ʪÂΤò°ú¤´ó¤»¤ë(½ÅÎÌ25kg¤Þ¤Ç) : 25+d25¥¿¡¼¥óËè";
+ case ACT_DETECT_UNIQUE:
+ return "¤³¤Î³¬¤Ë¤¤¤ë¥æ¥Ë¡¼¥¯¥â¥ó¥¹¥¿¡¼¤òɽ¼¨ : 200¥¿¡¼¥óËè";
/* Unique activation */
+ case ACT_BRAND_FIRE_BOLTS:
+ return "¿ÏÀè¤Î¥Õ¥¡¥¤¥¢¡¦¥Ü¥ë¥È : 999 ¥¿¡¼¥óËè";
case ACT_JUDGE:
return "ÂÎÎϤȰú¤Âؤ¨¤ËÀéΤ´ã¤Èµ¢´Ô : 20+d20 ¥¿¡¼¥óËè";
case ACT_BIZARRE:
case ACT_BA_FIRE_1:
return "ball of fire (72) every 9+d9 turns";
case ACT_DRAIN_1:
- return "drain life (90) every 70 turns";
+ return "a strangling attack (100) every 100+d100 turns";
case ACT_BA_COLD_2:
return "ball of cold (100) every 12+d12 turns";
case ACT_BA_ELEC_2:
return "darkness storm (250) every 150+d150 turns";
case ACT_BA_MANA:
return "a mana storm every 250+d250 turns";
+ case ACT_PESTICIDE:
+ return "dispel small life every 55+d55 turns";
+ case ACT_BLINDING_LIGHT:
+ return "blinding light every 250 turns";
case ACT_CONFUSE:
return "confuse monster every 15 turns";
case ACT_SLEEP:
return "summon demon every 666+d333 turns";
case ACT_SUMMON_UNDEAD:
return "summon undead every 666+d333 turns";
+ case ACT_CHOIR_SINGS:
+ return "heal 777 hit points, curing and heloism every 300 turns";
case ACT_CURE_LW:
return "remove fear and heal 30 hp every 10 turns";
case ACT_CURE_MW:
return "heal 700 hit points every 250 turns";
case ACT_CURE_1000:
return "heal 1000 hit points every 888 turns";
+ case ACT_CURING:
+ return "curing every 100 turns";
+ case ACT_CURE_MANA_FULL:
+ return "restore mana every 777 turns";
case ACT_ESP:
return "telepathy (dur 25+d30) every 200 turns";
case ACT_BERSERK:
return "wraith form (dur level/2 + d(level/2)) every 1000 turns";
case ACT_INVULN:
return "invulnerability (dur 8+d8) every 1000 turns";
+ case ACT_HELO:
+ return "heroism every 30+d30 turns";
+ case ACT_HELO_SPEED:
+ return "hero and +10 to speed (50) every 100+200d turns";
+ case ACT_RESIST_ACID:
+ return "resist acid (dur 20+d20) every 40+d40 turns";
+ case ACT_RESIST_FIRE:
+ return "resist fire (dur 20+d20) every 40+d40 turns";
+ case ACT_RESIST_COLD:
+ return "resist cold (dur 20+d20) every 40+d40 turns";
+ case ACT_RESIST_ELEC:
+ return "resist thunder (dur 20+d20) every 40+d40 turns";
+ case ACT_RESIST_POIS:
+ return "resist poison (dur 20+d20) every 40+d40 turns";
case ACT_LIGHT:
return "light area (dam 2d15) every 10+d10 turns";
case ACT_MAP_LIGHT:
return "teleport (range 100) every 25 turns";
case ACT_RECALL:
return "word of recall every 200 turns";
+ case ACT_TELEKINESIS:
+ return "a telekinesis (500 lb) every 25+d25 turns";
+ case ACT_DETECT_UNIQUE:
+ return "list of the uniques on the level every 200 turns";
/* Unique activation */
+ case ACT_BRAND_FIRE_BOLTS:
+ return "fire branding of bolts every 999 turns";
case ACT_JUDGE:
return "clairvoyance and recall, draining you every 20+d20 turns";
case ACT_BIZARRE:
return "summon the Legion of the Dawn every 500+d500 turns";
#endif
}
- case ART_BRAND:
- case ART_HELLFIRE:
- {
-#ifdef JP
- return "¿ÏÀè¤Î¥Õ¥¡¥¤¥¢¡¦¥Ü¥ë¥È : 999 ¥¿¡¼¥óËè";
-#else
- return "fire branding of bolts every 999 turns";
-#endif
- }
case ART_CRIMSON:
{
#ifdef JP
return "breathe elements (300), hero, bless, and resistance";
#endif
}
- case ART_FRAKIR:
- {
-#ifdef JP
- return "Ã⩹¶·â(100) : 100+d100 ¥¿¡¼¥óËè";
-#else
- return "a strangling attack (100) every 100+d100 turns";
-#endif
- }
- case ART_PALANTIR:
- {
-#ifdef JP
- return "¤³¤Î³¬¤Ë¤¤¤ë¥æ¥Ë¡¼¥¯¥â¥ó¥¹¥¿¡¼¤òɽ¼¨ : 200¥¿¡¼¥óËè";
-#else
- return "list of the uniques on the level every 200 turns";
-#endif
- }
case ART_STONE_LORE:
{
#ifdef JP
return "perilous identify every turn";
#endif
}
- case ART_FARAMIR:
- {
-#ifdef JP
- return "³²Ãî¤Î¶î½ü : 55+d55¥¿¡¼¥óËè";
-#else
- return "dispel small life every 55+d55 turns";
-#endif
- }
case ART_BOROMIR:
{
#ifdef JP
return "frighten monsters every 40+d40 turns";
#endif
}
- case ART_HURIN:
- {
-#ifdef JP
- return "»Îµ¤¹âÍÈ, ¥¹¥Ô¡¼¥É(50+d50¥¿¡¼¥ó) : 100+d200 ¥¿¡¼¥óËè";
-#else
- return "hero and +10 to speed (50) every 100+200d turns";
-#endif
- }
- case ART_GIL_GALAD:
- {
-#ifdef JP
- return "âÁ¤·¤¤¸÷ : 250 ¥¿¡¼¥óËè";
-#else
- return "blinding light every 250 turns";
-#endif
- }
case ART_YENDOR:
{
#ifdef JP
return "increase STR (destroyed 50%)";
#endif
}
- case ART_JONES:
- {
-#ifdef JP
- return "ʪÂΤò°ú¤´ó¤»¤ë(½ÅÎÌ25kg¤Þ¤Ç) : 25+d25¥¿¡¼¥óËè";
-#else
- return "a telekinesis (500 lb) every 25+d25 turns";
-#endif
- }
case ART_INROU:
{
#ifdef JP
return "beat wooden clappers every turn";
#endif
}
- case ART_MATOI:
- case ART_AEGISFANG:
- {
-#ifdef JP
- return "»Îµ¤¹âÍÈ : 30+d30¥¿¡¼¥óËè";
-#else
- return "heroism every 30+d30 turns";
-#endif
- }
- case ART_EARENDIL:
- {
-#ifdef JP
- return "Ìþ¤· : 100¥¿¡¼¥óËè";
-#else
- return "curing every 100 turns";
-#endif
- }
case ART_BLOOD:
{
#ifdef JP
#endif
}
- case ART_CHARMED:
- {
-#ifdef JP
- return "ËâÎÏÉü³è: 777 ¥¿¡¼¥óËè";
-#else
- return "restore mana every 777 turns";
-#endif
-
- }
}
else if (type == ACT_SUMMON_ELEMENTAL) total += 15000;
else if (type == ACT_SUMMON_DEMON) total += 20000;
else if (type == ACT_SUMMON_UNDEAD) total += 20000;
+ else if (type == ACT_SUMMON_HOUND) total += 15000;
+ else if (type == ACT_CHOIR_SINGS) total += 20000;
else if (type == ACT_CURE_LW) total += 500;
else if (type == ACT_CURE_MW) total += 750;
else if (type == ACT_CURE_POISON) total += 1000;
else if (type == ACT_REST_ALL) total += 15000;
else if (type == ACT_CURE_700) total += 10000;
else if (type == ACT_CURE_1000) total += 15000;
+ else if (type == ACT_CURING) total += 5000;
+ else if (type == ACT_CURE_MANA_FULL) total += 20000;
else if (type == ACT_ESP) total += 1500;
else if (type == ACT_BERSERK) total += 800;
else if (type == ACT_PROT_EVIL) total += 5000;
else if (type == ACT_RESIST_ALL) total += 5000;
else if (type == ACT_SPEED) total += 15000;
else if (type == ACT_XTRA_SPEED) total += 25000;
+ else if (type == ACT_RESIST_ACID) total += 2000;
+ else if (type == ACT_RESIST_FIRE) total += 2000;
+ else if (type == ACT_RESIST_COLD) total += 2000;
+ else if (type == ACT_RESIST_ELEC) total += 2000;
+ else if (type == ACT_RESIST_POIS) total += 2000;
else if (type == ACT_WRAITH) total += 25000;
else if (type == ACT_INVULN) total += 25000;
+ else if (type == ACT_HELO) total += 500;
+ else if (type == ACT_HELO_SPEED) total += 20000;
else if (type == ACT_LIGHT) total += 150;
else if (type == ACT_MAP_LIGHT) total += 500;
else if (type == ACT_DETECT_ALL) total += 1000;
else if (type == ACT_DIM_DOOR) total += 10000;
else if (type == ACT_TELEPORT) total += 2000;
else if (type == ACT_RECALL) total += 7500;
+ else if (type == ACT_TELEKINESIS) total += 5500;
+ else if (type == ACT_BRAND_FIRE_BOLTS) total += 20000;
}
return total;
o_ptr->to_h = a_ptr->to_h;
o_ptr->to_d = a_ptr->to_d;
o_ptr->weight = a_ptr->weight;
+ o_ptr->xtra2 = a_ptr->act_idx;
/* Hack -- extract the "broken" flag */
if (!a_ptr->cost) o_ptr->ident |= (IDENT_BROKEN);
o_ptr->to_h = a_ptr->to_h;
o_ptr->to_d = a_ptr->to_d;
o_ptr->weight = a_ptr->weight;
+ o_ptr->xtra2 = a_ptr->act_idx;
/* Success */
return (TRUE);