#define H_VER_MAJOR 2
#define H_VER_MINOR 1
#define H_VER_PATCH 2
-#define H_VER_EXTRA 0
+#define H_VER_EXTRA 1
#define ANGBAND_2_8_1
m_ptr->maxhp = r_ptr->hdice*(r_ptr->hside+1)/2;
m_ptr->max_maxhp = m_ptr->maxhp;
m_ptr->hp = r_ptr->hdice*(r_ptr->hside+1)/2;
+ m_ptr->dealt_damage = 0;
m_ptr->energy_need = ENERGY_NEED() + ENERGY_NEED();
}
{
rd_s16b(&m_ptr->max_maxhp);
}
+ if(h_older_than(2, 1, 2, 1))
+ {
+ m_ptr->dealt_damage = 0;
+ }
+ else
+ {
+ rd_s16b(&m_ptr->dealt_damage);
+ }
+
rd_s16b(&m_ptr->mtimed[MTIMED_CSLEEP]);
rd_byte(&m_ptr->mspeed);
if (z_older_than(10, 4, 2))
rd_s16b(&m_ptr->hp);
rd_s16b(&m_ptr->maxhp);
rd_s16b(&m_ptr->max_maxhp);
+ if(h_older_than(2, 1, 2, 1))
+ {
+ m_ptr->dealt_damage = 0;
+ }
+ else
+ {
+ rd_s16b(&m_ptr->dealt_damage);
+ }
/* Monster race index of its appearance */
if (flags & SAVE_MON_AP_R_IDX) rd_s16b(&m_ptr->ap_r_idx);
}
m_ptr->maxhp = m_ptr->max_maxhp;
m_ptr->hp = old_hp * m_ptr->maxhp / old_maxhp;
+
+ /* dealt damage is 0 at initial*/
+ m_ptr->dealt_damage = 0;
/* Extract the monster base speed */
m_ptr->mspeed = get_mspeed(r_ptr);
m_ptr->maxhp = (long)(m_ptr->maxhp * m_ptr->max_maxhp) / oldmaxhp;
if (m_ptr->maxhp < 1) m_ptr->maxhp = 1;
m_ptr->hp = (long)(m_ptr->hp * m_ptr->max_maxhp) / oldmaxhp;
+
+ /* reset dealt_damage */
+ m_ptr->dealt_damage = 0;
}
if (m_ptr->r_idx == MON_WOUNDED_BEAR)
m_ptr->hp = m_ptr->maxhp / 2;
else m_ptr->hp = m_ptr->maxhp;
+
+
+ /* dealt damage is 0 at initial*/
+ m_ptr->dealt_damage = 0;
/* Extract the monster base speed */
wr_s16b(m_ptr->hp);
wr_s16b(m_ptr->maxhp);
wr_s16b(m_ptr->max_maxhp);
+ wr_s16b(m_ptr->dealt_damage);
+
/* Monster race index of its appearance */
if (flags & SAVE_MON_AP_R_IDX) wr_s16b(m_ptr->ap_r_idx);
s16b hp; /* Current Hit points */
s16b maxhp; /* Max Hit points */
s16b max_maxhp; /* Max Max Hit points */
+ s16b dealt_damage; /* Sum of damages dealt by player */
s16b mtimed[MAX_MTIMED]; /* Timed status counter */
/* Hurt it */
m_ptr->hp -= dam;
+
+ m_ptr->dealt_damage += dam;
+ if(m_ptr->dealt_damage > m_ptr->max_maxhp * 100) m_ptr->dealt_damage = m_ptr->max_maxhp * 100;
+ if (p_ptr->wizard)
+ {
+ msg_format( _("¹ç·×%d/%d¤Î¥À¥á¡¼¥¸¤òÍ¿¤¨¤¿¡£","You do %d (out of %d) damage."),
+ m_ptr->dealt_damage, m_ptr->maxhp);
+ }
/* It is dead now */
if (m_ptr->hp < 0)