OSDN Git Service

「TOband dev-team からバグ報告」のバグいろいろ修正。全部ではない。
authormogami <mogami@0568b783-4c39-0410-ac80-bf13821ea2a2>
Tue, 24 Sep 2002 12:10:37 +0000 (12:10 +0000)
committermogami <mogami@0568b783-4c39-0410-ac80-bf13821ea2a2>
Tue, 24 Sep 2002 12:10:37 +0000 (12:10 +0000)
d_infoの'M:'フラグ等は取り入れなかった。

14 files changed:
lib/help/jbldg.txt
src/birth.c
src/cmd1.c
src/cmd3.c
src/files.c
src/load.c
src/monster2.c
src/mspells2.c
src/rooms.c
src/spells1.c
src/store.c
src/wizard1.c
src/wizard2.c
src/xtra1.c

index 944fb98..3cac0eb 100644 (file)
@@ -3,8 +3,8 @@
 ³¹¤Ï¥¢¥¤¥Æ¥à¤ò°·¤¦Å¹¤È¤½¤Î¾¤Î¥µ¡¼¥Ó¥¹¤òÄ󶡤¹¤ë·úʪ¤«¤é¤Ê¤ê¤Þ¤¹¡£
 
 »¨²ß²°(1): ¿©ÎÁ¡¢¾¾ÌÀ¡¢ÃƤ䤽¤Î¾¤ÎɬÍפʤâ¤Î¤ò°·¤Ã¤Æ¤¤¤ë¡£
-Éð´ïŹ(2): ¿Ï¤Î¤¢¤ëÉð´ï¡¢´È¾õ¤ÎÉð´ï¤ò°·¤Ã¤Æ¤¤¤ë¡£Éð·Ý¤Î½ñ¤â°·¤¦¡£
-ËɶñŹ(3): ÌÂµÜ¤Ç¤Î´í¸±¤«¤é¿È¤ò¼é¤ëÁõÈ÷¤Ï¤³¤³¤Ç¼ê¤ËÆþ¤ì¤é¤ì¤ë¡£
+ËɶñŹ(2): ÌÂµÜ¤Ç¤Î´í¸±¤«¤é¿È¤ò¼é¤ëÁõÈ÷¤Ï¤³¤³¤Ç¼ê¤ËÆþ¤ì¤é¤ì¤ë¡£
+Éð´ïŹ(3): ¿Ï¤Î¤¢¤ëÉð´ï¡¢´È¾õ¤ÎÉð´ï¤ò°·¤Ã¤Æ¤¤¤ë¡£Éð·Ý¤Î½ñ¤â°·¤¦¡£
 »û±¡(4): µ§Åø½ñ¤ä½ý¤òľ¤¹ÌôÅù¿ÀÀ»¤Ê¥¢¥¤¥Æ¥à¤òÇä¤Ã¤Æ¤¤¤ë¡£
 Ï£¶â½Ñ¤ÎŹ(5): ÍÍ¡¹¤Ê¼ïÎà¤Î´¬Êª¤äÌô¤òÇä¤Ã¤Æ¤¤¤Þ¤¹¡£
 ËâË¡¤ÎŹ(6): ¥ï¥ó¥É¡¢¥¹¥¿¥Ã¥Õ¡¢»ØÎØ¡¢¥¢¥ß¥å¥ì¥Ã¥È¤Ê¤É¤òÇä¤Ã¤Æ¤¤¤Þ¤¹¡£
index d26aca8..b8ae231 100644 (file)
@@ -6224,6 +6224,9 @@ static bool player_birth_aux(void)
        previous_char.quests = number_of_quests;
        previous_char.quick_ok = TRUE;
 
+       /* Process the player name */
+       process_player_name(FALSE);
+
        /* Accept */
        return (TRUE);
 }
index d1437ff..5fe2c1e 100644 (file)
@@ -4258,32 +4258,20 @@ static int see_wall(int dir, int y, int x)
         /* Feature code (applying "mimic" field) */
         feat = c_ptr->mimic ? c_ptr->mimic : f_info[c_ptr->feat].mimic;
 
-       /* Non-wall grids are not known walls */
-       if (feat <= FEAT_DOOR_TAIL) return (FALSE);
-
-       if ((feat >= FEAT_DEEP_WATER) &&
-           (feat <= FEAT_GRASS)) return (FALSE);
-
-       if ((feat >= FEAT_SHOP_HEAD) &&
-           (feat <= FEAT_SHOP_TAIL)) return (FALSE);
-
-       if (feat == FEAT_DEEP_GRASS) return (FALSE);
-       if (feat == FEAT_FLOWER) return (FALSE);
-
-       if (feat == FEAT_MUSEUM) return (FALSE);
-
-       if ((feat >= FEAT_BLDG_HEAD) &&
-           (feat <= FEAT_BLDG_TAIL)) return (FALSE);
-
-/*     if (feat == FEAT_TREES) return (FALSE); */
-
        /* Must be known to the player */
-       if (!(c_ptr->info & (CAVE_MARK))) return (FALSE);
+       if (c_ptr->info & (CAVE_MARK))
+        {
+                /* Rubble, Magma, Quartz, Wall, Perm wall */
+                if (feat >= FEAT_RUBBLE && feat <= FEAT_PERM_SOLID) return TRUE;
 
-       if (feat >= FEAT_TOWN) return (FALSE);
+                /* Tree */
+                if (feat == FEAT_TREES) return TRUE;
 
-       /* Default */
-       return (TRUE);
+                /* Mountain */
+                if (feat == FEAT_MOUNTAIN) return TRUE;
+        }
+
+        return FALSE;
 }
 
 
index ce7eca1..86ff5b5 100644 (file)
@@ -319,9 +319,9 @@ s = "
                        object_copy(ol_ptr, or_ptr);
                        object_copy(or_ptr, otmp_ptr);
 #ifdef JP
-                       msg_format("%s¤ò±¦¼ê¤Ë¹½¤¨¤Ê¤ª¤·¤¿¡£", ol_name);
+                       msg_format("%s¤ò%s¤Ë¹½¤¨¤Ê¤ª¤·¤¿¡£", ol_name, left_hander ? "º¸¼ê" : "±¦¼ê");
 #else
-                       msg_format("You wield %s at right hand.", ol_name);
+                       msg_format("You wield %s at %s hand.", ol_name, left_hander ? "left" : "right");
 #endif
 
                        slot = INVEN_LARM;
index 3e05144..f840bcc 100644 (file)
@@ -5793,9 +5793,6 @@ void get_name(void)
                strcpy(player_name, "PLAYER");
        }
 
-       /* Process the player name */
-       process_player_name(FALSE);
-
        strcpy(tmp,ap_ptr->title);
 #ifdef JP
        if(ap_ptr->no == 1)
index c239cac..7d81776 100644 (file)
@@ -1904,12 +1904,22 @@ static errr rd_dungeon(void)
        /* Load the dungeon data */
        for (x = y = 0; y < ymax; )
        {
+                u16b info;
+
                /* Grab RLE info */
                rd_byte(&count);
                if (z_older_than(10,3,6))
+                {
                        rd_byte(&tmp8u);
+                        info = (u16b)tmp8u;
+                }
                else
-                       rd_s16b(&tmp16s);
+                {
+                       rd_u16b(&info);
+
+                        /* Decline invalid flags */
+                        info &= ~(CAVE_LITE | CAVE_VIEW | CAVE_MNLT);
+                }
 
                /* Apply the RLE info */
                for (i = count; i > 0; i--)
@@ -1918,9 +1928,7 @@ static errr rd_dungeon(void)
                        c_ptr = &cave[y][x];
 
                        /* Extract "info" */
-                       if (z_older_than(10,3,6))
-                               c_ptr->info = tmp8u;
-                       else c_ptr->info = tmp16s;
+                        c_ptr->info = info;
 
                        /* Advance/Wrap */
                        if (++x >= xmax)
index 551f4df..a966b1d 100644 (file)
@@ -16,7 +16,6 @@
 #define HORDE_NOEVIL 0x02
 
 bool is_kage = FALSE;
-u16b horde_align = 0;
 
 cptr horror_desc[MAX_SAN_HORROR] =
 {
@@ -889,10 +888,12 @@ static bool restrict_monster_to_dungeon(int r_idx)
        }
        if (d_ptr->flags1 & DF1_NO_MAGIC)
        {
-               if (r_idx == MON_CHAMELEON) return TRUE;
-               if (r_ptr->freq_spell && !(r_ptr->flags4 & RF4_NOMAGIC_MASK) && !(r_ptr->flags5 & RF5_NOMAGIC_MASK) && !(r_ptr->flags6 & RF6_NOMAGIC_MASK))
+               if (r_idx != MON_CHAMELEON &&
+                    r_ptr->freq_spell && 
+                    !(r_ptr->flags4 & RF4_NOMAGIC_MASK) &&
+                    !(r_ptr->flags5 & RF5_NOMAGIC_MASK) &&
+                    !(r_ptr->flags6 & RF6_NOMAGIC_MASK))
                        return FALSE;
-               else return TRUE;
        }
        if (d_ptr->flags1 & DF1_NO_MELEE)
        {
@@ -901,13 +902,11 @@ static bool restrict_monster_to_dungeon(int r_idx)
                    !(r_ptr->flags5 & (RF5_BOLT_MASK | RF5_BEAM_MASK | RF5_BALL_MASK | RF5_CAUSE_1 | RF5_CAUSE_2 | RF5_CAUSE_3 | RF5_CAUSE_4 | RF5_MIND_BLAST | RF5_BRAIN_SMASH)) &&
                    !(r_ptr->flags6 & (RF6_BOLT_MASK | RF6_BEAM_MASK | RF6_BALL_MASK)))
                        return FALSE;
-               else return TRUE;
        }
        if (d_ptr->flags1 & DF1_BEGINNER)
        {
                if (r_ptr->level > dun_level)
                        return FALSE;
-               else return TRUE;
        }
 
        if (d_ptr->special_div == 64) return TRUE;
@@ -3659,9 +3658,6 @@ bool alloc_horde(int y, int x)
        }
        if (attempts < 1) return FALSE;
 
-       if (r_ptr->flags3 & RF3_GOOD) horde_align |= HORDE_NOEVIL;
-       if (r_ptr->flags3 & RF3_EVIL) horde_align |= HORDE_NOGOOD;
-
        attempts = 1000;
 
        while (--attempts)
@@ -3670,7 +3666,7 @@ bool alloc_horde(int y, int x)
                if (place_monster_aux(0, y, x, r_idx, 0L)) break;
        }
 
-       if (attempts < 1) {horde_align = 0;return FALSE;}
+       if (attempts < 1) return FALSE;
 
        m_idx = cave[y][x].m_idx;
 
@@ -3687,7 +3683,6 @@ bool alloc_horde(int y, int x)
                x = cx;
        }
 
-       horde_align = 0;
        return TRUE;
 }
 
@@ -3862,9 +3857,6 @@ static bool summon_specific_okay(int r_idx)
             ((p_ptr->align < -9) && (r_ptr->flags3 & RF3_GOOD))))
                return FALSE;
 
-       if ((horde_align & HORDE_NOGOOD) && (r_ptr->flags3 & RF3_GOOD)) return FALSE;
-       if ((horde_align & HORDE_NOEVIL) && (r_ptr->flags3 & RF3_EVIL)) return FALSE;
-
        if ((r_ptr->flags7 & RF7_CHAMELEON) && (d_info[dungeon_type].flags1 & DF1_CHAMELEON)) return TRUE;
 
        return (summon_specific_aux(r_idx));
index bf702b8..910f11e 100644 (file)
@@ -2267,12 +2267,7 @@ if (see_both) msg_format("%^s
                                }
                                else
                                {
-#ifdef JP
-mon_take_hit_mon(FALSE, t_idx, dam, &fear, "¤Ï»à¤ó¤À¡£", m_idx);
-#else
-                                       mon_take_hit_mon(FALSE, t_idx, dam, &fear, " is destroyed.", m_idx);
-#endif
-
+                                       mon_take_hit_mon(FALSE, t_idx, dam, &fear, NULL, m_idx);
                                }
 
                                wake_up = TRUE;
@@ -2318,11 +2313,7 @@ if (see_both) msg_format("%^s
                                }
                                else
                                {
-#ifdef JP
-mon_take_hit_mon(FALSE, t_idx, dam, &fear, "¤Ï»à¤ó¤À¡£", m_idx);
-#else
-                                       mon_take_hit_mon(FALSE, t_idx, dam, &fear, " is destroyed.", m_idx);
-#endif
+                                       mon_take_hit_mon(FALSE, t_idx, dam, &fear, NULL, m_idx);
 
                                }
 
@@ -2369,12 +2360,7 @@ if (see_both) msg_format("%^s
                                }
                                else
                                {
-#ifdef JP
-mon_take_hit_mon(FALSE, t_idx, dam, &fear, "¤Ï»à¤ó¤À¡£", m_idx);
-#else
-                                       mon_take_hit_mon(FALSE, t_idx, dam, &fear, " is destroyed.", m_idx);
-#endif
-
+                                       mon_take_hit_mon(FALSE, t_idx, dam, &fear, NULL, m_idx);
                                }
 
                                wake_up = TRUE;
@@ -2420,12 +2406,7 @@ if (see_both) msg_format("%^s
                                }
                                else
                                {
-#ifdef JP
-mon_take_hit_mon(FALSE, t_idx, dam, &fear, "¤Ï»à¤ó¤À¡£", m_idx);
-#else
-                                       mon_take_hit_mon(FALSE, t_idx, dam, &fear, " is destroyed.", m_idx);
-#endif
-
+                                       mon_take_hit_mon(FALSE, t_idx, dam, &fear, NULL, m_idx);
                                }
 
                                wake_up = TRUE;
index 94b18a8..2c1eed2 100644 (file)
@@ -1684,16 +1684,16 @@ static vault_aux_type nest_types[] =
        {"¥¢¥ó¥Ç¥Ã¥É",  vault_aux_undead,       NULL,                   75,     5},
        {NULL,          NULL,                   NULL,                   0,      0},
 #else
-       {"clone",       vault_aux_clone,        vault_prep_clone,       7,      3},
-       {"jelly",       vault_aux_jelly,        NULL,                   7,      6},
+       {"clone",       vault_aux_clone,        vault_prep_clone,       5,      3},
+       {"jelly",       vault_aux_jelly,        NULL,                   5,      6},
        {"symbol good",vault_aux_symbol_g,      vault_prep_symbol,      25,     2},
        {"symbol evil",vault_aux_symbol_e,      vault_prep_symbol,      25,     2},
-       {"mimic",       vault_aux_mimic,        NULL,                   45,     6},
-       {"lovecraftian",vault_aux_cthulhu,      NULL,                   80,     2},
-       {"kennel",      vault_aux_kennel,       NULL,                   50,     2},
-       {"animal",      vault_aux_animal,       NULL,                   50,     4},
-       {"chapel",      vault_aux_chapel_g,     NULL,                   90,     2},
-       {"undead",      vault_aux_undead,       NULL,                   90,     4},
+       {"mimic",       vault_aux_mimic,        NULL,                   30,     4},
+       {"lovecraftian",vault_aux_cthulhu,      NULL,                   70,     2},
+       {"kennel",      vault_aux_kennel,       NULL,                   45,     4},
+       {"animal",      vault_aux_animal,       NULL,                   35,     5},
+       {"chapel",      vault_aux_chapel_g,     NULL,                   75,     4},
+       {"undead",      vault_aux_undead,       NULL,                   75,     5},
        {NULL,          NULL,                   NULL,                   0,      0},
 #endif
 };
@@ -1902,15 +1902,15 @@ static vault_aux_type pit_types[] =
        {"¥Ç¡¼¥â¥ó",    vault_aux_demon,        NULL,                   80,     6},
        {NULL,          NULL,                   NULL,                   0,      0},
 #else
-       {"orc",         vault_aux_orc,          NULL,                   7,      4},
-       {"troll",       vault_aux_troll,        NULL,                   35,     4},
-       {"giant",       vault_aux_giant,        NULL,                   70,     4},
-       {"lovecraftian",vault_aux_cthulhu,      NULL,                   90,     4},
-       {"symbol good",vault_aux_symbol_g,      vault_prep_symbol,      25,     2},
-       {"symbol evil",vault_aux_symbol_e,      vault_prep_symbol,      25,     2},
-       {"chapel",      vault_aux_chapel_g,     NULL,                   85,     1},
-       {"dragon",      vault_aux_dragon,       vault_prep_dragon,      80,     4},
-       {"demon",       vault_aux_demon,        NULL,                   90,     4},
+       {"orc",         vault_aux_orc,          NULL,                   5,      6},
+       {"troll",       vault_aux_troll,        NULL,                   20,     6},
+       {"giant",       vault_aux_giant,        NULL,                   50,     6},
+       {"lovecraftian",vault_aux_cthulhu,      NULL,                   80,     2},
+       {"symbol good",vault_aux_symbol_g,      vault_prep_symbol,      70,     1},
+       {"symbol evil",vault_aux_symbol_e,      vault_prep_symbol,      70,     1},
+       {"chapel",      vault_aux_chapel_g,     NULL,                   65,     2},
+       {"dragon",      vault_aux_dragon,       vault_prep_dragon,      70,     6},
+       {"demon",       vault_aux_demon,        NULL,                   80,     6},
        {NULL,          NULL,                   NULL,                   0,      0},
 #endif
 };
index ddd94ea..3bd7818 100644 (file)
@@ -390,7 +390,9 @@ sint project_path(u16b *gp, int range, int y1, int x1, int y2, int x2, int flg)
                        /* Sometimes stop at non-initial monsters/players */
                        if (flg & (PROJECT_STOP))
                        {
-                               if ((n > 0) && (cave[y][x].m_idx != 0)) break;
+                               if ((n > 0) &&
+                                    ((y == py && x == px) || cave[y][x].m_idx != 0))
+                                        break;
                        }
 
                        if (!in_bounds(y, x)) break;
@@ -473,7 +475,9 @@ sint project_path(u16b *gp, int range, int y1, int x1, int y2, int x2, int flg)
                        /* Sometimes stop at non-initial monsters/players */
                        if (flg & (PROJECT_STOP))
                        {
-                               if ((n > 0) && (cave[y][x].m_idx != 0)) break;
+                               if ((n > 0) &&
+                                    ((y == py && x == px) || cave[y][x].m_idx != 0))
+                                        break;
                        }
 
                        if (!in_bounds(y, x)) break;
@@ -538,7 +542,9 @@ sint project_path(u16b *gp, int range, int y1, int x1, int y2, int x2, int flg)
                        /* Sometimes stop at non-initial monsters/players */
                        if (flg & (PROJECT_STOP))
                        {
-                               if ((n > 0) && (cave[y][x].m_idx != 0)) break;
+                               if ((n > 0) &&
+                                    ((y == py && x == px) || cave[y][x].m_idx != 0))
+                                        break;
                        }
 
                        if (!in_bounds(y, x)) break;
index 715aa79..4ee37b6 100644 (file)
@@ -3993,21 +3993,21 @@ static void store_examine(void)
        {
                if (cur_store_num == STORE_HOME)
 #ifdef JP
-msg_print("²æ¤¬²È¤Ë¤Ï²¿¤âÃÖ¤¤¤Æ¤¢¤ê¤Þ¤»¤ó¡£");
+                        msg_print("²æ¤¬²È¤Ë¤Ï²¿¤âÃÖ¤¤¤Æ¤¢¤ê¤Þ¤»¤ó¡£");
 #else
                        msg_print("Your home is empty.");
 #endif
 
-               if (cur_store_num == STORE_MUSEUM)
+                else if (cur_store_num == STORE_MUSEUM)
 #ifdef JP
-msg_print("Çîʪ´Û¤Ë¤Ï²¿¤âÃÖ¤¤¤Æ¤¢¤ê¤Þ¤»¤ó¡£");
+                        msg_print("Çîʪ´Û¤Ë¤Ï²¿¤âÃÖ¤¤¤Æ¤¢¤ê¤Þ¤»¤ó¡£");
 #else
                        msg_print("Museum is empty.");
 #endif
 
                else
 #ifdef JP
-msg_print("¸½ºß¾¦Éʤκ߸ˤòÀڤ餷¤Æ¤¤¤Þ¤¹¡£");
+                        msg_print("¸½ºß¾¦Éʤκ߸ˤòÀڤ餷¤Æ¤¤¤Þ¤¹¡£");
 #else
                        msg_print("I am currently out of stock.");
 #endif
index c416259..f2abefb 100644 (file)
@@ -871,7 +871,7 @@ static const flag_desc misc_flags3_desc[] =
        { TR_DRAIN_EXP,          "Drains Experience" },
        { TR_AGGRAVATE,          "Aggravates" },
        { TR_BLESSED,            "Blessed Blade" },
-       { TR_DEC_MANA,           "Decrease Shouhi Mana" },
+       { TR_DEC_MANA,           "Decrease Mana Consumption Rate" },
 #endif
 };
 
index 98aae29..9da64fc 100644 (file)
@@ -1225,8 +1225,7 @@ static void do_cmd_wiz_play(void)
        {
                o_ptr = &o_list[0 - item];
        }
-
-
+        
        /* The item was not changed */
        changed = FALSE;
 
@@ -1293,9 +1292,17 @@ static void do_cmd_wiz_play(void)
                /* Message */
                msg_print("Changes accepted.");
 
+                /* Recalcurate object's weight */
+                if (item >= 0)
+                {
+                        p_ptr->total_weight += (q_ptr->weight * q_ptr->number)
+                                - (o_ptr->weight * o_ptr->number);
+                }
+
                /* Change */
                object_copy(o_ptr, q_ptr);
 
+
                /* Recalculate bonuses */
                p_ptr->update |= (PU_BONUS);
 
index b481124..6d289e8 100644 (file)
@@ -187,13 +187,13 @@ cptr map_name(void)
 #ifdef JP
                return "¥¢¥ê¡¼¥Ê";
 #else
-               return "Monster Arena";
+               return "Arena";
 #endif
        else if (p_ptr->inside_battle)
 #ifdef JP
                return "Æ®µ»¾ì";
 #else
-               return "Arena";
+               return "Monster Arena";
 #endif
        else if (!dun_level && p_ptr->town_num)
                return town[p_ptr->town_num].name;
@@ -5475,7 +5475,7 @@ msg_print("
        have_kabe = FALSE;
        for (i = 0; i < INVEN_PACK; i++)
        {
-               if ((inventory[i].tval == TV_SORCERY_BOOK) && (inventory[i].sval == 3)) have_dd_s = TRUE;
+               if ((inventory[i].tval == TV_SORCERY_BOOK) && (inventory[i].sval == 2)) have_dd_s = TRUE;
                if ((inventory[i].tval == TV_TRUMP_BOOK) && (inventory[i].sval == 1)) have_dd_t = TRUE;
                if ((inventory[i].tval == TV_NATURE_BOOK) && (inventory[i].sval == 2)) have_sw = TRUE;
                if ((inventory[i].tval == TV_ENCHANT_BOOK) && (inventory[i].sval == 2)) have_kabe = TRUE;