object_known(o_ptr);
/* Mark the item as fully known */
- o_ptr->ident |= (IDENT_MENTAL);
+ o_ptr->ident |= (IDENT_FULL_KNOWN);
/* For being treated as random artifact in screen_object() */
o_ptr->art_name = quark_add("");
return FALSE;
if (IS_FLG(FLG_STAR_IDENTIFIED) &&
- (!object_is_known(o_ptr) || !(o_ptr->ident & IDENT_MENTAL)))
+ (!object_is_known(o_ptr) || !OBJECT_IS_FULL_KNOWN(o_ptr)))
return FALSE;
if (IS_FLG(FLG_BOOSTED))
fprintf(fff, "%s %s", where, o_name);
- if (!(o_ptr->ident & (IDENT_MENTAL)))
+ if (!OBJECT_IS_FULL_KNOWN(o_ptr))
{
fputs(_("-------不明--------------- -------不明---------\n",
"-------unknown------------ -------unknown------\n"), fff);
if (!o_ptr) return;
/* Require full knowledge */
- if (!(o_ptr->ident & IDENT_MENTAL))
+ if (!OBJECT_IS_FULL_KNOWN(o_ptr))
{
msg_print(_("このアイテムについて特に知っていることはない。", "You have no special knowledge about that item."));
return;
o_ptr->number = number;
if (o_ptr->tval == TV_DRAG_ARMOR) o_ptr->timeout = old_timeout;
if (item >= 0) creature_ptr->total_weight += (o_ptr->weight*o_ptr->number - weight * number);
- o_ptr->ident |= (IDENT_MENTAL);
+ o_ptr->ident |= (IDENT_FULL_KNOWN);
object_aware(creature_ptr, o_ptr);
object_known(o_ptr);
object_flags_known(o_ptr, flgs);
basedam = calc_expect_crit(creature_ptr, o_ptr->weight, to_h[i], basedam, creature_ptr->dis_to_h[i], poison_needle);
- if ((o_ptr->ident & IDENT_MENTAL) && ((o_ptr->name1 == ART_VORPAL_BLADE) || (o_ptr->name1 == ART_CHAINSWORD)))
+ if (OBJECT_IS_FULL_KNOWN(o_ptr) && ((o_ptr->name1 == ART_VORPAL_BLADE) || (o_ptr->name1 == ART_CHAINSWORD)))
{
/* vorpal blade */
basedam *= 5;
char *ptr = buff;
/* Not fully identified */
- if (!(o_ptr->ident & IDENT_MENTAL))
+ if (!OBJECT_IS_FULL_KNOWN(o_ptr))
{
/* Copy until end of line or '#' */
while (*insc)
tmp_val2[0] = '\0';
/* Auto abbreviation inscribe */
- if ((abbrev_extra || abbrev_all) && (o_ptr->ident & IDENT_MENTAL))
+ if ((abbrev_extra || abbrev_all) && OBJECT_IS_FULL_KNOWN(o_ptr))
{
if (!o_ptr->inscription || !my_strchr(quark_str(o_ptr->inscription), '%'))
{
*/
bool item_tester_hook_identify_fully(object_type *o_ptr)
{
- return (bool)(!object_is_known(o_ptr) || !(o_ptr->ident & IDENT_MENTAL));
+ return (bool)(!object_is_known(o_ptr) || !OBJECT_IS_FULL_KNOWN(o_ptr));
}
/*!
*/
#define object_is_known(T) (((T)->ident & (IDENT_KNOWN)) || (k_info[(T)->k_idx].easy_know && k_info[(T)->k_idx].aware))
+#define OBJECT_IS_FULL_KNOWN(T) ((T)->ident & IDENT_FULL_KNOWN)
+
#define OBJECT_IS_VALID(T) ((T)->k_idx != 0)
#define OBJECT_IS_HELD_MONSTER(T) ((T)->held_m_idx != 0)
#define IDENT_EMPTY 0x04 /* Item charges are known */
#define IDENT_KNOWN 0x08 /* Item abilities are known */
#define IDENT_STORE 0x10 /* Item is storebought !!!! */
-#define IDENT_MENTAL 0x20 /* Item information is known */
+#define IDENT_FULL_KNOWN 0x20 /* Item information is known */
#define IDENT_BROKEN 0x80 /* Item is permanently worthless */
byte ident; /* Special flags */
}
}
- if (spoil || (o_ptr->ident & IDENT_MENTAL))
+ if (spoil || OBJECT_IS_FULL_KNOWN(o_ptr))
{
if (object_is_fixed_artifact(o_ptr))
{
if (o_ptr->ident & IDENT_STORE) o_ptr->ident &= 0xEF;
}
- if (j_ptr->ident & (IDENT_MENTAL)) o_ptr->ident |= (IDENT_MENTAL);
+ if (OBJECT_IS_FULL_KNOWN(j_ptr)) o_ptr->ident |= (IDENT_FULL_KNOWN);
if (j_ptr->inscription) o_ptr->inscription = j_ptr->inscription;
if (j_ptr->feeling) o_ptr->feeling = j_ptr->feeling;
if (o_ptr->discount < j_ptr->discount) o_ptr->discount = j_ptr->discount;
object_aware(owner_ptr, o_ptr);
object_known(o_ptr);
- o_ptr->ident |= (IDENT_MENTAL);
+ o_ptr->ident |= (IDENT_FULL_KNOWN);
GAME_TEXT o_name[MAX_NLEN];
object_desc(owner_ptr, o_name, o_ptr, 0);
msg_format_wizard(CHEAT_OBJECT, _("%sを生成しました。", "%s was generated."), o_name);
{
object_type *o_ptr = &creature_ptr->inventory_list[i];
if (!o_ptr->k_idx) continue;
- if (o_ptr->ident & (IDENT_MENTAL)) continue;
+ if (OBJECT_IS_FULL_KNOWN(o_ptr)) continue;
o_ptr->feeling = FEEL_NONE;
o_ptr->ident &= ~(IDENT_EMPTY);
if (o_ptr->curse_flags & TRC_HEAVY_CURSE)
{
creature_ptr->to_h[slot] -= 15;
- if (o_ptr->ident & IDENT_MENTAL) creature_ptr->dis_to_h[slot] -= 15;
+ if (OBJECT_IS_FULL_KNOWN(o_ptr)) creature_ptr->dis_to_h[slot] -= 15;
}
else
{
creature_ptr->to_h[slot] -= 5;
- if (o_ptr->ident & IDENT_MENTAL) creature_ptr->dis_to_h[slot] -= 5;
+ if (OBJECT_IS_FULL_KNOWN(o_ptr)) creature_ptr->dis_to_h[slot] -= 5;
}
}
else
if (o_ptr->curse_flags & TRC_HEAVY_CURSE)
{
creature_ptr->to_h_b -= 15;
- if (o_ptr->ident & IDENT_MENTAL) creature_ptr->dis_to_h_b -= 15;
+ if (OBJECT_IS_FULL_KNOWN(o_ptr)) creature_ptr->dis_to_h_b -= 15;
}
else
{
creature_ptr->to_h_b -= 5;
- if (o_ptr->ident & IDENT_MENTAL) creature_ptr->dis_to_h_b -= 5;
+ if (OBJECT_IS_FULL_KNOWN(o_ptr)) creature_ptr->dis_to_h_b -= 5;
}
}
}
if (o_ptr->curse_flags & TRC_HEAVY_CURSE)
{
creature_ptr->to_a -= 30;
- if (o_ptr->ident & IDENT_MENTAL) creature_ptr->dis_to_a -= 30;
+ if (OBJECT_IS_FULL_KNOWN(o_ptr)) creature_ptr->dis_to_a -= 30;
}
else
{
creature_ptr->to_a -= 10;
- if (o_ptr->ident & IDENT_MENTAL) creature_ptr->dis_to_a -= 10;
+ if (OBJECT_IS_FULL_KNOWN(o_ptr)) creature_ptr->dis_to_a -= 10;
}
}
q_ptr = &forge;
object_prep(q_ptr, lookup_kind(TV_STATUE, SV_PHOTO));
q_ptr->pval = photo;
- q_ptr->ident |= (IDENT_MENTAL);
+ q_ptr->ident |= (IDENT_FULL_KNOWN);
(void)drop_near(caster_ptr, q_ptr, -1, caster_ptr->y, caster_ptr->x);
}
if (o_ptr->ident & IDENT_KNOWN)
old_known = TRUE;
- if (!(o_ptr->ident & (IDENT_MENTAL)))
+ if (!OBJECT_IS_FULL_KNOWN(o_ptr))
{
if (object_is_artifact(o_ptr) || one_in_(5))
chg_virtue(owner_ptr, V_KNOWLEDGE, 1);
bool old_known = identify_item(caster_ptr, o_ptr);
- o_ptr->ident |= (IDENT_MENTAL);
+ o_ptr->ident |= (IDENT_FULL_KNOWN);
handle_stuff(caster_ptr);
GAME_TEXT o_name[MAX_NLEN];
{
PRICE value = object_value(o_ptr);
if (value <= 0) return -1;
- o_ptr->ident |= IDENT_MENTAL;
+ o_ptr->ident |= IDENT_FULL_KNOWN;
o_ptr->inscription = 0;
o_ptr->feeling = FEEL_NONE;
int slot;
if (!get_check(format(_("本当に%sを寄贈しますか?", "Really give %s to the Museum? "), o2_name))) return;
identify_item(owner_ptr, q_ptr);
- q_ptr->ident |= IDENT_MENTAL;
+ q_ptr->ident |= IDENT_FULL_KNOWN;
distribute_charges(o_ptr, q_ptr, amt);
msg_format(_("%sを置いた。(%c)", "You drop %s (%c)."), o_name, index_to_label(item));
item = item + store_top;
object_type *o_ptr;
o_ptr = &st_ptr->stock[item];
- if (!(o_ptr->ident & IDENT_MENTAL))
+ if (!OBJECT_IS_FULL_KNOWN(o_ptr))
{
msg_print(_("このアイテムについて特に知っていることはない。", "You have no special knowledge about that item."));
return;
fprintf(fff, "%s\n", art_ptr->description);
/* unidentified */
- if (!(o_ptr->ident & (IDENT_MENTAL)))
+ if (!OBJECT_IS_FULL_KNOWN(o_ptr))
{
fprintf(fff, _("%s不明\n", "%sUnknown\n"), INDENT1);
}