OSDN Git Service

[Refactor] #2647 is_hostile() をmonster_type のオブジェクトメソッドとして再定義した
[hengbandforosx/hengbandosx.git] / src / monster / monster-info.h
1 #pragma once
2
3 #include "system/angband.h"
4
5 /*
6  * Bit flags for the *_can_enter() and monster_can_cross_terrain()
7  */
8 #define CEM_RIDING 0x0001
9 #define CEM_P_CAN_ENTER_PATTERN 0x0002
10 enum class MonsterRaceId : int16_t;
11 struct monster_race;
12 struct monster_type;
13 class PlayerType;
14 bool monster_can_cross_terrain(PlayerType *player_ptr, FEAT_IDX feat, monster_race *r_ptr, BIT_FLAGS16 mode);
15 bool monster_can_enter(PlayerType *player_ptr, POSITION y, POSITION x, monster_race *r_ptr, BIT_FLAGS16 mode);
16 bool are_enemies(PlayerType *player_ptr, monster_type *m_ptr1, monster_type *m_ptr2);
17 bool monster_has_hostile_align(PlayerType *player_ptr, monster_type *m_ptr, int pa_good, int pa_evil, monster_race *r_ptr);
18 bool is_original_ap_and_seen(PlayerType *player_ptr, monster_type *m_ptr);
19
20 bool is_original_ap(const monster_type *m_ptr);
21 bool is_mimicry(monster_type *m_ptr);
22
23 monster_race *real_r_ptr(monster_type *m_ptr);
24 MonsterRaceId real_r_idx(monster_type *m_ptr);
25 void monster_name(PlayerType *player_ptr, MONSTER_IDX m_idx, char *m_name);