From: nothere Date: Fri, 30 Jul 2004 16:54:53 +0000 (+0000) Subject: 抹殺/消滅, ペット爆破, 親モンスター消滅, モンスター圧縮, 不潔な病人の X-Git-Tag: v2.1.2~396 X-Git-Url: http://git.osdn.net/view?p=hengband%2Fhengband.git;a=commitdiff_plain;h=b9c835731f89354137e4c2a8b163cd5cee65cc30 抹殺/消滅, ペット爆破, 親モンスター消滅, モンスター圧縮, 不潔な病人の 病気治癒の対象が名前付きペットだった場合に, 名前付きペットの消滅が記 録されないバグを修正. また, 名前付きペットの記録について, 引数として 直接数字を書いていた部分を記号定数化. --- diff --git a/src/cmd4.c b/src/cmd4.c index 9c3edfe6d..65465398e 100644 --- a/src/cmd4.c +++ b/src/cmd4.c @@ -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; diff --git a/src/cmd5.c b/src/cmd5.c index e7f0e20d1..56f93a3a0 100644 --- a/src/cmd5.c +++ b/src/cmd5.c @@ -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; } diff --git a/src/defines.h b/src/defines.h index fc82af27f..33da686d4 100644 --- a/src/defines.h +++ b/src/defines.h @@ -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 diff --git a/src/floors.c b/src/floors.c index b2b5cf610..67bb68510 100644 --- a/src/floors.c +++ b/src/floors.c @@ -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 */ diff --git a/src/melee2.c b/src/melee2.c index 7757dbcc5..a4c7f921a 100644 --- a/src/melee2.c +++ b/src/melee2.c @@ -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); diff --git a/src/monster2.c b/src/monster2.c index e27187619..84c8da386 100644 --- a/src/monster2.c +++ b/src/monster2.c @@ -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); diff --git a/src/mutation.c b/src/mutation.c index 14fe6dabc..06c3ec690 100644 --- a/src/mutation.c +++ b/src/mutation.c @@ -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 diff --git a/src/spells1.c b/src/spells1.c index e37cfe4ca..8ff230ac4 100644 --- a/src/spells1.c +++ b/src/spells1.c @@ -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); } diff --git a/src/spells2.c b/src/spells2.c index 884658454..702b64459 100644 --- a/src/spells2.c +++ b/src/spells2.c @@ -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); } } diff --git a/src/spells3.c b/src/spells3.c index d54f75084..2d822ec80 100644 --- a/src/spells3.c +++ b/src/spells3.c @@ -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); diff --git a/src/wizard2.c b/src/wizard2.c index 7363381c7..891bc3ec4 100644 --- a/src/wizard2.c +++ b/src/wizard2.c @@ -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); }