From fd4584840cd918b579badfa9e76e90af9e38d914 Mon Sep 17 00:00:00 2001 From: habu Date: Fri, 1 Feb 2013 04:35:20 +0000 Subject: [PATCH] Detail activate description is dynamically built using activation_info table --- src/artifact.c | 2 +- src/externs.h | 1 + src/object1.c | 636 +++++++++------------------------------------------------ src/tables.c | 380 ++++++++++++++++++++++------------ src/types.h | 1 + 5 files changed, 348 insertions(+), 672 deletions(-) diff --git a/src/artifact.c b/src/artifact.c index 64096ee6c..979258154 100644 --- a/src/artifact.c +++ b/src/artifact.c @@ -1975,7 +1975,7 @@ bool create_artifact(object_type *o_ptr, bool a_scroll) } -static const activation_type* find_activation_info(const object_type *o_ptr) +const activation_type* find_activation_info(const object_type *o_ptr) { const activation_type* p; diff --git a/src/externs.h b/src/externs.h index d53f7436e..3984f621c 100644 --- a/src/externs.h +++ b/src/externs.h @@ -1522,6 +1522,7 @@ extern void one_resistance(object_type *o_ptr); extern void one_ability(object_type *o_ptr); extern bool create_artifact(object_type *o_ptr, bool a_scroll); extern bool activate_random_artifact(object_type * o_ptr); +extern const activation_type* find_activation_info(const object_type *o_ptr); extern void get_bloody_moon_flags(object_type *o_ptr); extern void random_artifact_resistance(object_type * o_ptr, artifact_type *a_ptr); extern bool create_named_art(int a_idx, int y, int x); diff --git a/src/object1.c b/src/object1.c index 40fbdad8d..181f3dfeb 100644 --- a/src/object1.c +++ b/src/object1.c @@ -330,7 +330,7 @@ void object_flags_known(object_type *o_ptr, u32b flgs[TR_FLAG_SIZE]) } -cptr item_activation_dragon_breath(object_type *o_ptr) +static cptr item_activation_dragon_breath(object_type *o_ptr) { static char desc[256]; u32b flgs[4]; /* for resistance flags */ @@ -349,18 +349,108 @@ cptr item_activation_dragon_breath(object_type *o_ptr) } } - strcat(desc, _("¤Î¥Ö¥ì¥¹(250) : 200+d200 ¥¿¡¼¥óËè"," every 200+d200 turns")); + strcat(desc, _("¤Î¥Ö¥ì¥¹(250)", "")); return (desc); } +static cptr item_activation_aux(object_type *o_ptr) +{ + static char activation_detail[256]; + cptr desc; + char timeout[32]; + int constant, dice; + const activation_type* act_ptr = find_activation_info(o_ptr); + + if (!act_ptr) return _("̤ÄêµÁ", "something undefined"); + + desc = act_ptr->desc; + + /* Overwrite description if it is special */ + switch (o_ptr->xtra2) { + case ACT_BR_FIRE: + if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_FLAMES)) + desc = _("²Ð±ê¤Î¥Ö¥ì¥¹ (200) ¤È²Ð¤Ø¤ÎÂÑÀ­", "breath of fire (200) and resist fire"); + break; + case ACT_BR_COLD: + if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ICE)) + desc = _("Î䵤¤Î¥Ö¥ì¥¹ (200) ¤ÈÎ䵤¤Ø¤ÎÂÑÀ­", "breath of cold (200) and resist cold"); + break; + case ACT_BR_DRAGON: + desc = item_activation_dragon_breath(o_ptr); + break; + case ACT_AGGRAVATE: + if (o_ptr->name1 == ART_HYOUSIGI) + desc = _("Çï»ÒÌÚ¤òÂǤÁ¤Ê¤é¤¹", "beat wooden clappers"); + break; + case ACT_RESIST_ACID: + if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ACID)) + desc = _("¥¢¥·¥Ã¥É¡¦¥Ü¡¼¥ë (100) ¤È»À¤Ø¤ÎÂÑÀ­", "ball of acid (100) and resist acid"); + break; + case ACT_RESIST_FIRE: + if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_FLAMES)) + desc = _("¥Õ¥¡¥¤¥¢¡¦¥Ü¡¼¥ë (100) ¤È²Ð¤Ø¤ÎÂÑÀ­", "ball of fire (100) and resist fire"); + break; + case ACT_RESIST_COLD: + if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ICE)) + desc = _("¥¢¥¤¥¹¡¦¥Ü¡¼¥ë (100) ¤ÈÎ䵤¤Ø¤ÎÂÑÀ­", "ball of cold (100) and resist cold"); + break; + case ACT_RESIST_ELEC: + if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ELEC)) + desc = _("¥µ¥ó¥À¡¼¡¦¥Ü¡¼¥ë (100) ¤ÈÅÅ·â¤Ø¤ÎÂÑÀ­", "ball of elec (100) and resist elec"); + break; + } + + /* Timeout description */ + constant = act_ptr->timeout.constant; + dice = act_ptr->timeout.dice; + if (constant == 0 && dice == 0) { + /* We can activate it every turn */ + strcpy(timeout, _("¤¤¤Ä¤Ç¤â", "every turn")); + } else if (constant < 0) { + /* Activations that have special timeout */ + switch (o_ptr->xtra2) { + case ACT_BR_FIRE: + sprintf(timeout, _("%d ¥¿¡¼¥óËè", "every %d turns"), + ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_FLAMES)) ? 200 : 250); + break; + case ACT_BR_COLD: + sprintf(timeout, _("%d ¥¿¡¼¥óËè", "every %d turns"), + ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ICE)) ? 200 : 250); + break; + case ACT_TERROR: + strcpy(timeout, _("3*(¥ì¥Ù¥ë+10) ¥¿¡¼¥óËè", "every 3 * (level+10) turns")); + break; + case ACT_MURAMASA: + strcpy(timeout, _("³ÎΨ50%¤Ç²õ¤ì¤ë", "(destroyed 50%)")); + break; + default: + strcpy(timeout, "undefined"); + break; + } + } else { + /* Normal timeout activations */ + char constant_str[16], dice_str[16]; + sprintf(constant_str, "%d", constant); + sprintf(dice_str, "d%d", dice); + sprintf(timeout, _("%s%s%s ¥¿¡¼¥óËè", "every %s%s%s turns"), + (constant > 0) ? constant_str : "", + (constant > 0 && dice > 0) ? "+" : "", + (dice > 0) ? dice_str : ""); + } + + /* Build detail activate description */ + sprintf(activation_detail, _("%s : %s", "%s %s"), desc, timeout); + + return activation_detail; +} + /* * Determine the "Activation" (if any) for an artifact * Return a string, or NULL for "no activation" */ cptr item_activation(object_type *o_ptr) { - static char *buf[256]; u32b flgs[TR_FLAG_SIZE]; /* Extract the flags */ @@ -436,545 +526,7 @@ cptr item_activation(object_type *o_ptr) /* if ((object_is_artifact(o_ptr) || object_is_ego(o_ptr)) && (o_ptr->xtra2)) */ if (o_ptr->xtra2) { - switch (o_ptr->xtra2) - { -#ifdef JP - /* General activation */ - - case ACT_SUNLIGHT: - return "ÂÀÍÛ¸÷Àþ : 10 ¥¿¡¼¥óËè"; - case ACT_BO_MISS_1: - return "¥Þ¥¸¥Ã¥¯¡¦¥ß¥µ¥¤¥ë(2d6) : 2 ¥¿¡¼¥óËè"; - case ACT_BA_POIS_1: - return "°­½­±À(12) : 4+d4 ¥¿¡¼¥óËè"; - case ACT_BO_ELEC_1: - return "¥µ¥ó¥À¡¼¡¦¥Ü¥ë¥È(4d8) : 5+d5 ¥¿¡¼¥óËè"; - case ACT_BO_ACID_1: - return "¥¢¥·¥Ã¥É¡¦¥Ü¥ë¥È(5d8) : 6+d6 ¥¿¡¼¥óËè"; - case ACT_BO_COLD_1: - return "¥¢¥¤¥¹¡¦¥Ü¥ë¥È(6d8) : 7+d7 ¥¿¡¼¥óËè"; - case ACT_BO_FIRE_1: - return "¥Õ¥¡¥¤¥¢¡¦¥Ü¥ë¥È(9d8) : 8+d8 ¥¿¡¼¥óËè"; - case ACT_BA_COLD_1: - return "¥¢¥¤¥¹¡¦¥Ü¡¼¥ë(48) : 6+d6 ¥¿¡¼¥óËè"; - case ACT_BA_FIRE_1: - return "¥Õ¥¡¥¤¥¢¡¦¥Ü¡¼¥ë(72) : 9+d9 ¥¿¡¼¥óËè"; - case ACT_DRAIN_1: - return "Ã⩹¶·â(100) : 100+d100 ¥¿¡¼¥óËè"; - case ACT_BA_COLD_2: - return "¥¢¥¤¥¹¡¦¥Ü¡¼¥ë(100) : 12+d12 ¥¿¡¼¥óËè"; - case ACT_BA_ELEC_2: - return "¥µ¥ó¥À¡¼¡¦¥Ü¡¼¥ë(100) : 12+d12 ¥¿¡¼¥óËè"; - case ACT_DRAIN_2: - return "À¸Ì¿Îϵۼý(120) : 400 ¥¿¡¼¥óËè"; - case ACT_VAMPIRE_1: - return "µÛ·ì¥É¥ì¥¤¥ó(3*50) : 400 ¥¿¡¼¥óËè"; - case ACT_BO_MISS_2: - return "Ìð(150) : 90+d90 ¥¿¡¼¥óËè"; - case ACT_BA_FIRE_3: - return "µðÂç¥Õ¥¡¥¤¥¢¡¦¥Ü¡¼¥ë(300) : 225+d225 ¥¿¡¼¥óËè"; - case ACT_BA_COLD_3: - return "µðÂ祢¥¤¥¹¡¦¥Ü¡¼¥ë(400) : 325+d325 ¥¿¡¼¥óËè"; - case ACT_BA_ELEC_3: - return "µðÂ祵¥ó¥À¡¼¡¦¥Ü¡¼¥ë(500) : 425+d425 ¥¿¡¼¥óËè"; - case ACT_WHIRLWIND: - return "¥«¥Þ¥¤¥¿¥Á : 250 ¥¿¡¼¥óËè"; - case ACT_VAMPIRE_2: - return "µÛ·ì¥É¥ì¥¤¥ó(3*100) : 400 ¥¿¡¼¥óËè"; - case ACT_CALL_CHAOS: - return "º®ÆÙ¾¤Íè : 350 ¥¿¡¼¥óËè"; /*nuke me*/ - case ACT_ROCKET: - return "¥í¥±¥Ã¥È(120+¥ì¥Ù¥ë) : 400 ¥¿¡¼¥óËè"; - case ACT_DISP_EVIL: - return "¼Ù°­Â໶(x5) : 100+d100 ¥¿¡¼¥óËè"; - case ACT_BA_MISS_3: - return "¥¨¥ì¥á¥ó¥È¤Î¥Ö¥ì¥¹(300) : 200+d200 ¥¿¡¼¥óËè"; - case ACT_DISP_GOOD: - return "Á±ÎÉÂ໶(x5) : 100+d100 ¥¿¡¼¥óËè"; - case ACT_BO_MANA: - return "ËâË¡¤ÎÌð(150) : 90+d90 ¥¿¡¼¥óËè"; - case ACT_BA_FIRE_2: - return "µðÂç¥Õ¥¡¥¤¥¢¡¦¥Ü¡¼¥ë(120) : 15 ¥¿¡¼¥óËè"; - case ACT_BA_WATER: - return "¥¦¥©¡¼¥¿¡¼¡¦¥Ü¡¼¥ë(200) : 250 ¥¿¡¼¥óËè"; - case ACT_BA_STAR: - return "µðÂ祹¥¿¡¼¡¦¥Ü¡¼¥ë(200) : 200+d200 ¥¿¡¼¥óËè"; - case ACT_BA_DARK: - return "°Å¹õ¤ÎÍò(250) : 150+d150 ¥¿¡¼¥óËè"; - case ACT_BA_MANA: - return "ËâÎϤÎÍò(250) : 150+d150 ¥¿¡¼¥óËè"; - case ACT_PESTICIDE: - return "³²Ãî¤Î¶î½ü : 55+d55¥¿¡¼¥óËè"; - case ACT_BLINDING_LIGHT: - return "âÁ¤·¤¤¸÷ : 250 ¥¿¡¼¥óËè"; - case ACT_BIZARRE: - return "¿®¤¸Æñ¤¤¤³¤È : 450+d450 ¥¿¡¼¥óËè"; - case ACT_CAST_BA_STAR: - return "¥¹¥¿¡¼¡¦¥Ü¡¼¥ë¡¦¥À¥¹¥È(150) : 1000 ¥¿¡¼¥óËè"; - case ACT_BLADETURNER: - return "¥¨¥ì¥á¥ó¥È¤Î¥Ö¥ì¥¹(300), »Îµ¤¹âÍÈ¡¢½ËÊ¡¡¢ÂÑÀ­ : 400 ¥¿¡¼¥óËè"; - case ACT_BA_ACID_1: - return "¥¢¥·¥Ã¥É¡¦¥Ü¡¼¥ë(100) : 12+d12 ¥¿¡¼¥óËè"; - case ACT_BR_FIRE: - if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_FLAMES)) - return "²Ð±ê¤Î¥Ö¥ì¥¹ (200) ¤È²Ð¤Ø¤ÎÂÑÀ­ : 200 ¥¿¡¼¥óËè"; - return "²Ð±ê¤Î¥Ö¥ì¥¹ (200) : 250 ¥¿¡¼¥óËè"; - case ACT_BR_COLD: - if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ICE)) - return "Î䵤¤Î¥Ö¥ì¥¹ (200) ¤ÈÎ䵤¤Ø¤ÎÂÑÀ­ : 200 ¥¿¡¼¥óËè"; - return "Î䵤¤Î¥Ö¥ì¥¹ (200) : 250 ¥¿¡¼¥óËè"; - case ACT_BR_DRAGON: - return item_activation_dragon_breath(o_ptr); - - case ACT_CONFUSE: - return "¥Ñ¥Ë¥Ã¥¯¡¦¥â¥ó¥¹¥¿¡¼ : 15 ¥¿¡¼¥óËè"; - case ACT_SLEEP: - return "¼þ°Ï¤Î¥â¥ó¥¹¥¿¡¼¤ò̲¤é¤»¤ë : 55 ¥¿¡¼¥óËè"; - case ACT_QUAKE: - return "ÃÏ¿Ì : 50 ¥¿¡¼¥óËè"; - case ACT_TERROR: - return "¶²¹² : 3*(¥ì¥Ù¥ë+10) ¥¿¡¼¥óËè"; - case ACT_TELE_AWAY: - return "¥Æ¥ì¥Ý¡¼¥È¡¦¥¢¥¦¥§¥¤ : 150 ¥¿¡¼¥óËè"; - case ACT_BANISH_EVIL: - return "¼Ù°­¾ÃÌÇ : 250+d250 ¥¿¡¼¥óËè"; - case ACT_GENOCIDE: - return "Ëõ»¦ : 500 ¥¿¡¼¥óËè"; - case ACT_MASS_GENO: - return "¼þÊÕËõ»¦ : 1000 ¥¿¡¼¥óËè"; - case ACT_SCARE_AREA: - return "¥â¥ó¥¹¥¿¡¼¶²¹² : 40+d40¥¿¡¼¥óËè"; - case ACT_AGGRAVATE: - if(o_ptr->name1 != ART_HYOUSIGI) return "¥â¥ó¥¹¥¿¡¼¤òÅܤ餻¤ë : ¤¤¤Ä¤Ç¤â"; - return "Çï»ÒÌÚ¤òÂǤÁ¤Ê¤é¤¹ : ¤¤¤Ä¤Ç¤â"; - case ACT_CHARM_ANIMAL: - return "ưʪ̥λ : 200 ¥¿¡¼¥óËè"; - case ACT_CHARM_UNDEAD: - return "¥¢¥ó¥Ç¥Ã¥É½¾Â° : 333 ¥¿¡¼¥óËè"; - case ACT_CHARM_OTHER: - return "¥â¥ó¥¹¥¿¡¼Ì¥Î» : 400 ¥¿¡¼¥óËè"; - case ACT_CHARM_ANIMALS: - return "ưʪͧÏ : 500 ¥¿¡¼¥óËè"; - case ACT_CHARM_OTHERS: - return "¼þÊÕ̥λ : 750 ¥¿¡¼¥óËè"; - case ACT_SUMMON_ANIMAL: - return "ưʪ¾¤´­ : 200+d300 ¥¿¡¼¥óËè"; - case ACT_SUMMON_PHANTOM: - return "¸¸Î´­ : 200+d200 ¥¿¡¼¥óËè"; - case ACT_SUMMON_ELEMENTAL: - return "¥¨¥ì¥á¥ó¥¿¥ë¾¤´­ : 750 ¥¿¡¼¥óËè"; - case ACT_SUMMON_DEMON: - return "°­Ë⾤´­ : 666+d333 ¥¿¡¼¥óËè"; - case ACT_SUMMON_UNDEAD: - return "¥¢¥ó¥Ç¥Ã¥É¾¤´­ : 666+d333 ¥¿¡¼¥óËè"; - case ACT_SUMMON_HOUND: - return "¥Ï¥¦¥ó¥É¾¤´­ : 300+d150 ¥¿¡¼¥óËè"; - case ACT_SUMMON_DAWN: - return "¶Ç¤Î»ÕÃľ¤´­ : 500+d500 ¥¿¡¼¥óËè"; - case ACT_SUMMON_OCTOPUS: - return "Âý¤ÎÂç·²¾¤´­ : 300+d150¥¿¡¼¥óËè"; - - case ACT_CHOIR_SINGS: - return "²óÉü(777)¡¢Ìþ¤·¡¢»Îµ¤¹âÍÈ : 300 ¥¿¡¼¥óËè"; - case ACT_CURE_LW: - return "¶²Éݽüµî/ÂÎÎϲóÉü(30) : 10 ¥¿¡¼¥óËè"; - case ACT_CURE_MW: - return "½ý²óÉü(4d8) : 3+d3 ¥¿¡¼¥óËè"; - case ACT_CURE_POISON: - return "¶²Éݽüµî/ÆǾä· : 5 ¥¿¡¼¥óËè"; - case ACT_REST_LIFE: - return "·Ð¸³ÃÍÉü³è : 450 ¥¿¡¼¥óËè"; - case ACT_REST_ALL: - return "Á´¥¹¥Æ¡¼¥¿¥¹¤È·Ð¸³ÃÍÉü³è : 750 ¥¿¡¼¥óËè"; - case ACT_CURE_700: - 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 "»Îµ¤¹âÍȤȽËÊ¡(´ü´Ö 50+d50) : 100+d100 ¥¿¡¼¥óËè"; */ - return "¶¸Àï»Î²½(25+d25¥¿¡¼¥ó) : 75+d75 ¥¿¡¼¥óËè"; - case ACT_PROT_EVIL: - return "Âмٰ­·ë³¦(´ü´Ö 3*¥ì¥Ù¥ë+d25) : 200+d200 ¥¿¡¼¥óËè"; - case ACT_RESIST_ALL: - return "Á´ÂÑÀ­(´ü´Ö 20+d20) : 111 ¥¿¡¼¥óËè"; - case ACT_SPEED: - return "²Ã®(´ü´Ö 20+d20) : 250 ¥¿¡¼¥óËè"; - case ACT_XTRA_SPEED: - return "²Ã®(´ü´Ö 75+d75) : 200+d200 ¥¿¡¼¥óËè"; - case ACT_WRAITH: - return "Í©Âβ½(´ü´Ö (¥ì¥Ù¥ë/2)+d(¥ì¥Ù¥ë/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_RESIST_ACID: - if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ACID)) - return "¥¢¥·¥Ã¥É¡¦¥Ü¡¼¥ë (100) ¤È»À¤Ø¤ÎÂÑÀ­ : 40+d40 ¥¿¡¼¥óËè"; - return "»À¤Ø¤ÎÂÑÀ­(´ü´Ö 20+d20) : 40+d40 ¥¿¡¼¥óËè"; - case ACT_RESIST_FIRE: - if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_FLAMES)) - return "¥Õ¥¡¥¤¥¢¡¦¥Ü¡¼¥ë (100) ¤È²Ð¤Ø¤ÎÂÑÀ­ : 40+d40 ¥¿¡¼¥óËè"; - return "²Ð±ê¤Ø¤ÎÂÑÀ­(´ü´Ö 20+d20) : 40+d40 ¥¿¡¼¥óËè"; - case ACT_RESIST_COLD: - if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ICE)) - return "¥¢¥¤¥¹¡¦¥Ü¡¼¥ë (100) ¤ÈÎ䵤¤Ø¤ÎÂÑÀ­ : 40+d40 ¥¿¡¼¥óËè"; - return "Î䵤¤Ø¤ÎÂÑÀ­(´ü´Ö 20+d20) : 40+d40 ¥¿¡¼¥óËè"; - case ACT_RESIST_ELEC: - if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ELEC)) - return "¥µ¥ó¥À¡¼¡¦¥Ü¡¼¥ë (100) ¤ÈÅÅ·â¤Ø¤ÎÂÑÀ­ : 40+d40 ¥¿¡¼¥óËè"; - return "ÅÅ·â¤Ø¤ÎÂÑÀ­(´ü´Ö 20+d20) : 40+d40 ¥¿¡¼¥óËè"; - case ACT_RESIST_POIS: - return "ÆǤؤÎÂÑÀ­(´ü´Ö 20+d20) : 40+d40 ¥¿¡¼¥óËè"; - - case ACT_LIGHT: - return "¥¤¥ë¥ß¥Í¡¼¥·¥ç¥ó : 10+d10 ¥¿¡¼¥óËè"; - case ACT_MAP_LIGHT: - return "ËâË¡¤ÎÃϿޤȸ÷ : 50+d50 ¥¿¡¼¥óËè"; - case ACT_DETECT_ALL: - return "Á´´¶ÃÎ : 55+d55 ¥¿¡¼¥óËè"; - case ACT_DETECT_XTRA: - return "Á´´¶ÃΡ¢Ãµº÷¡¢*´ÕÄê* : 100 ¥¿¡¼¥óËè"; - case ACT_ID_FULL: - return "*´ÕÄê* : 75 ¥¿¡¼¥óËè"; - case ACT_ID_PLAIN: - return "´ÕÄê : 10 ¥¿¡¼¥óËè"; - case ACT_RUNE_EXPLO: - return "Çúȯ¤Î¥ë¡¼¥ó : 200 ¥¿¡¼¥óËè"; - case ACT_RUNE_PROT: - return "¼é¤ê¤Î¥ë¡¼¥ó : 400 ¥¿¡¼¥óËè"; - case ACT_SATIATE: - return "¶õÊ¢½¼Â­ : 200 ¥¿¡¼¥óËè"; - case ACT_DEST_DOOR: - return "¥É¥¢Ç˲õ : 10 ¥¿¡¼¥óËè"; - case ACT_STONE_MUD: - return "´äÀÐÍϲò : 3 ¥¿¡¼¥óËè"; - case ACT_RECHARGE: - return "ËâÎϽ¼Å¶ : 70 ¥¿¡¼¥óËè"; - case ACT_ALCHEMY: - return "Ï£¶â½Ñ : 500 ¥¿¡¼¥óËè"; - case ACT_DIM_DOOR: - return "¼¡¸µ¤ÎÈâ : 100 ¥¿¡¼¥óËè"; - case ACT_TELEPORT: - return "¥Æ¥ì¥Ý¡¼¥È : 25 ¥¿¡¼¥óËè"; - case ACT_RECALL: - return "µ¢´Ô¤Î¾Û : 200 ¥¿¡¼¥óËè"; - case ACT_JUDGE: - return "ÂÎÎϤȰú¤­Âؤ¨¤ËÀéΤ´ã¤Èµ¢´Ô : 20+d20 ¥¿¡¼¥óËè"; - case ACT_TELEKINESIS: - return "ʪÂΤò°ú¤­´ó¤»¤ë(½ÅÎÌ25kg¤Þ¤Ç) : 25+d25¥¿¡¼¥óËè"; - case ACT_DETECT_UNIQUE: - return "¤³¤Î³¬¤Ë¤¤¤ë¥æ¥Ë¡¼¥¯¥â¥ó¥¹¥¿¡¼¤òɽ¼¨ : 200¥¿¡¼¥óËè"; - case ACT_ESCAPE: - return "ƨÁö : 35 ¥¿¡¼¥óËè"; - case ACT_DISP_CURSE_XTRA: - return "*²ò¼ö*¤ÈÄ´ºº: ¤¤¤Ä¤Ç¤â"; - case ACT_BRAND_FIRE_BOLTS: - return "¿ÏÀè¤Î¥Õ¥¡¥¤¥¢¡¦¥Ü¥ë¥È : 999 ¥¿¡¼¥óËè"; - case ACT_RECHARGE_XTRA: - return "ËâÎϽ¼Å¶ : 200 ¥¿¡¼¥óËè"; - case ACT_LORE: - return "´í¸±¤òȼ¤¦´ÕÄê : ¤¤¤Ä¤Ç¤â"; - case ACT_SHIKOFUMI: - return "»Í¸ÔƧ¤ß : 100+d100 ¥¿¡¼¥óËè"; - case ACT_PHASE_DOOR: - return "¥·¥ç¡¼¥È¡¦¥Æ¥ì¥Ý¡¼¥È : 10 ¥¿¡¼¥óËè"; - case ACT_DETECT_ALL_MONS: - return "Á´¥â¥ó¥¹¥¿¡¼´¶ÃÎ : 150 ¥¿¡¼¥óËè"; - case ACT_ULTIMATE_RESIST: - return "»Îµ¤¹âÍÈ¡¢½ËÊ¡¡¢µæ¶Ë¤ÎÂÑÀ­ : 777 ¥¿¡¼¥óËè"; - - /* Unique activation */ - case ACT_FISHING: - return "Äà¤ê¤ò¤¹¤ë : ¤¤¤Ä¤Ç¤â"; - case ACT_INROU: - return "Îã¤Î¥¢¥ì : 150+d150 ¥¿¡¼¥óËè"; - case ACT_MURAMASA: - return "ÏÓÎϤξ徺 : ³ÎΨ50%¤Ç²õ¤ì¤ë"; - case ACT_BLOODY_MOON: - return "°À­Êѹ¹ : 3333 ¥¿¡¼¥óËè"; - case ACT_CRIMSON: - return "¥Õ¥¡¥¤¥¢¡ª : 15 ¥¿¡¼¥óËè"; - - default: - return "̤ÄêµÁ"; -#else - /* General activation */ - - case ACT_SUNLIGHT: - return "beam of sunlight every 10 turns"; - case ACT_BO_MISS_1: - return "magic missile (2d6) every 2 turns"; - case ACT_BA_POIS_1: - return "stinking cloud (12) every 4+d4 turns"; - case ACT_BO_ELEC_1: - return "lightning bolt (4d8) every 5+d5 turns"; - case ACT_BO_ACID_1: - return "acid bolt (5d8) every 6+d6 turns"; - case ACT_BO_COLD_1: - return "frost bolt (6d8) every 7+d7 turns"; - case ACT_BO_FIRE_1: - return "fire bolt (9d8) every 8+d8 turns"; - case ACT_BA_COLD_1: - return "ball of cold (48) every 6+d6 turns"; - case ACT_BA_FIRE_1: - return "ball of fire (72) every 9+d9 turns"; - case ACT_DRAIN_1: - 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 "ball of lightning (100) every 12+d12 turns"; - case ACT_DRAIN_2: - return "drain life (120) every 400 turns"; - case ACT_VAMPIRE_1: - return "vampiric drain (3*50) every 400 turns"; - case ACT_BO_MISS_2: - return "arrows (150) every 90+d90 turns"; - case ACT_BA_FIRE_2: - return "fire ball (300) every 225+d225 turns"; - case ACT_BA_COLD_3: - return "ball of cold (400) every 325+d325 turns"; - case ACT_BA_ELEC_3: - return "ball of lightning (500) every 425+d425 turns"; - case ACT_WHIRLWIND: - return "whirlwind attack every 250 turns"; - case ACT_VAMPIRE_2: - return "vampiric drain (3*100) every 400 turns"; - case ACT_CALL_CHAOS: - return "call chaos every 350 turns"; - case ACT_ROCKET: - return "launch rocket (120+level) every 400 turns"; - case ACT_DISP_EVIL: - return "dispel evil (x5) every 100+d100 turns"; - case ACT_BA_MISS_3: - return "elemental breath (300) every 200+d200 turns"; - case ACT_DISP_GOOD: - return "dispel good (x5) every 100+d100 turns"; - case ACT_BO_MANA: - return "a magical arrow (150) every 90+d90 turns"; - case ACT_BA_FIRE_2: - return "large fire ball (120) every 15 turns"; - case ACT_BA_WATER: - return "water ball (200) every 250 turns"; - case ACT_BA_STAR: - return "large star ball (200) every 200+d200 turns"; - case ACT_BA_DARK: - return "darkness storm (250) every 150+d150 turns"; - case ACT_BA_MANA: - return "a mana storm (250) every 150+d150 turns"; - case ACT_PESTICIDE: - return "dispel small life every 55+d55 turns"; - case ACT_BLINDING_LIGHT: - return "blinding light every 250 turns"; - case ACT_BIZARRE: - return "bizarre things every 450+d450 turns"; - case ACT_CAST_BA_STAR: - return "cast star balls (150) every 1000 turns"; - case ACT_BLADETURNER: - return "breathe elements (300), hero, bless, and resistance every 400 turns"; - case ACT_BA_ACID_1: - return "ball of acid (100) every 12+d12 turns"; - case ACT_BR_FIRE: - if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_FLAMES)) - return "breath of fire (200) and resist fire every 200 turns"; - return "fire breath (200) every 250 turns"; - case ACT_BR_COLD: - if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ICE)) - return "breath of cold (200) and resist cold every 200 turns"; - return "cold breath (200) every 250 turns"; - case ACT_BR_DRAGON: - return item_activation_dragon_breath(o_ptr); - - case ACT_CONFUSE: - return "confuse monster every 15 turns"; - case ACT_SLEEP: - return "sleep nearby monsters every 55 turns"; - case ACT_QUAKE: - return "earthquake every 50 turns"; - case ACT_TERROR: - return "terror every 3 * (level+10) turns"; - case ACT_TELE_AWAY: - return "teleport away every 200 turns"; - case ACT_BANISH_EVIL: - return "banish evil every 250+d250 turns"; - case ACT_GENOCIDE: - return "genocide every 500 turns"; - case ACT_MASS_GENO: - return "mass genocide every 1000 turns"; - case ACT_SCARE_AREA: - return "frighten monsters every 40+d40 turns"; - case ACT_AGGRAVATE: - if (o_ptr->name1 == ART_HYOUSIGI) return "beat wooden clappers every turn"; - return "aggravete monsters every turn"; - - case ACT_CHARM_ANIMAL: - return "charm animal every 200 turns"; - case ACT_CHARM_UNDEAD: - return "enslave undead every 333 turns"; - case ACT_CHARM_OTHER: - return "charm monster every 400 turns"; - case ACT_CHARM_ANIMALS: - return "animal friendship every 500 turns"; - case ACT_CHARM_OTHERS: - return "mass charm every 750 turns"; - case ACT_SUMMON_ANIMAL: - return "summon animal every 200+d300 turns"; - case ACT_SUMMON_PHANTOM: - return "summon phantasmal servant every 200+d200 turns"; - case ACT_SUMMON_ELEMENTAL: - return "summon elemental every 750 turns"; - case ACT_SUMMON_DEMON: - return "summon demon every 666+d333 turns"; - case ACT_SUMMON_UNDEAD: - return "summon undead every 666+d333 turns"; - case ACT_SUMMON_HOUND: - return "summon hound every 300+d150 turns"; - case ACT_SUMMON_DAWN: - return "summon the Legion of the Dawn every 500+d500 turns"; - case ACT_SUMMON_OCTOPUS: - return "summon octopus every 300+d150 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 4d8 and wounds every 3+d3 turns"; - case ACT_CURE_POISON: - return "remove fear and cure poison every 5 turns"; - case ACT_REST_LIFE: - return "restore life levels every 450 turns"; - case ACT_REST_ALL: - return "restore stats and life levels every 750 turns"; - case ACT_CURE_700: - 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 "heroism and blessed (dur 50+d50) every 100+d100 turns"; */ - return "berserk (25+d25 turns) every 75+d75 turns"; - case ACT_PROT_EVIL: - return "protect evil (dur level*3 + d25) every 200+d200 turns"; - case ACT_RESIST_ALL: - return "resist elements (dur 20+d20) every 111 turns"; - case ACT_SPEED: - return "speed (dur 20+d20) every 100+d100 turns"; - case ACT_XTRA_SPEED: - return "speed (dur 75+d75) every 100+d100 turns"; - case ACT_WRAITH: - 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: - if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ACID)) - return "ball of acid (100) and resist acid every 40+d40 turns"; - return "resist acid (dur 20+d20) every 40+d40 turns"; - case ACT_RESIST_FIRE: - if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_FLAMES)) - return "ball of fire (100) and resist fire every 40+d40 turns"; - return "resist fire (dur 20+d20) every 40+d40 turns"; - case ACT_RESIST_COLD: - if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ICE)) - return "ball of cold (100) and resist cold every 40+d40 turns"; - return "resist cold (dur 20+d20) every 40+d40 turns"; - case ACT_RESIST_ELEC: - if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ELEC)) - return "ball of elec (100) and resist elec every 40+d40 turns"; - 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 "light (dam 2d15) & map area every 50+d50 turns"; - case ACT_DETECT_ALL: - return "detection every 55+d55 turns"; - case ACT_DETECT_XTRA: - return "detection, probing and identify true every 100 turns"; - case ACT_ID_FULL: - return "identify true every 75 turns"; - case ACT_ID_PLAIN: - return "identify spell every 10 turns"; - case ACT_RUNE_EXPLO: - return "explosive rune every 200 turns"; - case ACT_RUNE_PROT: - return "rune of protection every 400 turns"; - case ACT_SATIATE: - return "satisfy hunger every 200 turns"; - case ACT_DEST_DOOR: - return "destroy doors every 10 turns"; - case ACT_STONE_MUD: - return "stone to mud every 3 turns"; - case ACT_RECHARGE: - return "recharging every 70 turns"; - case ACT_ALCHEMY: - return "alchemy every 500 turns"; - case ACT_DIM_DOOR: - return "dimension door every 100 turns"; - case ACT_TELEPORT: - return "teleport 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_JUDGE: - return "clairvoyance and recall, draining you every 20+d20 turns"; - case ACT_DETECT_UNIQUE: - return "list of the uniques on the level every 200 turns"; - case ACT_ESCAPE: - return "a getaway every 35 turns"; - case ACT_DISP_CURSE_XTRA: - return "dispel curse and probing every turn"; - case ACT_BRAND_FIRE_BOLTS: - return "fire branding of bolts every 999 turns"; - case ACT_RECHARGE_XTRA: - return "recharge item every 200 turns"; - case ACT_LORE: - return "perilous identify every turn"; - case ACT_SHIKOFUMI: - return "shiko every 100+d100 turns"; - case ACT_PHASE_DOOR: - return "blink every 10 turns"; - case ACT_DETECT_ALL_MONS: - return "detect all monsters every 150 turns"; - case ACT_ULTIMATE_RESIST: - return "hero, bless, and ultimate resistance every 777 turns"; - - /* Unique activation */ - case ACT_FISHING: - return "fishing : every time"; - case ACT_INROU: - return "reveal your identity every 150+d150 turns"; - case ACT_MURAMASA: - return "increase STR (destroyed 50%)"; - case ACT_BLOODY_MOON: - return "change zokusei every 3333 turns"; - case ACT_CRIMSON: - return "fire! every 15 turns"; - - default: - return "something undefined"; -#endif - } + return item_activation_aux(o_ptr); } /* Special items */ diff --git a/src/tables.c b/src/tables.c index 7f710a1d1..4d5888e9b 100644 --- a/src/tables.c +++ b/src/tables.c @@ -6683,133 +6683,255 @@ dragonbreath_type dragonbreath_info[] = { */ activation_type activation_info[] = { - { "SUNLIGHT", ACT_SUNLIGHT, 10, 250, {10, 0} }, - { "BO_MISS_1", ACT_BO_MISS_1, 10, 250, {2, 0} }, - { "BA_POIS_1", ACT_BA_POIS_1, 10, 300, {4, 4} }, - { "BO_ELEC_1", ACT_BO_ELEC_1, 20, 250, {5, 5} }, - { "BO_ACID_1", ACT_BO_ACID_1, 20, 250, {6, 6} }, - { "BO_COLD_1", ACT_BO_COLD_1, 20, 250, {7, 7} }, - { "BO_FIRE_1", ACT_BO_FIRE_1, 20, 250, {8, 8} }, - { "BA_COLD_1", ACT_BA_COLD_1, 30, 750, {6, 6} }, - { "BA_FIRE_1", ACT_BA_FIRE_1, 30, 1000, {9, 9} }, - { "DRAIN_1", ACT_DRAIN_1, 30, 500, {100, 100} }, - { "BA_COLD_2", ACT_BA_COLD_2, 40, 1250, {12, 12} }, - { "BA_ELEC_2", ACT_BA_ELEC_2, 40, 1500, {12, 12} }, - { "BA_FIRE_2", ACT_BA_FIRE_2, 40, 1500, {15, 0} }, - { "DRAIN_2", ACT_DRAIN_2, 40, 750, {400, 0} }, - { "VAMPIRE_1", ACT_VAMPIRE_1, 40, 1000, {400, 0} }, - { "BO_MISS_2", ACT_BO_MISS_2, 40, 1000, {90, 90} }, - { "BA_FIRE_3", ACT_BA_FIRE_3, 60, 1750, {225, 225} }, - { "BA_COLD_3", ACT_BA_COLD_3, 70, 2500, {325, 325} }, - { "BA_ELEC_3", ACT_BA_ELEC_3, 70, 2500, {425, 425} }, - { "WHIRLWIND", ACT_WHIRLWIND, 50, 7500, {250, 0} }, - { "VAMPIRE_2", ACT_VAMPIRE_2, 50, 2500, {400, 0} }, - { "CALL_CHAOS", ACT_CALL_CHAOS, 70, 5000, {350, 0} }, - { "ROCKET", ACT_ROCKET, 70, 5000, {400, 0} }, - { "DISP_EVIL", ACT_DISP_EVIL, 50, 4000, {100, 100} }, - { "BA_MISS_3", ACT_BA_MISS_3, 50, 1500, {200, 200} }, - { "DISP_GOOD", ACT_DISP_GOOD, 50, 3500, {100, 100} }, - { "BO_MANA", ACT_BO_MANA, 40, 1500, {90, 90} }, - { "BA_WATER", ACT_BA_WATER, 50, 2000, {250, 0} }, - { "BA_STAR", ACT_BA_STAR, 50, 2200, {200, 200} }, - { "BA_DARK", ACT_BA_DARK, 50, 2200, {150, 150} }, - { "BA_MANA", ACT_BA_MANA, 70, 2500, {150, 150} }, - { "PESTICIDE", ACT_PESTICIDE, 10, 500, {55, 55} }, - { "BLINDING_LIGHT", ACT_BLINDING_LIGHT, 30, 5000, {250, 0} }, - { "BIZARRE", ACT_BIZARRE, 90, 10000, {450, 450} }, - { "CAST_BA_STAR", ACT_CAST_BA_STAR, 70, 7500, {1000, 0} }, - { "BLADETURNER", ACT_BLADETURNER, 80, 20000, {400, 0} }, - { "BA_ACID_1", ACT_BA_ACID_1, 30, 1000, {12, 12} }, - { "BR_FIRE", ACT_BR_FIRE, 50, 5000, {-1, 0} }, - { "BR_COLD", ACT_BR_COLD, 50, 5000, {-1, 0} }, - { "BR_DRAGON", ACT_BR_DRAGON, 70, 10000, { 200, 200 } }, - - { "CONFUSE", ACT_CONFUSE, 10, 500, {15, 0} }, - { "SLEEP", ACT_SLEEP, 10, 750, {55, 0} }, - { "QUAKE", ACT_QUAKE, 30, 600, {50, 0} }, - { "TERROR", ACT_TERROR, 20, 2500, {-1, 0} }, - { "TELE_AWAY", ACT_TELE_AWAY, 20, 2000, {150, 0} }, - { "BANISH_EVIL", ACT_BANISH_EVIL, 40, 2000, {250, 250} }, - { "GENOCIDE", ACT_GENOCIDE, 50, 10000, {500, 0} }, - { "MASS_GENO", ACT_MASS_GENO, 50, 10000, {1000, 0} }, - { "SCARE_AREA", ACT_SCARE_AREA, 20, 2500, {40, 40} }, - { "AGGRAVATE", ACT_AGGRAVATE, 0, 100, {0, 0} }, - - { "CHARM_ANIMAL", ACT_CHARM_ANIMAL, 40, 7500, {200, 0} }, - { "CHARM_UNDEAD", ACT_CHARM_UNDEAD, 40, 10000, {333, 0} }, - { "CHARM_OTHER", ACT_CHARM_OTHER, 40, 10000, {400, 0} }, - { "CHARM_ANIMALS", ACT_CHARM_ANIMALS, 40, 12500, {500, 0} }, - { "CHARM_OTHERS", ACT_CHARM_OTHERS, 40, 17500, {750, 0} }, - { "SUMMON_ANIMAL", ACT_SUMMON_ANIMAL, 50, 10000, {200, 300} }, - { "SUMMON_PHANTOM", ACT_SUMMON_PHANTOM, 50, 12000, {200, 200} }, - { "SUMMON_ELEMENTAL", ACT_SUMMON_ELEMENTAL, 50, 15000, {750, 0} }, - { "SUMMON_DEMON", ACT_SUMMON_DEMON, 50, 20000, {666, 333} }, - { "SUMMON_UNDEAD", ACT_SUMMON_UNDEAD, 50, 20000, {666, 333} }, - { "SUMMON_HOUND", ACT_SUMMON_HOUND, 50, 15000, {300, 150} }, - { "SUMMON_DAWN", ACT_SUMMON_DAWN, 50, 15000, {500, 500} }, - { "SUMMON_OCTOPUS", ACT_SUMMON_OCTOPUS, 50, 15000, {300, 150} }, - - { "CHOIR_SINGS", ACT_CHOIR_SINGS, 60, 20000, {300, 0} }, - { "CURE_LW", ACT_CURE_LW, 10, 500, {10, 0} }, - { "CURE_MW", ACT_CURE_MW, 20, 750, {3, 3} }, - { "CURE_POISON", ACT_CURE_POISON, 10, 1000, {5, 0} }, - { "REST_LIFE", ACT_REST_LIFE, 40, 7500, {450, 0} }, - { "REST_ALL", ACT_REST_ALL, 30, 15000, {750, 0} }, - { "CURE_700", ACT_CURE_700, 40, 10000, {250, 0} }, - { "CURE_1000", ACT_CURE_1000, 50, 15000, {888, 0} }, - { "CURING", ACT_CURING, 30, 5000, {100, 0} }, - { "CURE_MANA_FULL", ACT_CURE_MANA_FULL, 60, 20000, {777, 0} }, - - { "ESP", ACT_ESP, 30, 1500, {200, 0} }, - { "BERSERK", ACT_BERSERK, 10, 800, {75, 75} }, - { "PROT_EVIL", ACT_PROT_EVIL, 30, 5000, {200, 200} }, - { "RESIST_ALL", ACT_RESIST_ALL, 30, 5000, {111, 0} }, - { "SPEED", ACT_SPEED, 40, 15000, {250, 0} }, - { "XTRA_SPEED", ACT_XTRA_SPEED, 40, 25000, {200, 200} }, - { "WRAITH", ACT_WRAITH, 90, 25000, {1000, 0} }, - { "INVULN", ACT_INVULN, 90, 25000, {1000, 0} }, - { "HELO", ACT_HELO, 10, 500, {30, 30} }, - { "HELO_SPEED", ACT_HELO_SPEED, 30, 20000, {100, 200} }, - { "RESIST_ACID", ACT_RESIST_ACID, 20, 2000, {40, 40} }, - { "RESIST_FIRE", ACT_RESIST_FIRE, 20, 2000, {40, 40} }, - { "RESIST_COLD", ACT_RESIST_COLD, 20, 2000, {40, 40} }, - { "RESIST_ELEC", ACT_RESIST_ELEC, 20, 2000, {40, 40} }, - { "RESIST_POIS", ACT_RESIST_POIS, 20, 2000, {40, 40} }, - - { "LIGHT", ACT_LIGHT, 10, 150, {10, 10} }, - { "MAP_LIGHT", ACT_MAP_LIGHT, 30, 500, {50, 50} }, - { "DETECT_ALL", ACT_DETECT_ALL, 30, 1000, {55, 55} }, - { "DETECT_XTRA", ACT_DETECT_XTRA, 50, 12500, {100, 0} }, - { "ID_FULL", ACT_ID_FULL, 50, 10000, {75, 0} }, - { "ID_PLAIN", ACT_ID_PLAIN, 20, 1250, {10, 0} }, - { "RUNE_EXPLO", ACT_RUNE_EXPLO, 40, 4000, {200, 0} }, - { "RUNE_PROT", ACT_RUNE_PROT, 60, 10000, {400, 0} }, - { "SATIATE", ACT_SATIATE, 10, 2000, {200, 0} }, - { "DEST_DOOR", ACT_DEST_DOOR, 10, 100, {10, 0} }, - { "STONE_MUD", ACT_STONE_MUD, 20, 1000, {3, 0} }, - { "RECHARGE", ACT_RECHARGE, 30, 1000, {70, 0} }, - { "ALCHEMY", ACT_ALCHEMY, 50, 10000, {500, 0} }, - { "DIM_DOOR", ACT_DIM_DOOR, 50, 10000, {100, 0} }, - { "TELEPORT", ACT_TELEPORT, 10, 2000, {25, 0} }, - { "RECALL", ACT_RECALL, 30, 7500, {200, 0} }, - { "JUDGE", ACT_JUDGE, 90, 50000, {20, 20} }, - { "TELEKINESIS", ACT_TELEKINESIS, 20, 5500, {25, 25} }, - { "DETECT_UNIQUE", ACT_DETECT_UNIQUE, 40, 10000, {200, 0} }, - { "ESCAPE", ACT_ESCAPE, 10, 3000, {35, 0} }, - { "DISP_CURSE_XTRA", ACT_DISP_CURSE_XTRA, 40, 30000, {0, 0} }, - { "BRAND_FIRE_BOLTS", ACT_BRAND_FIRE_BOLTS, 40, 20000, {999, 0} }, - { "RECHARGE_XTRA", ACT_RECHARGE_XTRA, 70, 30000, {200, 0} }, - { "LORE", ACT_LORE, 10, 30000, {0, 0} }, - { "SHIKOFUMI", ACT_SHIKOFUMI, 10, 10000, {100, 100} }, - { "PHASE_DOOR", ACT_PHASE_DOOR, 10, 1500, {10, 0} }, - { "DETECT_ALL_MONS", ACT_DETECT_ALL_MONS, 30, 3000, {150, 0} }, - { "ULTIMATE_RESIST", ACT_ULTIMATE_RESIST, 90, 20000, {777, 0} }, - - { "FISHING", ACT_FISHING, 0, 100, {0, 0} }, - { "INROU", ACT_INROU, 40, 15000, {150, 150} }, - { "MURAMASA", ACT_MURAMASA, 0, 0, {-1, 0} }, - { "BLOODY_MOON", ACT_BLOODY_MOON, 0, 0, {3333, 0} }, - { "CRIMSON", ACT_CRIMSON, 0, 50000, {15, 0} }, - - { NULL, 0, 0, 0, {0, 0} } + { "SUNLIGHT", ACT_SUNLIGHT, 10, 250, {10, 0}, + _("ÂÀÍÛ¸÷Àþ", "beam of sunlight") }, + { "BO_MISS_1", ACT_BO_MISS_1, 10, 250, {2, 0}, + _("¥Þ¥¸¥Ã¥¯¡¦¥ß¥µ¥¤¥ë(2d6)", "magic missile (2d6)") }, + { "BA_POIS_1", ACT_BA_POIS_1, 10, 300, {4, 4}, + _("°­½­±À(12)", "stinking cloud (12)") }, + { "BO_ELEC_1", ACT_BO_ELEC_1, 20, 250, {5, 5}, + _("¥µ¥ó¥À¡¼¡¦¥Ü¥ë¥È(4d8)", "lightning bolt (4d8)") }, + { "BO_ACID_1", ACT_BO_ACID_1, 20, 250, {6, 6}, + _("¥¢¥·¥Ã¥É¡¦¥Ü¥ë¥È(5d8)", "acid bolt (5d8)") }, + { "BO_COLD_1", ACT_BO_COLD_1, 20, 250, {7, 7}, + _("¥¢¥¤¥¹¡¦¥Ü¥ë¥È(6d8)", "frost bolt (6d8)") }, + { "BO_FIRE_1", ACT_BO_FIRE_1, 20, 250, {8, 8}, + _("¥Õ¥¡¥¤¥¢¡¦¥Ü¥ë¥È(9d8)", "fire bolt (9d8)") }, + { "BA_COLD_1", ACT_BA_COLD_1, 30, 750, {6, 6}, + _("¥¢¥¤¥¹¡¦¥Ü¡¼¥ë(48)", "ball of cold (48)") }, + { "BA_FIRE_1", ACT_BA_FIRE_1, 30, 1000, {9, 9}, + _("¥Õ¥¡¥¤¥¢¡¦¥Ü¡¼¥ë(72)", "ball of fire (72)") }, + { "DRAIN_1", ACT_DRAIN_1, 30, 500, {100, 100}, + _("Ã⩹¶·â(100)", "a strangling attack (100)") }, + { "BA_COLD_2", ACT_BA_COLD_2, 40, 1250, {12, 12}, + _("¥¢¥¤¥¹¡¦¥Ü¡¼¥ë(100)", "ball of cold (100)") }, + { "BA_ELEC_2", ACT_BA_ELEC_2, 40, 1500, {12, 12}, + _("¥µ¥ó¥À¡¼¡¦¥Ü¡¼¥ë(100)", "ball of lightning (100)") }, + { "BA_FIRE_2", ACT_BA_FIRE_2, 40, 1500, {15, 0}, + _("µðÂç¥Õ¥¡¥¤¥¢¡¦¥Ü¡¼¥ë(120)", "large fire ball (120)") }, + { "DRAIN_2", ACT_DRAIN_2, 40, 750, {400, 0}, + _("À¸Ì¿Îϵۼý(120)", "drain life (120)") }, + { "VAMPIRE_1", ACT_VAMPIRE_1, 40, 1000, {400, 0}, + _("µÛ·ì¥É¥ì¥¤¥ó(3*50)", "vampiric drain (3*50)") }, + { "BO_MISS_2", ACT_BO_MISS_2, 40, 1000, {90, 90}, + _("Ìð(150)", "arrows (150)") }, + { "BA_FIRE_3", ACT_BA_FIRE_3, 60, 1750, {225, 225}, + _("µðÂç¥Õ¥¡¥¤¥¢¡¦¥Ü¡¼¥ë(300)", "fire ball (300)") }, + { "BA_COLD_3", ACT_BA_COLD_3, 70, 2500, {325, 325}, + _("µðÂ祢¥¤¥¹¡¦¥Ü¡¼¥ë(400)", "ball of cold (400)") }, + { "BA_ELEC_3", ACT_BA_ELEC_3, 70, 2500, {425, 425}, + _("µðÂ祵¥ó¥À¡¼¡¦¥Ü¡¼¥ë(500)", "ball of lightning (500)") }, + { "WHIRLWIND", ACT_WHIRLWIND, 50, 7500, {250, 0}, + _("¥«¥Þ¥¤¥¿¥Á", "whirlwind attack") }, + { "VAMPIRE_2", ACT_VAMPIRE_2, 50, 2500, {400, 0}, + _("µÛ·ì¥É¥ì¥¤¥ó(3*100)", "vampiric drain (3*100)") }, + { "CALL_CHAOS", ACT_CALL_CHAOS, 70, 5000, {350, 0}, + _("º®ÆÙ¾¤Íè", "call chaos") }, + { "ROCKET", ACT_ROCKET, 70, 5000, {400, 0}, + _("¥í¥±¥Ã¥È(120+¥ì¥Ù¥ë)", "launch rocket (120+level)") }, + { "DISP_EVIL", ACT_DISP_EVIL, 50, 4000, {100, 100}, + _("¼Ù°­Â໶(x5)", "dispel evil (x5)") }, + { "BA_MISS_3", ACT_BA_MISS_3, 50, 1500, {200, 200}, + _("¥¨¥ì¥á¥ó¥È¤Î¥Ö¥ì¥¹(300)", "elemental breath (300)") }, + { "DISP_GOOD", ACT_DISP_GOOD, 50, 3500, {100, 100}, + _("Á±ÎÉÂ໶(x5)", "dispel good (x5)") }, + { "BO_MANA", ACT_BO_MANA, 40, 1500, {90, 90}, + _("ËâË¡¤ÎÌð(150)", "a magical arrow (150)") }, + { "BA_WATER", ACT_BA_WATER, 50, 2000, {250, 0}, + _("¥¦¥©¡¼¥¿¡¼¡¦¥Ü¡¼¥ë(200)", "water ball (200)") }, + { "BA_STAR", ACT_BA_STAR, 50, 2200, {200, 200}, + _("µðÂ祹¥¿¡¼¡¦¥Ü¡¼¥ë(200)", "large star ball (200)") }, + { "BA_DARK", ACT_BA_DARK, 50, 2200, {150, 150}, + _("°Å¹õ¤ÎÍò(250)", "darkness storm (250)") }, + { "BA_MANA", ACT_BA_MANA, 70, 2500, {150, 150}, + _("ËâÎϤÎÍò(250)", "a mana storm (250)") }, + { "PESTICIDE", ACT_PESTICIDE, 10, 500, {55, 55}, + _("³²Ãî¤Î¶î½ü", "dispel small life") }, + { "BLINDING_LIGHT", ACT_BLINDING_LIGHT, 30, 5000, {250, 0}, + _("âÁ¤·¤¤¸÷", "blinding light") }, + { "BIZARRE", ACT_BIZARRE, 90, 10000, {450, 450}, + _("¿®¤¸Æñ¤¤¤³¤È", "bizarre things") }, + { "CAST_BA_STAR", ACT_CAST_BA_STAR, 70, 7500, {1000, 0}, + _("¥¹¥¿¡¼¡¦¥Ü¡¼¥ë¡¦¥À¥¹¥È(150)", "cast star balls (150)") }, + { "BLADETURNER", ACT_BLADETURNER, 80, 20000, {400, 0}, + _("¥¨¥ì¥á¥ó¥È¤Î¥Ö¥ì¥¹(300), »Îµ¤¹âÍÈ¡¢½ËÊ¡¡¢ÂÑÀ­", "breathe elements (300), hero, bless, and resistance") }, + { "BA_ACID_1", ACT_BA_ACID_1, 30, 1000, {12, 12}, + _("¥¢¥·¥Ã¥É¡¦¥Ü¡¼¥ë(100)", "ball of acid (100)") }, + { "BR_FIRE", ACT_BR_FIRE, 50, 5000, {-1, 0}, + _("²Ð±ê¤Î¥Ö¥ì¥¹ (200)", "fire breath (200)") }, + { "BR_COLD", ACT_BR_COLD, 50, 5000, {-1, 0}, + _("Î䵤¤Î¥Ö¥ì¥¹ (200)", "cold breath (200)") }, + { "BR_DRAGON", ACT_BR_DRAGON, 70, 10000, { 200, 200 }, + "" /* built by item_activation_dragon_breath() */ }, + + { "CONFUSE", ACT_CONFUSE, 10, 500, {15, 0}, + _("¥Ñ¥Ë¥Ã¥¯¡¦¥â¥ó¥¹¥¿¡¼", "confuse monster") }, + { "SLEEP", ACT_SLEEP, 10, 750, {55, 0}, + _("¼þ°Ï¤Î¥â¥ó¥¹¥¿¡¼¤ò̲¤é¤»¤ë", "sleep nearby monsters") }, + { "QUAKE", ACT_QUAKE, 30, 600, {50, 0}, + _("ÃÏ¿Ì", "earthquake") }, + { "TERROR", ACT_TERROR, 20, 2500, {-1, 0}, + _("¶²¹²", "terror") }, + { "TELE_AWAY", ACT_TELE_AWAY, 20, 2000, {150, 0}, + _("¥Æ¥ì¥Ý¡¼¥È¡¦¥¢¥¦¥§¥¤", "teleport away") }, + { "BANISH_EVIL", ACT_BANISH_EVIL, 40, 2000, {250, 250}, + _("¼Ù°­¾ÃÌÇ", "banish evil") }, + { "GENOCIDE", ACT_GENOCIDE, 50, 10000, {500, 0}, + _("Ëõ»¦", "genocide") }, + { "MASS_GENO", ACT_MASS_GENO, 50, 10000, {1000, 0}, + _("¼þÊÕËõ»¦", "mass genocide") }, + { "SCARE_AREA", ACT_SCARE_AREA, 20, 2500, {40, 40}, + _("¥â¥ó¥¹¥¿¡¼¶²¹²", "frighten monsters") }, + { "AGGRAVATE", ACT_AGGRAVATE, 0, 100, {0, 0}, + _("¥â¥ó¥¹¥¿¡¼¤òÅܤ餻¤ë", "aggravete monsters") }, + + { "CHARM_ANIMAL", ACT_CHARM_ANIMAL, 40, 7500, {200, 0}, + _("ưʪ̥λ", "charm animal") }, + { "CHARM_UNDEAD", ACT_CHARM_UNDEAD, 40, 10000, {333, 0}, + _("¥¢¥ó¥Ç¥Ã¥É½¾Â°", "enslave undead") }, + { "CHARM_OTHER", ACT_CHARM_OTHER, 40, 10000, {400, 0}, + _("¥â¥ó¥¹¥¿¡¼Ì¥Î»", "charm monster") }, + { "CHARM_ANIMALS", ACT_CHARM_ANIMALS, 40, 12500, {500, 0}, + _("ưʪͧÏÂ", "animal friendship") }, + { "CHARM_OTHERS", ACT_CHARM_OTHERS, 40, 17500, {750, 0}, + _("¼þÊÕ̥λ", "mass charm") }, + { "SUMMON_ANIMAL", ACT_SUMMON_ANIMAL, 50, 10000, {200, 300}, + _("ưʪ¾¤´­", "summon animal") }, + { "SUMMON_PHANTOM", ACT_SUMMON_PHANTOM, 50, 12000, {200, 200}, + _("¸¸Î´­", "summon phantasmal servant") }, + { "SUMMON_ELEMENTAL", ACT_SUMMON_ELEMENTAL, 50, 15000, {750, 0}, + _("¥¨¥ì¥á¥ó¥¿¥ë¾¤´­", "summon elemental") }, + { "SUMMON_DEMON", ACT_SUMMON_DEMON, 50, 20000, {666, 333}, + _("°­Ë⾤´­", "summon demon") }, + { "SUMMON_UNDEAD", ACT_SUMMON_UNDEAD, 50, 20000, {666, 333}, + _("¥¢¥ó¥Ç¥Ã¥É¾¤´­", "summon undead") }, + { "SUMMON_HOUND", ACT_SUMMON_HOUND, 50, 15000, {300, 150}, + _("¥Ï¥¦¥ó¥É¾¤´­", "summon hound") }, + { "SUMMON_DAWN", ACT_SUMMON_DAWN, 50, 15000, {500, 500}, + _("¶Ç¤Î»ÕÃľ¤´­", "summon the Legion of the Dawn") }, + { "SUMMON_OCTOPUS", ACT_SUMMON_OCTOPUS, 50, 15000, {300, 150}, + _("Âý¤ÎÂç·²¾¤´­", "summon octopus") }, + + { "CHOIR_SINGS", ACT_CHOIR_SINGS, 60, 20000, {300, 0}, + _("²óÉü(777)¡¢Ìþ¤·¡¢»Îµ¤¹âÍÈ", "heal 777 hit points, curing and heloism") }, + { "CURE_LW", ACT_CURE_LW, 10, 500, {10, 0}, + _("¶²Éݽüµî/ÂÎÎϲóÉü(30)", "remove fear and heal 30 hp") }, + { "CURE_MW", ACT_CURE_MW, 20, 750, {3, 3}, + _("½ý²óÉü(4d8)", "heal 4d8 and wounds") }, + { "CURE_POISON", ACT_CURE_POISON, 10, 1000, {5, 0}, + _("¶²Éݽüµî/ÆǾä·", "remove fear and cure poison") }, + { "REST_LIFE", ACT_REST_LIFE, 40, 7500, {450, 0}, + _("·Ð¸³ÃÍÉü³è", "restore life levels") }, + { "REST_ALL", ACT_REST_ALL, 30, 15000, {750, 0}, + _("Á´¥¹¥Æ¡¼¥¿¥¹¤È·Ð¸³ÃÍÉü³è", "restore stats and life levels") }, + { "CURE_700", ACT_CURE_700, 40, 10000, {250, 0}, + _("ÂÎÎϲóÉü(700)", "heal 700 hit points") }, + { "CURE_1000", ACT_CURE_1000, 50, 15000, {888, 0}, + _("ÂÎÎϲóÉü(1000)", "heal 1000 hit points") }, + { "CURING", ACT_CURING, 30, 5000, {100, 0}, + _("Ìþ¤·", "curing") }, + { "CURE_MANA_FULL", ACT_CURE_MANA_FULL, 60, 20000, {777, 0}, + _("ËâÎÏÉü³è", "restore mana") }, + + { "ESP", ACT_ESP, 30, 1500, {200, 0}, + _("¥Æ¥ì¥Ñ¥·¡¼(´ü´Ö 25+d30)", "telepathy (dur 25+d30)") }, + { "BERSERK", ACT_BERSERK, 10, 800, {75, 75}, + _("¶¸Àï»Î²½(25+d25¥¿¡¼¥ó)", "berserk (25+d25 turns)") }, + { "PROT_EVIL", ACT_PROT_EVIL, 30, 5000, {200, 200}, + _("Âмٰ­·ë³¦(´ü´Ö 3*¥ì¥Ù¥ë+d25)", "protect evil (dur level*3 + d25)") }, + { "RESIST_ALL", ACT_RESIST_ALL, 30, 5000, {111, 0}, + _("Á´ÂÑÀ­(´ü´Ö 20+d20)", "resist elements (dur 20+d20)") }, + { "SPEED", ACT_SPEED, 40, 15000, {250, 0}, + _("²Ã®(´ü´Ö 20+d20)", "speed (dur 20+d20)") }, + { "XTRA_SPEED", ACT_XTRA_SPEED, 40, 25000, {200, 200}, + _("²Ã®(´ü´Ö 75+d75)", "speed (dur 75+d75)") }, + { "WRAITH", ACT_WRAITH, 90, 25000, {1000, 0}, + _("Í©Âβ½(´ü´Ö (¥ì¥Ù¥ë/2)+d(¥ì¥Ù¥ë/2))", "wraith form (dur level/2 + d(level/2))") }, + { "INVULN", ACT_INVULN, 90, 25000, {1000, 0}, + _("̵Ũ²½(´ü´Ö 8+d8)", "invulnerability (dur 8+d8)") }, + { "HELO", ACT_HELO, 10, 500, {30, 30}, + _("»Îµ¤¹âÍÈ", "heroism") }, + { "HELO_SPEED", ACT_HELO_SPEED, 30, 20000, {100, 200}, + _("»Îµ¤¹âÍÈ, ¥¹¥Ô¡¼¥É(´ü´Ö 50+d50¥¿¡¼¥ó)", "hero and +10 to speed (50)") }, + { "RESIST_ACID", ACT_RESIST_ACID, 20, 2000, {40, 40}, + _("»À¤Ø¤ÎÂÑÀ­(´ü´Ö 20+d20)", "resist acid (dur 20+d20)") }, + { "RESIST_FIRE", ACT_RESIST_FIRE, 20, 2000, {40, 40}, + _("²Ð±ê¤Ø¤ÎÂÑÀ­(´ü´Ö 20+d20)", "resist fire (dur 20+d20)") }, + { "RESIST_COLD", ACT_RESIST_COLD, 20, 2000, {40, 40}, + _("Î䵤¤Ø¤ÎÂÑÀ­(´ü´Ö 20+d20)", "resist cold (dur 20+d20)") }, + { "RESIST_ELEC", ACT_RESIST_ELEC, 20, 2000, {40, 40}, + _("ÅÅ·â¤Ø¤ÎÂÑÀ­(´ü´Ö 20+d20)", "resist elec (dur 20+d20)") }, + { "RESIST_POIS", ACT_RESIST_POIS, 20, 2000, {40, 40}, + _("ÆǤؤÎÂÑÀ­(´ü´Ö 20+d20)", "resist poison (dur 20+d20)") }, + + { "LIGHT", ACT_LIGHT, 10, 150, {10, 10}, + _("¥¤¥ë¥ß¥Í¡¼¥·¥ç¥ó", "light area (dam 2d15)") }, + { "MAP_LIGHT", ACT_MAP_LIGHT, 30, 500, {50, 50}, + _("ËâË¡¤ÎÃϿޤȸ÷", "light (dam 2d15) & map area") }, + { "DETECT_ALL", ACT_DETECT_ALL, 30, 1000, {55, 55}, + _("Á´´¶ÃÎ", "detection") }, + { "DETECT_XTRA", ACT_DETECT_XTRA, 50, 12500, {100, 0}, + _("Á´´¶ÃΡ¢Ãµº÷¡¢*´ÕÄê*", "detection, probing and identify true") }, + { "ID_FULL", ACT_ID_FULL, 50, 10000, {75, 0}, + _("*´ÕÄê*", "identify true") }, + { "ID_PLAIN", ACT_ID_PLAIN, 20, 1250, {10, 0}, + _("´ÕÄê", "identify spell") }, + { "RUNE_EXPLO", ACT_RUNE_EXPLO, 40, 4000, {200, 0}, + _("Çúȯ¤Î¥ë¡¼¥ó", "explosive rune") }, + { "RUNE_PROT", ACT_RUNE_PROT, 60, 10000, {400, 0}, + _("¼é¤ê¤Î¥ë¡¼¥ó", "rune of protection") }, + { "SATIATE", ACT_SATIATE, 10, 2000, {200, 0}, + _("¶õÊ¢½¼Â­", "satisfy hunger") }, + { "DEST_DOOR", ACT_DEST_DOOR, 10, 100, {10, 0}, + _("¥É¥¢Ç˲õ", "destroy doors") }, + { "STONE_MUD", ACT_STONE_MUD, 20, 1000, {3, 0}, + _("´äÀÐÍϲò", "stone to mud") }, + { "RECHARGE", ACT_RECHARGE, 30, 1000, {70, 0}, + _("ËâÎϽ¼Å¶", "recharging") }, + { "ALCHEMY", ACT_ALCHEMY, 50, 10000, {500, 0}, + _("Ï£¶â½Ñ", "alchemy") }, + { "DIM_DOOR", ACT_DIM_DOOR, 50, 10000, {100, 0}, + _("¼¡¸µ¤ÎÈâ", "dimension door") }, + { "TELEPORT", ACT_TELEPORT, 10, 2000, {25, 0}, + _("¥Æ¥ì¥Ý¡¼¥È", "teleport") }, + { "RECALL", ACT_RECALL, 30, 7500, {200, 0}, + _("µ¢´Ô¤Î¾Û", "word of recall") }, + { "JUDGE", ACT_JUDGE, 90, 50000, {20, 20}, + _("ÂÎÎϤȰú¤­Âؤ¨¤ËÀéΤ´ã¤Èµ¢´Ô", "a telekinesis (500 lb)") }, + { "TELEKINESIS", ACT_TELEKINESIS, 20, 5500, {25, 25}, + _("ʪÂΤò°ú¤­´ó¤»¤ë(½ÅÎÌ25kg¤Þ¤Ç)", "clairvoyance and recall, draining you") }, + { "DETECT_UNIQUE", ACT_DETECT_UNIQUE, 40, 10000, {200, 0}, + _("¤³¤Î³¬¤Ë¤¤¤ë¥æ¥Ë¡¼¥¯¥â¥ó¥¹¥¿¡¼¤òɽ¼¨", "list of the uniques on the level") }, + { "ESCAPE", ACT_ESCAPE, 10, 3000, {35, 0}, + _("ƨÁö", "a getaway") }, + { "DISP_CURSE_XTRA", ACT_DISP_CURSE_XTRA, 40, 30000, {0, 0}, + _("*²ò¼ö*¤ÈÄ´ºº", "dispel curse and probing") }, + { "BRAND_FIRE_BOLTS", ACT_BRAND_FIRE_BOLTS, 40, 20000, {999, 0}, + _("¿ÏÀè¤Î¥Õ¥¡¥¤¥¢¡¦¥Ü¥ë¥È", "fire branding of bolts") }, + { "RECHARGE_XTRA", ACT_RECHARGE_XTRA, 70, 30000, {200, 0}, + _("ËâÎϽ¼Å¶", "recharge item") }, + { "LORE", ACT_LORE, 10, 30000, {0, 0}, + _("´í¸±¤òȼ¤¦´ÕÄê", "perilous identify") }, + { "SHIKOFUMI", ACT_SHIKOFUMI, 10, 10000, {100, 100}, + _("»Í¸ÔƧ¤ß", "shiko") }, + { "PHASE_DOOR", ACT_PHASE_DOOR, 10, 1500, {10, 0}, + _("¥·¥ç¡¼¥È¡¦¥Æ¥ì¥Ý¡¼¥È", "blink") }, + { "DETECT_ALL_MONS", ACT_DETECT_ALL_MONS, 30, 3000, {150, 0}, + _("Á´¥â¥ó¥¹¥¿¡¼´¶ÃÎ", "detect all monsters") }, + { "ULTIMATE_RESIST", ACT_ULTIMATE_RESIST, 90, 20000, {777, 0}, + _("»Îµ¤¹âÍÈ¡¢½ËÊ¡¡¢µæ¶Ë¤ÎÂÑÀ­", "hero, bless, and ultimate resistance") }, + + { "FISHING", ACT_FISHING, 0, 100, {0, 0}, + _("Äà¤ê¤ò¤¹¤ë", "fishing") }, + { "INROU", ACT_INROU, 40, 15000, {150, 150}, + _("Îã¤Î¥¢¥ì", "reveal your identity") }, + { "MURAMASA", ACT_MURAMASA, 0, 0, {-1, 0}, + _("ÏÓÎϤξ徺", "increase STR") }, + { "BLOODY_MOON", ACT_BLOODY_MOON, 0, 0, {3333, 0}, + _("°À­Êѹ¹", "change zokusei") }, + { "CRIMSON", ACT_CRIMSON, 0, 50000, {15, 0}, + _("¥Õ¥¡¥¤¥¢¡ª", "fire!") }, + + { NULL, 0, 0, 0, {0, 0}, + "" } }; diff --git a/src/types.h b/src/types.h index 2fa51aebb..7f3b1652e 100644 --- a/src/types.h +++ b/src/types.h @@ -1721,6 +1721,7 @@ typedef struct { int constant; int dice; } timeout; + cptr desc; } activation_type; typedef struct { -- 2.11.0