OSDN Git Service

[Refactor] #37353 adj_str_blow と adj_dex_blow を melee.h へ移動.
[hengband/hengband.git] / src / melee.h
1 
2 typedef int COMBAT_OPTION_IDX; // py_attack()用コンバットオプション型定義
3 #define HISSATSU_NONE   0
4 #define HISSATSU_2      1
5 #define HISSATSU_3WAY   2
6 #define HISSATSU_SUTEMI 3
7 #define HISSATSU_FIRE   4
8 #define HISSATSU_COLD   5
9 #define HISSATSU_POISON 6
10 #define HISSATSU_ELEC   7
11 #define HISSATSU_NYUSIN 8
12 #define HISSATSU_FUKI   9
13 #define HISSATSU_MAJIN  10
14 #define HISSATSU_BOOMER 11
15 #define HISSATSU_DRAIN  12
16 #define HISSATSU_SEKIRYUKA 13
17 #define HISSATSU_OTAKEBI 14
18 #define HISSATSU_SHOUGE 15
19 #define HISSATSU_CONF   16
20 #define HISSATSU_ISSEN  17
21 #define HISSATSU_KYUSHO 18
22 #define HISSATSU_KONSIN 19
23 #define HISSATSU_HYAKU  20
24 #define HISSATSU_MINEUCHI 21
25 #define HISSATSU_MEKIKI 22
26 #define HISSATSU_ZANMA  23
27 #define HISSATSU_UNDEAD 24
28 #define HISSATSU_HAGAN  25
29 #define HISSATSU_QUAKE  26
30 #define HISSATSU_COUNTER 27
31 #define HISSATSU_HARAI  28
32 #define HISSATSU_3DAN   29
33 #define HISSATSU_100NIN 30
34 #define HISSATSU_IAI    100
35
36 extern const concptr silly_attacks[MAX_SILLY_ATTACK];
37 #ifdef JP
38 extern const concptr silly_attacks2[MAX_SILLY_ATTACK];
39 #endif
40
41 extern const byte adj_str_blow[];
42 extern const byte adj_dex_blow[];
43 extern const byte blows_table[12][12];
44
45 /* For Monk martial arts */
46 typedef struct martial_arts martial_arts;
47 struct martial_arts
48 {
49         concptr desc;       /* A verbose attack description */
50         PLAYER_LEVEL min_level;  /* Minimum level to use */
51         int chance;     /* Chance of 'success' */
52         int dd;         /* Damage dice */
53         int ds;         /* Damage sides */
54         int effect;     /* Special effects */
55 };
56
57 typedef struct mbe_info_type mbe_info_type;
58
59 struct mbe_info_type
60 {
61         int power;        /* The attack "power" */
62         int explode_type; /* Explosion effect */
63 };
64
65 extern const martial_arts ma_blows[MAX_MA];
66 extern const int monk_ave_damage[PY_MAX_LEVEL + 1][3];
67
68 extern bool test_hit_norm(HIT_RELIABILITY chance, ARMOUR_CLASS ac, bool visible);
69 extern PERCENTAGE hit_chance(HIT_RELIABILITY chance, ARMOUR_CLASS ac);
70 extern HIT_POINT tot_dam_aux(object_type *o_ptr, HIT_POINT tdam, monster_type *m_ptr, BIT_FLAGS mode, bool thrown);
71 extern HIT_POINT critical_norm(WEIGHT weight, int plus, HIT_POINT dam, s16b meichuu, BIT_FLAGS mode);
72 extern bool py_attack(POSITION y, POSITION x, COMBAT_OPTION_IDX mode);
73 extern bool make_attack_normal(MONSTER_IDX m_idx);
74 extern void mon_take_hit_mon(MONSTER_IDX m_idx, HIT_POINT dam, bool *dead, bool *fear, concptr note, MONSTER_IDX who);
75
76 extern const mbe_info_type mbe_info[];