OSDN Git Service

☆や防衛者にWARNING
authorhoge <hoge@0568b783-4c39-0410-ac80-bf13821ea2a2>
Sat, 6 Apr 2002 08:53:10 +0000 (08:53 +0000)
committerhoge <hoge@0568b783-4c39-0410-ac80-bf13821ea2a2>
Sat, 6 Apr 2002 08:53:10 +0000 (08:53 +0000)
両手持ちちょっと弱く
鋭敏兜の最大値を6に減らす

lib/edit/a_info_j.txt
lib/edit/e_info_j.txt
src/artifact.c
src/dungeon.c
src/object2.c
src/xtra1.c

index b78231f..0c9a674 100644 (file)
@@ -2868,14 +2868,14 @@ D:
 N:171:ÆóÅ·°ìή³«ÁĵÜËÜÉð¢¤Î
 E:of Musashi
 I:23:20:3
-W:50:12:120:60000
+W:50:15:120:60000
 P:0:3d4:28:17:0
 F:DEX | HIDE_TYPE | SUST_DEX | SHOW_MODS
 
 N:172:ÆóÅ·°ìή³«ÁĵÜËÜÉð¢¤Î
 E:of Musashi
 I:23:13:3
-W:50:10:90:60000
+W:50:5:90:60000
 P:0:2d4:28:17:0
 F:DEX | HIDE_TYPE | SUST_DEX | SHOW_MODS
 
@@ -2980,7 +2980,7 @@ W:127:1:50:1000000
 P:0:1d77:22:22:10
 F:STR | DEX | SUST_STR | SUST_DEX | FREE_ACT | SEE_INVIS | VAMPIRIC |
 F:KILL_DRAGON | SLAY_ANIMAL | SLAY_EVIL | BRAND_ELEC | BRAND_ACID |
-F:SLAY_UNDEAD | SLAY_DEMON | SLAY_TROLL | SLAY_GIANT | SLAY_ORC |
+F:SLAY_UNDEAD | SLAY_DEMON | SLAY_TROLL | SLAY_GIANT | SLAY_ORC | WARNING |
 F:IM_FIRE | RES_SHARDS | RES_FEAR | TUNNEL | INFRA | SEARCH | REFLECT |
 F:LITE | TELEPATHY | REGEN | BRAND_FIRE | BRAND_COLD | BRAND_POIS |
 F:SLAY_HUMAN | HIDE_TYPE | SHOW_MODS | RIDING | QUESTITEM | INSTA_ART
@@ -3396,7 +3396,7 @@ D:ŷ
 N:214:ÀĤ­°á¤Î¥Õ¥ó¥Ç¥£¥ó¤Î
 E:of Fundin Bluecloak
 I:21:6:4
-W:65:100:130:180000
+W:65:65:130:150000
 P:0:4d4:13:17:10
 F:STR | WIS | SPEED | LITE | HIDE_TYPE | 
 F:SLAY_EVIL | SLAY_UNDEAD | 
index f571fac..d116e22 100644 (file)
@@ -253,7 +253,7 @@ N:30:
 E:of Seeing
 X:33:8
 W:0:18:0:1000
-C:0:0:0:8
+C:0:0:0:6
 F:SEARCH | RES_BLIND | SEE_INVIS
 
 N:31:ÀÖ³°Àþ»ëÎϤÎ
index 91be19c..5869df6 100644 (file)
@@ -775,7 +775,7 @@ static void random_misc(object_type * o_ptr)
                break;
        }
 
-       switch (randint1(31))
+       switch (randint1(33))
        {
                case 1:
                        o_ptr->art_flags2 |= TR2_SUST_STR;
@@ -882,6 +882,10 @@ static void random_misc(object_type * o_ptr)
                case 31:
                        o_ptr->art_flags3 |= TR3_NO_TELE;
                        break;
+               case 32:
+               case 33:
+                       o_ptr->art_flags3 |= TR3_WARNING;
+                       break;
        }
 }
 
index 025a8b7..81c2063 100644 (file)
@@ -3363,24 +3363,21 @@ if (!get_rnd_line("chainswd_j.txt", 0, noise))
                        check_experience();
                }
                /* Add light curse (Later) */
-               if ((p_ptr->cursed & TRC_ADD_L_CURSE) && one_in_(4000))
+               if ((p_ptr->cursed & TRC_ADD_L_CURSE) && one_in_(2000))
                {
                        u32b new_curse;
-                       bool changed = FALSE;
                        object_type *o_ptr;
-                       char o_name[MAX_NLEN];
 
                        o_ptr = choose_cursed_obj_name(TRC_ADD_L_CURSE);
-                       object_desc(o_name, o_ptr, FALSE, 0);
 
                        new_curse = get_curse(0, o_ptr);
                        if (!(o_ptr->curse_flags & new_curse))
                        {
-                               changed = TRUE;
+                               char o_name[MAX_NLEN];
+
+                               object_desc(o_name, o_ptr, FALSE, 0);
+
                                o_ptr->curse_flags |= new_curse;
-                       }
-                       if (changed)
-                       {
 #ifdef JP
 msg_format("°­°Õ¤ËËþ¤Á¤¿¹õ¤¤¥ª¡¼¥é¤¬%s¤ò¤È¤ê¤Þ¤¤¤¿...", o_name);
 #else
@@ -3388,28 +3385,26 @@ msg_format("
 #endif
 
                                o_ptr->feeling = FEEL_NONE;
+
+                               p_ptr->update |= (PU_BONUS);
                        }
-                       p_ptr->update |= (PU_BONUS);
                }
                /* Add heavy curse (Later) */
-               if ((p_ptr->cursed & TRC_ADD_H_CURSE) && one_in_(4000))
+               if ((p_ptr->cursed & TRC_ADD_H_CURSE) && one_in_(2000))
                {
                        u32b new_curse;
-                       bool changed = FALSE;
                        object_type *o_ptr;
-                       char o_name[MAX_NLEN];
 
                        o_ptr = choose_cursed_obj_name(TRC_ADD_H_CURSE);
-                       object_desc(o_name, o_ptr, FALSE, 0);
 
                        new_curse = get_curse(1, o_ptr);
                        if (!(o_ptr->curse_flags & new_curse))
                        {
-                               changed = TRUE;
+                               char o_name[MAX_NLEN];
+
+                               object_desc(o_name, o_ptr, FALSE, 0);
+
                                o_ptr->curse_flags |= new_curse;
-                       }
-                       if (changed)
-                       {
 #ifdef JP
 msg_format("°­°Õ¤ËËþ¤Á¤¿¹õ¤¤¥ª¡¼¥é¤¬%s¤ò¤È¤ê¤Þ¤¤¤¿...", o_name);
 #else
@@ -3417,8 +3412,9 @@ msg_format("
 #endif
 
                                o_ptr->feeling = FEEL_NONE;
+
+                               p_ptr->update |= (PU_BONUS);
                        }
-                       p_ptr->update |= (PU_BONUS);
                }
                /* Call animal */
                if ((p_ptr->cursed & TRC_CALL_ANIMAL) && one_in_(1500))
index f1ab8a8..69e3118 100644 (file)
@@ -2336,6 +2336,8 @@ static void a_m_aux_1(object_type *o_ptr, int level, int power)
                                case EGO_DF:
                                        if (one_in_(3))
                                                o_ptr->art_flags2 |= TR2_RES_POIS;
+                                       if (one_in_(3))
+                                               o_ptr->art_flags3 |= TR3_WARNING;
                                        break;
                                case EGO_KILL_DRAGON:
                                        if (one_in_(3))
index fd0a1ce..1441d1c 100644 (file)
@@ -4651,6 +4651,15 @@ void calc_bonuses(void)
                {
                        penalty1 = MIN(0, penalty1);
                        penalty2 = MIN(0, penalty2);
+                       p_ptr->to_a += 10;
+                       p_ptr->dis_to_a += 10;
+               }
+               else
+               {
+                       if ((inventory[INVEN_RARM].name1 == ART_MUSASI_KATANA) && (penalty1 > 0))
+                               penalty1 /= 2;
+                       if ((inventory[INVEN_LARM].name1 == ART_MUSASI_WAKIZASI) && (penalty2 > 0))
+                               penalty2 /= 2;
                }
                if (inventory[INVEN_RARM].tval == TV_POLEARM) penalty1 += 10;
                if (inventory[INVEN_LARM].tval == TV_POLEARM) penalty2 += 10;
@@ -5265,7 +5274,7 @@ void calc_bonuses(void)
        if (p_ptr->ryoute && !omoi)
        {
                int bonus_to_h=0, bonus_to_d=0;
-               bonus_to_d = ((int)(adj_str_td[p_ptr->stat_ind[A_STR]]) - 128);
+               bonus_to_d = ((int)(adj_str_td[p_ptr->stat_ind[A_STR]]) - 128)/2;
                bonus_to_h = ((int)(adj_str_th[p_ptr->stat_ind[A_STR]]) - 128) + ((int)(adj_dex_th[p_ptr->stat_ind[A_DEX]]) - 128);
 
                p_ptr->to_h[0] += MAX(bonus_to_h,1);