+ {
+ blinked = FALSE;
+ alive = FALSE;
+ }
+ }
+ else
+ {
+ if (is_original_ap_and_seen(m_ptr))
+ r_ptr->r_flagsr |= RFR_RES_ALL;
+ }
+ }
+
+ if (hex_spelling(HEX_SHADOW_CLOAK) && alive && !p_ptr->is_dead)
+ {
+ int dam = 1;
+ object_type *o_ptr = &inventory[INVEN_RARM];
+
+ if (!(r_ptr->flagsr & RFR_RES_ALL || r_ptr->flagsr & RFR_RES_DARK))
+ {
+ if (o_ptr->k_idx)
+ {
+ int basedam = ((o_ptr->dd + p_ptr->to_dd[0]) * (o_ptr->ds + p_ptr->to_ds[0] + 1));
+ dam = basedam / 2 + o_ptr->to_d + p_ptr->to_d[0];
+ }
+
+ /* Cursed armor makes damages doubled */
+ o_ptr = &inventory[INVEN_BODY];
+ if ((o_ptr->k_idx) && object_is_cursed(o_ptr)) dam *= 2;
+
+ /* Modify the damage */
+ dam = mon_damage_mod(m_ptr, dam, FALSE);
+
+#ifdef JP
+ msg_format("±Æ¤Î¥ª¡¼¥é¤¬%^s¤ËÈ¿·â¤·¤¿¡ª", m_name);
+ if (mon_take_hit(m_idx, dam, &fear, "¤ÏÅݤ줿¡£"))
+#else
+ msg_format("Enveloped shadows attack %^s.", m_name);
+
+ if (mon_take_hit(m_idx, dam, &fear, " is destroyed."))
+#endif
+ {
+ blinked = FALSE;
+ alive = FALSE;
+ }
+ else /* monster does not dead */
+ {
+ int j;
+ int flg = PROJECT_STOP | PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL;
+ int typ[4][2] = {
+ { INVEN_HEAD, GF_OLD_CONF },
+ { INVEN_LARM, GF_OLD_SLEEP },
+ { INVEN_HANDS, GF_TURN_ALL },
+ { INVEN_FEET, GF_OLD_SLOW }
+ };
+
+ /* Some cursed armours gives an extra effect */
+ for (j = 0; j < 4; j++)
+ {
+ o_ptr = &inventory[typ[j][0]];
+ if ((o_ptr->k_idx) && object_is_cursed(o_ptr) && object_is_armour(o_ptr))
+ project(0, 0, m_ptr->fy, m_ptr->fx, (p_ptr->lev * 2), typ[j][1], flg, -1);
+ }
+ }
+ }
+ else