if (o_ptr->tval == TV_LITE && o_ptr->name2 == EGO_LITE_DARKNESS && o_ptr->is_known())
return false;
} else if (player_ptr->pclass == CLASS_BEASTMASTER || player_ptr->pclass == CLASS_CAVALRY) {
- if (o_ptr->tval == TV_WAND && o_ptr->sval == SV_WAND_HEAL_MONSTER && object_is_aware(o_ptr))
+ if (o_ptr->tval == TV_WAND && o_ptr->sval == SV_WAND_HEAL_MONSTER && o_ptr->is_aware())
return false;
}
// エゴ銘が邪魔かもしれないので、デフォルトで「^」は付けない.
// We can always use the ^ mark in English.
bool is_hat_added = _(false, true);
- if (!object_is_aware(o_ptr)) {
+ if (!o_ptr->is_aware()) {
ADD_FLG(FLG_UNAWARE);
is_hat_added = true;
} else if (!o_ptr->is_known()) {
bool is_autopick_match(player_type *player_ptr, object_type *o_ptr, autopick_type *entry, concptr o_name)
{
concptr ptr = entry->name;
- if (IS_FLG(FLG_UNAWARE) && object_is_aware(o_ptr))
+ if (IS_FLG(FLG_UNAWARE) && o_ptr->is_aware())
return false;
if (IS_FLG(FLG_UNIDENTIFIED) && (o_ptr->is_known() || (o_ptr->ident & IDENT_SENSE)))
BIT_FLAGS inventory_flags = (PU_COMBINE | PU_REORDER | (creature_ptr->update & PU_AUTODESTROY));
creature_ptr->update &= ~(PU_COMBINE | PU_REORDER | PU_AUTODESTROY);
- if (!(object_is_aware(o_ptr))) {
+ if (!(o_ptr->is_aware())) {
chg_virtue(creature_ptr, V_KNOWLEDGE, -1);
chg_virtue(creature_ptr, V_PATIENCE, -1);
chg_virtue(creature_ptr, V_CHANCE, 1);
object_tried(o_ptr);
/* The player is now aware of the object */
- if (ident && !object_is_aware(o_ptr)) {
+ if (ident && !o_ptr->is_aware()) {
object_aware(creature_ptr, o_ptr);
gain_exp(creature_ptr, (lev + (creature_ptr->lev >> 1)) / creature_ptr->lev);
}
#include "player/attack-defense-types.h"
#include "player/special-defense-types.h"
#include "status/action-setter.h"
+#include "system/object-type-definition.h"
#include "system/player-type-definition.h"
/*!
if (!o_ptr)
return;
- exe_read(creature_ptr, item, object_is_aware(o_ptr));
+ exe_read(creature_ptr, item, o_ptr->is_aware());
}
sound(SOUND_ZAP);
- ident = staff_effect(creature_ptr, o_ptr->sval, &use_charge, false, false, object_is_aware(o_ptr));
+ ident = staff_effect(creature_ptr, o_ptr->sval, &use_charge, false, false, o_ptr->is_aware());
- if (!(object_is_aware(o_ptr))) {
+ if (!(o_ptr->is_aware())) {
chg_virtue(creature_ptr, V_PATIENCE, -1);
chg_virtue(creature_ptr, V_CHANCE, 1);
chg_virtue(creature_ptr, V_KNOWLEDGE, -1);
object_tried(o_ptr);
/* An identification was made */
- if (ident && !object_is_aware(o_ptr)) {
+ if (ident && !o_ptr->is_aware()) {
object_aware(creature_ptr, o_ptr);
gain_exp(creature_ptr, (lev + (creature_ptr->lev >> 1)) / creature_ptr->lev);
}
/* Get a direction (unless KNOWN not to need it) */
if (((o_ptr->sval >= SV_ROD_MIN_DIRECTION) && (o_ptr->sval != SV_ROD_HAVOC) && (o_ptr->sval != SV_ROD_AGGRAVATE) && (o_ptr->sval != SV_ROD_PESTICIDE))
- || !object_is_aware(o_ptr)) {
+ || !o_ptr->is_aware()) {
/* Get a direction, allow cancel */
if (!get_aim_dir(creature_ptr, &dir))
return;
o_ptr->timeout += k_ptr->pval;
creature_ptr->update |= (PU_COMBINE | PU_REORDER);
- if (!(object_is_aware(o_ptr))) {
+ if (!(o_ptr->is_aware())) {
chg_virtue(creature_ptr, V_PATIENCE, -1);
chg_virtue(creature_ptr, V_CHANCE, 1);
chg_virtue(creature_ptr, V_KNOWLEDGE, -1);
object_tried(o_ptr);
/* Successfully determined the object function */
- if (ident && !object_is_aware(o_ptr)) {
+ if (ident && !o_ptr->is_aware()) {
object_aware(creature_ptr, o_ptr);
gain_exp(creature_ptr, (lev + (creature_ptr->lev >> 1)) / creature_ptr->lev);
}
}
/* Allow direction to be cancelled for free */
- if (object_is_aware(o_ptr) && (o_ptr->sval == SV_WAND_HEAL_MONSTER || o_ptr->sval == SV_WAND_HASTE_MONSTER))
+ if (o_ptr->is_aware() && (o_ptr->sval == SV_WAND_HEAL_MONSTER || o_ptr->sval == SV_WAND_HASTE_MONSTER))
target_pet = true;
if (!get_aim_dir(creature_ptr, &dir)) {
target_pet = old_target_pet;
BIT_FLAGS inventory_flags = (PU_COMBINE | PU_REORDER | (creature_ptr->update & PU_AUTODESTROY));
reset_bits(creature_ptr->update, PU_COMBINE | PU_REORDER | PU_AUTODESTROY);
- if (!(object_is_aware(o_ptr))) {
+ if (!(o_ptr->is_aware())) {
chg_virtue(creature_ptr, V_PATIENCE, -1);
chg_virtue(creature_ptr, V_CHANCE, 1);
chg_virtue(creature_ptr, V_KNOWLEDGE, -1);
object_tried(o_ptr);
/* Apply identification */
- if (ident && !object_is_aware(o_ptr)) {
+ if (ident && !o_ptr->is_aware()) {
object_aware(creature_ptr, o_ptr);
gain_exp(creature_ptr, (lev + (creature_ptr->lev >> 1)) / creature_ptr->lev);
}
static void check_object_known_aware(flavor_type *flavor_ptr)
{
object_flags(flavor_ptr->o_ptr, flavor_ptr->tr_flags);
- if (object_is_aware(flavor_ptr->o_ptr))
+ if (flavor_ptr->o_ptr->is_aware())
flavor_ptr->aware = true;
if (flavor_ptr->o_ptr->is_known())
}
creature_ptr->update |= (PU_COMBINE | PU_REORDER);
- if (!(object_is_aware(q_ptr))) {
+ if (!(q_ptr->is_aware())) {
chg_virtue(creature_ptr, V_PATIENCE, -1);
chg_virtue(creature_ptr, V_CHANCE, 1);
chg_virtue(creature_ptr, V_KNOWLEDGE, -1);
object_tried(q_ptr);
/* An identification was made */
- if (ident && !object_is_aware(q_ptr)) {
+ if (ident && !q_ptr->is_aware()) {
object_aware(creature_ptr, q_ptr);
gain_exp(creature_ptr, (lev + (creature_ptr->lev >> 1)) / creature_ptr->lev);
}
BIT_FLAGS inventory_flags = PU_COMBINE | PU_REORDER | (creature_ptr->update & PU_AUTODESTROY);
creature_ptr->update &= ~(PU_COMBINE | PU_REORDER | PU_AUTODESTROY);
- if (!(object_is_aware(o_ptr))) {
+ if (!(o_ptr->is_aware())) {
chg_virtue(creature_ptr, V_PATIENCE, -1);
chg_virtue(creature_ptr, V_CHANCE, 1);
chg_virtue(creature_ptr, V_KNOWLEDGE, -1);
}
object_tried(o_ptr);
- if (ident && !object_is_aware(o_ptr)) {
+ if (ident && !o_ptr->is_aware()) {
object_aware(creature_ptr, o_ptr);
gain_exp(creature_ptr, (lev + (creature_ptr->lev >> 1)) / creature_ptr->lev);
}
flgs[i] = 0;
}
- if (!object_is_aware(o_ptr))
+ if (!o_ptr->is_aware())
return;
/* Base object */
*/
static PRICE object_value_base(const object_type *o_ptr)
{
- if (object_is_aware(o_ptr))
+ if (o_ptr->is_aware())
return (k_info[o_ptr->k_idx].cost);
switch (o_ptr->tval) {
*/
void object_aware(player_type *owner_ptr, object_type *o_ptr)
{
- const bool is_already_awared = object_is_aware(o_ptr);
+ const bool is_already_awared = o_ptr->is_aware();
k_info[o_ptr->k_idx].aware = true;
void object_tried(object_type *o_ptr) { k_info[o_ptr->k_idx].tried = true; }
/*
- * @brief 与えられたオブジェクトのベースアイテムが鑑定済かを返す / Determine if a given inventory item is "aware"
- * @param o_ptr オブジェクトへの参照ポインタ
- * @return 鑑定済ならTRUE
- */
-bool object_is_aware(const object_type *o_ptr)
-{
- return k_info[(o_ptr)->k_idx].aware;
-}
-
-/*
* Determine if a given inventory item is "tried"
*/
bool object_is_tried(const object_type *o_ptr)
void object_aware(player_type *owner_ptr, object_type *o_ptr);
void object_tried(object_type *o_ptr);
-bool object_is_aware(const object_type *o_ptr);
bool object_is_tried(const object_type *o_ptr);
-bool object_is_known(const object_type *o_ptr);
-bool object_is_fully_known(const object_type *o_ptr);
{
return (this->ident & IDENT_FULL_KNOWN) != 0;
}
+
+/*!
+ * @brief 与えられたオブジェクトのベースアイテムが鑑定済かを返す / Determine if a given inventory item is "aware"
+ * @return 鑑定済ならtrue
+ */
+bool object_type::is_aware() const
+{
+ return k_info[this->k_idx].aware;
+}
bool is_held_by_monster() const;
bool is_known() const;
bool is_fully_known() const;
+ bool is_aware() const;
} object_type;
if (o_ptr->tval < j_ptr->tval)
return false;
- if (!object_is_aware(o_ptr))
+ if (!o_ptr->is_aware())
return false;
- if (!object_is_aware(j_ptr))
+ if (!j_ptr->is_aware())
return true;
if (o_ptr->sval < j_ptr->sval)