OSDN Git Service

Rings' egos also are defined its activation type in e_info.txt.
authoriks <iks@0568b783-4c39-0410-ac80-bf13821ea2a2>
Thu, 31 Jan 2013 12:45:29 +0000 (12:45 +0000)
committeriks <iks@0568b783-4c39-0410-ac80-bf13821ea2a2>
Thu, 31 Jan 2013 12:45:29 +0000 (12:45 +0000)
lib/edit/e_info.txt
src/artifact.c
src/cmd6.c
src/defines.h
src/object1.c
src/tables.c

index 0b526b6..40c5f7b 100644 (file)
@@ -1009,6 +1009,7 @@ X:27:10
 W:5:0:0:300
 C:0:0:0:0
 F:ACTIVATE
+U:HELO
 
 N:151:»¦Ù¤¤Î
 E:and Slaying
@@ -1028,6 +1029,7 @@ X:27:5
 W:2:0:0:200
 C:0:0:0:0
 F:ACTIVATE
+U:BO_MISS_1
 
 N:154:²Ð±ê¤ÎÌð¤Î
 E:and Fire bolt
@@ -1035,6 +1037,7 @@ X:27:5
 W:10:0:0:700
 C:0:0:0:0
 F:ACTIVATE
+U:BO_FIRE_1
 
 N:155:Î䵤¤ÎÌð¤Î
 E:and Frost bolt
@@ -1042,6 +1045,7 @@ X:27:5
 W:9:0:0:600
 C:0:0:0:0
 F:ACTIVATE
+U:BO_COLD_1
 
 N:156:ÅÅ·â¤ÎÌð¤Î
 E:and Lightning bolt
@@ -1049,6 +1053,7 @@ X:27:5
 W:7:0:0:400
 C:0:0:0:0
 F:ACTIVATE
+U:BO_ELEC_1
 
 N:157:»À¤ÎÌð¤Î
 E:and Acid bolt
@@ -1056,6 +1061,7 @@ X:27:5
 W:8:0:0:500
 C:0:0:0:0
 F:ACTIVATE
+U:BO_ACID_1
 
 N:158:ËâÎϤÎÌð¤Î
 E:and Mana bolt
@@ -1063,6 +1069,7 @@ X:27:10
 W:50:0:0:1500
 C:0:0:0:0
 F:ACTIVATE
+U:BO_MANA
 
 N:159:²Ðµå¤Î
 E:and Fire ball
@@ -1070,6 +1077,7 @@ X:27:10
 W:40:0:0:1500
 C:0:0:0:0
 F:ACTIVATE
+U:BA_FIRE_1
 
 N:160:¥Ö¥ê¥¶¡¼¥É¤Î
 E:and Blizzard
@@ -1077,6 +1085,7 @@ X:27:10
 W:40:0:0:1500
 C:0:0:0:0
 F:ACTIVATE
+U:BA_COLD_2
 
 N:161:Íëµå¤Î
 E:and Ball Lightning
@@ -1084,6 +1093,7 @@ X:27:10
 W:40:0:0:1500
 C:0:0:0:0
 F:ACTIVATE
+U:BA_ELEC_2
 
 N:162:»À¤Îµå¤Î
 E:and Acid ball
@@ -1091,6 +1101,7 @@ X:27:10
 W:40:0:0:1500
 C:0:0:0:0
 F:ACTIVATE
+U:BA_ACID_1
 
 N:163:ËâÎϤÎÍò¤Î
 E:and Mana Storm
@@ -1098,6 +1109,7 @@ X:27:25
 W:100:0:0:8000
 C:0:0:0:0
 F:ACTIVATE
+U:BA_MANA
 
 N:164:¥É¥é¥´¥ó¤Î²Ð±ê¤Î
 E:and Dragon's Flame
@@ -1105,6 +1117,7 @@ X:27:20
 W:70:0:0:5000
 C:0:0:0:0
 F:ACTIVATE
+U:BR_FIRE
 
 N:165:¥É¥é¥´¥ó¤ÎÎ䵤¤Î
 E:and Dragon's Frost
@@ -1112,6 +1125,7 @@ X:27:20
 W:70:0:0:5000
 C:0:0:0:0
 F:ACTIVATE
+U:BR_COLD
 
 N:166:ÆóÃʲî¤Î
 E:and Haste
@@ -1119,6 +1133,7 @@ X:27:20
 W:90:0:0:30000
 C:0:0:0:0
 F:ACTIVATE
+U:SPEED
 
 N:167:¶¸Àï»Î¤Î
 E:of Berserker
@@ -1126,6 +1141,7 @@ X:27:15
 W:30:0:0:2000
 C:0:0:0:0
 F:ACTIVATE
+U:BERSERK
 
 N:168:¼í¿Í¤Î
 E:of Hunter
@@ -1160,6 +1176,7 @@ X:27:5
 W:30:0:0:1000
 C:0:0:0:0
 F:ACTIVATE
+U:DETECT_ALL_MONS
 
 N:173:Ǧ¤Ó¤Î
 E:and Stealth
@@ -1174,6 +1191,7 @@ X:27:10
 W:45:0:0:2000
 C:0:0:0:0
 F:ACTIVATE
+U:TELE_AWAY
 
 N:175:ÀºÅÙ¤Î
 E:and Accuracy
@@ -1214,6 +1232,7 @@ X:27:30
 W:100:0:0:50000
 C:0:0:15:0
 F:ACTIVATE
+U:ULTIMATE_RESIST
 
 N:181:·Ð¸³Ã͵ۼý¤Î
 E:and Experience Drain
index 61af8b5..1c2b4ad 100644 (file)
@@ -2381,8 +2381,8 @@ bool activate_random_artifact(object_type *o_ptr)
                        msg_format("The %s glows pale...", name);
 #endif
                        if (!get_aim_dir(&dir)) return FALSE;
-                       fire_ball(GF_MANA, dir, 400, 4);
-                       o_ptr->timeout = randint0(250) + 250;
+                       fire_ball(GF_MANA, dir, 250, 4);
+                       o_ptr->timeout = randint0(150) + 150;
                        break;
                }
 
@@ -2481,6 +2481,38 @@ bool activate_random_artifact(object_type *o_ptr)
                        o_ptr->timeout = 400;
                        break;
                }
+               case ACT_BA_ACID_1:
+               {
+                       if (!get_aim_dir(&dir)) return FALSE;
+                       fire_ball(GF_ACID, dir, 100, 2);
+                       o_ptr->timeout = randint0(12) + 12;
+                       break;
+               }
+
+               case ACT_BR_FIRE:
+               {
+                       if (!get_aim_dir(&dir)) return FALSE;
+                       fire_ball(GF_FIRE, dir, 200, -2);
+                       if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_FLAMES))
+                       {
+                               (void)set_oppose_fire(randint1(20) + 20, FALSE);
+                               o_ptr->timeout = 200;
+                       }
+                       else o_ptr->timeout = 250;
+                       break;
+               }
+               case ACT_BR_COLD:
+               {
+                       if (!get_aim_dir(&dir)) return FALSE;
+                       fire_ball(GF_COLD, dir, 200, -2);
+                       if ((o_ptr->tval == TV_RING) && (o_ptr->sval == SV_RING_ICE))
+                       {
+                               (void)set_oppose_cold(randint1(20) + 20, FALSE);
+                               o_ptr->timeout = 200;
+                       }
+                       else o_ptr->timeout = 250;
+                       break;
+               }
 
                /* Activate for other offensive action */
 
@@ -3027,9 +3059,12 @@ bool activate_random_artifact(object_type *o_ptr)
                case ACT_BERSERK:
                {
                        (void)set_afraid(0);
+                       (void)set_shero(randint1(25) + 25, FALSE);
+                       o_ptr->timeout = randint0(75)+75;
+                       /* (void)set_afraid(0);
                        (void)set_hero(randint1(50) + 50, FALSE);
                        (void)set_blessed(randint1(50) + 50, FALSE);
-                       o_ptr->timeout = 100 + randint1(100);
+                       o_ptr->timeout = 100 + randint1(100); */
                        break;
                }
 
@@ -3604,6 +3639,32 @@ bool activate_random_artifact(object_type *o_ptr)
                        break;
                }
 
+               case ACT_DETECT_ALL_MONS:
+               {
+                       (void)detect_monsters_invis(255);
+                       (void)detect_monsters_normal(255);
+                       o_ptr->timeout = 150;
+                       break;
+               }
+
+               case ACT_ULTIMATE_RESIST:
+               {
+                       int v = randint1(25)+25;
+                       (void)set_afraid(0);
+                       (void)set_hero(v, FALSE);
+                       (void)hp_player(10);
+                       (void)set_blessed(v, FALSE);
+                       (void)set_oppose_acid(v, FALSE);
+                       (void)set_oppose_elec(v, FALSE);
+                       (void)set_oppose_fire(v, FALSE);
+                       (void)set_oppose_cold(v, FALSE);
+                       (void)set_oppose_pois(v, FALSE);
+                       (void)set_ultimate_res(v, FALSE);
+                       o_ptr->timeout = 777;
+                       break;
+               }
+
+
                /* Unique activation */
                case ACT_FISHING:
                {
index 1896213..e027818 100644 (file)
@@ -4359,135 +4359,6 @@ msg_print("
 
        else if (o_ptr->tval == TV_RING)
        {
-               if (object_is_ego(o_ptr))
-               {
-                       bool success = TRUE;
-
-                       switch (o_ptr->name2)
-                       {
-                       case EGO_RING_HERO:
-                               (void)set_afraid(0);
-                               (void)set_hero(randint1(25) + 25, FALSE);
-                               (void)hp_player(10);
-                               o_ptr->timeout = randint1(100)+100;
-                               break;
-                       case EGO_RING_MAGIC_MIS:
-                               if (!get_aim_dir(&dir)) return;
-                               fire_bolt(GF_MISSILE, dir, damroll(2, 6));
-                               o_ptr->timeout = 2;
-                               break;
-                       case EGO_RING_FIRE_BOLT:
-                               if (!get_aim_dir(&dir)) return;
-                               fire_bolt(GF_FIRE, dir, damroll(9, 8));
-                               o_ptr->timeout = randint0(8) + 8;
-                               break;
-                       case EGO_RING_COLD_BOLT:
-                               if (!get_aim_dir(&dir)) return;
-                               fire_bolt(GF_COLD, dir, damroll(6, 8));
-                               o_ptr->timeout = randint0(7) + 7;
-                               break;
-                       case EGO_RING_ELEC_BOLT:
-                               if (!get_aim_dir(&dir)) return;
-                               fire_bolt(GF_ELEC, dir, damroll(4, 8));
-                               o_ptr->timeout = randint0(5) + 5;
-                               break;
-                       case EGO_RING_ACID_BOLT:
-                               if (!get_aim_dir(&dir)) return;
-                               fire_bolt(GF_ACID, dir, damroll(5, 8));
-                               o_ptr->timeout = randint0(6) + 6;
-                               break;
-                       case EGO_RING_MANA_BOLT:
-                               if (!get_aim_dir(&dir)) return;
-                               fire_bolt(GF_MANA, dir, 120);
-                               o_ptr->timeout = randint0(120)+120;
-                               break;
-                       case EGO_RING_FIRE_BALL:
-                               if (!get_aim_dir(&dir)) return;
-                               fire_ball(GF_FIRE, dir, 100, 2);
-                               o_ptr->timeout = randint0(80) + 80;
-                               break;
-                       case EGO_RING_COLD_BALL:
-                               if (!get_aim_dir(&dir)) return;
-                               fire_ball(GF_COLD, dir, 100, 2);
-                               o_ptr->timeout = randint0(80) + 80;
-                               break;
-                       case EGO_RING_ELEC_BALL:
-                               if (!get_aim_dir(&dir)) return;
-                               fire_ball(GF_ELEC, dir, 100, 2);
-                               o_ptr->timeout = randint0(80) + 80;
-                               break;
-                       case EGO_RING_ACID_BALL:
-                               if (!get_aim_dir(&dir)) return;
-                               fire_ball(GF_ACID, dir, 100, 2);
-                               o_ptr->timeout = randint0(80) + 80;
-                               break;
-                       case EGO_RING_MANA_BALL:
-                               if (!get_aim_dir(&dir)) return;
-                               fire_ball(GF_MANA, dir, 250, 2);
-                               o_ptr->timeout = 300;
-                               break;
-                       case EGO_RING_DRAGON_F:
-                               if (!get_aim_dir(&dir)) return;
-                               fire_ball(GF_FIRE, dir, 200, -2);
-                               if (o_ptr->sval == SV_RING_FLAMES)
-                               {
-                                       (void)set_oppose_fire(randint1(20) + 20, FALSE);
-                                       o_ptr->timeout = 200;
-                               }
-                               else o_ptr->timeout = 250;
-                               break;
-                       case EGO_RING_DRAGON_C:
-                               if (!get_aim_dir(&dir)) return;
-                               fire_ball(GF_COLD, dir, 200, -2);
-                               if (o_ptr->sval == SV_RING_ICE)
-                               {
-                                       (void)set_oppose_cold(randint1(20) + 20, FALSE);
-                                       o_ptr->timeout = 200;
-                               }
-                               else o_ptr->timeout = 250;
-                               break;
-                       case EGO_RING_M_DETECT:
-                               (void)detect_monsters_invis(255);
-                               (void)detect_monsters_normal(255);
-                               o_ptr->timeout = 150;
-                               break;
-                       case EGO_RING_D_SPEED:
-                               (void)set_fast(randint1(30) + 15, FALSE);
-                               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;
-                       case EGO_RING_TELE_AWAY:
-                               if (!get_aim_dir(&dir)) return;
-                               teleport_monster(dir);
-                               o_ptr->timeout = 150;
-                               break;
-                       case EGO_RING_TRUE:
-                       {
-                               int v = randint1(25)+25;
-                               (void)set_afraid(0);
-                               (void)set_hero(v, FALSE);
-                               (void)hp_player(10);
-                               (void)set_blessed(v, FALSE);
-                               (void)set_oppose_acid(v, FALSE);
-                               (void)set_oppose_elec(v, FALSE);
-                               (void)set_oppose_fire(v, FALSE);
-                               (void)set_oppose_cold(v, FALSE);
-                               (void)set_oppose_pois(v, FALSE);
-                               (void)set_ultimate_res(v, FALSE);
-                               o_ptr->timeout = 777;
-                               break;
-                       }
-                       default:
-                               success = FALSE;
-                               break;
-                       }
-                       if (success) return;
-               }
-
                /* Get a direction for breathing (or abort) */
                if (!get_aim_dir(&dir)) return;
 
index 3a8d835..f9e4c9a 100644 (file)
 #define ACT_BIZARRE             34
 #define ACT_CAST_BA_STAR        35
 #define ACT_BLADETURNER         36
+#define ACT_BA_ACID_1           37
+#define ACT_BR_FIRE             38
+#define ACT_BR_COLD             39
 /* 33 - 50 unused */
 #define ACT_CONFUSE             51
 #define ACT_SLEEP               52
 #define ACT_LORE                134
 #define ACT_SHIKOFUMI           135
 #define ACT_PHASE_DOOR          136
+#define ACT_DETECT_ALL_MONS     137
+#define ACT_ULTIMATE_RESIST     138
 /* 127 -> unused */
 #define ACT_FISHING             251
 #define ACT_INROU               252
index 38adc89..2d00b8b 100644 (file)
@@ -472,7 +472,7 @@ cptr item_activation(object_type *o_ptr)
                        case ACT_BA_DARK:
                                return "°Å¹õ¤ÎÍò(250) : 150+d150 ¥¿¡¼¥óËè";
                        case ACT_BA_MANA:
-                               return "ËâÎϤÎÍò(400) : 250+d250¥¿¡¼¥óËè";
+                               return "ËâÎϤÎÍò(250) : 150+d150 ¥¿¡¼¥óËè";
                        case ACT_PESTICIDE:
                                return "³²Ãî¤Î¶î½ü : 55+d55¥¿¡¼¥óËè";
                        case ACT_BLINDING_LIGHT:
@@ -483,6 +483,17 @@ cptr item_activation(object_type *o_ptr)
                                return "¥¹¥¿¡¼¡¦¥Ü¡¼¥ë¡¦¥À¥¹¥È(150) : 1000 ¥¿¡¼¥óËè";
                        case ACT_BLADETURNER:
                                return "¥¨¥ì¥á¥ó¥È¤Î¥Ö¥ì¥¹(300), »Îµ¤¹âÍÈ¡¢½ËÊ¡¡¢ÂÑÀ­";
+                       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_CONFUSE:
                                return "¥Ñ¥Ë¥Ã¥¯¡¦¥â¥ó¥¹¥¿¡¼ : 15 ¥¿¡¼¥óËè";
                        case ACT_SLEEP:
@@ -502,8 +513,8 @@ cptr item_activation(object_type *o_ptr)
                        case ACT_SCARE_AREA:
                                return "¥â¥ó¥¹¥¿¡¼¶²¹² : 40+d40¥¿¡¼¥óËè";
                        case ACT_AGGRAVATE:
-                               if(o_ptr->name1 == ART_HYOUSIGI) return "Çï»ÒÌÚ¤òÂǤÁ¤Ê¤é¤¹ : ¤¤¤Ä¤Ç¤â";
-                               return "¥â¥ó¥¹¥¿¡¼¤òÅܤ餻¤ë : ¤¤¤Ä¤Ç¤â";
+                               if(o_ptr->name1 != ART_HYOUSIGI) return "¥â¥ó¥¹¥¿¡¼¤òÅܤ餻¤ë : ¤¤¤Ä¤Ç¤â";
+                               return "Çï»ÒÌÚ¤òÂǤÁ¤Ê¤é¤¹ : ¤¤¤Ä¤Ç¤â";
                        case ACT_CHARM_ANIMAL:
                                return "ưʪ̥λ : 200 ¥¿¡¼¥óËè";
                        case ACT_CHARM_UNDEAD:
@@ -554,7 +565,8 @@ cptr item_activation(object_type *o_ptr)
                        case ACT_ESP:
                                return "¥Æ¥ì¥Ñ¥·¡¼(´ü´Ö 25+d30) : 200 ¥¿¡¼¥óËè";
                        case ACT_BERSERK:
-                               return "»Îµ¤¹âÍȤȽËÊ¡(´ü´Ö 50+d50) : 100+d100 ¥¿¡¼¥óËè";
+                               /* return "»Îµ¤¹âÍȤȽËÊ¡(´ü´Ö 50+d50) : 100+d100 ¥¿¡¼¥óËè"; */
+                               return "¶¸Àï»Î²½(25+d25¥¿¡¼¥ó) : 75+d75 ¥¿¡¼¥óËè";
                        case ACT_PROT_EVIL:
                                return "Âмٰ­·ë³¦(´ü´Ö 3*¥ì¥Ù¥ë+d25) : 200+d200 ¥¿¡¼¥óËè";
                        case ACT_RESIST_ALL:
@@ -634,6 +646,10 @@ cptr item_activation(object_type *o_ptr)
                                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:
@@ -713,7 +729,7 @@ cptr item_activation(object_type *o_ptr)
                        case ACT_BA_DARK:
                                return "darkness storm (250) every 150+d150 turns";
                        case ACT_BA_MANA:
-                               return "a mana storm every 250+d250 turns";
+                               return "a mana storm (250) every 150+d150 turns";
                        case ACT_PESTICIDE:
                                return "dispel small life every 55+d55 turns";
                        case ACT_BLINDING_LIGHT:
@@ -724,6 +740,16 @@ cptr item_activation(object_type *o_ptr)
                                return "cast star balls (150) every 1000 turns";
                        case ACT_BLADETURNER:
                                return "breathe elements (300), hero, bless, and resistance";
+                       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_CONFUSE:
                                return "confuse monster every 15 turns";
@@ -797,7 +823,8 @@ cptr item_activation(object_type *o_ptr)
                        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 "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:
@@ -877,6 +904,10 @@ cptr item_activation(object_type *o_ptr)
                                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:
@@ -898,140 +929,6 @@ cptr item_activation(object_type *o_ptr)
 
        if (o_ptr->tval == TV_RING)
        {
-               if (object_is_ego(o_ptr))
-               {
-                       switch (o_ptr->name2)
-                       {
-                       case EGO_RING_HERO:
-#ifdef JP
-return "»Îµ¤¹âÍÈ : 100+d100¥¿¡¼¥óËè";
-#else
-                               return "heroism every 100+d100 turns";
-#endif
-                       case EGO_RING_MAGIC_MIS:
-#ifdef JP
-return "¥Þ¥¸¥Ã¥¯¡¦¥ß¥µ¥¤¥ë(2d6) : 2 ¥¿¡¼¥óËè";
-#else
-                       return "magic missile (2d6) every 2 turns";
-#endif
-                       case EGO_RING_FIRE_BOLT:
-#ifdef JP
-return "¥Õ¥¡¥¤¥¢¡¦¥Ü¥ë¥È(9d8) : 8+d8 ¥¿¡¼¥óËè";
-#else
-                       return "fire bolt (9d8) every 8+d8 turns";
-#endif
-                       case EGO_RING_COLD_BOLT:
-#ifdef JP
-return "¥¢¥¤¥¹¡¦¥Ü¥ë¥È(6d8) : 7+d7 ¥¿¡¼¥óËè";
-#else
-                               return "frost bolt (6d8) every 7+d7 turns";
-#endif
-                       case EGO_RING_ELEC_BOLT:
-#ifdef JP
-return "¥µ¥ó¥À¡¼¡¦¥Ü¥ë¥È(4d8) : 5+d5 ¥¿¡¼¥óËè";
-#else
-                               return "lightning bolt (4d8) every 5+d5 turns";
-#endif
-                       case EGO_RING_ACID_BOLT:
-#ifdef JP
-return "¥¢¥·¥Ã¥É¡¦¥Ü¥ë¥È(5d8) : 6+d6 ¥¿¡¼¥óËè";
-#else
-                               return "acid bolt (5d8) every 6+d6 turns";
-#endif
-                       case EGO_RING_MANA_BOLT:
-#ifdef JP
-return "ËâÎϤÎÌð(120) : 120+d120 ¥¿¡¼¥óËè";
-#else
-                       return "a mana bolt (120) every 120+d120 turns";
-#endif
-                       case EGO_RING_FIRE_BALL:
-#ifdef JP
-return "¥Õ¥¡¥¤¥¢¡¦¥Ü¡¼¥ë (100) : 80+d80 ¥¿¡¼¥óËè";
-#else
-                               return "fire ball (100) every 80+d80 turns";
-#endif
-                       case EGO_RING_COLD_BALL:
-#ifdef JP
-return "¥¢¥¤¥¹¡¦¥Ü¡¼¥ë (100) : 80+d80 ¥¿¡¼¥óËè";
-#else
-                               return "cold ball (100) every 80+d80 turns";
-#endif
-                       case EGO_RING_ELEC_BALL:
-#ifdef JP
-return "¥µ¥ó¥À¡¼¡¦¥Ü¡¼¥ë (100) : 80+d80 ¥¿¡¼¥óËè";
-#else
-                               return "elec ball (100) every 80+d80 turns";
-#endif
-                       case EGO_RING_ACID_BALL:
-#ifdef JP
-return "¥¢¥·¥Ã¥É¡¦¥Ü¡¼¥ë (100) : 80+d80 ¥¿¡¼¥óËè";
-#else
-                               return "acid ball (100) every 80+d80 turns";
-#endif
-                       case EGO_RING_MANA_BALL:
-#ifdef JP
-return "ËâÎϤÎÍò (250) : 300 ¥¿¡¼¥óËè";
-#else
-                               return "mana storm (250) every 300 turns";
-#endif
-                       case EGO_RING_DRAGON_F:
-                               if (o_ptr->sval == SV_RING_FLAMES)
-#ifdef JP
-return "²Ð±ê¤Î¥Ö¥ì¥¹ (200) ¤È²Ð¤Ø¤ÎÂÑÀ­ : 200 ¥¿¡¼¥óËè";
-#else
-                                       return "breath of fire (200) and resist fire every 200 turns";
-#endif
-                               else
-#ifdef JP
-return "²Ð±ê¤Î¥Ö¥ì¥¹ (200) : 250 ¥¿¡¼¥óËè";
-#else
-                                       return "fire breath (200) every 250 turns";
-#endif
-                       case EGO_RING_DRAGON_C:
-                               if (o_ptr->sval == SV_RING_ICE)
-#ifdef JP
-return "Î䵤¤Î¥Ö¥ì¥¹ (200) ¤ÈÎ䵤¤Ø¤ÎÂÑÀ­ : 200 ¥¿¡¼¥óËè";
-#else
-                                       return "breath of cold (200) and resist cold every 200 turns";
-#endif
-                               else
-#ifdef JP
-return "Î䵤¤Î¥Ö¥ì¥¹ (200) : 250 ¥¿¡¼¥óËè";
-#else
-                                       return "cold breath (200) every 250 turns";
-#endif
-                       case EGO_RING_M_DETECT:
-#ifdef JP
-return "Á´¥â¥ó¥¹¥¿¡¼´¶ÃΠ: 150 ¥¿¡¼¥óËè";
-#else
-                               return "detect all monsters every 150 turns";
-#endif
-                       case EGO_RING_D_SPEED:
-#ifdef JP
-return "¥¹¥Ô¡¼¥É(15+d30¥¿¡¼¥ó) : 100 ¥¿¡¼¥óËè";
-#else
-                               return "haste self (15+d30 turns) every 100 turns";
-#endif
-                       case EGO_RING_BERSERKER:
-#ifdef JP
-return "¶¸Àï»Î²½(25+d25¥¿¡¼¥ó) : 75+d75 ¥¿¡¼¥óËè";
-#else
-                               return "berserk (25+d25 turns) every 75+d75 turns";
-#endif
-                       case EGO_RING_TELE_AWAY:
-#ifdef JP
-return "¥Æ¥ì¥Ý¡¼¥È¡¦¥¢¥¦¥§¥¤ : 150 ¥¿¡¼¥óËè";
-#else
-                       return "teleport away every 150 turns";
-#endif
-                       case EGO_RING_TRUE:
-#ifdef JP
-return "»Îµ¤¹âÍÈ¡¢½ËÊ¡¡¢µæ¶Ë¤ÎÂÑÀ­ : 777 ¥¿¡¼¥óËè";
-#else
-                       return "hero, bless, and ultimate resistance every 777 turns";
-#endif
-                       }
-               }
                switch (o_ptr->sval)
                {
                        case SV_RING_FLAMES:
index c20d933..e1a1122 100644 (file)
@@ -6698,6 +6698,9 @@ activation_type activation_info[] =
        { "BIZARRE", ACT_BIZARRE, 90, 10000 },
        { "CAST_BA_STAR", ACT_CAST_BA_STAR, 70, 7500 },
        { "BLADETURNER", ACT_BLADETURNER, 80, 20000 },
+       { "BA_ACID_1", ACT_BA_ACID_1, 30, 1000 },
+       { "BR_FIRE", ACT_BR_FIRE, 50, 5000 },
+       { "BR_COLD", ACT_BR_COLD, 50, 5000 },
 
        { "CONFUSE", ACT_CONFUSE, 10, 500 },
        { "SLEEP", ACT_SLEEP, 10, 750 },
@@ -6777,6 +6780,8 @@ activation_type activation_info[] =
        { "LORE", ACT_LORE, 10, 30000 },
        { "SHIKOFUMI", ACT_SHIKOFUMI, 10, 10000 },
        { "PHASE_DOOR", ACT_PHASE_DOOR, 10, 1500 },
+       { "DETECT_ALL_MONS", ACT_DETECT_ALL_MONS, 30, 3000 },
+       { "ULTIMATE_RESIST", ACT_ULTIMATE_RESIST, 90, 20000 },
 
        { "FISHING", ACT_FISHING, 0, 100 },
        { "INROU", ACT_INROU, 40, 15000 },