bool explode = FALSE;
bool do_silly_attack = (one_in_(2) && p_ptr->image);
HIT_POINT get_damage = 0;
- int abbreviate = 0;
+ int abbreviate = 0; // 2回目以降の省略表現フラグ
/* Not allowed to attack */
if (r_ptr->flags1 & (RF1_NEVER_BLOW)) return (FALSE);
if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flags3 |= RF3_EVIL;
#ifdef JP
- if (abbreviate)
- msg_format("撃退した。");
- else
- msg_format("%^sは撃退された。", m_name);
- abbreviate = 1;/*2回目以降は省略 */
+ if (abbreviate) msg_format("撃退した。");
+ else msg_format("%^sは撃退された。", m_name);
+ abbreviate = 1; /*2回目以降は省略 */
#else
msg_format("%^s is repelled.", m_name);
#endif
else
{
if (one_in_(3))
-#ifdef JP
- act = "は♪僕らは楽しい家族♪と歌っている。";
+ act = _("は♪僕らは楽しい家族♪と歌っている。", "sings 'We are a happy family.'");
else
- act = "は♪アイ ラブ ユー、ユー ラブ ミー♪と歌っている。";
-#else
- act = "sings 'We are a happy family.'";
- else
- act = "sings 'I love you, you love me.'";
-#endif
+ act = _("は♪アイ ラブ ユー、ユー ラブ ミー♪と歌っている。", "sings 'I love you, you love me.'");
}
sound(SOUND_SHOW);
}
#ifdef JP
if (abbreviate == 0)
- msg_format("%^sに%s", m_name, act);
+ msg_format("%^sに%s", m_name, act);
else if (abbreviate == 1)
- msg_format("%s", act);
+ msg_format("%s", act);
else /* if (abbreviate == -1) */
- msg_format("%^s%s", m_name, act);
+ msg_format("%^s%s", m_name, act);
abbreviate = 1;/*2回目以降は省略 */
#else
msg_format("%^s %s%s", m_name, act, do_silly_attack ? " you." : "");
* Skip the effect when exploding, since the explosion
* already causes the effect.
*/
- if (explode)
- damage = 0;
+ if(explode) damage = 0;
/* Apply appropriate damage */
switch (effect)
{
case 0:
{
- /* Hack -- Assume obvious */
obvious = TRUE;
-
- /* Hack -- No damage */
damage = 0;
-
break;
}
- case RBE_SUPERHURT:
+ case RBE_SUPERHURT: /* AC軽減あり / Player armor reduces total damage */
{
if (((randint1(rlev*2+300) > (ac+200)) || one_in_(13)) && !CHECK_MULTISHADOW())
{
break;
}
}
- case RBE_HURT:
+ case RBE_HURT: /* AC軽減あり / Player armor reduces total damage */
{
obvious = TRUE;
-
- /* Hack -- Player armor reduces total damage */
damage -= (damage * ((ac < 150) ? ac : 150) / 250);
-
get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
-
break;
}
}
}
- /* Take some damage */
get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
/* Learn about the player */
}
}
- /* Take some damage */
get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
/* Learn about the player */
case RBE_UN_POWER:
{
- /* Take some damage */
get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (p_ptr->is_dead || CHECK_MULTISHADOW()) break;
case RBE_EAT_GOLD:
{
- /* Take some damage */
get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
/* Confused monsters cannot steal successfully. -LM-*/
case RBE_EAT_ITEM:
{
- /* Take some damage */
get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
/* Confused monsters cannot steal successfully. -LM-*/
/* Skip artifacts */
if (object_is_artifact(o_ptr)) continue;
- /* Get a description */
object_desc(o_name, o_ptr, OD_OMIT_PREFIX);
#ifdef JP
- msg_format("%s(%c)を%s盗まれた!",
- o_name, index_to_label(i),
- ((o_ptr->number > 1) ? "一つ" : ""));
+ msg_format("%s(%c)を%s盗まれた!", o_name, index_to_label(i), ((o_ptr->number > 1) ? "一つ" : ""));
#else
- msg_format("%sour %s (%c) was stolen!",
- ((o_ptr->number > 1) ? "One of y" : "Y"),
- o_name, index_to_label(i));
+ msg_format("%sour %s (%c) was stolen!", ((o_ptr->number > 1) ? "One of y" : "Y"), o_name, index_to_label(i));
#endif
chg_virtue(V_SACRIFICE, 1);
case RBE_EAT_FOOD:
{
- /* Take some damage */
get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (p_ptr->is_dead || CHECK_MULTISHADOW()) break;
/* Skip non-food objects */
if ((o_ptr->tval != TV_FOOD) && !((o_ptr->tval == TV_CORPSE) && (o_ptr->sval))) continue;
- /* Get a description */
object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
#ifdef JP
{
/* Access the lite */
o_ptr = &inventory[INVEN_LITE];
-
- /* Take some damage */
get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (p_ptr->is_dead || CHECK_MULTISHADOW()) break;
case RBE_DISEASE:
{
- /* Take some damage */
get_damage += take_hit(DAMAGE_ATTACK, damage, ddesc, -1);
if (p_ptr->is_dead || CHECK_MULTISHADOW()) break;