/* Unlock chests */ static void project_object_handler_KILL_TRAP(project_object_handler_context_t *context) { /* Chests are noticed only if trapped or locked */ if (is_locked_chest(context->obj)) { /* Disarm or Unlock */ unlock_chest((struct object * const)context->obj); /* Notice */ if (context->obj->known && !ignore_item_ok(context->obj)) { context->obj->known->pval = context->obj->pval; msg("Click!"); context->obvious = true; } } }
/* Unlock chests */ static void project_object_handler_KILL_TRAP(project_object_handler_context_t *context) { /* Chests are noticed only if trapped or locked */ if (is_locked_chest(context->obj)) { /* Disarm or Unlock */ unlock_chest((struct object * const)context->obj); /* Identify */ object_notice_everything((struct object * const)context->obj); /* Notice */ if (context->obj->marked > MARK_UNAWARE && !ignore_item_ok(context->obj)) { msg("Click!"); context->obvious = TRUE; } } }