OSDN Git Service

[Refactor] #40413 Separated display-messages.c/h from util.c/h
[hengband/hengband.git] / src / effect / effect-monster-curse.c
1 #include "effect/effect-monster-curse.h"
2 #include "monster-race/race-indice-types.h"
3 #include "view/display-messages.h"
4
5 gf_switch_result effect_monster_curse_1(effect_monster_type *em_ptr)
6 {
7         if (em_ptr->seen) em_ptr->obvious = TRUE;
8         if (!em_ptr->who) msg_format(_("%sを指差して呪いをかけた。", "You point at %s and curse."), em_ptr->m_name);
9         if (randint0(100 + (em_ptr->caster_lev / 2)) < (em_ptr->r_ptr->level + 35))
10         {
11                 em_ptr->note = _("には効果がなかった。", " is unaffected.");
12                 em_ptr->dam = 0;
13         }
14
15         return GF_SWITCH_CONTINUE;
16 }
17
18
19 gf_switch_result effect_monster_curse_2(effect_monster_type *em_ptr)
20 {
21         if (em_ptr->seen) em_ptr->obvious = TRUE;
22         if (!em_ptr->who) msg_format(_("%sを指差して恐ろしげに呪いをかけた。", "You point at %s and curse horribly."), em_ptr->m_name);
23
24         if (randint0(100 + (em_ptr->caster_lev / 2)) < (em_ptr->r_ptr->level + 35))
25         {
26                 em_ptr->note = _("には効果がなかった。", " is unaffected.");
27                 em_ptr->dam = 0;
28         }
29
30         return GF_SWITCH_CONTINUE;
31 }
32
33
34 gf_switch_result effect_monster_curse_3(effect_monster_type *em_ptr)
35 {
36         if (em_ptr->seen) em_ptr->obvious = TRUE;
37         if (!em_ptr->who) msg_format(_("%sを指差し、恐ろしげに呪文を唱えた!", "You point at %s, incanting terribly!"), em_ptr->m_name);
38
39         if (randint0(100 + (em_ptr->caster_lev / 2)) < (em_ptr->r_ptr->level + 35))
40         {
41                 em_ptr->note = _("には効果がなかった。", " is unaffected.");
42                 em_ptr->dam = 0;
43         }
44
45         return GF_SWITCH_CONTINUE;
46 }
47
48
49 gf_switch_result effect_monster_curse_4(effect_monster_type *em_ptr)
50 {
51         if (em_ptr->seen) em_ptr->obvious = TRUE;
52         if (!em_ptr->who)
53                 msg_format(_("%sの秘孔を突いて、「お前は既に死んでいる」と叫んだ。",
54                         "You point at %s, screaming the word, 'DIE!'."), em_ptr->m_name);
55
56         if ((randint0(100 + (em_ptr->caster_lev / 2)) < (em_ptr->r_ptr->level + 35)) && ((em_ptr->who <= 0) || (em_ptr->m_caster_ptr->r_idx != MON_KENSHIROU)))
57         {
58                 em_ptr->note = _("には効果がなかった。", " is unaffected.");
59                 em_ptr->dam = 0;
60         }
61
62         return GF_SWITCH_CONTINUE;
63 }