}
/*!
- * @brief モンスターのAC情報を得ることができるかを返す / Determine if the "armor" is known
+ * @brief モンスターの詳細情報(HP,AC,スキルダメージの量)を得ることができるかを返す
* @param r_idx モンスターの種族ID
- * @param know_everything 全知フラグ。TRUEを渡すとTRUEが返る。
- * @return 敵のACを知る条件が満たされているならTRUEを返す
+ * @return モンスターの詳細情報を得る条件が満たされているならtrue、そうでないならfalse
* @details
* The higher the level, the fewer kills needed.
*/
-bool know_armour(MonsterRaceId r_idx, const bool know_everything)
+bool know_details(MonsterRaceId r_idx)
{
- auto *r_ptr = &monraces_info[r_idx];
- DEPTH level = r_ptr->level;
- MONSTER_NUMBER kills = r_ptr->r_tkills;
-
- bool known = r_ptr->r_cast_spell == MAX_UCHAR;
+ const auto &monrace = monraces_info[r_idx];
+ const auto level = monrace.level;
+ const auto kills = monrace.r_tkills;
- if (know_everything || known) {
+ if (monrace.r_cast_spell == MAX_UCHAR) {
return true;
}
if (kills > 304 / (4 + level)) {
return true;
}
- if (r_ptr->kind_flags.has_not(MonsterKindType::UNIQUE)) {
+ if (monrace.kind_flags.has_not(MonsterKindType::UNIQUE)) {
return false;
}
if (kills > 304 / (38 + (5 * level) / 4)) {
* Determine if the "damage" of the given attack is known
* @param r_idx モンスターの種族ID
* @param i 確認したい攻撃手番
- * @return 敵のダメージダイスを知る条件が満たされているならTRUEを返す
+ * @return 敵のダメージダイスを知る条件が満たされているならtrue、そうでないならfalse
* @details
* <pre>
* the higher the level of the monster, the fewer the attacks you need,
* the more damage an attack does, the more attacks you need
* </pre>
*/
-bool know_damage(MonsterRaceId r_idx, int i)
+bool know_blow_damage(MonsterRaceId r_idx, int i)
{
const auto &monrace = monraces_info[r_idx];
auto level = monrace.level;
{
MonsterRaceId r_idx = lore_ptr->r_idx;
- if (!know_armour(r_idx, lore_ptr->know_everything)) {
+ if (!know_details(r_idx) && !lore_ptr->know_everything) {
// ダメージ量の情報なし
lore_ptr->lore_msgs.emplace_back(format(msg, ""), color);
return;
struct lore_type;
class PlayerType;
std::string dice_to_string(int base_damage, int dice_num, int dice_side, int dice_mult, int dice_div);
-bool know_armour(MonsterRaceId r_idx, const bool know_everything);
-bool know_damage(MonsterRaceId r_idx, int i);
+bool know_details(MonsterRaceId r_idx);
+bool know_blow_damage(MonsterRaceId r_idx, int i);
void add_lore_of_damage_skill(PlayerType *player_ptr, lore_type *lore_ptr, MonsterAbilityType ms_type, concptr msg, byte color);
void set_flags_for_full_knowledge(lore_type *lore_ptr);
hooked_roff(format("%s^は", Who::who(lore_ptr->msex)));
}
- if (d1 && d2 && (lore_ptr->know_everything || know_damage(lore_ptr->r_idx, m))) {
+ if (d1 && d2 && (lore_ptr->know_everything || know_blow_damage(lore_ptr->r_idx, m))) {
hook_c_roff(TERM_L_WHITE, format(" %dd%d ", d1, d2));
hooked_roff("のダメージで");
}
if (lore_ptr->q != nullptr) {
hooked_roff(" to ");
hook_c_roff(lore_ptr->qc, lore_ptr->q);
- if (d1 && d2 && (lore_ptr->know_everything || know_damage(lore_ptr->r_idx, m))) {
+ if (d1 && d2 && (lore_ptr->know_everything || know_blow_damage(lore_ptr->r_idx, m))) {
hooked_roff(" with damage");
hook_c_roff(TERM_L_WHITE, format(" %dd%d", d1, d2));
}