if (slot == INVEN_LITE) continue; /* Does not wield toaches because buys a lantern soon */
if (inventory[slot].k_idx) continue;
- /* Get local object */
i_ptr = &object_type_body;
object_copy(i_ptr, o_ptr);
-
- /* Modify quantity */
i_ptr->number = 1;
/* Decrease the item (from the pack) */
floor_item_optimize(0 - item);
}
- /* Get the wield slot */
o_ptr = &inventory[slot];
-
- /* Wear the new stuff */
- object_copy(o_ptr, i_ptr);
-
- /* Increase the weight */
- p_ptr->total_weight += i_ptr->weight;
+ object_copy(o_ptr, i_ptr);
+ p_ptr->total_weight += i_ptr->weight;
/* Increment the equip counter by hand */
equip_cnt++;
break;
}
- /* Describe the result */
object_desc(o_name, o_ptr, 0);
msg_format(act, o_name, index_to_label(slot));
/* Cursed! */
if (object_is_cursed(o_ptr))
{
- /* Warn the player */
msg_print(_("うわ! すさまじく冷たい!", "Oops! It feels deathly cold!"));
chg_virtue(V_HARMONY, -1);
change_race(RACE_VAMPIRE, "");
}
- /* Recalculate bonuses */
- p_ptr->update |= (PU_BONUS);
-
- /* Recalculate torch */
- p_ptr->update |= (PU_TORCH);
-
- /* Recalculate mana */
- p_ptr->update |= (PU_MANA);
-
+ p_ptr->update |= (PU_BONUS | PU_TORCH | PU_MANA);
p_ptr->redraw |= (PR_EQUIPPY);
-
p_ptr->window |= (PW_INVEN | PW_EQUIP | PW_PLAYER);
calc_android_exp();
inven_item_optimize(INVEN_LARM);
if (object_allow_two_hands_wielding(o_ptr) && CAN_TWO_HANDS_WIELDING())
msg_format(_("%sを両手で構えた。", "You are wielding %s with both hands."), o_name);
- else
- msg_format(_("%sを%sで構えた。", "You are wielding %s in your %s hand."), o_name,
- (left_hander ? _("左手", "left") : _("右手", "right")));
+ else
+ msg_format(_("%sを%sで構えた。", "You are wielding %s in your %s hand."), o_name,
+ (left_hander ? _("左手", "left") : _("右手", "right")));
}
else
{
{
msg_print(_("呪われた装備を力づくで剥がした!", "You teared a cursed equipment off by sheer strength!"));
- /* Hack -- Assume felt */
o_ptr->ident |= (IDENT_SENSE);
-
o_ptr->curse_flags = 0L;
-
- /* Take note */
o_ptr->feeling = FEEL_NONE;
- /* Recalculate the bonuses */
p_ptr->update |= (PU_BONUS);
-
p_ptr->window |= (PW_EQUIP);
msg_print(_("呪いを打ち破った。", "You break the curse."));
/* Anger the monster */
if (tdam > 0) anger_monster(m_ptr);
- /* Take note */
if (fear && m_ptr->ml)
{
char m_name[80];
-
sound(SOUND_FLEE);
-
- /* Get the monster name (or "it") */
monster_desc(m_name, m_ptr, 0);
-
msg_format(_("%^sは恐怖して逃げ出した!", "%^s flees in terror!"), m_name);
}
if ((tdam > 0) && !object_is_potion(q_ptr))
anger_monster(m_ptr);
- /* Take note */
if (fear && m_ptr->ml)
{
sound(SOUND_FLEE);
-
- /* Get the monster name (or "it") */
char m_name[80];
monster_desc(m_name, m_ptr, 0);
msg_format(_("%^sは恐怖して逃げ出した!", "%^s flees in terror!"), m_name);
/* Only give a message for "take_item" */
if (do_take && (r_ptr->flags2 & RF2_STUPID))
{
- /* Take note */
did_take_item = TRUE;
/* Describe observable situations */
/* Pick up the item */
else if (do_take)
{
- /* Take note */
did_take_item = TRUE;
/* Describe observable situations */
/* Destroy the item if not a pet */
else if (!is_pet(m_ptr))
{
- /* Take note */
did_kill_item = TRUE;
/* Describe observable situations */
/* Handle "cold blooded" monsters */
if ((r_ptr->flags2 & (RF2_COLD_BLOOD | RF2_AURA_FIRE)) == RF2_COLD_BLOOD)
{
- /* Take note */
do_cold_blood = TRUE;
}
/* Handle "invisible" monsters */
if (r_ptr->flags2 & (RF2_INVISIBLE))
{
- /* Take note */
do_invisible = TRUE;
/* See invisible */
if (((dam > 0) || get_angry) && !do_sleep)
anger_monster(m_ptr);
- /* Take note */
if ((fear || do_fear) && seen)
{
sound(SOUND_FLEE);
-
msg_format(_("%^sは恐怖して逃げ出した!", "%^s flees in terror!"), m_name);
}
/* Skip "wrong" monsters */
if (r_ptr->d_char != typ) continue;
- /* Take note */
result |= genocide_aux(i, power, player_cast, 4, _("抹殺", "Genocide"));
}
/* Hack -- Assume felt */
o_ptr->ident |= (IDENT_SENSE);
- /* Take note */
o_ptr->feeling = FEEL_NONE;
- /* Recalculate the bonuses */
p_ptr->update |= (PU_BONUS);
-
p_ptr->window |= (PW_EQUIP);
/* Count the uncursings */
/* Hack -- Assume felt */
o_ptr->ident |= (IDENT_SENSE);
- /* Take note */
o_ptr->feeling = FEEL_NONE;
/* Recalculate the bonuses */
p_ptr->update |= (PU_BONUS);
-
p_ptr->window |= (PW_EQUIP);
}
/* Take note */
combined = TRUE;
-
break;
}
}