}
auto &monster = floor.m_list[grid.m_idx];
- const auto &monrace = monraces_info[monster.r_idx];
+ const auto &monrace = monster.get_monrace();
auto can_banish = monrace.kind_flags.has(MonsterKindType::EVIL);
can_banish &= none_bits(monrace.flags1, RF1_QUESTOR);
can_banish &= monrace.kind_flags.has_not(MonsterKindType::UNIQUE);
static auto d_char_is_any_of(concptr symbols)
{
return [symbols](const MonsterEntity &monster) {
- const auto &m_info = monraces_info[monster.r_idx];
- return angband_strchr(symbols, m_info.d_char) != nullptr;
+ const auto &monrace = monster.get_monrace();
+ return angband_strchr(symbols, monrace.d_char) != nullptr;
};
}
{ 0, _("はくしゃくしゃになった。", " crumples.") },
} },
{ [](const MonsterEntity &monster) {
- const auto &m_info = monraces_info[monster.r_idx];
- return d_char_is_any_of("JMR")(monster) || !isalpha(m_info.d_char); },
+ const auto &monrace = monster.get_monrace();
+ return d_char_is_any_of("JMR")(monster) || !isalpha(monrace.d_char); },
{
{ 95, _("はほとんど気にとめていない。", " barely notices.") },
{ 75, _("はシーッと鳴いた。", " hisses.") },
const auto *floor_ptr = this->player_ptr->current_floor_ptr;
const auto &monster = floor_ptr->m_list[this->player_ptr->riding];
- const auto &monrace = monraces_info[monster.r_idx];
+ const auto &monrace = monster.get_monrace();
if (((this->player_ptr->skill_exp[PlayerSkillKindType::RIDING] - (RIDING_EXP_BEGINNER * 2)) / 200 < monrace.level) && one_in_(2)) {
this->player_ptr->skill_exp[PlayerSkillKindType::RIDING] += 1;
RedrawingFlagsUpdater::get_instance().set_flag(StatusRecalculatingFlag::BONUS);
auto &monster = player_ptr->current_floor_ptr->m_list[monster_list_index];
if (MonsterRace(monster.r_idx).is_valid()) {
- term_putstr(col - 2, row + row_offset, 2, monraces_info[monster.r_idx].x_attr,
- format("%c", monraces_info[monster.r_idx].x_char));
+ const auto &monrace = monster.get_monrace();
+ term_putstr(col - 2, row + row_offset, 2, monrace.x_attr,
+ format("%c", monrace.x_char));
term_putstr(col - 1, row + row_offset, 5, TERM_WHITE, format("%5d", monster.hp));
term_putstr(col + 5, row + row_offset, 6, TERM_WHITE, format("%5d", monster.max_maxhp));
}