Angband
project.h
Go to the documentation of this file.
1 
6 #ifndef PROJECT_H
7 #define PROJECT_H
8 
12 enum
13 {
14  #define ELEM(a, b, c, d, e, f, g, col) GF_##a,
15  #include "list-elements.h"
16  #undef ELEM
17  #define PROJ_ENV(a, col) GF_##a,
18  #include "list-project-environs.h"
19  #undef PROJ_ENV
20  #define PROJ_MON(a, obv) GF_##a,
21  #include "list-project-monsters.h"
22  #undef PROJ_MON
23  GF_MAX
24 };
25 
29 enum
30 {
37 };
38 
39 
55 #define PROJECT_NONE 0x000
56 #define PROJECT_JUMP 0x001
57 #define PROJECT_BEAM 0x002
58 #define PROJECT_THRU 0x004
59 #define PROJECT_STOP 0x008
60 #define PROJECT_GRID 0x010
61 #define PROJECT_ITEM 0x020
62 #define PROJECT_KILL 0x040
63 #define PROJECT_HIDE 0x080
64 #define PROJECT_AWARE 0x100
65 #define PROJECT_SAFE 0x200
66 #define PROJECT_ARC 0x400
67 #define PROJECT_PLAY 0x800
68 
72 
73 bool project_f(int who, int r, int y, int x, int dam, int typ);
74 int inven_damage(struct player *p, int type, int cperc);
75 bool project_o(int who, int r, int y, int x, int dam, int typ);
76 bool project_m(int who, int r, int y, int x, int dam, int typ, int flg);
77 int adjust_dam(struct player *p, int type, int dam, aspect dam_aspect, int resist);
78 bool project_p(int who, int r, int y, int x, int dam, int typ);
79 
80 
81 /* project.c */
84 
85 int project_path(struct loc *gp, int range, int y1, int x1, int y2, int x2, int flg);
86 bool projectable(struct chunk *c, int y1, int x1, int y2, int x2, int flg);
87 bool gf_force_obvious(int type);
88 int gf_color(int type);
89 int gf_num(int type);
91 const char *gf_desc(int type);
92 int gf_name_to_idx(const char *name);
93 const char *gf_idx_to_name(int type);
94 bool project(int who, int rad, int y, int x, int dam, int typ, int flg,
95  int degrees_of_arc, byte diameter_of_source);
96 
97 #endif /* !PROJECT_H */