3 #include "system/angband.h"
7 * @details 仮引数がtmpなのは、全て範囲外の値を範囲内に収める処理が含まれるため
8 * @todo TIME_EFFECT型の引数はPlayerTypeの時限ステータスをTimedEffectsクラスへ入れる時にshortへ差し替えること.
10 enum class PlayerCutRank;
11 enum class PlayerStunRank;
12 class PlayerConfusion;
14 class BadStatusSetter {
16 BadStatusSetter(PlayerType *player_ptr);
17 virtual ~BadStatusSetter() = default;
19 bool set_blindness(const TIME_EFFECT tmp_v);
20 bool mod_blindness(const TIME_EFFECT tmp_v);
21 bool set_confusion(const TIME_EFFECT tmp_v);
22 bool mod_confusion(const TIME_EFFECT tmp_v);
23 bool set_poison(const TIME_EFFECT tmp_v);
24 bool mod_poison(const TIME_EFFECT tmp_v);
25 bool set_fear(const TIME_EFFECT tmp_v);
26 bool mod_fear(const TIME_EFFECT tmp_v);
27 bool set_paralysis(const TIME_EFFECT tmp_v);
28 bool mod_paralysis(const TIME_EFFECT tmp_v);
29 bool hallucination(const TIME_EFFECT tmp_v);
30 bool mod_hallucination(const TIME_EFFECT tmp_v);
31 bool set_deceleration(const TIME_EFFECT tmp_v, bool do_dec);
32 bool mod_deceleration(const TIME_EFFECT tmp_v, bool do_dec);
33 bool set_stun(const TIME_EFFECT tmp_v);
34 bool mod_stun(const TIME_EFFECT tmp_v);
35 bool set_cut(const TIME_EFFECT tmp_v);
36 bool mod_cut(const TIME_EFFECT tmp_v);
39 PlayerType *player_ptr;
40 std::shared_ptr<PlayerConfusion> player_confusion;
42 bool process_stun_effect(const short v);
43 void process_stun_status(const PlayerStunRank new_rank, const short v);
45 void decrease_int_wis(const short v);
46 bool process_cut_effect(const short v);
47 void decrease_charisma(const PlayerCutRank new_rank, const short v);
48 void stop_blooding(const PlayerCutRank new_rank);