/* 一般的にモンスターシンボルとして扱われる記号を定義する(幻覚処理向け) / Hack -- Legal monster codes */
const std::string image_monsters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
- }
/*!
- * @brief オブジェクトの表示を幻覚状態に差し替える / Hallucinatory object
- * @param ap 本来の色
- * @param cp 本来のシンボル
+ * @brief オブジェクトの表示を幻覚状態に差し替える
+ * @return 差し替えたシンボルと色
*/
- static void image_object(TERM_COLOR *ap, char *cp)
+ ColoredChar image_object()
{
if (use_graphics) {
- std::span<BaseitemInfo> candidates(baseitems_info.begin() + 1, baseitems_info.end());
- const auto &baseitem = rand_choice(candidates);
+ const auto &baseitem = baseitems_info[randint1(baseitems_info.size() - 1)];
- *cp = baseitem.x_char;
- *ap = baseitem.x_attr;
- return;
+ return { baseitem.x_attr, baseitem.x_char };
}
- *cp = rand_choice(image_objects);
- *ap = randnum1<uint8_t>(15);
+ return { randnum1<uint8_t>(15), rand_choice(image_objects) };
}
/*!