OSDN Git Service

[Refactor] #40014 Renamed monster-process.c/h to monster-processor.c/h and monster...
[hengbandforosx/hengbandosx.git] / src / monster / monster-processor-util.h
1 /*!
2  * @brief monster-processのための構造体群
3  * @date 2020/03/07
4  * @author Hourier
5  */
6
7 #pragma once
8
9 #include "system/angband.h"
10
11 typedef struct {
12         bool see_m;
13         bool aware;
14         bool is_riding_mon;
15         bool do_turn;
16         bool do_move;
17         bool do_view;
18         bool do_take;
19         bool must_alter_to_move;
20
21         bool did_open_door;
22         bool did_bash_door;
23         bool did_take_item;
24         bool did_kill_item;
25         bool did_move_body;
26         bool did_pass_wall;
27         bool did_kill_wall;
28 } turn_flags;
29
30 typedef struct {
31         BIT_FLAGS old_r_flags1;
32         BIT_FLAGS old_r_flags2;
33         BIT_FLAGS old_r_flags3;
34         BIT_FLAGS old_r_flags4;
35         BIT_FLAGS old_r_flags5;
36         BIT_FLAGS old_r_flags6;
37         BIT_FLAGS old_r_flagsr;
38
39         byte old_r_blows0;
40         byte old_r_blows1;
41         byte old_r_blows2;
42         byte old_r_blows3;
43
44         byte old_r_cast_spell;
45 } old_race_flags;
46
47 typedef struct {
48         POSITION gy;
49         POSITION gx;
50         POSITION gdis;
51 } coordinate_candidate;
52
53 turn_flags *init_turn_flags(MONSTER_IDX riding_idx, MONSTER_IDX m_idx, turn_flags *turn_flags_ptr);
54 old_race_flags *init_old_race_flags(old_race_flags *old_race_flags_ptr);
55 coordinate_candidate init_coordinate_candidate(void);
56
57 void store_enemy_approch_direction(int *mm, POSITION y, POSITION x);
58 void store_moves_val(int *mm, int y, int x);
59 void save_old_race_flags(MONRACE_IDX monster_race_idx, old_race_flags *old_race_flags_ptr);
60 SPEED decide_monster_speed(monster_type *m_ptr);