OSDN Git Service

[Refactor] #2523 PlayerType::blind をPlayerBlindnessの呼び出しに差し替えた
[hengbandforosx/hengbandosx.git] / src / effect / effect-player-oldies.cpp
index 56f007c..4bf4fe8 100644 (file)
@@ -1,5 +1,5 @@
 #include "effect/effect-player-oldies.h"
-#include "effect/effect-player-util.h"
+#include "effect/effect-player.h"
 #include "game-option/birth-options.h"
 #include "hpmp/hp-mp-processor.h"
 #include "monster-race/race-indice-types.h"
@@ -7,49 +7,57 @@
 #include "status/bad-status-setter.h"
 #include "status/buff-setter.h"
 #include "system/player-type-definition.h"
+#include "timed-effect/player-acceleration.h"
+#include "timed-effect/player-blindness.h"
+#include "timed-effect/timed-effects.h"
 #include "view/display-messages.h"
 
-void effect_player_old_heal(player_type *target_ptr, effect_player_type *ep_ptr)
+void effect_player_old_heal(PlayerType *player_ptr, EffectPlayerType *ep_ptr)
 {
-    if (target_ptr->blind)
+    if (player_ptr->effects()->blindness()->is_blind()) {
         msg_print(_("何らかの攻撃によって気分がよくなった。", "You are hit by something invigorating!"));
+    }
 
-    (void)hp_player(target_ptr, ep_ptr->dam);
+    (void)hp_player(player_ptr, ep_ptr->dam);
     ep_ptr->dam = 0;
 }
 
-void effect_player_old_speed(player_type *target_ptr, effect_player_type *ep_ptr)
+void effect_player_old_speed(PlayerType *player_ptr, EffectPlayerType *ep_ptr)
 {
-    if (target_ptr->blind)
+    if (player_ptr->effects()->blindness()->is_blind()) {
         msg_print(_("何かで攻撃された!", "You are hit by something!"));
+    }
 
-    (void)set_fast(target_ptr, target_ptr->fast + randint1(5), false);
+    (void)mod_acceleration(player_ptr, randint1(5), false);
     ep_ptr->dam = 0;
 }
 
-void effect_player_old_slow(player_type *target_ptr)
+void effect_player_old_slow(PlayerType *player_ptr)
 {
-    if (target_ptr->blind)
+    if (player_ptr->effects()->blindness()->is_blind()) {
         msg_print(_("何か遅いもので攻撃された!", "You are hit by something slow!"));
+    }
 
-    (void)set_slow(target_ptr, target_ptr->slow + randint0(4) + 4, false);
+    (void)BadStatusSetter(player_ptr).mod_deceleration(randint0(4) + 4, false);
 }
 
-void effect_player_old_sleep(player_type *target_ptr, effect_player_type *ep_ptr)
+void effect_player_old_sleep(PlayerType *player_ptr, EffectPlayerType *ep_ptr)
 {
-    if (target_ptr->free_act)
+    if (player_ptr->free_act) {
         return;
+    }
 
-    if (target_ptr->blind)
+    if (player_ptr->effects()->blindness()->is_blind()) {
         msg_print(_("眠ってしまった!", "You fall asleep!"));
+    }
 
     if (ironman_nightmare) {
         msg_print(_("恐ろしい光景が頭に浮かんできた。", "A horrible vision enters your mind."));
 
         /* Have some nightmares */
-        sanity_blast(target_ptr, nullptr, false);
+        sanity_blast(player_ptr, nullptr, false);
     }
 
-    set_paralyzed(target_ptr, target_ptr->paralyzed + ep_ptr->dam);
+    (void)BadStatusSetter(player_ptr).mod_paralysis(static_cast<TIME_EFFECT>(ep_ptr->dam));
     ep_ptr->dam = 0;
 }