/* Combine / Reorder the pack */
p_ptr->notice |= (PN_COMBINE | PN_REORDER);
-
p_ptr->window |= (PW_INVEN);
break;
/* Occasional "blink" anyway */
blinked = TRUE;
-
obvious = TRUE;
-
break;
}
{
if (explode) break;
obvious = TRUE;
-
msg_print(_("酸を浴びせられた!", "You are covered in acid!"));
-
- /* Special damage */
get_damage += acid_dam(damage, ddesc, -1, FALSE);
-
- /* Hack -- Update AC */
update_stuff();
-
- /* Learn about the player */
update_smart_learn(m_idx, DRS_ACID);
-
break;
}
{
if (explode) break;
obvious = TRUE;
-
msg_print(_("電撃を浴びせられた!", "You are struck by electricity!"));
-
- /* Special damage */
get_damage += elec_dam(damage, ddesc, -1, FALSE);
-
- /* Learn about the player */
update_smart_learn(m_idx, DRS_ELEC);
-
break;
}
{
if (explode) break;
obvious = TRUE;
-
msg_print(_("全身が炎に包まれた!", "You are enveloped in flames!"));
-
- /* Special damage */
get_damage += fire_dam(damage, ddesc, -1, FALSE);
-
- /* Learn about the player */
update_smart_learn(m_idx, DRS_FIRE);
-
break;
}
{
if (explode) break;
obvious = TRUE;
-
msg_print(_("全身が冷気で覆われた!", "You are covered with frost!"));
-
- /* Special damage */
get_damage += cold_dam(damage, ddesc, -1, FALSE);
-
- /* Learn about the player */
update_smart_learn(m_idx, DRS_COLD);
-
break;
}
case RBE_BLIND:
{
get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
-
if (p_ptr->is_dead) break;
/* Increase "blind" */
*/
bool mon_take_hit(MONSTER_IDX m_idx, HIT_POINT dam, bool *fear, cptr note)
{
- monster_type *m_ptr = &m_list[m_idx];
- monster_race *r_ptr = &r_info[m_ptr->r_idx];
-
- monster_type exp_mon;
+ monster_type *m_ptr = &m_list[m_idx];
+ monster_race *r_ptr = &r_info[m_ptr->r_idx];
+ monster_type exp_mon;
/* Innocent until proven otherwise */
- bool innocent = TRUE, thief = FALSE;
- int i;
- int expdam;
+ bool innocent = TRUE, thief = FALSE;
+ int i;
+ HIT_POINT expdam;
(void)COPY(&exp_mon, m_ptr, monster_type);
if (p_ptr->health_who == m_idx) p_ptr->redraw |= (PR_HEALTH);
if (p_ptr->riding == m_idx) p_ptr->redraw |= (PR_UHEALTH);
- /* Wake it up */
(void)set_monster_csleep(m_idx, 0);
/* Hack - Cancel any special player stealth magics. -LM- */
/* Genocided by chaos patron */
if (!m_idx) return TRUE;
- /* 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);
+ msg_format( _("合計%d/%dのダメージを与えた。","You do %d (out of %d) damage."), m_ptr->dealt_damage, m_ptr->maxhp);
}
/* It is dead now */
/* Dump a message */
if (!get_rnd_line(_("mondeath_j.txt", "mondeath.txt"), m_ptr->r_idx, line_got))
-
+ {
msg_format("%^s %s", m_name, line_got);
+ }
#ifdef WORLD_SCORE
if (m_ptr->r_idx == MON_SERPENT)
chg_virtue(V_COMPASSION, -1);
}
- if ((r_ptr->flags3 & RF3_GOOD) &&
- ((r_ptr->level) / 10 + (3 * dun_level) >= randint1(100)))
+ if ((r_ptr->flags3 & RF3_GOOD) && ((r_ptr->level) / 10 + (3 * dun_level) >= randint1(100)))
chg_virtue(V_UNLIFE, 1);
if (r_ptr->d_char == 'A')
{
if (r_ptr->flags1 & RF1_UNIQUE)
chg_virtue(V_JUSTICE, 3);
- else if (1+((r_ptr->level) / 10 + (2 * dun_level))
- >= randint1(100))
+ else if (1+((r_ptr->level) / 10 + (2 * dun_level)) >= randint1(100))
chg_virtue(V_JUSTICE, 1);
}
else if (innocent)
if ((r_ptr->flags1 & RF1_UNIQUE) && record_destroy_uniq)
{
char note_buf[160];
-#ifdef JP
- sprintf(note_buf, "%s%s", r_name + r_ptr->name, (m_ptr->smart & SM_CLONED) ? "(クローン)" : "");
-#else
- sprintf(note_buf, "%s%s", r_name + r_ptr->name, (m_ptr->smart & SM_CLONED) ? "(Clone)" : "");
-#endif
+ sprintf(note_buf, "%s%s", r_name + r_ptr->name, (m_ptr->smart & SM_CLONED) ? _("(クローン)", "(Clone)") : "");
do_cmd_write_nikki(NIKKI_UNIQUE, 0, note_buf);
}