OSDN Git Service

Merge remote-tracking branch 'remotes/origin/feature/Relocate-score-server' into...
[hengband/hengband.git] / src / effect / effect-player-switcher.c
1 #include "effect/effect-player-switcher.h"
2 #include "effect/effect-player-curse.h"
3 #include "effect/effect-player-oldies.h"
4 #include "effect/effect-player-resist-hurt.h"
5 #include "effect/effect-player-spirit.h"
6 #include "player/player-damage.h"
7 #include "spell/spell-types.h"
8
9 /*!
10  * @brief
11  * 魔法の効果によって様々なメッセーを出力したり与えるダメージの増減を行ったりする
12  * @param target_ptr プレーヤーへの参照ポインタ
13  * @param em_ptr プレーヤー効果構造体への参照ポインタ
14  * @return なし
15  */
16 void switch_effects_player(player_type *target_ptr, effect_player_type *ep_ptr)
17 {
18     switch (ep_ptr->effect_type) {
19     case GF_ACID:
20         effect_player_elements(target_ptr, ep_ptr, _("酸で攻撃された!", "You are hit by acid!"), acid_dam);
21         return;
22     case GF_FIRE:
23         effect_player_elements(target_ptr, ep_ptr, _("火炎で攻撃された!", "You are hit by fire!"), fire_dam);
24         return;
25     case GF_COLD:
26         effect_player_elements(target_ptr, ep_ptr, _("冷気で攻撃された!", "You are hit by cold!"), cold_dam);
27         return;
28     case GF_ELEC:
29         effect_player_elements(target_ptr, ep_ptr, _("電撃で攻撃された!", "You are hit by lightning!"), elec_dam);
30         return;
31     case GF_POIS:
32         effect_player_poison(target_ptr, ep_ptr);
33         return;
34     case GF_NUKE:
35         effect_player_nuke(target_ptr, ep_ptr);
36         return;
37     case GF_MISSILE:
38         effect_player_missile(target_ptr, ep_ptr);
39         return;
40     case GF_HOLY_FIRE:
41         effect_player_holy_fire(target_ptr, ep_ptr);
42         return;
43     case GF_HELL_FIRE:
44         effect_player_hell_fire(target_ptr, ep_ptr);
45         return;
46     case GF_ARROW:
47         effect_player_arrow(target_ptr, ep_ptr);
48         return;
49     case GF_PLASMA:
50         effect_player_plasma(target_ptr, ep_ptr);
51         return;
52     case GF_NETHER:
53         effect_player_nether(target_ptr, ep_ptr);
54         return;
55     case GF_WATER:
56         effect_player_water(target_ptr, ep_ptr);
57         return;
58     case GF_CHAOS:
59         effect_player_chaos(target_ptr, ep_ptr);
60         return;
61     case GF_SHARDS:
62         effect_player_shards(target_ptr, ep_ptr);
63         return;
64     case GF_SOUND:
65         effect_player_sound(target_ptr, ep_ptr);
66         return;
67     case GF_CONFUSION:
68         effect_player_confusion(target_ptr, ep_ptr);
69         return;
70     case GF_DISENCHANT:
71         effect_player_disenchant(target_ptr, ep_ptr);
72         return;
73     case GF_NEXUS:
74         effect_player_nexus(target_ptr, ep_ptr);
75         return;
76     case GF_FORCE:
77         effect_player_force(target_ptr, ep_ptr);
78         return;
79     case GF_ROCKET:
80         effect_player_rocket(target_ptr, ep_ptr);
81         return;
82     case GF_INERTIAL:
83         effect_player_inertial(target_ptr, ep_ptr);
84         return;
85     case GF_LITE:
86         effect_player_lite(target_ptr, ep_ptr);
87         return;
88     case GF_DARK:
89         effect_player_dark(target_ptr, ep_ptr);
90         return;
91     case GF_TIME:
92         effect_player_time(target_ptr, ep_ptr);
93         return;
94     case GF_GRAVITY:
95         effect_player_gravity(target_ptr, ep_ptr);
96         return;
97     case GF_DISINTEGRATE:
98         effect_player_disintegration(target_ptr, ep_ptr);
99         return;
100     case GF_OLD_HEAL:
101         effect_player_old_heal(target_ptr, ep_ptr);
102         return;
103     case GF_OLD_SPEED:
104         effect_player_old_speed(target_ptr, ep_ptr);
105         return;
106     case GF_OLD_SLOW:
107         effect_player_old_slow(target_ptr);
108         return;
109     case GF_OLD_SLEEP:
110         effect_player_old_sleep(target_ptr, ep_ptr);
111         return;
112     case GF_MANA:
113     case GF_SEEKER:
114     case GF_SUPER_RAY:
115         effect_player_mana(target_ptr, ep_ptr);
116         return;
117     case GF_PSY_SPEAR:
118         effect_player_psy_spear(target_ptr, ep_ptr);
119         return;
120     case GF_METEOR:
121         effect_player_meteor(target_ptr, ep_ptr);
122         return;
123     case GF_ICE:
124         effect_player_icee(target_ptr, ep_ptr);
125         return;
126     case GF_DEATH_RAY:
127         effect_player_death_ray(target_ptr, ep_ptr);
128         return;
129     case GF_DRAIN_MANA:
130         effect_player_drain_mana(target_ptr, ep_ptr);
131         return;
132     case GF_MIND_BLAST:
133         effect_player_mind_blast(target_ptr, ep_ptr);
134         return;
135     case GF_BRAIN_SMASH:
136         effect_player_brain_smash(target_ptr, ep_ptr);
137         return;
138     case GF_CAUSE_1:
139         effect_player_curse_1(target_ptr, ep_ptr);
140         return;
141     case GF_CAUSE_2:
142         effect_player_curse_2(target_ptr, ep_ptr);
143         return;
144     case GF_CAUSE_3:
145         effect_player_curse_3(target_ptr, ep_ptr);
146         return;
147     case GF_CAUSE_4:
148         effect_player_curse_4(target_ptr, ep_ptr);
149         return;
150     case GF_HAND_DOOM:
151         effect_player_hand_doom(target_ptr, ep_ptr);
152         return;
153     default: {
154         ep_ptr->dam = 0;
155         return;
156     }
157     }
158 }