示例#1
0
/* 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;
		}
	}
}
示例#2
0
/* 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;
		}
	}
}