OSDN Git Service

Merge remote-tracking branch 'remotes/hengbandosx/english-_ptr-in-message' into featu...
[hengband/hengband.git] / src / effect / effect-monster-lite-dark.c
1 #include "effect/effect-monster-lite-dark.h"
2 #include "effect/effect-monster-util.h"
3 #include "monster-race/monster-race.h"
4 #include "monster-race/race-flags-resistance.h"
5 #include "monster-race/race-flags3.h"
6 #include "monster/monster-info.h"
7
8 process_result effect_monster_lite_weak(player_type *caster_ptr, effect_monster_type *em_ptr)
9 {
10         if (!em_ptr->dam)
11         {
12                 em_ptr->skipped = TRUE;
13                 return PROCESS_CONTINUE;
14         }
15
16         if ((em_ptr->r_ptr->flags3 & RF3_HURT_LITE) == 0)
17         {
18                 em_ptr->dam = 0;
19                 return PROCESS_CONTINUE;
20         }
21
22         if (em_ptr->seen) em_ptr->obvious = TRUE;
23
24         if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
25                 em_ptr->r_ptr->r_flags3 |= (RF3_HURT_LITE);
26
27         em_ptr->note = _("は光に身をすくめた!", " cringes from the light!");
28         em_ptr->note_dies = _("は光を受けてしぼんでしまった!", " shrivels away in the light!");
29         return PROCESS_CONTINUE;
30 }
31
32
33 process_result effect_monster_lite(player_type *caster_ptr, effect_monster_type *em_ptr)
34 {
35         if (em_ptr->seen) em_ptr->obvious = TRUE;
36
37         if (em_ptr->r_ptr->flagsr & RFR_RES_LITE)
38         {
39                 em_ptr->note = _("には耐性がある!", " resists!");
40                 em_ptr->dam *= 2; em_ptr->dam /= (randint1(6) + 6);
41                 if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
42                         em_ptr->r_ptr->r_flagsr |= (RFR_RES_LITE);
43         }
44         else if (em_ptr->r_ptr->flags3 & (RF3_HURT_LITE))
45         {
46                 if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
47                         em_ptr->r_ptr->r_flags3 |= (RF3_HURT_LITE);
48
49                 em_ptr->note = _("は光に身をすくめた!", " cringes from the light!");
50                 em_ptr->note_dies = _("は光を受けてしぼんでしまった!", " shrivels away in the light!");
51                 em_ptr->dam *= 2;
52         }
53
54         return PROCESS_CONTINUE;
55 }
56
57
58 process_result effect_monster_dark(player_type *caster_ptr, effect_monster_type *em_ptr)
59 {
60         if (em_ptr->seen) em_ptr->obvious = TRUE;
61
62         if ((em_ptr->r_ptr->flagsr & RFR_RES_DARK) == 0)
63                 return PROCESS_CONTINUE;
64
65         em_ptr->note = _("には耐性がある!", " resists!");
66         em_ptr->dam *= 2; em_ptr->dam /= (randint1(6) + 6);
67         if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
68                 em_ptr->r_ptr->r_flagsr |= (RFR_RES_DARK);
69
70         return PROCESS_CONTINUE;
71 }