if (cm_ptr->b < 45) {
msg_print(_("あなたの頭は混乱した!", "Your brain is addled!"));
- (void)bss.confusion(player_ptr->confused + randint1(8));
+ (void)bss.mod_confusion(randint1(8));
return;
}
case SV_FOOD_PARANOIA:
return !has_resist_fear(player_ptr) && bss.afraidness(player_ptr->afraid + randint0(10) + 10);
case SV_FOOD_CONFUSION:
- return !has_resist_conf(player_ptr) && bss.confusion(player_ptr->confused + randint0(10) + 10);
+ return !has_resist_conf(player_ptr) && bss.mod_confusion(randint0(10) + 10);
case SV_FOOD_HALLUCINATION:
return !has_resist_chaos(player_ptr) && bss.hallucination(player_ptr->hallucinated + randint0(250) + 250);
case SV_FOOD_PARALYSIS:
}
if (player_ptr->confused) {
- (void)bss.confusion(player_ptr->confused - dec_count);
+ (void)bss.mod_confusion(-dec_count);
}
if (player_ptr->afraid) {
(void)bss.stun(player_ptr->effects()->stun()->current() + em_ptr->dam / 2);
return;
case 2:
- (void)bss.confusion(player_ptr->confused + em_ptr->dam / 2);
+ (void)bss.mod_confusion(em_ptr->dam / 2);
return;
default:
if (any_bits(em_ptr->r_ptr->flags3, RF3_NO_FEAR)) {
BadStatusSetter bss(player_ptr);
switch (randint1(4)) {
case 1:
- (void)bss.confusion(player_ptr->confused + 3 + randint1(em_ptr->dam));
+ (void)bss.mod_confusion(3 + randint1(em_ptr->dam));
return;
case 2:
(void)bss.stun(player_ptr->effects()->stun()->current() + randint1(em_ptr->dam));
}
if (!has_resist_conf(player_ptr) && !has_res_water) {
- (void)bss.confusion(player_ptr->confused + randint1(5) + 5);
+ (void)bss.mod_confusion(randint1(5) + 5);
}
if (one_in_(5) && !has_res_water) {
BadStatusSetter bss(player_ptr);
if (!has_resist_conf(player_ptr)) {
- (void)bss.confusion(player_ptr->confused + randint0(20) + 10);
+ (void)bss.mod_confusion(randint0(20) + 10);
}
if (!has_resist_chaos(player_ptr)) {
ep_ptr->dam = ep_ptr->dam * calc_conf_damage_rate(player_ptr, CALC_RAND) / 100;
BadStatusSetter bss(player_ptr);
if (!has_resist_conf(player_ptr) && !check_multishadow(player_ptr)) {
- (void)bss.confusion(player_ptr->confused + randint1(20) + 10);
+ (void)bss.mod_confusion(randint1(20) + 10);
}
ep_ptr->get_damage = take_hit(player_ptr, DAMAGE_ATTACK, ep_ptr->dam, ep_ptr->killer);
}
if (!has_resist_conf(player_ptr)) {
- (void)bss.confusion(player_ptr->confused + randint1(10));
+ (void)bss.mod_confusion(randint1(10));
}
if (!has_resist_fear(player_ptr)) {
msg_print(_("霊的エネルギーで精神が攻撃された。", "Your mind is blasted by psionic energy."));
BadStatusSetter bss(player_ptr);
if (!has_resist_conf(player_ptr)) {
- (void)bss.confusion(player_ptr->confused + randint0(4) + 4);
+ (void)bss.mod_confusion(randint0(4) + 4);
}
if (!has_resist_chaos(player_ptr) && one_in_(3)) {
}
if (!has_resist_conf(player_ptr)) {
- (void)bss.confusion(player_ptr->confused + randint0(4) + 4);
+ (void)bss.mod_confusion(randint0(4) + 4);
}
if (!player_ptr->free_act) {
case TRAP_CONFUSE: {
msg_print(_("きらめくガスに包み込まれた!", "A gas of scintillating colors surrounds you!"));
if (has_resist_conf(player_ptr) == 0) {
- (void)BadStatusSetter(player_ptr).confusion(player_ptr->confused + (TIME_EFFECT)randint0(20) + 10);
+ (void)BadStatusSetter(player_ptr).mod_confusion((TIME_EFFECT)randint0(20) + 10);
}
break;
return;
}
- if (!has_resist_conf(player_ptr) && !check_multishadow(player_ptr) && BadStatusSetter(player_ptr).confusion(player_ptr->confused + 3 + randint1(monap_ptr->rlev))) {
+ if (!has_resist_conf(player_ptr) && !check_multishadow(player_ptr) && BadStatusSetter(player_ptr).mod_confusion(3 + randint1(monap_ptr->rlev))) {
monap_ptr->obvious = true;
}
_("しかし幻覚にはだまされなかった。", "You disbelieve the feeble spell."), resist, saving_throw, TARGET_TYPE);
if (!resist && !saving_throw) {
- (void)BadStatusSetter(player_ptr).confusion(player_ptr->confused + randint0(4) + 4);
+ (void)BadStatusSetter(player_ptr).mod_confusion(randint0(4) + 4);
}
update_smart_learn(player_ptr, m_idx, DRS_CONF);
}
if (!has_resist_conf(player_ptr)) {
- (void)bss.confusion(player_ptr->confused + randint0(20) + 15);
+ (void)bss.mod_confusion(randint0(20) + 15);
}
if (!has_resist_chaos(player_ptr)) {
case 12: {
BadStatusSetter bss(player_ptr);
if (!has_resist_conf(player_ptr)) {
- (void)bss.confusion(player_ptr->confused + randint0(4) + 4);
+ (void)bss.mod_confusion(randint0(4) + 4);
}
if (!has_resist_chaos(player_ptr) && one_in_(3)) {
case 15: {
BadStatusSetter bss(player_ptr);
if (!has_resist_conf(player_ptr)) {
- (void)bss.confusion(player_ptr->confused + randint0(4) + 4);
+ (void)bss.mod_confusion(randint0(4) + 4);
}
if (!player_ptr->free_act) {
(void)bss.paralysis(player_ptr->paralyzed + randint0(4) + 4);
player_ptr->csp_frac = 0;
msg_print(_("石を制御できない!", "You are too weak to control the stone!"));
(void)bss.paralysis(player_ptr->paralyzed + randint1(5 * oops + 1));
- (void)bss.confusion(player_ptr->confused + randint1(5 * oops + 1));
+ (void)bss.mod_confusion(randint1(5 * oops + 1));
}
player_ptr->redraw |= (PR_MANA);
take_hit(player_ptr, DAMAGE_LOSELIFE, damroll(1, 12), _("危険な秘密", "perilous secrets"));
if (one_in_(5))
- (void)bss.confusion(player_ptr->confused + randint1(10));
+ (void)bss.mod_confusion(randint1(10));
if (one_in_(20))
take_hit(player_ptr, DAMAGE_LOSELIFE, damroll(4, 10), _("危険な秘密", "perilous secrets"));
(void)bss.afraidness(player_ptr->afraid + randint1(4) + 4);
} else if (die < 26) {
msg_print(_("あなたの頭に大量の幽霊たちの騒々しい声が押し寄せてきた...", "Your head is invaded by a horde of gibbering spectral voices..."));
- (void)bss.confusion(player_ptr->confused + randint1(4) + 4);
+ (void)bss.mod_confusion(randint1(4) + 4);
} else if (die < 31) {
poly_monster(player_ptr, dir, plev);
} else if (die < 36) {
return true;
}
+bool BadStatusSetter::mod_confusion(const TIME_EFFECT tmp_v)
+{
+ return this->confusion(this->player_ptr->confused + tmp_v);
+}
+
/*!
* @brief 毒の継続時間をセットする / Set "poisoned", notice observable changes
* @param v 継続時間
bool blindness(const TIME_EFFECT tmp_v);
bool mod_blindness(const TIME_EFFECT tmp_v);
bool confusion(const TIME_EFFECT tmp_v);
+ bool mod_confusion(const TIME_EFFECT tmp_v);
bool poison(const TIME_EFFECT tmp_v);
bool afraidness(const TIME_EFFECT tmp_v);
bool paralysis(const TIME_EFFECT tmp_v);