Support Pokemon style experience gain.
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
2020-05-20 16:05:52 +02:00
parent a19965c1c3
commit 6c7c460640
17 changed files with 116 additions and 30 deletions

View File

@@ -9,13 +9,14 @@ namespace PkmnLib::Library {
private:
uint8_t _baseHappiness;
Arbutils::Collections::List<const EvolutionData*> _evolutions;
uint16_t _experienceGain;
public:
PokemonSpecies(uint16_t id, const Arbutils::CaseInsensitiveConstString& name, const PokemonForme* defaultForme,
float genderRatio, const Arbutils::CaseInsensitiveConstString& growthRate, uint8_t captureRate,
uint8_t baseHappiness) noexcept
uint8_t baseHappiness, uint16_t experienceGain) noexcept
: CreatureSpecies(id, name, defaultForme, genderRatio, growthRate, captureRate),
_baseHappiness(baseHappiness) {}
_baseHappiness(baseHappiness), _experienceGain(experienceGain) {}
~PokemonSpecies() override {
for (auto evo : _evolutions) {
@@ -41,6 +42,8 @@ namespace PkmnLib::Library {
inline void AddEvolution(const EvolutionData* data) noexcept { _evolutions.Append(data); }
const Arbutils::Collections::List<const EvolutionData*>& GetEvolutions() const noexcept { return _evolutions; }
inline uint16_t GetExperienceGains() const noexcept { return _experienceGain; }
};
}