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"
8 process_result effect_monster_lite_weak(player_type *caster_ptr, effect_monster_type *em_ptr)
12 em_ptr->skipped = TRUE;
13 return PROCESS_CONTINUE;
16 if ((em_ptr->r_ptr->flags3 & RF3_HURT_LITE) == 0)
19 return PROCESS_CONTINUE;
22 if (em_ptr->seen) em_ptr->obvious = TRUE;
24 if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
25 em_ptr->r_ptr->r_flags3 |= (RF3_HURT_LITE);
27 em_ptr->note = _("は光に身をすくめた!", " cringes from the light!");
28 em_ptr->note_dies = _("は光を受けてしぼんでしまった!", " shrivels away in the light!");
29 return PROCESS_CONTINUE;
33 process_result effect_monster_lite(player_type *caster_ptr, effect_monster_type *em_ptr)
35 if (em_ptr->seen) em_ptr->obvious = TRUE;
37 if (em_ptr->r_ptr->flagsr & RFR_RES_LITE)
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);
44 else if (em_ptr->r_ptr->flags3 & (RF3_HURT_LITE))
46 if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
47 em_ptr->r_ptr->r_flags3 |= (RF3_HURT_LITE);
49 em_ptr->note = _("は光に身をすくめた!", " cringes from the light!");
50 em_ptr->note_dies = _("は光を受けてしぼんでしまった!", " shrivels away in the light!");
54 return PROCESS_CONTINUE;
58 process_result effect_monster_dark(player_type *caster_ptr, effect_monster_type *em_ptr)
60 if (em_ptr->seen) em_ptr->obvious = TRUE;
62 if ((em_ptr->r_ptr->flagsr & RFR_RES_DARK) == 0)
63 return PROCESS_CONTINUE;
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);
70 return PROCESS_CONTINUE;