{
const bool is_already_awared = o_ptr->is_aware();
- baseitems_info[o_ptr->k_idx].aware = true;
+ baseitems_info[o_ptr->bi_id].aware = true;
// 以下、playrecordに記録しない場合はreturnする
if (!record_ident) {
}
// アーティファクト専用ベースアイテムは記録しない
- if (baseitems_info[o_ptr->k_idx].gen_flags.has(ItemGenerationTraitType::INSTA_ART)) {
+ if (baseitems_info[o_ptr->bi_id].gen_flags.has(ItemGenerationTraitType::INSTA_ART)) {
return;
}
- // 未鑑定名の無いアイテムは記録しない
- if (!((o_ptr->tval >= ItemKindType::AMULET && o_ptr->tval <= ItemKindType::POTION) || o_ptr->tval == ItemKindType::FOOD)) {
+ if (!o_ptr->has_unidentified_name()) {
return;
}
// playrecordに識別したアイテムを記録
ItemEntity forge;
ItemEntity *q_ptr;
- GAME_TEXT o_name[MAX_NLEN];
-
q_ptr = &forge;
q_ptr->copy_from(o_ptr);
-
q_ptr->number = 1;
- describe_flavor(player_ptr, o_name, q_ptr, OD_NAME_ONLY);
-
- exe_write_diary(player_ptr, DIARY_FOUND, 0, o_name);
+ const auto item_name = describe_flavor(player_ptr, q_ptr, OD_NAME_ONLY);
+ exe_write_diary(player_ptr, DIARY_FOUND, 0, item_name.data());
}
/*!
*/
void object_tried(const ItemEntity *o_ptr)
{
- baseitems_info[o_ptr->k_idx].tried = true;
+ baseitems_info[o_ptr->bi_id].tried = true;
}