From 4a52e9d1e17d7e4750a30bab8872a1632a658ee0 Mon Sep 17 00:00:00 2001 From: mogami Date: Tue, 26 Nov 2002 07:42:55 +0000 Subject: [PATCH] =?utf8?q?=E3=82=A2=E3=83=B3=E3=83=90=E3=83=BC=E3=81=AE?= =?utf8?q?=E7=8E=8B=E6=97=8F=E3=82=92=E5=80=92=E3=81=97=E3=81=9F=E3=81=A8?= =?utf8?q?=E3=81=8D=E3=81=AB=E8=A1=80=E3=81=AE=E5=91=AA=E3=81=84=E3=81=AE?= =?utf8?q?=E5=9C=B0=E9=9C=87=E3=81=A7=E6=B6=88=E5=8E=BB=E5=89=8D=E3=81=AE?= =?utf8?q?=E5=80=92=E3=81=97=E3=81=9F=E3=82=A2=E3=83=B3=E3=83=90=E3=83=BC?= =?utf8?q?=E3=81=8C=E6=BD=B0=20=E3=82=8C=E3=81=A6=E6=B6=88=E3=81=88?= =?utf8?q?=E3=81=A6=E3=80=81=E7=9B=B4=E5=BE=8C=E3=81=AB=E6=96=B0=E3=81=9F?= =?utf8?q?=E3=81=AB=E5=80=92=E3=81=97=E3=81=9F=E3=81=AE=E3=81=A8=E5=90=8C?= =?utf8?q?=E3=81=98=E3=82=A2=E3=83=B3=E3=83=90=E3=83=BC=E3=81=AE=E7=8E=8B?= =?utf8?q?=E6=97=8F=E3=81=8C=E5=8F=AC=E5=96=9A=E3=81=95=E3=82=8C=E3=82=8B?= =?utf8?q?=E4=BA=8B=E3=81=8C=E3=81=82=E3=81=A3=20=E3=81=9F=E3=81=AE?= =?utf8?q?=E3=81=A7=E4=BF=AE=E6=AD=A3=E3=80=82=E5=85=88=E3=81=ABmax=5Fnum?= =?utf8?q?=20=3D=200=E3=81=AE=E5=87=A6=E7=90=86=E3=82=92=E3=81=99=E3=82=8B?= =?utf8?q?=E3=82=88=E3=81=86=E3=81=AB=E3=81=97=E3=81=9F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/xtra2.c | 66 +++++++++++++++++++++++++++++++------------------------------ 1 file changed, 34 insertions(+), 32 deletions(-) diff --git a/src/xtra2.c b/src/xtra2.c index ead18cdb4..ac3f8eb0a 100644 --- a/src/xtra2.c +++ b/src/xtra2.c @@ -1463,7 +1463,7 @@ msg_print(" #ifdef JP do_cmd_write_nikki(NIKKI_BUNSHOU, 0, "¸«»ö¤ËÊѶòÈÚÅܤξ¡Íø¼Ô¤È¤Ê¤Ã¤¿¡ª"); #else - do_cmd_write_nikki(NIKKI_BUNSHOU, 0, "become *WINNER* of Hengband finly!"); + do_cmd_write_nikki(NIKKI_BUNSHOU, 0, "become *WINNER* of Hengband finely!"); #endif if (p_ptr->pclass == CLASS_CHAOS_WARRIOR) @@ -1723,11 +1723,44 @@ bool mon_take_hit(int m_idx, int dam, bool *fear, cptr note) if (r_info[m_ptr->r_idx].flags7 & RF7_TANUKI) { + /* You might have unmasked Tanuki first time */ r_ptr = &r_info[m_ptr->r_idx]; m_ptr->ap_r_idx = m_ptr->r_idx; if (r_ptr->r_sights < MAX_SHORT) r_ptr->r_sights++; } + if (m_ptr->mflag2 & MFLAG_CHAMELEON) + { + /* You might have unmasked Chameleon first time */ + if (r_ptr->flags1 & RF1_UNIQUE) + r_ptr = &r_info[MON_CHAMELEON_K]; + else + r_ptr = &r_info[MON_CHAMELEON]; + if (r_ptr->r_sights < MAX_SHORT) r_ptr->r_sights++; + } + + /* When the player kills a Unique, it stays dead */ + if (r_ptr->flags1 & RF1_UNIQUE && !(m_ptr->smart & SM_CLONED)) + r_ptr->max_num = 0; + + /* When the player kills a Nazgul, it stays dead */ + if (r_ptr->flags7 & RF7_UNIQUE_7) r_ptr->max_num--; + + /* Recall even invisible uniques or winners */ + if (m_ptr->ml || (r_ptr->flags1 & RF1_UNIQUE)) + { + /* Count kills this life */ + if ((m_ptr->mflag2 & MFLAG_KAGE) && (r_info[MON_KAGE].r_pkills < MAX_SHORT)) r_info[MON_KAGE].r_pkills++; + else if (r_ptr->r_pkills < MAX_SHORT) r_ptr->r_pkills++; + + /* Count kills in all lives */ + if ((m_ptr->mflag2 & MFLAG_KAGE) && (r_info[MON_KAGE].r_tkills < MAX_SHORT)) r_info[MON_KAGE].r_tkills++; + else if (r_ptr->r_tkills < MAX_SHORT) r_ptr->r_tkills++; + + /* Hack -- Auto-recall */ + monster_race_track(m_ptr->ap_r_idx); + } + /* Extract monster name */ monster_desc(m_name, m_ptr, 0x100); @@ -1980,37 +2013,6 @@ msg_format("%s /* Generate treasure */ monster_death(m_idx, TRUE); - if (m_ptr->mflag2 & MFLAG_CHAMELEON) - { - if (r_ptr->flags1 & RF1_UNIQUE) - r_ptr = &r_info[MON_CHAMELEON_K]; - else - r_ptr = &r_info[MON_CHAMELEON]; - if (r_ptr->r_sights < MAX_SHORT) r_ptr->r_sights++; - } - - /* When the player kills a Unique, it stays dead */ - if (r_ptr->flags1 & RF1_UNIQUE && !(m_ptr->smart & SM_CLONED)) - r_ptr->max_num = 0; - - /* When the player kills a Nazgul, it stays dead */ - if (r_ptr->flags7 & RF7_UNIQUE_7) r_ptr->max_num--; - - /* Recall even invisible uniques or winners */ - if (m_ptr->ml || (r_ptr->flags1 & RF1_UNIQUE)) - { - /* Count kills this life */ - if ((m_ptr->mflag2 & MFLAG_KAGE) && (r_info[MON_KAGE].r_pkills < MAX_SHORT)) r_info[MON_KAGE].r_pkills++; - else if (r_ptr->r_pkills < MAX_SHORT) r_ptr->r_pkills++; - - /* Count kills in all lives */ - if ((m_ptr->mflag2 & MFLAG_KAGE) && (r_info[MON_KAGE].r_tkills < MAX_SHORT)) r_info[MON_KAGE].r_tkills++; - else if (r_ptr->r_tkills < MAX_SHORT) r_ptr->r_tkills++; - - /* Hack -- Auto-recall */ - monster_race_track(m_ptr->ap_r_idx); - } - if ((m_ptr->r_idx == MON_BANOR) || (m_ptr->r_idx == MON_LUPART)) { r_info[MON_BANORLUPART].max_num = 0; -- 2.11.0