OSDN Git Service

Merge branch 'master' of git.osdn.net:/gitroot/hengband/hengband
[hengband/hengband.git] / src / load / player-attack-loader.c
1 #include "load/player-attack-loader.h"
2 #include "load/angband-version-comparer.h"
3 #include "load/load-util.h"
4 #include "load/load-zangband.h"
5 #include "player/attack-defense-types.h"
6 #include "player/special-defense-types.h"
7
8 void rd_special_attack(player_type *creature_ptr)
9 {
10     if (z_older_than(10, 0, 9)) {
11         set_zangband_special_attack(creature_ptr);
12         return;
13     }
14
15     rd_s16b(&creature_ptr->ele_attack);
16     rd_u32b(&creature_ptr->special_attack);
17 }
18
19 void rd_special_action(player_type *creature_ptr)
20 {
21     if (creature_ptr->special_attack & KAMAE_MASK) {
22         creature_ptr->action = ACTION_KAMAE;
23         return;
24     }
25
26     if (creature_ptr->special_attack & KATA_MASK)
27         creature_ptr->action = ACTION_KATA;
28 }
29
30 void rd_special_defense(player_type *creature_ptr)
31 {
32     if (z_older_than(10, 0, 12)) {
33         set_zangband_special_defense(creature_ptr);
34         return;
35     }
36
37     rd_s16b(&creature_ptr->ele_immune);
38     rd_u32b(&creature_ptr->special_defense);
39 }
40
41 void rd_action(player_type *creature_ptr)
42 {
43     byte tmp8u;
44     rd_byte(&tmp8u);
45     rd_byte(&tmp8u);
46     creature_ptr->action = (ACTION_IDX)tmp8u;
47     if (!z_older_than(10, 4, 3))
48         set_zangband_action(creature_ptr);
49 }