OSDN Git Service

[Refactor] #2520 PlayerType::fast をPlayerAccelerationの呼び出しに変更し、fast値を増減させている箇所はmod_ac...
[hengbandforosx/hengbandosx.git] / src / effect / effect-player-oldies.cpp
1 #include "effect/effect-player-oldies.h"
2 #include "effect/effect-player.h"
3 #include "game-option/birth-options.h"
4 #include "hpmp/hp-mp-processor.h"
5 #include "monster-race/race-indice-types.h"
6 #include "player/eldritch-horror.h"
7 #include "status/bad-status-setter.h"
8 #include "status/buff-setter.h"
9 #include "system/player-type-definition.h"
10 #include "timed-effect/player-acceleration.h"
11 #include "view/display-messages.h"
12
13 void effect_player_old_heal(PlayerType *player_ptr, EffectPlayerType *ep_ptr)
14 {
15     if (player_ptr->blind) {
16         msg_print(_("何らかの攻撃によって気分がよくなった。", "You are hit by something invigorating!"));
17     }
18
19     (void)hp_player(player_ptr, ep_ptr->dam);
20     ep_ptr->dam = 0;
21 }
22
23 void effect_player_old_speed(PlayerType *player_ptr, EffectPlayerType *ep_ptr)
24 {
25     if (player_ptr->blind) {
26         msg_print(_("何かで攻撃された!", "You are hit by something!"));
27     }
28
29     (void)mod_acceleration(player_ptr, randint1(5), false);
30     ep_ptr->dam = 0;
31 }
32
33 void effect_player_old_slow(PlayerType *player_ptr)
34 {
35     if (player_ptr->blind) {
36         msg_print(_("何か遅いもので攻撃された!", "You are hit by something slow!"));
37     }
38
39     (void)BadStatusSetter(player_ptr).mod_slowness(randint0(4) + 4, false);
40 }
41
42 void effect_player_old_sleep(PlayerType *player_ptr, EffectPlayerType *ep_ptr)
43 {
44     if (player_ptr->free_act) {
45         return;
46     }
47
48     if (player_ptr->blind) {
49         msg_print(_("眠ってしまった!", "You fall asleep!"));
50     }
51
52     if (ironman_nightmare) {
53         msg_print(_("恐ろしい光景が頭に浮かんできた。", "A horrible vision enters your mind."));
54
55         /* Have some nightmares */
56         sanity_blast(player_ptr, nullptr, false);
57     }
58
59     (void)BadStatusSetter(player_ptr).mod_paralysis(static_cast<TIME_EFFECT>(ep_ptr->dam));
60     ep_ptr->dam = 0;
61 }