if ((have_flag(flgs, TR_CHAOTIC)) && one_in_(2))
{
if (one_in_(10))
- chg_virtue(V_CHANCE, 1);
+ chg_virtue(p_ptr, V_CHANCE, 1);
if (randint1(5) < 3)
{
{
if (one_in_(4))
{
- chg_virtue(V_UNLIFE, 1);
+ chg_virtue(p_ptr, V_UNLIFE, 1);
}
}
/* Mega-Hack -- apply earthquake brand */
if (stormbringer)
{
msg_format(_("黒い刃は強欲に%sを攻撃した!", "Your black blade greedily attacks %s!"), m_name);
- chg_virtue(V_INDIVIDUALISM, 1);
- chg_virtue(V_HONOUR, -1);
- chg_virtue(V_JUSTICE, -1);
- chg_virtue(V_COMPASSION, -1);
+ chg_virtue(p_ptr, V_INDIVIDUALISM, 1);
+ chg_virtue(p_ptr, V_HONOUR, -1);
+ chg_virtue(p_ptr, V_JUSTICE, -1);
+ chg_virtue(p_ptr, V_COMPASSION, -1);
}
else if (p_ptr->pclass != CLASS_BERSERKER)
{
if (get_check(_("本当に攻撃しますか?", "Really hit it? ")))
{
- chg_virtue(V_INDIVIDUALISM, 1);
- chg_virtue(V_HONOUR, -1);
- chg_virtue(V_JUSTICE, -1);
- chg_virtue(V_COMPASSION, -1);
+ chg_virtue(p_ptr, V_INDIVIDUALISM, 1);
+ chg_virtue(p_ptr, V_HONOUR, -1);
+ chg_virtue(p_ptr, V_JUSTICE, -1);
+ chg_virtue(p_ptr, V_COMPASSION, -1);
}
else
{
if (MON_CSLEEP(m_ptr)) /* It is not honorable etc to attack helpless victims */
{
- if (!(r_ptr->flags3 & RF3_EVIL) || one_in_(5)) chg_virtue(V_COMPASSION, -1);
- if (!(r_ptr->flags3 & RF3_EVIL) || one_in_(5)) chg_virtue(V_HONOUR, -1);
+ if (!(r_ptr->flags3 & RF3_EVIL) || one_in_(5)) chg_virtue(p_ptr, V_COMPASSION, -1);
+ if (!(r_ptr->flags3 & RF3_EVIL) || one_in_(5)) chg_virtue(p_ptr, V_HONOUR, -1);
}
if (p_ptr->migite && p_ptr->hidarite)
if ((p_ptr->special_defense & KATA_IAI) && ((mode != HISSATSU_IAI) || mdeath))
{
- set_action(ACTION_NONE);
+ set_action(p_ptr, ACTION_NONE);
}
return mdeath;
/* Take "poison" effect */
if (!(p_ptr->resist_pois || IS_OPPOSE_POIS()) && !CHECK_MULTISHADOW())
{
- if (set_poisoned(p_ptr->poisoned + randint1(rlev) + 5))
+ if (set_poisoned(p_ptr, p_ptr->poisoned + randint1(rlev) + 5))
{
obvious = TRUE;
}
{
msg_print(_("財布が軽くなった気がする。", "Your purse feels lighter."));
msg_format(_("$%ld のお金が盗まれた!", "%ld coins were stolen!"), (long)gold);
- chg_virtue(V_SACRIFICE, 1);
+ chg_virtue(p_ptr, V_SACRIFICE, 1);
}
else
{
msg_print(_("財布が軽くなった気がする。", "Your purse feels lighter."));
msg_print(_("お金が全部盗まれた!", "All of your coins were stolen!"));
- chg_virtue(V_SACRIFICE, 2);
+ chg_virtue(p_ptr, V_SACRIFICE, 2);
}
/* Redraw gold */
#else
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);
+ chg_virtue(p_ptr, V_SACRIFICE, 1);
o_idx = o_pop();
/* Success */
/* Increase "confused" */
if (!p_ptr->resist_conf && !CHECK_MULTISHADOW())
{
- if (set_confused(p_ptr->confused + 3 + randint1(rlev)))
+ if (set_confused(p_ptr, p_ptr->confused + 3 + randint1(rlev)))
{
obvious = TRUE;
}
}
else
{
- if (set_afraid(p_ptr->afraid + 3 + randint1(rlev)))
+ if (set_afraid(p_ptr, p_ptr->afraid + 3 + randint1(rlev)))
{
obvious = TRUE;
}
{
if (!p_ptr->paralyzed)
{
- if (set_paralyzed(3 + randint1(rlev)))
+ if (set_paralyzed(p_ptr, 3 + randint1(rlev)))
{
obvious = TRUE;
}
if (p_ptr->is_dead || CHECK_MULTISHADOW()) break;
- (void)drain_exp(d, d / 10, 95);
+ (void)drain_exp(p_ptr, d, d / 10, 95);
break;
}
if (p_ptr->is_dead || CHECK_MULTISHADOW()) break;
- (void)drain_exp(d, d / 10, 90);
+ (void)drain_exp(p_ptr, d, d / 10, 90);
break;
}
if (p_ptr->is_dead || CHECK_MULTISHADOW()) break;
- (void)drain_exp(d, d / 10, 75);
+ (void)drain_exp(p_ptr, d, d / 10, 75);
break;
}
if (p_ptr->is_dead || CHECK_MULTISHADOW()) break;
- (void)drain_exp(d, d / 10, 50);
+ (void)drain_exp(p_ptr, d, d / 10, 50);
break;
}
/* Take "poison" effect */
if (!(p_ptr->resist_pois || IS_OPPOSE_POIS()))
{
- if (set_poisoned(p_ptr->poisoned + randint1(rlev) + 5))
+ if (set_poisoned(p_ptr, p_ptr->poisoned + randint1(rlev) + 5))
{
obvious = TRUE;
}
{
if (p_ptr->prace == RACE_ANDROID) break;
msg_print(_("人生が逆戻りした気がする。", "You feel life has clocked back."));
- lose_exp(100 + (p_ptr->exp / 100) * MON_DRAIN_LIFE);
+ lose_exp(p_ptr, 100 + (p_ptr->exp / 100) * MON_DRAIN_LIFE);
break;
}
if (p_ptr->is_dead || CHECK_MULTISHADOW()) break;
- resist_drain = !drain_exp(d, d / 10, 50);
+ resist_drain = !drain_exp(p_ptr, d, d / 10, 50);
/* Heal the attacker? */
if (p_ptr->mimic_form)
}
else
{
- if (set_slow((p_ptr->slow + 4 + randint0(rlev / 10)), FALSE))
+ if (set_slow(p_ptr, (p_ptr->slow + 4 + randint0(rlev / 10)), FALSE))
{
obvious = TRUE;
}
}
else
{
- if (set_stun(p_ptr->stun + 10 + randint1(r_ptr->level / 4)))
+ if (set_stun(p_ptr, p_ptr->stun + 10 + randint1(r_ptr->level / 4)))
{
obvious = TRUE;
}
}
/* Apply the cut */
- if (cut_plus) (void)set_cut(p_ptr->cut + cut_plus);
+ if (cut_plus) (void)set_cut(p_ptr,p_ptr->cut + cut_plus);
}
/* Handle stun */
}
/* Apply the stun */
- if (stun_plus) (void)set_stun(p_ptr->stun + stun_plus);
+ if (stun_plus) (void)set_stun(p_ptr, p_ptr->stun + stun_plus);
}
if (explode)
msg_format("The attack of %s has wounded %s!", m_name, m_name_self);
#endif
project(0, 0, m_ptr->fy, m_ptr->fx, get_damage, GF_MISSILE, PROJECT_KILL, -1);
- if (p_ptr->tim_eyeeye) set_tim_eyeeye(p_ptr->tim_eyeeye-5, TRUE);
+ if (p_ptr->tim_eyeeye) set_tim_eyeeye(p_ptr, p_ptr->tim_eyeeye-5, TRUE);
}
if ((p_ptr->counter || (p_ptr->special_defense & KATA_MUSOU)) && alive && !p_ptr->is_dead && m_ptr->ml && (p_ptr->csp > 7))
if (p_ptr->special_defense & KATA_IAI)
{
- set_action(ACTION_NONE);
+ set_action(p_ptr, ACTION_NONE);
}
/* Assume we attacked */