OSDN Git Service

抹殺/消滅, ペット爆破, 親モンスター消滅, モンスター圧縮, 不潔な病人の
authornothere <nothere@0568b783-4c39-0410-ac80-bf13821ea2a2>
Fri, 30 Jul 2004 16:54:53 +0000 (16:54 +0000)
committernothere <nothere@0568b783-4c39-0410-ac80-bf13821ea2a2>
Fri, 30 Jul 2004 16:54:53 +0000 (16:54 +0000)
病気治癒の対象が名前付きペットだった場合に, 名前付きペットの消滅が記
録されないバグを修正. また, 名前付きペットの記録について, 引数として
直接数字を書いていた部分を記号定数化.

src/cmd4.c
src/cmd5.c
src/defines.h
src/floors.c
src/melee2.c
src/monster2.c
src/mutation.c
src/spells1.c
src/spells2.c
src/spells3.c
src/wizard2.c

index 9c3edfe..6546539 100644 (file)
@@ -751,69 +751,111 @@ errr do_cmd_write_nikki(int type, int num, cptr note)
                        fprintf(fff, " %2d:%02d %20s ", hour, min, note_level);
                        switch (num)
                        {
-                               case 0:
+                               case RECORD_NAMED_PET_NAME:
 #ifdef JP
                                        fprintf(fff, "%s¤òι¤Îͧ¤Ë¤¹¤ë¤³¤È¤Ë·è¤á¤¿¡£\n", note);
 #else
                                        fprintf(fff, "decided to travel together with %s.\n", note);
 #endif
                                        break;
-                               case 1:
+                               case RECORD_NAMED_PET_UNNAME:
 #ifdef JP
                                        fprintf(fff, "%s¤Î̾Á°¤ò¾Ã¤·¤¿¡£\n", note);
 #else
                                        fprintf(fff, "unnamed %s.\n", note);
 #endif
                                        break;
-                               case 2:
+                               case RECORD_NAMED_PET_DISMISS:
 #ifdef JP
                                        fprintf(fff, "%s¤ò²òÊü¤·¤¿¡£\n", note);
 #else
                                        fprintf(fff, "dismissed %s.\n", note);
 #endif
                                        break;
-                               case 3:
+                               case RECORD_NAMED_PET_DEATH:
 #ifdef JP
                                        fprintf(fff, "%s¤¬»à¤ó¤Ç¤·¤Þ¤Ã¤¿¡£\n", note);
 #else
                                        fprintf(fff, "%s died.\n", note);
 #endif
                                        break;
-                               case 4:
+                               case RECORD_NAMED_PET_MOVED:
 #ifdef JP
                                        fprintf(fff, "%s¤ò¤ª¤¤¤ÆÊ̤ΥޥåפذÜÆ°¤·¤¿¡£\n", note);
 #else
                                        fprintf(fff, "moved to another map leaving %s behind.\n", note);
 #endif
                                        break;
-                               case 5:
+                               case RECORD_NAMED_PET_LOST_SIGHT:
 #ifdef JP
                                        fprintf(fff, "%s¤È¤Ï¤°¤ì¤Æ¤·¤Þ¤Ã¤¿¡£\n", note);
 #else
                                        fprintf(fff, "lost sight of %s.\n", note);
 #endif
                                        break;
-                               case 6:
+                               case RECORD_NAMED_PET_DESTROY:
 #ifdef JP
                                        fprintf(fff, "%s¤¬*Ç˲õ*¤Ë¤è¤Ã¤Æ¾Ã¤¨µî¤Ã¤¿¡£\n", note);
 #else
                                        fprintf(fff, "%s was made disappeared by *destruction*.\n", note);
 #endif
                                        break;
-                               case 7:
+                               case RECORD_NAMED_PET_EARTHQUAKE:
 #ifdef JP
                                        fprintf(fff, "%s¤¬´äÀФ˲¡¤·ÄÙ¤µ¤ì¤¿¡£\n", note);
 #else
                                        fprintf(fff, "%s was crushed by falling rocks.\n", note);
 #endif
                                        break;
-                               case 8:
+                               case RECORD_NAMED_PET_GENOCIDE:
+#ifdef JP
+                                       fprintf(fff, "%s¤¬Ëõ»¦¤Ë¤è¤Ã¤Æ¾Ã¤¨µî¤Ã¤¿¡£\n", note);
+#else
+                                       fprintf(fff, "%s was made disappeared by genocide.\n", note);
+#endif
+                                       break;
+                               case RECORD_NAMED_PET_WIZ_ZAP:
+#ifdef JP
+                                       fprintf(fff, "%s¤¬¥Ç¥Ð¥Ã¥°¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¾Ã¤¨µî¤Ã¤¿¡£\n", note);
+#else
+                                       fprintf(fff, "%s was removed by debug command.\n", note);
+#endif
+                                       break;
+                               case RECORD_NAMED_PET_TELE_LEVEL:
 #ifdef JP
                                        fprintf(fff, "%s¤¬¥Æ¥ì¥Ý¡¼¥È¡¦¥ì¥Ù¥ë¤Ë¤è¤Ã¤Æ¾Ã¤¨µî¤Ã¤¿¡£\n", note);
 #else
                                        fprintf(fff, "%s was made disappeared by teleport level.\n", note);
 #endif
                                        break;
+                               case RECORD_NAMED_PET_BLAST:
+#ifdef JP
+                                       fprintf(fff, "%s¤òÇúÇˤ·¤¿¡£\n", note);
+#else
+                                       fprintf(fff, "blasted %s.\n", note);
+#endif
+                                       break;
+                               case RECORD_NAMED_PET_HEAL_LEPER:
+#ifdef JP
+                                       fprintf(fff, "%s¤Îɵ¤¤¬¼£¤ê餫¤é³°¤ì¤¿¡£\n", note);
+#else
+                                       fprintf(fff, "%s was healed and left.\n", note);
+#endif
+                                       break;
+                               case RECORD_NAMED_PET_COMPACT:
+#ifdef JP
+                                       fprintf(fff, "%s¤¬¥â¥ó¥¹¥¿¡¼¾ðÊ󰵽̤ˤè¤Ã¤Æ¾Ã¤¨µî¤Ã¤¿¡£\n", note);
+#else
+                                       fprintf(fff, "%s was made disappeared by compacting monsters.\n", note);
+#endif
+                                       break;
+                               case RECORD_NAMED_PET_LOSE_PARENT:
+#ifdef JP
+                                       fprintf(fff, "%s¤Î¾¤´­¼Ô¤¬´û¤Ë¤¤¤Ê¤¤¤¿¤á¾Ã¤¨µî¤Ã¤¿¡£\n", note);
+#else
+                                       fprintf(fff, "%s disappeared because there does not exist summoner.\n", note);
+#endif
+                                       break;
                                default:
                                        fprintf(fff, "\n");
                                        break;
index e7f0e20..56f93a3 100644 (file)
@@ -1795,7 +1795,7 @@ void do_cmd_pet_dismiss(void)
                                char m_name[80];
 
                                monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
-                               do_cmd_write_nikki(NIKKI_NAMED_PET, 2, m_name);
+                               do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_DISMISS, m_name);
                        }
 
                        if (pet_ctr == p_ptr->riding)
@@ -2279,7 +2279,7 @@ static void do_name_pet(void)
                                        char m_name[80];
 
                                        monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
-                                       do_cmd_write_nikki(NIKKI_NAMED_PET, 0, m_name);
+                                       do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_NAME, m_name);
                                }
                        }
                        else
@@ -2289,7 +2289,7 @@ static void do_name_pet(void)
                                        char m_name[80];
 
                                        monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
-                                       do_cmd_write_nikki(NIKKI_NAMED_PET, 1, m_name);
+                                       do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_UNNAME, m_name);
                                }
                                m_ptr->nickname = 0;
                        }
index fc82af2..33da686 100644 (file)
@@ -4726,6 +4726,22 @@ extern int PlayerUID;
 #define NIKKI_NAMED_PET   21
 #define NIKKI_PAT_TELE    22
 
+#define RECORD_NAMED_PET_NAME        0
+#define RECORD_NAMED_PET_UNNAME      1
+#define RECORD_NAMED_PET_DISMISS     2
+#define RECORD_NAMED_PET_DEATH       3
+#define RECORD_NAMED_PET_MOVED       4
+#define RECORD_NAMED_PET_LOST_SIGHT  5
+#define RECORD_NAMED_PET_DESTROY     6
+#define RECORD_NAMED_PET_EARTHQUAKE  7
+#define RECORD_NAMED_PET_GENOCIDE    8
+#define RECORD_NAMED_PET_WIZ_ZAP     9
+#define RECORD_NAMED_PET_TELE_LEVEL  10
+#define RECORD_NAMED_PET_BLAST       11
+#define RECORD_NAMED_PET_HEAL_LEPER  12
+#define RECORD_NAMED_PET_COMPACT     13
+#define RECORD_NAMED_PET_LOSE_PARENT 14
+
 #define MAX_MANE 16
 #define MAX_MONSPELLS 96
 #define MONSPELL_TYPE_BOLT 1
index b2b5cf6..67bb685 100644 (file)
@@ -444,7 +444,7 @@ static void preserve_pet(void)
                        if (p_ptr->riding == i) continue;
 
                        monster_desc(m_name, m_ptr, MD_ASSUME_VISIBLE | MD_INDEF_VISIBLE);
-                       do_cmd_write_nikki(NIKKI_NAMED_PET, 4, m_name);
+                       do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_MOVED, m_name);
                }
        }
 
@@ -606,7 +606,7 @@ static void place_pet(void)
                        if (record_named_pet && m_ptr->nickname)
                        {
                                monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
-                               do_cmd_write_nikki(NIKKI_NAMED_PET, 5, m_name);
+                               do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_LOST_SIGHT, m_name);
                        }
 
                        /* Pre-calculated in precalc_cur_num_of_pet(), but need to decrease */
index 7757dbc..a4c7f92 100644 (file)
@@ -2290,6 +2290,14 @@ static void process_monster(int m_idx)
 #endif
                }
 
+               if (record_named_pet && is_pet(m_ptr) && m_ptr->nickname)
+               {
+                       char m_name[80];
+
+                       monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
+                       do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_LOSE_PARENT, m_name);
+               }
+
                /* Delete the monster */
                delete_monster_idx(m_idx);
 
index e271876..84c8da3 100644 (file)
@@ -446,6 +446,14 @@ void compact_monsters(int size)
                        /* All monsters get a saving throw */
                        if (randint0(100) < chance) continue;
 
+                       if (record_named_pet && is_pet(m_ptr) && m_ptr->nickname)
+                       {
+                               char m_name[80];
+
+                               monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
+                               do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_COMPACT, m_name);
+                       }
+
                        /* Delete the monster */
                        delete_monster_idx(i);
 
index 14fe6da..06c3ec6 100644 (file)
@@ -3754,6 +3754,14 @@ bool mutation_power_aux(u32b power)
                                        (r_ptr->level < randint1(p_ptr->lev+50)) &&
                                        !(m_ptr->mflag2 & MFLAG2_NOGENO))
                                {
+                                       if (record_named_pet && is_pet(m_ptr) && m_ptr->nickname)
+                                       {
+                                               char m_name[80];
+
+                                               monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
+                                               do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_GENOCIDE, m_name);
+                                       }
+
                                        /* Delete the monster, rather than killing it. */
                                        delete_monster_idx(c_ptr->m_idx);
 #ifdef JP
index e37cfe4..8ff230a 100644 (file)
@@ -6070,6 +6070,14 @@ note = "
                if (seen_msg) msg_print("The Mangy looking leper is healed!");
 #endif
 
+               if (record_named_pet && is_pet(m_ptr) && m_ptr->nickname)
+               {
+                       char m2_name[80];
+
+                       monster_desc(m2_name, m_ptr, MD_INDEF_VISIBLE);
+                       do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_HEAL_LEPER, m2_name);
+               }
+
                delete_monster_idx(c_ptr->m_idx);
        }
 
index 8846584..702b644 100644 (file)
@@ -4662,7 +4662,18 @@ bool genocide_aux(int m_idx, int power, bool player_cast, int dam_side, cptr spe
        else if (player_cast && (m_ptr->mflag2 & MFLAG2_NOGENO)) resist = TRUE;
 
        /* Delete the monster */
-       else delete_monster_idx(m_idx);
+       else
+       {
+               if (record_named_pet && is_pet(m_ptr) && m_ptr->nickname)
+               {
+                       char m_name[80];
+
+                       monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
+                       do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_GENOCIDE, m_name);
+               }
+
+               delete_monster_idx(m_idx);
+       }
 
        if (resist && player_cast)
        {
@@ -5140,7 +5151,7 @@ bool destroy_area(int y1, int x1, int r, bool in_generate)
                                                char m_name[80];
 
                                                monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
-                                               do_cmd_write_nikki(NIKKI_NAMED_PET, 6, m_name);
+                                               do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_DESTROY, m_name);
                                        }
 
                                        /* Delete the monster (if any) */
@@ -5687,7 +5698,7 @@ bool earthquake_aux(int cy, int cx, int r, int m_idx)
                                                                char m2_name[80];
 
                                                                monster_desc(m2_name, m_ptr, MD_INDEF_VISIBLE);
-                                                               do_cmd_write_nikki(NIKKI_NAMED_PET, 7, m2_name);
+                                                               do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_EARTHQUAKE, m2_name);
                                                        }
                                                }
 
@@ -5909,6 +5920,15 @@ void discharge_minion(void)
                project(i, 2+(r_ptr->level/20), m_ptr->fy,
                        m_ptr->fx, dam, GF_PLASMA, 
                        PROJECT_STOP | PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL, -1);
+
+               if (record_named_pet && m_ptr->nickname)
+               {
+                       char m_name[80];
+
+                       monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
+                       do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_BLAST, m_name);
+               }
+
                delete_monster_idx(i);
        }
 }
index d54f750..2d822ec 100644 (file)
@@ -799,7 +799,7 @@ void teleport_level(int m_idx)
                        char m2_name[80];
 
                        monster_desc(m2_name, m_ptr, MD_INDEF_VISIBLE);
-                       do_cmd_write_nikki(NIKKI_NAMED_PET, 8, m2_name);
+                       do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_TELE_LEVEL, m2_name);
                }
 
                delete_monster_idx(m_idx);
index 7363381..891bc3e 100644 (file)
@@ -1643,6 +1643,14 @@ static void do_cmd_wiz_zap(void)
                /* Delete nearby monsters */
                if (m_ptr->cdis <= MAX_SIGHT)
                {
+                       if (record_named_pet && is_pet(m_ptr) && m_ptr->nickname)
+                       {
+                               char m_name[80];
+
+                               monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
+                               do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_WIZ_ZAP, m_name);
+                       }
+
                        delete_monster_idx(i);
                }
        }
@@ -1667,6 +1675,14 @@ static void do_cmd_wiz_zap_all(void)
                /* Skip the mount */
                if (i == p_ptr->riding) continue;
 
+               if (record_named_pet && is_pet(m_ptr) && m_ptr->nickname)
+               {
+                       char m_name[80];
+
+                       monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
+                       do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_WIZ_ZAP, m_name);
+               }
+
                /* Delete this monster */
                delete_monster_idx(i);
        }