OSDN Git Service

セーブデータ中で多すぎる待機中ペットの削除メッセージの表示タイミング
authornothere <nothere@0568b783-4c39-0410-ac80-bf13821ea2a2>
Thu, 12 Jun 2003 17:59:35 +0000 (17:59 +0000)
committernothere <nothere@0568b783-4c39-0410-ac80-bf13821ea2a2>
Thu, 12 Jun 2003 17:59:35 +0000 (17:59 +0000)
を変更. 実際に削除されたペットがいる場合に出すこととした.

src/load.c

index 5070e5f..475ef3e 100644 (file)
@@ -1933,18 +1933,10 @@ note(format("
        {
                s16b max_num;
                monster_type dummy_mon;
+               bool removed = FALSE;
 
                rd_s16b(&tmp16s);
-               if (tmp16s > MAX_PARTY_MON)
-               {
-#ifdef JP
-                       note("°ì»þÊݸ¥Ú¥Ã¥È¤¬Â¿¤¹¤®¤ë¤Î¤Ç°ìÉôºï½ü¤·¤Þ¤¹¡£");
-#else
-                       note("Temporary pets are too many, so some are removed.");
-#endif
-                       max_num = MAX_PARTY_MON;
-               }
-               else max_num = tmp16s;
+               max_num = MIN(MAX_PARTY_MON, tmp16s);
 
                /* Load temporary preserved pets */
                for (i = 0; i < max_num; i++)
@@ -1960,13 +1952,22 @@ note(format("
                {
                        rd_monster(&dummy_mon);
 
-                       if (record_named_pet && dummy_mon.nickname)
+                       if (dummy_mon.r_idx)
                        {
-                               char m_name[80];
-                               monster_desc(m_name, &dummy_mon, 0x08);
-                               do_cmd_write_nikki(NIKKI_NAMED_PET, 5, m_name);
+                               if (record_named_pet && dummy_mon.nickname)
+                               {
+                                       char m_name[80];
+                                       monster_desc(m_name, &dummy_mon, 0x08);
+                                       do_cmd_write_nikki(NIKKI_NAMED_PET, 5, m_name);
+                               }
+                               removed = TRUE;
                        }
                }
+#ifdef JP
+               if (removed) note("°ì»þÊݸ¥Ú¥Ã¥È¤¬Â¿¤¹¤®¤ë¤Î¤Ç°ìÉôºï½ü¤·¤Þ¤¹¡£");
+#else
+               if (removed) note("Temporary pets are too many, so some are removed.");
+#endif
        }
 
        if (z_older_than(10,1,2))