return;
}
- if (object_is_cursed(o_ptr) && confirm_wear &&
- (object_is_known(o_ptr) || (o_ptr->ident & IDENT_SENSE)))
+ if (confirm_wear &&
+ ((object_is_cursed(o_ptr) && object_is_known(o_ptr)) ||
+ ((o_ptr->ident & IDENT_SENSE) &&
+ (FEEL_BROKEN <= o_ptr->feeling) && (o_ptr->feeling <= FEEL_CURSED))))
{
char dummy[MAX_NLEN+80];
/* Wear the new stuff */
object_copy(o_ptr, q_ptr);
+ /* Player touches it */
+ o_ptr->marked |= OM_TOUCHED;
+
/* Increase the weight */
p_ptr->total_weight += q_ptr->weight;
(o_ptr->tval == TV_CRAFT_BOOK) ||
(o_ptr->tval == TV_DAEMON_BOOK) ||
(o_ptr->tval == TV_CRUSADE_BOOK) ||
- (o_ptr->tval == TV_MUSIC_BOOK))
+ (o_ptr->tval == TV_MUSIC_BOOK) ||
+ (o_ptr->tval == TV_HEX_BOOK))
{
if (o_ptr->sval > 1)
return TRUE;