Example #1
0
/**
 * Check whether an object has IDENT_KNOWN but should not
 */
bool object_is_not_known_consistently(const object_type *o_ptr)
{
	if (easy_know(o_ptr))
		return false;
	if (!(o_ptr.ident & IDENT_KNOWN))
		return true;
	if ((o_ptr.ident & IDENTS_SET_BY_IDENTIFY) != IDENTS_SET_BY_IDENTIFY)
		return true;
	if (o_ptr.ident & IDENT_EMPTY)
		return true;
	else if (o_ptr.artifact &&
			!(o_ptr.artifact.seen || o_ptr.artifact.everseen))
		return true;

	if (!of_is_full(o_ptr.known_flags))
		return true;

	return false;
}
Example #2
0
/**
 * Check whether an object has IDENT_KNOWN but should not
 */
bool object_is_not_known_consistently(const object_type *o_ptr)
{
	if (easy_know(o_ptr))
		return FALSE;
	if (!(o_ptr->ident & IDENT_KNOWN))
		return TRUE;
	if ((o_ptr->ident & IDENTS_SET_BY_IDENTIFY) != IDENTS_SET_BY_IDENTIFY)
		return TRUE;
	if (o_ptr->ident & IDENT_EMPTY)
		return TRUE;
	else if (o_ptr->name1)
	{
		artifact_type *a_ptr = &a_info[o_ptr->name1];
		if (!(a_ptr->seen || a_ptr->everseen))
			return TRUE;
	}

	if (!of_is_full(o_ptr->known_flags))
		return TRUE;

	return FALSE;
}