OSDN Git Service

Merge pull request #3569 from sikabane-works/release/3.0.0.88-alpha
[hengbandforosx/hengbandosx.git] / src / timed-effect / timed-effects.h
1 #pragma once
2
3 #include <memory>
4
5 class PlayerAcceleration;
6 class PlayerBlindness;
7 class PlayerConfusion;
8 class PlayerDeceleration;
9 class PlayerFear;
10 class PlayerHallucination;
11 class PlayerParalysis;
12 class PlayerPoison;
13 class PlayerCut;
14 class PlayerStun;
15 class TimedEffects {
16 public:
17     TimedEffects();
18     virtual ~TimedEffects() = default;
19
20     std::shared_ptr<PlayerBlindness> blindness() const;
21     std::shared_ptr<PlayerConfusion> confusion() const;
22     std::shared_ptr<PlayerCut> cut() const;
23     std::shared_ptr<PlayerFear> fear() const;
24     std::shared_ptr<PlayerHallucination> hallucination() const;
25     std::shared_ptr<PlayerParalysis> paralysis() const;
26     std::shared_ptr<PlayerStun> stun() const;
27     std::shared_ptr<PlayerAcceleration> acceleration() const;
28     std::shared_ptr<PlayerDeceleration> deceleration() const;
29     std::shared_ptr<PlayerPoison> poison() const;
30
31 private:
32     std::shared_ptr<PlayerBlindness> player_blindness;
33     std::shared_ptr<PlayerConfusion> player_confusion;
34     std::shared_ptr<PlayerCut> player_cut;
35     std::shared_ptr<PlayerFear> player_fear;
36     std::shared_ptr<PlayerHallucination> player_hallucination;
37     std::shared_ptr<PlayerParalysis> player_paralysis;
38     std::shared_ptr<PlayerStun> player_stun;
39     std::shared_ptr<PlayerAcceleration> player_acceleration;
40     std::shared_ptr<PlayerDeceleration> player_deceleration;
41     std::shared_ptr<PlayerPoison> player_poison;
42 };