OSDN Git Service

Merge pull request #3532 from sikabane-works/release/3.0.0.87-alpha
[hengbandforosx/hengbandosx.git] / src / player-base / player-race.h
1 #pragma once
2
3 #include "object-enchant/tr-flags.h"
4
5 enum class PlayerRaceType;
6 enum class PlayerRaceLifeType;
7 enum class PlayerRaceFoodType;
8 class PlayerType;
9 struct player_race_info;
10 class PlayerRace {
11 public:
12     PlayerRace(PlayerType *player_ptr, bool base_race = false);
13     virtual ~PlayerRace() = default;
14
15     TrFlags tr_flags() const;
16     const player_race_info *get_info() const;
17     PlayerRaceLifeType life() const;
18     PlayerRaceFoodType food() const;
19
20     bool is_mimic_nonliving() const;
21     bool has_cut_immunity() const;
22     bool has_stun_immunity() const;
23     bool equals(PlayerRaceType prace) const;
24
25     int16_t speed() const;
26     int16_t additional_strength() const;
27     int16_t additional_dexterity() const;
28     int16_t additional_constitution() const;
29     char get_summon_symbol() const;
30
31 private:
32     PlayerType *player_ptr;
33     bool base_race;
34 };