OSDN Git Service

Merge pull request #2330 from Hourier/Refactor-Player-Status
[hengbandforosx/hengbandosx.git] / src / player-status / player-status-base.h
1 #pragma once
2 #include "player/player-status-flags.h"
3 #include "system/angband.h"
4
5 class PlayerType;
6 class PlayerStatusBase {
7 public:
8     virtual ~PlayerStatusBase() = default;
9     virtual int16_t get_value();
10     virtual BIT_FLAGS get_all_flags();
11     virtual BIT_FLAGS get_good_flags();
12     virtual BIT_FLAGS get_bad_flags();
13
14 protected:
15     PlayerStatusBase(PlayerType *player_ptr);
16
17     int16_t default_value;
18     int16_t min_value;
19     int16_t max_value;
20     PlayerType *player_ptr;
21     tr_type tr_flag;
22     tr_type tr_bad_flag;
23     virtual void set_locals();
24     virtual int16_t race_bonus();
25     virtual int16_t class_bonus();
26     virtual int16_t class_base_bonus();
27     virtual int16_t personality_bonus();
28     virtual int16_t equipments_bonus();
29     virtual int16_t time_effect_bonus();
30     virtual int16_t stance_bonus();
31     virtual int16_t mutation_bonus();
32     virtual int16_t riding_bonus();
33     virtual int16_t inventory_weight_bonus();
34     virtual int16_t action_bonus();
35     virtual int16_t set_exception_bonus(int16_t value);
36     virtual BIT_FLAGS equipments_flags(tr_type check_flag);
37     virtual BIT_FLAGS equipments_bad_flags(tr_type check_flag);
38 };