OSDN Git Service

[Refactor] #37353 monster_name() を monster.h へ移動。
[hengband/hengband.git] / src / monster.h
1 /*
2  * Bit flags for the place_monster_???() (etc)
3  */
4 #define PM_ALLOW_SLEEP    0x00000001    /*!< モンスター生成フラグ: 眠っている状態で生成されても良い */
5 #define PM_ALLOW_GROUP    0x00000002    /*!< モンスター生成フラグ: 集団生成されても良い */
6 #define PM_FORCE_FRIENDLY 0x00000004    /*!< モンスター生成フラグ: 必ず友好的に生成される */
7 #define PM_FORCE_PET      0x00000008    /*!< モンスター生成フラグ: 必ずペットとして生成される */
8 #define PM_NO_KAGE        0x00000010    /*!< モンスター生成フラグ: 必ずあやしい影としては生成されない */
9 #define PM_NO_PET         0x00000020    /*!< モンスター生成フラグ: 必ずペットとして生成されない */
10 #define PM_ALLOW_UNIQUE   0x00000040    /*!< モンスター生成フラグ: ユニークの選択生成を許可する */
11 #define PM_IGNORE_TERRAIN 0x00000080    /*!< モンスター生成フラグ: 侵入可能地形を考慮せずに生成する */
12 #define PM_HASTE          0x00000100    /*!< モンスター生成フラグ: 加速状態で生成する */
13 #define PM_KAGE           0x00000200    /*!< モンスター生成フラグ: 必ずあやしい影として生成する */
14 #define PM_MULTIPLY       0x00000400    /*!< モンスター生成フラグ: 増殖処理時として生成する */
15
16 extern bool place_monster_aux(MONSTER_IDX who, POSITION y, POSITION x, MONRACE_IDX r_idx, BIT_FLAGS mode);
17 extern bool place_monster(POSITION y, POSITION x, BIT_FLAGS mode);
18 extern bool alloc_horde(POSITION y, POSITION x);
19 extern bool alloc_guardian(bool def_val);
20 extern bool alloc_monster(POSITION dis, BIT_FLAGS mode);
21
22
23 extern void monster_desc(char *desc, monster_type *m_ptr, BIT_FLAGS mode);
24 /* Bit flags for monster_desc() */
25 #define MD_OBJECTIVE      0x00000001 /* Objective (or Reflexive) */
26 #define MD_POSSESSIVE     0x00000002 /* Possessive (or Reflexive) */
27 #define MD_INDEF_HIDDEN   0x00000004 /* Use indefinites for hidden monsters ("something") */
28 #define MD_INDEF_VISIBLE  0x00000008 /* Use indefinites for visible monsters ("a kobold") */
29 #define MD_PRON_HIDDEN    0x00000010 /* Pronominalize hidden monsters */
30 #define MD_PRON_VISIBLE   0x00000020 /* Pronominalize visible monsters */
31 #define MD_ASSUME_HIDDEN  0x00000040 /* Assume the monster is hidden */
32 #define MD_ASSUME_VISIBLE 0x00000080 /* Assume the monster is visible */
33 #define MD_TRUE_NAME      0x00000100 /* Chameleon's true name */
34 #define MD_IGNORE_HALLU   0x00000200 /* Ignore hallucination, and penetrate shape change */
35
36 #define MD_WRONGDOER_NAME (MD_IGNORE_HALLU | MD_ASSUME_VISIBLE | MD_INDEF_VISIBLE) /* 加害明記向け */
37
38 extern void monster_name(MONSTER_IDX m_idx, char* m_name);
39
40 extern void roff_top(MONRACE_IDX r_idx);
41 extern void screen_roff(MONRACE_IDX r_idx, BIT_FLAGS mode);
42 extern void display_roff(MONRACE_IDX r_idx);
43 extern void output_monster_spoiler(MONRACE_IDX r_idx, void(*roff_func)(TERM_COLOR attr, concptr str));
44 extern void create_name(int type, char *name);
45 extern concptr extract_note_dies(MONRACE_IDX r_idx);
46 extern void monster_death(MONSTER_IDX m_idx, bool drop_item);
47 extern monsterrace_hook_type get_monster_hook(void);
48 extern monsterrace_hook_type get_monster_hook2(POSITION y, POSITION x);
49 extern void set_friendly(monster_type *m_ptr);
50 extern void set_pet(monster_type *m_ptr);
51 extern void set_hostile(monster_type *m_ptr);
52 extern void anger_monster(monster_type *m_ptr);
53 extern bool monster_can_cross_terrain(FEAT_IDX feat, monster_race *r_ptr, BIT_FLAGS16 mode);
54 extern bool monster_can_enter(POSITION y, POSITION x, monster_race *r_ptr, BIT_FLAGS16 mode);
55 extern bool are_enemies(monster_type *m_ptr1, monster_type *m_ptr2);
56 extern bool monster_has_hostile_align(monster_type *m_ptr, int pa_good, int pa_evil, monster_race *r_ptr);
57 extern void dice_to_string(int base_damage, int dice_num, int dice_side, int dice_mult, int dice_div, char* msg);
58 extern concptr look_mon_desc(monster_type *m_ptr, BIT_FLAGS mode);