1 #include "player/player-status-flags.h"
2 #include "art-definition/art-sword-types.h"
4 #include "inventory/inventory-slot-types.h"
5 #include "monster-race/monster-race.h"
6 #include "monster-race/race-flags2.h"
7 #include "monster-race/race-flags7.h"
8 #include "mutation/mutation-flag-types.h"
9 #include "object-enchant/object-ego.h"
10 #include "object-enchant/tr-types.h"
11 #include "object-enchant/trc-types.h"
12 #include "object-hook/hook-checker.h"
13 #include "object-hook/hook-weapon.h"
14 #include "object/object-flags.h"
15 #include "player/player-class.h"
16 #include "player/player-race-types.h"
17 #include "player/player-race.h"
18 #include "player/player-skill.h"
19 #include "player/player-status.h"
20 #include "player/special-defense-types.h"
21 #include "realm/realm-hex-numbers.h"
22 #include "realm/realm-song-numbers.h"
23 #include "realm/realm-types.h"
24 #include "spell-realm/spells-hex.h"
25 #include "sv-definition/sv-weapon-types.h"
26 #include "system/floor-type-definition.h"
27 #include "system/monster-type-definition.h"
28 #include "system/object-type-definition.h"
29 #include "util/bit-flags-calculator.h"
30 #include "util/quarks.h"
31 #include "util/string-processor.h"
33 PERCENTAGE calc_vuln_acid_rate(player_type *creature_ptr)
37 BIT_FLAGS flgs = is_vuln_acid(creature_ptr);
38 for (i = 0; i < FLAG_CAUSE_MAX; i++) {
39 if (flgs & (0x01 << i)) {
40 if (i == FLAG_CAUSE_MUTATION) {
50 PERCENTAGE calc_vuln_elec_rate(player_type *creature_ptr)
54 BIT_FLAGS flgs = is_vuln_elec(creature_ptr);
55 for (i = 0; i < FLAG_CAUSE_MAX; i++) {
56 if (flgs & (0x01 << i)) {
57 if (i == FLAG_CAUSE_MUTATION) {
67 PERCENTAGE calc_vuln_fire_rate(player_type *creature_ptr)
71 BIT_FLAGS flgs = is_vuln_fire(creature_ptr);
72 for (i = 0; i < FLAG_CAUSE_MAX; i++) {
73 if (flgs & (0x01 << i)) {
74 if (i == FLAG_CAUSE_MUTATION) {
84 PERCENTAGE calc_vuln_cold_rate(player_type *creature_ptr)
88 BIT_FLAGS flgs = is_vuln_cold(creature_ptr);
89 for (i = 0; i < FLAG_CAUSE_MAX; i++) {
90 if (flgs & (0x01 << i)) {
91 if (i == FLAG_CAUSE_MUTATION) {
101 PERCENTAGE calc_vuln_lite_rate(player_type *creature_ptr)
103 PERCENTAGE per = 100;
104 if (is_specific_player_race(creature_ptr, RACE_VAMPIRE) || (creature_ptr->mimic_form == MIMIC_VAMPIRE)) {
106 } else if (is_specific_player_race(creature_ptr, RACE_S_FAIRY)) {
110 if (creature_ptr->wraith_form)