2 * Bit flags for the place_monster_???() (etc)
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 /*!< モンスター生成フラグ: 増殖処理時として生成する */
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);
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 */
36 #define MD_WRONGDOER_NAME (MD_IGNORE_HALLU | MD_ASSUME_VISIBLE | MD_INDEF_VISIBLE) /* 加害明記向け */
38 extern void monster_name(MONSTER_IDX m_idx, char* m_name);
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);