Demon Ego now has drain_hp or mp or exp.
X:24:25
W:0:30:0:15000
C:6:6:-20:4
-F:INT | BRAND_FIRE |
+F:INT | BRAND_FIRE |
F:RES_FIRE | RES_NETHER | SEE_INVIS | ESP_DEMON | XTRA_DICE
N:102:¥â¥ë¥°¥ë¤Î
C:20:20:10:0
F:SEE_INVIS | AGGRAVATE | HEAVY_CURSE | CURSED | SH_COLD |
F:SLAY_UNDEAD | SLAY_HUMAN | BRAND_POIS | ESP_UNDEAD |
-F:RES_COLD | RES_NETHER |
-F:RANDOM_CURSE2 | XTRA_DICE
+F:RES_COLD | RES_NETHER |
+F:RANDOM_CURSE2 | XTRA_DICE
N:103:¿Í¶ô¤¤¤Î
E:of Slay Human
if (one_in_(3)) add_flag(o_ptr->art_flags, TR_DRAIN_EXP);
if (one_in_(6)) add_flag(o_ptr->art_flags, TR_ADD_L_CURSE);
if (one_in_(9)) add_flag(o_ptr->art_flags, TR_ADD_H_CURSE);
+ if (one_in_(9)) add_flag(o_ptr->art_flags, TR_DRAIN_HP);
+ if (one_in_(9)) add_flag(o_ptr->art_flags, TR_DRAIN_MANA);
if (one_in_(2)) add_flag(o_ptr->art_flags, TR_TELEPORT);
else if (one_in_(3)) add_flag(o_ptr->art_flags, TR_NO_TELE);
#define TR_FIXED_FLAVOR 117
#define TR_ADD_L_CURSE 118
#define TR_ADD_H_CURSE 119
+#define TR_DRAIN_HP 120
+#define TR_DRAIN_MANA 121
-#define TR_FLAG_MAX 120
+#define TR_FLAG_MAX 122
#define TR_FLAG_SIZE 4
choices[number] = i;
number++;
}
- else if ((flag == TRC_ADD_L_CURSE) || (flag == TRC_ADD_H_CURSE))
+ else if ((flag == TRC_ADD_L_CURSE) || (flag == TRC_ADD_H_CURSE) ||
+ (flag == TRC_DRAIN_HP) || (flag == TRC_DRAIN_MANA) )
{
- u32b cf = (flag == TRC_ADD_L_CURSE) ? TR_ADD_L_CURSE : TR_ADD_H_CURSE;
+ u32b cf;
+ switch (flag)
+ {
+ case TRC_ADD_L_CURSE : cf = TR_ADD_L_CURSE; break;
+ case TRC_ADD_H_CURSE : cf = TR_ADD_H_CURSE; break;
+ case TRC_DRAIN_HP : cf = TR_DRAIN_HP; break;
+ default : cf = TR_DRAIN_MANA; break;
+ }
u32b flgs[4];
object_flags(o_ptr, flgs);
if (have_flag(flgs, cf))
"FIXED_FLAVOR",
"ADD_L_CURSE",
"ADD_H_CURSE",
+ "DRAIN_HP",
+ "DRAIN_MANA",
};
if ((have_flag(flgs, TR_TY_CURSE)) || (o_ptr->curse_flags & TRC_TY_CURSE))
{
-#ifdef JP
-info[i++] = "¤½¤ì¤ÏÂÀ¸Å¤Î²Ò¡¹¤·¤¤±åÇ°¤¬½É¤Ã¤Æ¤¤¤ë¡£";
-#else
- info[i++] = "It carries an ancient foul curse.";
-#endif
-
+ info[i++] = _("¤½¤ì¤ÏÂÀ¸Å¤Î²Ò¡¹¤·¤¤±åÇ°¤¬½É¤Ã¤Æ¤¤¤ë¡£", "It carries an ancient foul curse.");
}
if ((have_flag(flgs, TR_AGGRAVATE)) || (o_ptr->curse_flags & TRC_AGGRAVATE))
{
-#ifdef JP
-info[i++] = "¤½¤ì¤ÏÉÕ¶á¤Î¥â¥ó¥¹¥¿¡¼¤òÅܤ餻¤ë¡£";
-#else
- info[i++] = "It aggravates nearby creatures.";
-#endif
-
+ info[i++] = _("¤½¤ì¤ÏÉÕ¶á¤Î¥â¥ó¥¹¥¿¡¼¤òÅܤ餻¤ë¡£", "It aggravates nearby creatures.");
}
if ((have_flag(flgs, TR_DRAIN_EXP)) || (o_ptr->curse_flags & TRC_DRAIN_EXP))
{
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï·Ð¸³ÃͤòµÛ¤¤¼è¤ë¡£";
-#else
- info[i++] = "It drains experience.";
-#endif
-
+ info[i++] = _("¤½¤ì¤Ï·Ð¸³ÃͤòµÛ¤¤¼è¤ë¡£", "It drains experience.");
}
if (o_ptr->curse_flags & TRC_SLOW_REGEN)
{
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï²óÉüÎϤò¼å¤á¤ë¡£";
-#else
- info[i++] = "It slows your regenerative powers.";
-#endif
-
+ info[i++] = _("¤½¤ì¤Ï²óÉüÎϤò¼å¤á¤ë¡£", "It slows your regenerative powers.");
}
if ((o_ptr->curse_flags & TRC_ADD_L_CURSE) || have_flag(flgs, TR_ADD_L_CURSE))
{
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï¼å¤¤¼ö¤¤¤òÁý¤ä¤¹¡£";
-#else
- info[i++] = "It adds weak curses.";
-#endif
-
+ info[i++] = _("¤½¤ì¤Ï¼å¤¤¼ö¤¤¤òÁý¤ä¤¹¡£","It adds weak curses.");
}
if ((o_ptr->curse_flags & TRC_ADD_H_CURSE) || have_flag(flgs, TR_ADD_H_CURSE))
{
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï¶¯ÎϤʼö¤¤¤òÁý¤ä¤¹¡£";
-#else
- info[i++] = "It adds heavy curses.";
-#endif
-
+ info[i++] = _("¤½¤ì¤Ï¶¯ÎϤʼö¤¤¤òÁý¤ä¤¹¡£","It adds heavy curses.");
}
if (o_ptr->curse_flags & TRC_CALL_ANIMAL)
{
-#ifdef JP
-info[i++] = "¤½¤ì¤Ïưʪ¤ò¸Æ¤Ó´ó¤»¤ë¡£";
-#else
- info[i++] = "It attracts animals.";
-#endif
-
+ info[i++] = _("¤½¤ì¤Ïưʪ¤ò¸Æ¤Ó´ó¤»¤ë¡£", "It attracts animals.");
}
if (o_ptr->curse_flags & TRC_CALL_DEMON)
{
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï°Ëâ¤ò¸Æ¤Ó´ó¤»¤ë¡£";
-#else
- info[i++] = "It attracts demons.";
-#endif
-
+ info[i++] = _("¤½¤ì¤Ï°Ëâ¤ò¸Æ¤Ó´ó¤»¤ë¡£", "It attracts demons.");
}
if (o_ptr->curse_flags & TRC_CALL_DRAGON)
{
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï¥É¥é¥´¥ó¤ò¸Æ¤Ó´ó¤»¤ë¡£";
-#else
- info[i++] = "It attracts dragons.";
-#endif
-
+ info[i++] = _("¤½¤ì¤Ï¥É¥é¥´¥ó¤ò¸Æ¤Ó´ó¤»¤ë¡£", "It attracts dragons.");
}
if (o_ptr->curse_flags & TRC_COWARDICE)
{
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï¶²ÉÝ´¶¤ò°ú¤µ¯¤³¤¹¡£";
-#else
- info[i++] = "It makes you subject to cowardice.";
-#endif
-
+ info[i++] = _("¤½¤ì¤Ï¶²ÉÝ´¶¤ò°ú¤µ¯¤³¤¹¡£", "It makes you subject to cowardice.");
}
if ((have_flag(flgs, TR_TELEPORT)) || (o_ptr->curse_flags & TRC_TELEPORT))
{
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï¥é¥ó¥À¥à¤Ê¥Æ¥ì¥Ý¡¼¥È¤ò°ú¤µ¯¤³¤¹¡£";
-#else
- info[i++] = "It induces random teleportation.";
-#endif
-
+ info[i++] = _("¤½¤ì¤Ï¥é¥ó¥À¥à¤Ê¥Æ¥ì¥Ý¡¼¥È¤ò°ú¤µ¯¤³¤¹¡£", "It induces random teleportation.");
}
if (o_ptr->curse_flags & TRC_LOW_MELEE)
{
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï¹¶·â¤ò³°¤·¤ä¤¹¤¤¡£";
-#else
- info[i++] = "It causes you to miss blows.";
-#endif
-
+ info[i++] = _("¤½¤ì¤Ï¹¶·â¤ò³°¤·¤ä¤¹¤¤¡£", "It causes you to miss blows.");
}
if (o_ptr->curse_flags & TRC_LOW_AC)
{
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï¹¶·â¤ò¼õ¤±¤ä¤¹¤¤¡£";
-#else
- info[i++] = "It helps your enemies' blows.";
-#endif
-
+ info[i++] = _("¤½¤ì¤Ï¹¶·â¤ò¼õ¤±¤ä¤¹¤¤¡£", "It helps your enemies' blows.");
}
if (o_ptr->curse_flags & TRC_LOW_MAGIC)
{
-#ifdef JP
-info[i++] = "¤½¤ì¤ÏËâË¡¤ò¾§¤¨¤Ë¤¯¤¯¤¹¤ë¡£";
-#else
- info[i++] = "It encumbers you while spellcasting.";
-#endif
-
+ info[i++] = _("¤½¤ì¤ÏËâË¡¤ò¾§¤¨¤Ë¤¯¤¯¤¹¤ë¡£", "It encumbers you while spellcasting.");
}
if (o_ptr->curse_flags & TRC_FAST_DIGEST)
{
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï¤¢¤Ê¤¿¤Î¿·ÄÄÂå¼Õ¤ò®¤¯¤¹¤ë¡£";
-#else
- info[i++] = "It speeds your metabolism.";
-#endif
-
+ info[i++] = _("¤½¤ì¤Ï¤¢¤Ê¤¿¤Î¿·ÄÄÂå¼Õ¤ò®¤¯¤¹¤ë¡£", "It speeds your metabolism.");
}
- if (o_ptr->curse_flags & TRC_DRAIN_HP)
+ if ((have_flag(flgs, TR_DRAIN_HP)) || (o_ptr->curse_flags & TRC_DRAIN_HP))
{
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï¤¢¤Ê¤¿¤ÎÂÎÎϤòµÛ¤¤¼è¤ë¡£";
-#else
- info[i++] = "It drains you.";
-#endif
-
+ info[i++] = _("¤½¤ì¤Ï¤¢¤Ê¤¿¤ÎÂÎÎϤòµÛ¤¤¼è¤ë¡£", "It drains you.");
}
- if (o_ptr->curse_flags & TRC_DRAIN_MANA)
+ if ((have_flag(flgs, TR_DRAIN_MANA)) || (o_ptr->curse_flags & TRC_DRAIN_MANA))
{
-#ifdef JP
-info[i++] = "¤½¤ì¤Ï¤¢¤Ê¤¿¤ÎËâÎϤòµÛ¤¤¼è¤ë¡£";
-#else
- info[i++] = "It drains your mana.";
-#endif
-
+ info[i++] = _("¤½¤ì¤Ï¤¢¤Ê¤¿¤ÎËâÎϤòµÛ¤¤¼è¤ë¡£", "It drains your mana.");
}
/* Describe about this kind of object instead of THIS fake object */
if (have_flag(flgs, TR_IGNORE_COLD)) total += 100;
if (have_flag(flgs, TR_ACTIVATE)) total += 100;
if (have_flag(flgs, TR_DRAIN_EXP)) total -= 12500;
+ if (have_flag(flgs, TR_DRAIN_HP)) total -= 12500;
+ if (have_flag(flgs, TR_DRAIN_MANA)) total -= 12500;
if (have_flag(flgs, TR_TELEPORT))
{
if (object_is_cursed(o_ptr))
add_flag(o_ptr->art_flags, TR_SLAY_HUMAN);
break;
case EGO_DEMON:
+ if (one_in_(3)){
+ add_flag(o_ptr->art_flags, TR_DRAIN_EXP);
+ }
+ else if(one_in_(2))
+ {
+ add_flag(o_ptr->art_flags, TR_DRAIN_HP);
+ }
+ else
+ {
+ add_flag(o_ptr->art_flags, TR_DRAIN_MANA);
+ }
+
if (one_in_(3)) add_flag(o_ptr->art_flags, TR_CHAOTIC);
if (one_in_(4)) add_flag(o_ptr->art_flags, TR_BLOWS);
- if (one_in_(5)) add_flag(o_ptr->art_flags, TR_DRAIN_EXP);
- if (one_in_(6)) add_flag(o_ptr->art_flags, TR_ADD_H_CURSE);
+ if (one_in_(5)) add_flag(o_ptr->art_flags, TR_ADD_H_CURSE);
break;
}
if (have_flag(old_flgs, TR_AGGRAVATE)) dec--;
if (have_flag(old_flgs, TR_NO_TELE)) dec--;
if (have_flag(old_flgs, TR_DRAIN_EXP)) dec--;
+ if (have_flag(old_flgs, TR_DRAIN_HP)) dec--;
+ if (have_flag(old_flgs, TR_DRAIN_MANA)) dec--;
if (have_flag(old_flgs, TR_TY_CURSE)) dec--;
iy = o_ptr->iy;
*/
if ((o_ptr->tval == TV_LITE) && object_is_fixed_artifact(o_ptr))
{
-#ifdef JP
- *misc_list++ = "±Êµ×¸÷¸»(Ⱦ·Â3)";
-#else
- *misc_list++ = "Permanent Light(3)";
-#endif
+ *misc_list++ = _("±Êµ×¸÷¸»(Ⱦ·Â3)", "Permanent Light(3)");
}
/*
*/
if (have_flag(flgs, TR_LITE))
{
-#ifdef JP
- *misc_list++ = "±Êµ×¸÷¸»(Ⱦ·Â1)";
-#else
- *misc_list++ = "Permanent Light(1)";
-#endif
+ *misc_list++ = _("±Êµ×¸÷¸»(Ⱦ·Â1)", "Permanent Light(1)");
}
/*
{
if (have_flag(flgs, TR_TY_CURSE))
{
-#ifdef JP
- *misc_list++ = "ÂÀ¸Å¤Î±åÇ°";
-#else
- *misc_list++ = "Ancient Curse";
-#endif
+ *misc_list++ = _("ÂÀ¸Å¤Î±åÇ°", "Ancient Curse");
}
if (o_ptr->curse_flags & TRC_PERMA_CURSE)
{
-#ifdef JP
- *misc_list++ = "±Ê±ó¤Î¼ö¤¤";
-#else
- *misc_list++ = "Permanently Cursed";
-#endif
+ *misc_list++ = _("±Ê±ó¤Î¼ö¤¤", "Permanently Cursed");
}
else if (o_ptr->curse_flags & TRC_HEAVY_CURSE)
{
-#ifdef JP
- *misc_list++ = "¶¯ÎϤʼö¤¤";
-#else
- *misc_list++ = "Heavily Cursed";
-#endif
+ *misc_list++ = _("¶¯ÎϤʼö¤¤", "Heavily Cursed");
}
/* else */
else if (o_ptr->curse_flags & TRC_CURSED)
{
-#ifdef JP
- *misc_list++ = "¼ö¤¤";
-#else
- *misc_list++ = "Cursed";
-#endif
+ *misc_list++ = _("¼ö¤¤", "Cursed");
}
if (have_flag(flgs, TR_ADD_L_CURSE))
{
-#ifdef JP
- *misc_list++ = "¼ö¤¤¤òÁý¤ä¤¹";
-#else
- *misc_list++ = "Cursing";
-#endif
+ *misc_list++ = _("¼ö¤¤¤òÁý¤ä¤¹", "Cursing");
}
if (have_flag(flgs, TR_ADD_H_CURSE))
{
-#ifdef JP
- *misc_list++ = "¶¯ÎϤʼö¤¤¤òÁý¤ä¤¹";
-#else
- *misc_list++ = "Heavily Cursing";
-#endif
+ *misc_list++ = _("¶¯ÎϤʼö¤¤¤òÁý¤ä¤¹", "Heavily Cursing");
}
}
if (have_flag(flgs, TR_TY_CURSE)) p_ptr->cursed |= TRC_TY_CURSE;
if (have_flag(flgs, TR_ADD_L_CURSE)) p_ptr->cursed |= TRC_ADD_L_CURSE;
if (have_flag(flgs, TR_ADD_H_CURSE)) p_ptr->cursed |= TRC_ADD_H_CURSE;
+ if (have_flag(flgs, TR_DRAIN_HP)) p_ptr->cursed |= TRC_DRAIN_HP;
+ if (have_flag(flgs, TR_DRAIN_MANA)) p_ptr->cursed |= TRC_DRAIN_MANA;
if (have_flag(flgs, TR_DEC_MANA)) p_ptr->dec_mana = TRUE;
if (have_flag(flgs, TR_BLESSED)) p_ptr->bless_blade = TRUE;
if (have_flag(flgs, TR_XTRA_MIGHT)) p_ptr->xtra_might = TRUE;